單bit 脈沖跨時鐘域處理
簡要概述:
在上一篇講了總線全握手跨時鐘處理,本文講述單bit脈沖跨時鐘域的處理為下一篇總線單向握手跨時鐘域處理做準(zhǔn)備。脈沖同步器其實(shí)就是帶邊沿檢測的單bit同步器,基本原理就是把脈沖信號進(jìn)行展寬。
脈沖同步器應(yīng)用場景:
適用單bit脈沖信號跨時鐘域。慢到快,快到慢均可,源脈沖間隔至少要為2個目的時鐘周期,否則會被漏采。當(dāng)然,在慢到快時鐘比率大于2倍以上時也是可以實(shí)時采樣的。
脈沖同步器原理框圖:
脈沖同步器跨時鐘域原理圖如下所示,使用了1個單bit同步器模塊,因?yàn)槊}沖展寬后是電平信號,所以這里采用單bit同步器(寄存器打2拍或者3拍)。這里源脈沖與寄存打拍后的脈沖相或運(yùn)算得到一定寬度的電平信號,電平寬度可由源時鐘和目的時鐘比例得到;展寬信號跨時鐘域后在目的時鐘域下進(jìn)行邊沿檢測得到目的脈沖信號。
注意:在設(shè)計脈沖同步器電路時有一個易錯點(diǎn),就是少了圖中的紅色橢圓的D觸發(fā)器,這會可能導(dǎo)致脈沖同步器同步失敗。這是因?yàn)槊}沖展寬后信號是組合邏輯直接進(jìn)行了單bit同步器(s2d sync)跨時鐘域處理,而組合邏輯輸出是有毛刺的,這樣單bit同步器可能會采到毛刺導(dǎo)致多采現(xiàn)象。
工具在進(jìn)行時序分析時,只會分析同步路徑,而且完整的時序路徑從源D觸發(fā)器器的CK端到目的D觸發(fā)器的D端。如果少了中間的D觸發(fā)器,則會出現(xiàn)3條紅色箭頭的異步路徑(源脈沖寄存器輸入),如下圖所示。實(shí)際加上中間的D觸發(fā)器只有一條黃色箭頭的異步路徑才符合預(yù)期。
脈沖同步器仿真測試:
場景1:快到慢, 源時鐘100Mhz 目的時鐘25Mhz,SEL設(shè)置為1展寬,RATIO比例設(shè)置為4(實(shí)際展寬了5倍)。
從上圖可以看出,快到慢脈沖同步時,脈沖間隔至少為2個目的時鐘,才能被正確采樣,否則會被漏采,如圖源脈沖的第3個和4個脈沖由于間隔太近被漏采。
場景2:快到慢,源時鐘100Mhz 目的時鐘12.5Mhz,SEL設(shè)置為1展寬,RATIO比例設(shè)置為8(實(shí)際展寬了9倍)。
從上圖可以看出,快到慢脈沖同步時,脈沖間隔至少為2個目的時鐘,才能被正確采樣,否則會被漏采,如圖發(fā)現(xiàn)第二個脈沖被漏采樣了。細(xì)心的朋友可能會發(fā)現(xiàn),最后一個是電平脈沖同步器也是會把它當(dāng)做一個脈沖輸出。
場景3:慢到快,源時鐘25Mhz 目的時鐘100Mhz,SEL設(shè)置為0不需要展寬,
從上圖可以看出,慢到快脈沖同步時,該同步器天然也是支持的,只要保證源脈沖能被目的時鐘采到即可,可以視為帶邊沿檢測的單bit同步器(寄存器打兩拍)。
原文標(biāo)題:CDC(二) 單bit 脈沖跨時鐘域處理
文章出處:【微信公眾號:FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
脈沖
+關(guān)注
關(guān)注
20文章
889瀏覽量
95639 -
時鐘
+關(guān)注
關(guān)注
10文章
1733瀏覽量
131484 -
bit
+關(guān)注
關(guān)注
0文章
48瀏覽量
32016
原文標(biāo)題:CDC(二) 單bit 脈沖跨時鐘域處理
文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論