Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17268 Discussions

Problems working thru "Using Triple-Speed Ethernet on DE2-115 Boards"

Altera_Forum
Honored Contributor II
6,273 Views

I'm trying to get this running.. it is an 'altera corporation - university program' pdf of a triple speed ethernet design. Sort of a bare-bones way to get ethernet working at 10/100/1000 with a NIOS2. 

 

Here are the problems I'm having implementing this with QuartusII-13sp1 web. 

 

1. The megawizard plugin manager keeps crashing and won't generate the my_ddio module 

2. The PLL is greyed out for cyclone IV's... not greyed out for cyclone V's. 

3. The new TSE modue has some signals I don't know how to connect: 

tse_mac.pcs_mac_rx_clock and tse_mac.pcs_mac_tx_clock 

 

I'm going to guess that I should export those 2 clocks so that they can be 2.5/25/125 MHz depending on enet speed... 

I have managed to get a my_ddio module from a windows PC running quartus 13sp1 for the my_ddio module, but the altera pll is still greyed out... can I just put the pll in qsys with my processor and export the signals that way? 

 

Is there an update to this particular tutorial somewhere? (or a similar example for 13sp1 with a DE2-115 board?) 

 

Thanks.
0 Kudos
30 Replies
Altera_Forum
Honored Contributor II
3,209 Views

Found a copy of the megawizard files in an example supplied on the CDROM with my DE2-115 board... I took those to the windows machine, did a 'copy' with the megawizard, and then an edit... that seemed to generate the ALTPLL files i needed. 

 

Cyclone IV was the selected device... so I'm guessing that module should work now... only outstanding question is what to do with tse_mac.pcs_mac_rx_clock and tse_mac.pcs_mac_tx_clock... 

 

Any ideas?
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

I started over on a windows machine as the megafunction wizard doesn't work correctly on linux-32bit Now I'm getting some errors when I try to build the system: 

 

Error (12002): Port "tse_mac_conduit_connection_ena_10" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_eth_mode" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_mdc" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_mdio_in" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_mdio_oen" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_mdio_out" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_rgmii_in" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_rgmii_out" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_rx_clk" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_rx_control" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_tx_clk" does not exist in macrofunction "system_inst" 

Error (12002): Port "tse_mac_conduit_connection_tx_control" does not exist in macrofunction "system_inst" 

 

I'm guessing that the new TSE module has renamed or added some items...  

 

The tutorial files are located here: 

ftp://ftp.altera.com/up/pub/altera_material/12.0/tutorials/ 

 

and I'm going to try attaching the .v and a qsys screenshot of the problem area (I'm using 13sp1 vice the 12.0 that this tutorial was written for) I had to collapse the sys_clock module so more would show. The forum won't let me upload the qsys file, so I put in the screenshot and the .v file that qsys generated.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

problem is with the tutorial's supplied tse_tutorial.v being incompatible with the new TSE.... I modified it like this: 

nios_system system_inst( 

.clk_clk (sys_clk), // clk.clk 

.reset_reset_n (core_reset_n), // reset.reset_n  

//modified to this 10/10/2013: 

// .tse_mac_conduit_connection_rx_control (NET1_RX_DV), // tse_mac_conduit.rx_control 

.tse_mac_mac_rgmii_connection_rx_control (NET1_RX_DV), 

// .tse_mac_conduit_connection_rx_clk (NET1_RX_CLK), // .rx_clk 

.tse_mac_pcs_mac_rx_clock_connection_clk (NET1_RX_CLK), 

// .tse_mac_conduit_connection_tx_control (NET1_TX_EN), // .tx_control 

.tse_mac_mac_rgmii_connection_tx_control (NET1_TX_EN), 

// .tse_mac_conduit_connection_tx_clk (tx_clk), // .tx_clk 

.tse_mac_pcs_mac_tx_clock_connection_clk (tx_clk), 

// .tse_mac_conduit_connection_rgmii_out (NET1_TX_DATA), // .rgmii_out 

.tse_mac_mac_rgmii_connection_rgmii_out (NET1_TX_DATA), 

// .tse_mac_conduit_connection_rgmii_in (NET1_RX_DATA), // .rgmii_in 

.tse_mac_mac_rgmii_connection_rgmii_in (NET1_RX_DATA), 

// .tse_mac_conduit_connection_ena_10 (ena_10), // .ena_10 

.tse_mac_mac_status_connection_ena_10 (ena_10), 

// .tse_mac_conduit_connection_eth_mode (eth_mode), // .eth_mode 

.tse_mac_mac_status_connection_eth_mode (eth_mode), 

// .tse_mac_conduit_connection_mdio_in (mdio_in), // .mdio_in 

.tse_mac_mac_mdio_connection_mdio_in (mdio_in), 

// .tse_mac_conduit_connection_mdio_out (mdio_out), // .mdio_out 

.tse_mac_mac_mdio_connection_mdio_out (mdio_out),  

// .tse_mac_conduit_connection_mdc (mdc), // .mdc 

.tse_mac_mac_mdio_connection_mdc (mdc), 

// .tse_mac_conduit_connection_mdio_oen (mdio_oen) // .mdio_oen 

.tse_mac_mac_mdio_connection_mdio_oen (mdio_oen) 

//END modifications 10/10/2013 

 ); 

