Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
19522 Discussions

RAM for NIOS II (with Ethernet)


Background: We are in the process of designing a system that requires an embedded UDP server.  Our first prototype uses a MAX10 FPGA to connect to the system hardware and does the fast processing of input, and this communicates with another processor that collates information and transmits it via UDP.

We are currently looking at removing the processor and using a NIOS II instead.  I am looking for advice on this.
1) All the Ethernet examples/tutorials that I can find using the NIOS rely on uCOSII.  Is it possible to run Ethernet without an OS?  If so, is there any information or examples for this?
2) Ideally we would have no external RAM.  I can build a uCOSII Hello World application on a DECA development board, using 100kB of RAM.  If I change the application very slightly (just including a "%d" in a printf), then it runs out of RAM.  I cannot build  a system with significantly more than 100kB (presumably the other 100kB of memory blocks is used internally to the NIOS?).  Is this expected?  i.e. is it possible to run a not insignificant uCOSII application with no external memory.
3) Any other advice/suggestions on writing a UDP server on a MAX10 with minimal external components?

0 Kudos
2 Replies

1. you can refer to

2. you need an FPGA with >100KB internal Block RAM.

3. the max. internal M9K memory of MAX10 10M50 is 1,638kb. You can look into Cyclone V if you require more internal memory than 10M50.


1. That example, like all the others, uses uCOS [unless I am mistaken].  Still useful though, as live update is something else we need to consider.
2. So that's a "Yes, this is expected".  And "No, you can't run a sensible uCOS app on a MAX10".
3. So that is also a "No".

Thanks for looking though.