sun_ray
Advanced Member level 3
A burst of length 6 with each data width one is coming from one clock domain and the burst need to be transferred to a new asynchronous clock domain. Can you please provide a way other than using a FIFO?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
use multiple 6-bit registers and cycle through them for writing. read the register contents in the new clock domain when they are not being accessed by the write logic. Depending on the relationship between the two clock frequencies you may need only two 6-bit registers or a whole bunch of them.
Then you don't understand metastability and how to deal with it. (This is one of the first questions I ask a job interviewee)But when you read the registers in the new clock domain, metastability will happen. Is not it?
No, I do this on my own time as a courtesy to the community. If I have to design circuits for someone that is "work" and I get paid for doing "work".Can you please draw a diagram of the whole circuit to understand it more.
If the clock domain the serial burst is coming from is faster than the second clock domain and there is the possibility of multiple bursts occurring at irregular intervals (aggregate rate of writes must be equal to or less than the read side, otherwise you will eventually overwrite data that has not been read), then there must be multiple 6-bit registers to capture the multiple 6-bit bursts so you have time to capture the data on the read side. As the clock rate is lower on the read side you need more time to read 6-bits than to write them. e.g. if wr_clk is 200 MHz and rd_clk is 100 MHz it takes 30ns to write and 60ns to read each bit. If you perform 4 back to back writes then it takes 120ns to write all 4 registers and 240ns to read all four registers. As you can see there has to be some limit to the sustained write burst, otherwise you can never transfer the data between the two clock domains.What do you want to mean by "Depending on the relationship between the two clock frequencies you may need only two 6-bit registers or a whole bunch of them"? Can you please explain more on this?
Then you don't understand metastability and how to deal with it. (This is one of the first questions I ask a job interviewee)
No, I do this on my own time as a courtesy to the community. If I have to design circuits for someone that is "work" and I get paid for doing "work".