某年某月某日
我在知乎看到了多bit信號(hào)跨時(shí)鐘的問題,于是整理了一下自己對(duì)于跨時(shí)鐘域信號(hào)的處理方法。
1,fifo
數(shù)據(jù)的話,直接用fifo
2,使用賽靈思原語XPM(Xilinx Parameterized Macros)
打開vivado -- tools -- language_templates,里面直接搜索XPM,相關(guān)的原語里會(huì)注釋相應(yīng)的用法和參數(shù)配置,對(duì)于不同場景的跨時(shí)鐘,有不同的原語。
同步復(fù)位,XPM_CDC_SYNC_RESET
異步復(fù)位,XPM_CDC_ASYNC_RESET
脈沖信號(hào),XPM_CDC_PULSE
單bit信號(hào)(電平信號(hào)),XPM_CDC_SINGLE
單bit信號(hào)數(shù)組,xpm_cdc_array_single
(這個(gè)用得較多,官方說數(shù)組的每1bit需不相關(guān),即可以把多個(gè)不相關(guān)的單bit信號(hào)拼起來,用一個(gè)原語,甚至可以是上百bit位寬。
除了不相關(guān)的單bit信號(hào),同一個(gè)多bit信號(hào)我也經(jīng)常使用此原語,這種信號(hào)一般是跨時(shí)鐘域的參數(shù),在下發(fā)后保持不變,這樣有助于時(shí)序收斂。)
格雷碼同步器,利用了格雷碼單次只能跳變1位的特性,要求輸入的數(shù)據(jù)是累加1或者累減1的數(shù)據(jù),本質(zhì)上是單比特跨時(shí)鐘域處理,xpm_cdc_gray
握手機(jī)制的跨時(shí)鐘域總線數(shù)據(jù)同步,XPM_CDC_HANDSHAKE
3,只要是正確處理了跨時(shí)鐘域的問題,也可以不用xpm,直接使用set_false,但xpm是賽靈思官方認(rèn)可的跨時(shí)鐘處理,處理后不會(huì)有時(shí)序問題出現(xiàn)在時(shí)序報(bào)告中。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7102瀏覽量
89273 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1740瀏覽量
131626 -
XPM
+關(guān)注
關(guān)注
0文章
12瀏覽量
8690 -
時(shí)鐘域
+關(guān)注
關(guān)注
0文章
52瀏覽量
9545
原文標(biāo)題:vivado時(shí)序-多bit信號(hào)跨時(shí)鐘域
文章出處:【微信號(hào):FPGA通信小白成長之路,微信公眾號(hào):FPGA通信小白成長之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論