Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
공지
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.
21615 토론

Emulation of long propagation delay in board-to-board communication

Altera_Forum
명예로운 기여자 II
1,638 조회수

Dear all, 

 

Thanks in advance for reading this thread and if possible please comment and advise me to find a suitable solution. 

 

I have built a FPGA based testbed that realizes FPGA-to-FPGA communication for exchanging data and control messages of a network protocol. This transmission is done by means of SMA cables connected to transceivers on the FPGA boards (Stratix IV GT). Because the cables are much shorter compared to cables in the real network, I want to emulate a long propagation delay by delaying the streaming output data in FPGA design. In my understanding, this is something like what the "Avalon-ST delay" IP core in Qsys and the "RAM-based Shift Register" megacore in MegaWizard Manager do. But these two cores provide a small number of cycles (maximum is 256 clk cycles) for which the streaming output is delayed. 

 

If you know the other IP core that supports a very large number of clock in delay, or you have a better solution for my issue, please advise. I need to have up to 312500 clock cycles of delay with my working clock (156.25Mhz), i.e., 2 milliseconds. 

 

Best regard,
0 포인트
4 응답
Altera_Forum
명예로운 기여자 II
841 조회수

 

--- Quote Start ---  

Dear all, 

 

Thanks in advance for reading this thread and if possible please comment and advise me to find a suitable solution. 

 

I have built a FPGA based testbed that realizes FPGA-to-FPGA communication for exchanging data and control messages of a network protocol. This transmission is done by means of SMA cables connected to transceivers on the FPGA boards (Stratix IV GT). Because the cables are much shorter compared to cables in the real network, I want to emulate a long propagation delay by delaying the streaming output data in FPGA design. In my understanding, this is something like what the "Avalon-ST delay" IP core in Qsys and the "RAM-based Shift Register" megacore in MegaWizard Manager do. But these two cores provide a small number of cycles (maximum is 256 clk cycles) for which the streaming output is delayed. 

 

If you know the other IP core that supports a very large number of clock in delay, or you have a better solution for my issue, please advise. I need to have up to 312500 clock cycles of delay with my working clock (156.25Mhz), i.e., 2 milliseconds. 

 

Best regard, 

--- Quote End ---  

 

 

If your data stream is 1 bit wide then you can use some 34 blocks of M9Ks for 312500 sample storage. if it is much wider then you will need external ram (e.g. sdram). Internal fpga ram based shift register will impose a minimum limit on tap distance of 3 stages or so.
0 포인트
Altera_Forum
명예로운 기여자 II
841 조회수

Thank you very much for your explanation. In fact I need to delay an Avalon streaming set of signals equivalent to a 70-bit width. It seems like I cannot emulate the expected delay with my board because it does not support external memmory.  

 

Any other solutions you suggest me to try?  

 

Best.
0 포인트
Altera_Forum
명예로운 기여자 II
841 조회수

 

--- Quote Start ---  

Thank you very much for your explanation. In fact I need to delay an Avalon streaming set of signals equivalent to a 70-bit width. It seems like I cannot emulate the expected delay with my board because it does not support external memmory.  

 

Any other solutions you suggest me to try?  

 

Best. 

--- Quote End ---  

 

 

You need to add commercial delay lines e.g. from Maxim. They have wide range, some programmable but I don't know much about them.
0 포인트
Altera_Forum
명예로운 기여자 II
841 조회수

Thanks kaz a lot for your time and advices. I will study the options and decide which to go for. 

 

Best,
0 포인트
응답