[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] FSL_M_FULL



Hi Adrian,

Try Xilinx app note 529 - design files are provided:

http://direct.xilinx.com/bvdocs/appnotes/xapp529.pdf

John

Adrian Wee Chin Mun wrote:
> Hi John/Jonathan,
> 
> 
>>Or, do you mean that if the FIFO ever fills, even after MicroBlaze reads
>>some data out, your core never recovers?
> 
> 
> 	That appears to be the case. Once the FIFO fills and FSL_M_FULL
> asserts, my hardware core never recovers. Last night I spent some time
> modifying the FSL Master interface on my core to use more relaxed timing but
> it is still not working. 
> 	I think getting a prior working implementation might be a good idea
> since I implemented mine solely based on the datasheets. Perhaps you guys
> can recommend an available implementation that is simple to observe the
> functionality? That would be helpful :)
> 
> Thanks
> Adrian
> 
> 
> 
> -----Original Message-----
> From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
> [mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John Williams
> Sent: Wednesday, 1 February 2006 9:00 AM
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] FSL_M_FULL
> 
> Hi Adrian,
> 
> Adrian Wee Chin Mun wrote:
> 
> 
>>	I am working on hardware linked to the microblaze with FSL ports.
>>The FSL Slave interface on my hardware seems to be working fine and the
> 
> FSL
> 
>>Master interface also works in most cases. However, I seem to be facing a
>>problem when the buffer on the FSL slave interface on the microblaze gets
>>filled up.
> 
> 
> [SNIP]
> 
> 
>>Which is a non BRAM implementation with a 16x32 buffer. Everything works
>>fine as long as the buffer on the microblaze FSL slave is not full.
> 
> However
> 
>>once it is full, it seems to hang my hardware. I have designed the
> 
> hardware
> 
>>to mimic exactly the response from the datasheet (handles FSL_M_FULL) and
> 
> I
> 
>>have tested it for many cases by asserting the FSL_M_FULL with ModelSim
> 
> and
> 
>>it behaves predictably on simulation. However it doesn't seem to work on
> 
> the
> 
>>FPGA.
> 
> 
> Isn't this the intended behaviour?  Once the FSL buffer fills
> (FSM_M_FULL asserted), then the master must block until the slave
> (MicroBlaze in your case) reads from the other end.
> 
> Or, do you mean that if the FIFO ever fills, even after MicroBlaze reads
> some data out, your core never recovers?
> 
> I vaguely recall some discussion once that the FSL timing diagrams in
> the microblaze reference guide are not strictly correct.  So, you might
> have correctly implemented an incorrect specification.  For the FSL
> peripherals I've made before, I've always taken an existing working one,
> used that to get the FSL front end interfaces, then put my logic in
> behind.  Maybe you can try the same.
> 
> Also, I think the XPS Peripheral import wizard supports FSL these days,
> might be another approach to try.
> 
> Regards,
> 
> John
> 
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive :
> http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/
> 
> 
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@xxxxxxxxxxxxxx
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/