單位寬(Single bit)信號即該信號的位寬為1,通常控制信號居多。對于此類信號,如需跨時鐘域可直接使用xpm_cdc_single,如下圖代碼所示。參數(shù)DEST_SYNC_FF決定了級聯(lián)觸發(fā)器的個數(shù),取值范圍為2~10;參數(shù)INIT_SYNC_FF決定了仿真時是否使用初始值;參數(shù)SIM_ASSERT_CHK用于檢查仿真中的問題;參數(shù)SRC_INPUT_REG用于是否對輸入信號(待跨時鐘域信號)在自身時鐘下寄存一拍。
從綜合結(jié)果來看,當(dāng)DEST_SYNC_FF設(shè)置為4,SRC_INPUT_REG設(shè)置為1時,形成如下圖所示電路??捎每吹降谝粋€觸發(fā)器位于src_clk時鐘域下,后續(xù)4個觸發(fā)器位于dest_clk時鐘域下。同時,xpm_cdc_single自帶約束將圖中紅色標(biāo)記觸發(fā)器到綠色標(biāo)記觸發(fā)器之間的路徑設(shè)置為偽路徑,使用set_false_path約束。
從最終的布線結(jié)果來看,工具會將后面4個觸發(fā)器放置的同一個SLICE內(nèi),這是因為這4個觸發(fā)器的屬性ASYNC_REG都被設(shè)置為TRUE。
從仿真結(jié)果來看,如果出現(xiàn)如下情形,即輸入信號在高有效時無法被接收時鐘穩(wěn)定地采樣到至少兩次,那么仿真就會給出Error信息。
滿足此條件時,就不會顯示此Error信息。這也告訴我們,工程實踐中,要確保待跨時鐘域信號在高有效時可以被接收時鐘至少穩(wěn)定地采樣到兩次。
此外,XPM_CDC還提供了xpm_cdc_array_single,與xpm_cdc_single相比只多了一個參數(shù)WIDTH,用于指定位寬,但是需要注意的是盡管從形式上看傳輸?shù)氖且粋€多位寬數(shù)據(jù),但實際上,每位是彼此相對獨立沒有關(guān)聯(lián)的。
例如,位寬為2,綜合結(jié)果如下,可以看到其實就是兩個xpm_cdc_single合并而成。
-
電路設(shè)計
+關(guān)注
關(guān)注
6707文章
2541瀏覽量
214723 -
仿真
+關(guān)注
關(guān)注
52文章
4289瀏覽量
135858 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2039瀏覽量
62145 -
時鐘域
+關(guān)注
關(guān)注
0文章
53瀏覽量
9791 -
輸入信號
+關(guān)注
關(guān)注
0文章
473瀏覽量
12897
原文標(biāo)題:跨時鐘域電路設(shè)計:單位寬信號如何跨時鐘域
文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
跨時鐘域控制信號傳輸設(shè)計方案

多位寬數(shù)據(jù)通過握手方式跨時鐘域

關(guān)于FPGA中跨時鐘域的問題分析
跨時鐘域電路設(shè)計:多位寬數(shù)據(jù)通過FIFO跨時鐘域

如何處理跨時鐘域這些基礎(chǔ)問題

評論