- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to connect the AV DC FIFO as followed:
The idea being that the main clock is running at 100MHz and is connected to the mSGDMA which reads from the FIFO, and iopll is outputting a 200MHz clock and is connected to the oscillator which writes to the FIFO.
The above design compiles, but on boot I am given this error:
..Error sending bitstream!
Command 'load' failed: Error -110
FPGA not ready. Bridge reset aborted!
Note that this design works when there is no PLL, and everything is clocked from the same source (although this causes boot to take a long time).
I have looked through the docs here however these docs seems not to match the IP interfaces.
The docs here here seem to match but don't explain the interface.
Could someone help point me in the correct direction?
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Understood that. Could you try to use the simple adapter ST handshake clock crosser under the bridges and adapters section? I think you're connecting it correctly previously. Instead of using dual clock fifo under on-chip memory section, as it's embedded peripheral I'm not sure is there anything needs to take note when using it.
Regarding why booting slow when using 200mhz, you need to open a new thread target pcie to get the related pcie expert helps.
Thanks,
Regards,
Sheng
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Seems like a cdc problem where msgdma read from fifo at 100mhz but oscillator write to fifo at 200mhz.
If you make the clock frequency same does the problem resolved? If yes, I would suggest you to add one Avalon® -ST Streaming Pipeline Stage IP in between the msgdma and fifo reading to increase the reading frequency to 200mhz
Thanks,
Regards,
Sheng
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Many thanks for the reply!
Could you tell me, is this the only Avalon® -ST Streaming Pipeline Stage IP Docs?
In fact, if the design you suggest is this one:
Am I correct? If so would I be correct to say that if this IP would be placed in between the oscillator and the FIFO, then the read speed would stay at 100 MHz?
Many thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Another one will be using Avalon Streaming Handshake Clock Crosser IP.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi there @ShengN_Intel
Thanks for this suggestion!
Do you know where the docs are for this IP - all I can seem to find is this?
May I ask if this is to be used as followed:
And if so - how does this IP manage data transfer?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I just realised you use st dual clock fifo ip already, that ip will handle cdc already.
Not sure is that the lock reset problem of the pll, could you signal tap the pll to the osillator?
Also try replace that iopll with another clock source does the problem resolved?
Thanks,
Regards,
Sheng
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The issue is that during boot I cannot actually load the initial design onto the fpga, and so cannot use signal tap!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Understood that. Could you replace that iopll with clock source to check whether the problem is on the pll?
If the problem is on pll, then would need pll folk to look into this.
Thanks,
Regards,
Sheng
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @ShengN_Intel,
I can confirm that with the 50MHz clock this design works:
With a verilog defined for the clock:
...
// Qsys Top module
assign sys_clk_50 = REFCLK_50;
qsys_top soc_inst (
...
.clk_50_clk (sys_clk_50),
...
);
...
I would note, however, that I do not have another clock going faster than my main system clock to test with - which is why my application will be relying on a PLL.
What would you suggest to try now?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You mean you change the pll frequency to 50mhz or connect the oscillator to 50mhz?
Does the device got 100mhz clock?
Thanks,
Regards,
Sheng
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you try test case below:
Test1: Main clock(50mhz) -> pll (50mhz) -> all peripherals
Test2: Main clock(50mhz) -> pll (100/200mhz) -> all peripherals
Are both tests pass?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Main clock(50mhz) -> pll (200mhz) -> all peripherals did work! Thanks.
However - the system boot is now much much slower. Maybe 10x slower.
Do you know why this could be??
Many thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
May I know why at the beigning you feed the oscillator to 200mhz while msgdma to 100mhz? Is that to increase the booting speed? Seems like even feed all peripherals to 200mhz, the booting speed even slower as you mentioned.
Your ultimate goal is to increase the booting speed?
Thanks,
Regards,
Sheng
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Because mSGDMA is connected to HPS, which operates at a slower rate (100MHz).
Eventually, we want to clock the oscillator at 300+ MHz, so we cannot feed this to mSGDMA, right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Understood that. Could you try to use the simple adapter ST handshake clock crosser under the bridges and adapters section? I think you're connecting it correctly previously. Instead of using dual clock fifo under on-chip memory section, as it's embedded peripheral I'm not sure is there anything needs to take note when using it.
Regarding why booting slow when using 200mhz, you need to open a new thread target pcie to get the related pcie expert helps.
Thanks,
Regards,
Sheng

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page