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