Forum Discussion
Altera_Forum
Honored Contributor
14 years agoHopefully I can answer a couple of your questions. NIOS is just a CPU core that is implemented using the FPGA logic. As far a what a CPU does, NIOS and a stand-alone CPU (AVR for example,) are identical. The difference is in the features supported and the compiler needed. With NIOS however, you can choose which peripherals you want to add - USB, SerialPort, Ethernet... You can also add your own peripherals if you want.
As far as the advantages of one vs the other, there are a few details to consider: - Performance: A stand-alone processor may have better performance depending on the FPGA used. - Price: ARM processors are really cheap. You have to figure out how much logic NIOS will take up in your FPGA and see if you can afford that logic. If adding the NIOS core pushed you into a bigger FPGA, then cost becomes a factor. - Board design: With NIOS, you don't need the extra real estate and layout required using a separate CPU chip. To get started, download the NIOS IDE and create a new project. I am a little rusty here since it's been a while since I needed to use NIOS, but I remember a hello world sample program taking less than 1 hour to create, configure, compile and run on the target. Once your target is setup though, the process only involves the compile and download steps (few seconds to a couple of minutes...) If your programs are small, you could configure the NIOS to run using the FPGA internal RAM. If you need more memory, you will have to interface NIOS to external RAM. Hope this helps.