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