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