- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello everyone,
I want to design a frequency counter, which function is to count the input signal's frequency.
And the result need to be write into memory for a specific period. ( I use "gate" to control.)
In the measurement result , there were also 2~ 3000 data that was unexpected. (total data number :393216), and I don't know what's wrong with my design.
It's the first time I know about the CDC issues and use the timing analyzer to check the timing issue, so I'm not really sure about what I do is correct or not.
Here shows my design's RTL plot:
And here is the timing analyzer's report:
The principle of frequency counter is count the cycle number of clk during the high level of fin,
and reset the value of counter when fin is at low level.
Beacuse I want the frequency counter's result become more intuitive, so I use a divider to divide the fin by 2,that means the counter will count the number of clk during one fin period.
And for the synchronizer, I use 2DFF synchronizer it to sync the fin signal to the clk domain.
Blue components in the plot is my frequency counter, and the frequency counter's output will goes into FIFO_1.
For FIFO_1, I want to use it to sustain the counter's value for one fin's clock, and because the frequency counter's output will be multiple bits value which is being trigger by clk, so I think I should use FIFO to let the counter's value cross to fin's domain.
And for FIFO_2, beacause I want to use gate (which is generated from clk) to control when the counter's value can write into memory, so I use second FIFO to let the counter's value (in fin domain) cross to the clk(gate) domain again.
I think I do my best to solve all the CDC problems, and the timing report shows no error.
So I don't have any idea why the measurement result still have unexpected value.
Can someone help me? Thanks.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We sincerely apologize for the inconvenience caused by the delay in addressing your Forum queries. Due to an unexpected back-end issue in our system, your Forum case, did not reach us as intended. As a result, we have a backlog of cases that we are currently working through.
Please be assured that we are doing everything we can to resolve this as quickly as possible. This will take some time, and we appreciate your patience and understanding during this period of time. Your case will be attended by AE soonest possible.
Thank you again for your patience and understanding, and we are committed to provide you with the best possible support.

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