shaiko
Advanced Member level 5
Hello,
Both Xilinx and Altera market their FPGA DSP blocks at exceptionally high MHz values (>500MHz).
Even if the DSP's block silicon can be clocked that high - how is it possible to feed them data at these speeds ? What's the highest value you've been able to achieve ?
The architecture that gave me the best result is the following:
Use 2 clock domains -
1. Clock domain X - or the input clock domain.
2. Clock domain Y - the DSP clock domain
Clock domain Y faster then clock domain X.
Drive data from clock domain X into the wide side of an asynchronous width conversion FIFO.
Read narrow data from clock domain Y and feed it to the DSP block.
Process the data and write it back to a similar FIFO that does the opposite (narrow to wide) conversation...
But even with architecture, the clock domain Y of the FIFOs logic - fails at frequencies much much lower than the marketed frequency of the DSP block.
What do you think?
Would you do things differently?
What numbers where you able to achieve?
Both Xilinx and Altera market their FPGA DSP blocks at exceptionally high MHz values (>500MHz).
Even if the DSP's block silicon can be clocked that high - how is it possible to feed them data at these speeds ? What's the highest value you've been able to achieve ?
The architecture that gave me the best result is the following:
Use 2 clock domains -
1. Clock domain X - or the input clock domain.
2. Clock domain Y - the DSP clock domain
Clock domain Y faster then clock domain X.
Drive data from clock domain X into the wide side of an asynchronous width conversion FIFO.
Read narrow data from clock domain Y and feed it to the DSP block.
Process the data and write it back to a similar FIFO that does the opposite (narrow to wide) conversation...
But even with architecture, the clock domain Y of the FIFOs logic - fails at frequencies much much lower than the marketed frequency of the DSP block.
What do you think?
Would you do things differently?
What numbers where you able to achieve?