單位寬(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é)果來(lái)看,當(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é)果來(lái)看,工具會(huì)將后面4個(gè)觸發(fā)器放置的同一個(gè)SLICE內(nèi),這是因?yàn)檫@4個(gè)觸發(fā)器的屬性ASYNC_REG都被設(shè)置為TRUE。
從仿真結(jié)果來(lái)看,如果出現(xiàn)如下情形,即輸入信號(hào)在高有效時(shí)無(wú)法被接收時(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合并而成。
-
電路設(shè)計(jì)
+關(guān)注
關(guān)注
6706文章
2541瀏覽量
214701 -
仿真
+關(guān)注
關(guān)注
52文章
4286瀏覽量
135833 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2039瀏覽量
62142 -
時(shí)鐘域
+關(guān)注
關(guān)注
0文章
53瀏覽量
9790 -
輸入信號(hào)
+關(guān)注
關(guān)注
0文章
473瀏覽量
12893
原文標(biāo)題:跨時(shí)鐘域電路設(shè)計(jì):?jiǎn)挝粚捫盘?hào)如何跨時(shí)鐘域
文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
跨時(shí)鐘域控制信號(hào)傳輸設(shè)計(jì)方案

關(guān)于跨時(shí)鐘域信號(hào)的處理方法
多位寬數(shù)據(jù)通過握手方式跨時(shí)鐘域

看看Stream信號(hào)里是如何做跨時(shí)鐘域握手的
跨時(shí)鐘域信號(hào)的幾種同步方法研究

關(guān)于FPGA中跨時(shí)鐘域的問題分析
單位寬信號(hào)如何跨時(shí)鐘域
跨時(shí)鐘域電路設(shè)計(jì):多位寬數(shù)據(jù)通過FIFO跨時(shí)鐘域

FPGA跨時(shí)鐘域處理方法(一)

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

評(píng)論