一、問題現象:產生亞穩態。
二、問題原因:不滿足建立時間或保持時間要求。
三、解決辦法:
1、單bit訊號,可以採用打兩拍的方法,注意該方法可以大幅降低亞穩態的概率,但也無法保證輸出結果完全正確。
具體rtl實現舉例如下:
input sig_in;
reg sig[2:0];
always@(posedge clk)
sig[2:0]<=;//sig[2]為打拍後的訊號;
2、多bit訊號,可以用格雷碼編碼(僅有1bit不同),然後還要打兩拍,例如通過fifo的位址跨時鐘域時,該位址就可以用格雷碼編碼。
3、通過fifo和雙口ram實現跨時鐘域的資料同步,但需要計算評估好fifo深度和ram大小。
FPGA跨時鐘域處理方法FIFO
1 本節目錄 2 本節引言 3 fpga簡介 4 fpga跨時鐘域處理方法fifo 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate arr...
FPGA跨時鐘域處理方法延遲法
1 本節目錄 2 本節引言 3 fpga簡介 4 fpga跨時鐘域處理方法延遲法 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate arra...
FPGA單位元訊號跨時鐘域處理
詳細的原理解釋 單位元訊號跨時鐘域問題詳解 輸入 singal in,來自10mhz慢速時鐘域的單位元訊號 輸出 singal out,輸出100mhz快速時鐘域的單位元訊號 10mhz 100ns 100mhz 10ns 因為慢速時鐘域的最簡訊號長度為1個時鐘時鐘週期即 100ns,大於快速時鐘域...