Forum Discussion
Altera_Forum
Honored Contributor
16 years agoThis is actually going to be a lot easier than you think.
You'll want to create the bulk of the system in SoPC builder: 1 - Add a NIOS II processor to your SoPC system 2 - Add a DDR2 High Performance controller to your SoPC system and configure it appropriately. The Avalon bus automatically takes care of the difference in width between the NIOS master and the DDR2 interface. The NIOS does not care how wide the memory is. The avalon interconnect fabric will take care of byteenable and addressing and all that. 3 - The next thing is the "?" block. What you are really looking for is a DMA controller that will move the ADC data directly to memory. This is the same thing that has to be done with most communication interfaces (Ethernet, PCI express). Here are a few options: a - The regular DMA controller available in SoPC builder. http://www.altera.com/literature/hb/nios2/n2cpu_nii51006.pdf b - The Scatter-Gather DMA controller available in SoPC builder. http://www.altera.com/literature/hb/nios2/qts_qii55003.pdf c - Write your own. This really isn't that bad but it depends on your skill level. You may actually decide to build it right into your ADC user logic block. 4 - Depending on what you chose for# 3, provide some way for your ADC user logic to interface with SoPC builder. You can make your ADC user logic a custom component within SoPC builder with an avalon master port (if you were going to do the DMA), avalon slave port, avalon streaming port or perhaps some combination of the three. I think you're only hurdle here is becoming familiar with everything. As such, I'd start with the NIOS and DDR2 controller and start playing around with that. Then add a DMA controller and maybe some useless peripheral (like a gpio port) and try streaming data from the gpio port. Have fun! Jake