FPGA中CDC问题
CDC:即不同時鐘之間傳數(shù)據(jù)
CDC問題分為同步時鐘域和異步時鐘域。
同步時鐘域:是指時鐘頻率和相位具有一定關系的時鐘域,不一定只有時鐘頻率和相位相同才叫同步時鐘域。
異步時鐘域:是指兩個時鐘沒有任何關系。
假設數(shù)據(jù)由CLK1傳向CLK2。
對于單bit數(shù)據(jù)傳輸時:(使用萬能結(jié)構(gòu)-脈沖同步器就足夠)
同步時鐘域:只要保證源數(shù)據(jù)在CLK1端保持足夠長時間即可。
異步時鐘域:須使用額外的電路模塊(同步器)來保證數(shù)據(jù)正確的傳輸。最基本的同步器是雙鎖存結(jié)構(gòu)的電平同步器。該同步器的基本原理是讓數(shù)據(jù)至少在CLK2的時鐘下保持兩個周期,消除亞穩(wěn)態(tài)。
對于多bit數(shù)據(jù)傳輸時:(使用握手信號或者異步fifo)
不能采用單bit傳輸?shù)姆椒?#xff0c;單bit傳輸時,不能確定該數(shù)據(jù)在CLK2時鐘持續(xù)時間多長,如果多bit傳輸采用單bit傳輸機制,會導致輸出一些錯誤的中間狀態(tài)。
總結(jié):
單bit傳輸時:
1、有關系的時鐘之間傳輸單bit時,理論上只需要源數(shù)據(jù)保持足夠長的時間(clk2的兩個時鐘周期)即可。
2、無關系的時鐘之間傳輸單bit數(shù)據(jù),必須使用同步器。
3、不管有無關系的時鐘進行單bit傳輸時,脈沖同步器都可以解決CDC問題。
多bit傳輸時:
1、多bit傳輸只能使用握手機制或者是異步FIFO
結(jié)論:
低頻采高頻,為防止數(shù)據(jù)不丟失,應該讓源數(shù)據(jù)變慢,多保持一些周期;高頻采低頻則不需要,但是高頻采低頻的結(jié)果可能帶有數(shù)據(jù)冗余。
總結(jié)
以上是生活随笔為你收集整理的FPGA中CDC问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肇庆学院计算机励志奖学金,关于评选肇庆学
- 下一篇: 如何构建面向IT性能的运维组织