and the design compiled in Quartus. (this isn't the whole file, just the part of it I modified) 

 

Now... have to see if the code will run on it.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

Grrrr, code didn't run, it prints the 'send' information but nothing shows on the activity lights, and nothing is ever recieved... looks like there's a disconnection somewhere... anyone have an idea?

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

Re-did the Qsys system in Quartus2 version 12, and I'm still having the same problems... this is what it displays: 

Opened scatter-gather dma transmit device 

Opened scatter-gather dma receive device 

send>  

TEST1234TEST 

TEST1234TEST 

send>  

 

Pretty sure there is supposed to be a 'receive' in there somewhere... 

// Output received text  

alt_printf( "receive> %s\n", rx_frame + 16 ); 

 

(This was exactly what it did in the quartus13sp1 version I entered)
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

The system and code works, problem was ethernet cable between eth0 and eth1

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

The system and code works, problem was ethernet cable between eth0 and eth1 

--- Quote End ---  

 

 

Hello Everyone, 

 

I have the same problem with DE2-115 Board. I created tse_tutorial.v by following triple-speed ethernet on DE2-115 boards tutorial file. The leds at etho and eth1 are also showing after running the program (action->continue) at the monitor. But, nothing is displaying in terminal window. Any suggestions?
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

Grrrr, code didn't run, it prints the 'send' information but nothing shows on the activity lights, and nothing is ever recieved... looks like there's a disconnection somewhere... anyone have an idea? 

--- Quote End ---  

 

 

Hi david1024, 

 

 

Thank you for detailing your experience with this code. I have run into almost all of the above problems mentioned as well. However I find that the issue I quoted still happens sporadically, and so it is difficult to trace it back to a root problem. Did you find any reasons or fixes related to board not transmitting when it was supposed to? 

 

Thank you, 

 

 

Leigh
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

Hi david1024, 

 

 

Thank you for detailing your experience with this code. I have run into almost all of the above problems mentioned as well. However I find that the issue I quoted still happens sporadically, and so it is difficult to trace it back to a root problem. Did you find any reasons or fixes related to board not transmitting when it was supposed to? 

 

Thank you, 

 

 

Leigh 

--- Quote End ---  

 

 

I would suggest going through the tutorial with the version of Quartus and EDK it was written for. That'll make sure your hardware is working correctly. As to intermittent problems... I really can't help much other than suggest using eclipse/signaltap to monitor/track down the problem.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

anyone manage to solve the problem?

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

This was my 2nd FPGA project this summer. I ran into difficulties following the tutorial because it uses verilog(I've been learning VHDL) and it was written for an earlier version of Quartus II (I am using sp13.1) so, the top level instantiation of the NIOSII system does not have the same ports as the top level verilog file(tse_tutorial.v) that is provided with the design files that are on Altera's website:  

 

http://www.altera.com/education/univ/materials/embedded_systems/tutorials/unv-tutorials.html 

 

My top level file is in VHDL and works with the other tutorial files. If I can be of help to anyone, please let me know! 

 

Omar Fernandes 

Electrical Engineering '16 

The Pennsylvania State University
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

anyone manage to solve the problem? 

--- Quote End ---  

 

 

Yes. I had some faulty cables. The demo worked fine on 12 and 13.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

i've tried doing the tutorial using quartus 12.0...i came across the problem with the pll...how did u solve the pll problem?

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

i came up with this problem while compiling in quartus 12.0...it stated  

 

' Node instance "pll_inst" instantiates undefined entity "my_pll" '.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

i got a new problem with the tutorial...it doesnt have the send> in the terminal of the monitor program....

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

any ideas on solving the problem of ethernet 0 and ethernet 1?

0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

hi I got about 250 errors during compilation saying either: 

1. can't generate netlist output files because the file "............" is an OpenCore Plus time-limited file 

2. ''can't generate netlist output files because the license for encrypted file "..." is not available" 

.........does this mean that the "Using Triple-Speed Ethernet on DE2-115 Boards" tutorial is not doable without paying for something or something else?
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

hi I got about 250 errors during compilation saying either: 

1. can't generate netlist output files because the file "............" is an OpenCore Plus time-limited file 

2. ''can't generate netlist output files because the license for encrypted file "..." is not available" 

.........does this mean that the "Using Triple-Speed Ethernet on DE2-115 Boards" tutorial is not doable without paying for something or something else? 

--- Quote End ---  

 

 

 

You need to examine your install settings, you may have installed Quartus incorrectly.  

 

And it works just fine with only the tools available/shipped with the board. It also works fine with the web (free) edition of the software. You need to be familiar with Quartus, Qsys (and SOPC builder), how the top level etity ties it all together.... and then you also need to be familiar with eclipse and the EDK-modifications to it -- the BSP and how to download code and later how to generate your hex file for memory initialization so it will run without being tethered. 

 

The learning curve is quite steep for FPGA w/soft core processors...  

 

Keep at it, but start with simpler examples to make sure your tools are installed correctly.
0 Kudos
Altera_Forum
Honored Contributor II
3,209 Views

 

--- Quote Start ---  

You need to examine your install settings, you may have installed Quartus incorrectly.  

 

And it works just fine with only the tools available/shipped with the board. It also works fine with the web (free) edition of the software. You need to be familiar with Quartus, Qsys (and SOPC builder), how the top level etity ties it all together.... and then you also need to be familiar with eclipse and the EDK-modifications to it -- the BSP and how to download code and later how to generate your hex file for memory initialization so it will run without being tethered. 

 

The learning curve is quite steep for FPGA w/soft core processors...  

 

Keep at it, but start with simpler examples to make sure your tools are installed correctly. 

--- Quote End ---  

 

 

 

Ok I'm going back to basics with the My First Nios II tutorial (which I had originally skipped). Can you suggest some other examples or other sources through which I might start learning soft core processors? 

 

Many thanks, 

 

Rajas
0 Kudos
Altera_Forum
Honored Contributor II
3,099 Views

 

--- Quote Start ---  

Ok I'm going back to basics with the My First Nios II tutorial (which I had originally skipped). Can you suggest some other examples or other sources through which I might start learning soft core processors? 

 

Many thanks, 

 

Rajas 

--- Quote End ---  

 

 

Getting a little off topic, but... 

 

Work thru that myfirstniosII, and any other examples you would like, exactly as the provided instructions say with the same version of the tools that the example was created with so that any problem you have cannot be blamed on the tools. They are complicated tools, and no one is lucky enough to guess all the configuration options and get a working system. 

 

 

After you get a NIOSII up and running and can single step thru the C code in the debugger in Eclipse... 

 

Add a simple FSM to blink an LED at a 0.5hz rate and get that going along with the NIOSII blinking it's own LED and shooting hello world out the jtag-uart (default hello world application in eclipse combined with a simple bit of VHDL (or verilog)) -- I used the myfirstniosII example.  

 

 

Then wire the LED-FSM output and its compliment to the NIOSII as an input and add a 3rd and 4th led controlled (and code to TLE and code to eclipse and connections in QSYS) so that the NIOSII can blink it to 'follow' the FSM's output/compliment. Then make it all fit inside the FPGA, you'll need to figure out how to modify the BSP so that your code will fit... and also when/how to bypass Altera's HAL (and what that is!) And you will probably see eclipse show you some error messages about segments not fitting and you will learn how to fix them. 

 

Then start deleting components from SOPC (and adding different ones to interface to the other board HW) and seeing how that works so you know how to connect/configure things like GPIOs and additional uarts. And learn to recognize what is what in Qsys/SOPC. Essentially directed play with the environment. The DMA hookups and code are sort of complex for the TSE if you don't understand how the simple stuff works.  

 

Also, there are quite a few changes that need to be made to swap over to the latest version of quartus/qsys... none of them are difficult--all very simple, but there are a lot and if you don't have a rudimentary understanding of how Altera's toolchain works, it is very easy to mess up the TSE example project while 'upgrading' it. The upgrade to Qsys and later versions of the tools essentially gives you upgraded hardware, but for most purposes the old version will probably function sufficiently.
0 Kudos
Reply