How to implement an asynchronous FIFO/data buffer in Simulink?
9 views (last 30 days)
Show older comments
Gilbert Zhao
on 13 Aug 2019
Answered: Satheesh Appukuttan
on 12 Dec 2019
Hello,
I am working on a model which will packetize data at rate A and occasionally send data at rate B, in which rate B is 3.125x faster than rate A. However, it's unclear to me how I can design my model in Simulink such that it can support rates A & B independently.
In other words, I want to implement the equivalent of an HDL FIFO such that the output & input sample times are not a clean ratio of N or 1/N.
Any suggestions would be greatly appreciated, thank you.
-Gilbert
0 Comments
Accepted Answer
More Answers (2)
Samatha Aleti
on 19 Aug 2019
Hi,
According to my understanding you would like to send data at 2 different rates independently. To do this you may use a “Rate transition block”. Assuming ”A” be the sample time of data generator (that you used), sample time of Rate Transition block should be 1/3.125 times that of “A” (in order to be 3.125 faster than “A”). Also make sure to uncheck the rate transition block parameter “Ensure deterministic data transfer”.
0 Comments
Satheesh Appukuttan
on 12 Dec 2019
Hi,
I have some basic questions related to FIFO. I need to implement a fifo in simulink and shift the data for each clock cycle. is there a example implementation ?
- Can I use from workspace to shift the values into fifo ?
- What clock models should be used to pop/push signals.
- What should be the sample time of the from work space ?
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!