Is the FSL a good approach for this...?

I have a piece of custom IP that recovers data from an external part. The data comes in at 312 MHz and is deserialized at 312/8. So bytes come out of the IP at 39 MHz. There is a 'data_valid' signal that is asserted while useful data is being output. I need to get this data processed as fast as possible at the MicroBlaze side. I looked at implementing a FIFO that could be read from on the OPB. However, the number of clocks needed to get data out is rather large. It appears that the FSL could be used in this situation.

Is it possible to interupt the processor using an FSL signal such as the FSL_Has_Data? Then the MicroBlaze could 'get' data while there is useful data in the FSL 'FIFO'. I haven't used the FSL before and so I played with it a bit today. I am pretty sure I haven't connected everything properly, but just wondering if this sounds like a reasonable thing to do or if I am missing something blatant. The Import/Create peripheral wizard allows you to select the number of

32-bit words in the FSL. However, the parameters allow you to specify shorter bit lengths. I would like to just pass bytes up to the MicroBlaze. Anyone have any caveats or recommendations?

Thanks!

Reply to
motty
Loading thread data ...

Hi,

Yes, You can connect the FSL_Has_Data to either MicroBlaze interrupt input or to the interrupt controller. It might take a few clock cycles before MicroBlaze will get to your interrupt handler code but as long as your system can handle that initial latency it would work fine. Otherwise it might be good to generate an earlier signal as the interrupt signal so that when MicroBlaze gets to your interrupt handler, the data is just valid at that time. MicroBlaze could do a blocking get so it will wait for the data becoming valid so you don't need to be exact on when to generate the interrupt signal.

Göran Bilski

Reply to
Göran Bilski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.