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