- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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,Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- 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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- 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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks kaz a lot for your time and advices. I will study the options and decide which to go for.
Best,
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page