FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
5551 Discussions

Using TCP/IP or UDP in NIOS II ?

Honored Contributor II



I was reading quite a while in your foum and finally I managed to get registered here as I'm encountering problems with my NIOS II design. I know there may exist similar threads like this one, but I didn't truly get answers to my questions. 


I'm a student currently working on my bachelor thesis and my task is simplified to collect data from PIOs with a NIOS II (which does not really pose a problem ;) ) and sending them to a PC via Ethernet. 


I have got the following equipment: 

  • DBC3C40 Development Board 

  • Quartus II 9.1 SP2 

  • NIOS II EDS 9.1 SP2 

  • Triple Speed Ethernet IP-Core 



As I'm quite new to FPGA and Ethernet design and programming, I've got some questions which I'd highly appreciate if you could answer them to me. 


After gathering basic knowledge in FPGA designing and programming, my first thought was to use the UDP protocol for sending data via Ethernet as it isn't as complicated as TCP/IP, but then I read here that it would be quite easy to implement TCP/IP with the NicheStack. Followingly I tried doing it by reading tons of documents and tutorials but I didn't truly manage to get the point in doing so as the complex protocols together with the MicroC/OS-II RTOS quite overstrained me :-/ Additionally, there don't exist any tutorials especially for the DBC3C40 board, which makes the understanding worse.  

Does it really make sense to use the TCP/IP NicheStack or would a use of UDP pose less problems ?  


Or do there even exist some more .. "high level" stacks which would make designing easier? The triple speed ethernet does not necessarily have to be used.  


Does there exist a tutorial which shows the implementation "from the ground" and doesn't require a certain development board ? 


Another question which I find quite stupid but didn't find an answre for it: 

In NIOS II EDS there exist 2 Eclipse-based IDEs: the "NIOS II 9.1 Software Build Tools for Eclipse" and the "NIOS II 9.1 IDE". What is the difference between those two programs and which one would be best to use ? 


Much thanks for your answers! =)
0 Kudos
1 Reply
Honored Contributor II

hi andreq, 


very funny, we`re in exactly the same situation. I have the same hardware ( DBC3C40 ) and i want to do the same: transmit data via ethernet to a pc.  

And i have the same questions .  


I have to say that im new to protocol stacks, physical and mac layer and those things. I thougt that a PHY is somehow a level converter like MAX232 and the MAC controlls communication errors like crc and collisions. Because there is a PHY ic (marvel 88xxxx) on the DBC3C40 i first wanted to know if i can simply transmit my data to the PHY with an selfmade vhdl modul. I didnt get a clear answer for that but i think that it is much work (especially for me) to implement such a part of a stack.  


Fortunately i found some example design for the DB3C40 board including a sample SOPC Desgin for a webserver and a software sample. This example uses the TSE with niche stack and microC/OS. Although i may have to get familar the the microC/OS i think this is the way i can do the job.  


But if anyone knows an easier solution without "highlevel stacks" and RTOS i would be grateful for input.  


@ andreq: i can give you the example designs if you need them