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

Bug when using a second Triple-Speed-Ethernet IP in a system.

Altera_Forum
Honored Contributor II
1,122 Views

I all! 

 

I have a basic system 

nios ii/f 

main_mem 

avalon_mm_pipeline_bridge 

timer_sys_clk 

sysid 

jtag_uart 

sgdma_tx 

sgdma_rx 

descriptor_memory 

tse_mac 

 

that works well (except that I can't use Avalon-MM pipeline bridge, cf. http://www.alteraforum.com/forum/showthread.php?t=24531 (http://www.alteraforum.com/forum/showthread.php?t=24531)) 

 

Now I have instanciated a second triple-speed-ethernet IP. 

I connected config avalon MM bus to CPU data bus. 

I connected RGMII bus to corresponding IOs of my board 

I connected RX and TX avalon streaming buses to plugs. 

 

In these conditions, the mac is not usable, so I did not even added software to handle it. System should work in the exactly same manner as before instanciation. 

 

but now, I soon as I ping the tse_mac interface, the system crashes. I observed the config bus of the new mac, and there is not traffic there. So I suspect there is a bug in the way the syslib or the software is generated. 

 

Has anyone ever encountered this issue? 

 

Thanks 

 

------------------------------------------------------------------------- 

P.S: the way the system crashes is very weird: 

 

My main() function displays a message <WELCOME_MESSAGE>, clears the timer, launches the initial task, and starts the OS. 

 

The initial tasks inits the NicheStack, and starts a monitoring task which is my only task (except for the interniche tasks dealing with the tse interface) and self-destructs. 

 

The monitoring tasks basically does: 

while (1) { 

printf monitor message; 

tksleep(5000); // sleep 5s 

} [/INDENT] 

 

So when I ping the tse, the <WELCOME_MESSAGE> is displayed again (after all the monitoring traces), and then nothing happens. So it seems that for some reason the CPU jumps to main() again, and crashes immediatly after that...
0 Kudos
0 Replies
Reply