絕對幹貨:防毛刺的時鍾切換電路設計思路
發布時間:2015-01-16 責任編輯:sherryyu
【導讀】如(ru)果(guo)將(jiang)如(ru)何(he)設(she)計(ji)防(fang)止(zhi)毛(mao)刺(ci)發(fa)生(sheng)的(de)時(shi)鍾(zhong)切(qie)換(huan)電(dian)路(lu)及(ji)危(wei)害(hai)告(gao)訴(su)大(da)家(jia),大(da)家(jia)知(zhi)道(dao)後(hou)直(zhi)接(jie)用(yong)這(zhe)個(ge)電(dian)路(lu)就(jiu)好(hao)了(le),但(dan)是(shi)如(ru)果(guo)你(ni)忘(wang)記(ji)了(le)或(huo)者(zhe)沒(mei)見(jian)過(guo)這(zhe)個(ge)電(dian)路(lu)是(shi)不(bu)是(shi)就(jiu)無(wu)從(cong)下(xia)手(shou)了(le)!所謂知其然也要知其所以然,隻有知道了防毛刺的時鍾切換電路設計思路才能夠融會貫通!
這zhe裏li從cong一yi個ge角jiao度du,通tong過guo電dian路lu設she計ji技ji巧qiao來lai闡chan述shu防fang毛mao刺ci時shi鍾zhong切qie換huan電dian路lu的de設she計ji思si路lu。希xi望wang看kan過guo之zhi後hou,不bu用yong參can考kao文wen章zhang就jiu能neng夠gou自zi己ji設she計ji出chu這zhe個ge電dian路lu。
對於一個時鍾切換電路,輸入兩個異步時鍾clk0、clk1,以及一個選擇信號sel。
(1) 假設不考慮glitch,直接使用Mux就可以完成切頻。電路如下:

由於clk0/clk1/sel之間是異步關係,時鍾切換會發生在任意時刻,有一定的概率會發生glitch. glitch的危害文章裏已經詳述,這裏不再重複。
(2) 由於sel和clk0和clk1都是不同步的,我們可以從sel同步的方向入手,假如sel需要和clk0和clk1進行同步,那麼sel必須分成兩路,一個和clk0同步,一個和clk1同步,同步之後的sel訊號再和clk0/clk1 gating起來,就可以讓問題簡單化。為了將sel分成兩路,並且clk0/clk1需要分別gating, 那麼可以將mux邏輯用and/or設計出來,如下:

當然此Mux電路還可以用兩個or加上一個and來實現,都可以。 注意G0和G1兩點就是分別對clk0和clk1進行gating. 將來會在G0/G1點插入同步DFF.
(3) 將上麵電路拆開成兩部分,一部分電路通過sel產生sel+和sel-兩路,另一部分電路是gating mux電路, 如下:
對於一個時鍾切換電路,輸入兩個異步時鍾clk0、clk1,以及一個選擇信號sel。
(1) 假設不考慮glitch,直接使用Mux就可以完成切頻。電路如下:

隻需要將sel-接上G0, sel+接上G1就是一個mux電路。將電路分開,是為了後續技巧性的功能替換。
(4) 將part0電路換成同樣功能的帶反饋的組合電路(為何要這樣做,屬於電路設計直覺和技巧)。最常見帶反饋的電路是RS觸發器,因此可以將part0換成如下電路。

(5) 將part0_a或者part0_b替換part0電路,功能不變。如下:

不過,此時插入同步DFF的地方就多了一個選擇, 如果直接在G0, G1插入同步DFF, clk0和clk1的gating時間先後順序不確定,還是有可能發生毛刺。而在s0和s1處插入同步DFF, 正好利用反饋,讓時鍾切換按照安全的順序進行:
(1) 先gating住之前選擇的時鍾
(2) 然後再放開將要選擇的時鍾
在(1)和(2)之間, 輸出時鍾一直都是無效狀態(對於2and + 1or的mux來說,無效狀態就是0)
[page]
(6) 按照上麵的分析,得到電路如下:

注意幾點:
(1) 對s0插入的DFF需要用clk0作為時鍾, 對於s1插入的DFF需要用clk1作為時鍾。
(1) 對s0插入的DFF需要用clk0作為時鍾, 對於s1插入的DFF需要用clk1作為時鍾。
(2) 後一級的DFF必須使用clock下降沿,因為是用AND門進行gating(如果用上升沿,則更容易出現毛刺)。如果換成2個OR+1個AND的MUX, 則必須用上升沿。
(3) 必須插入兩級DFF防止metal stable, 前一級可以用上升沿,也可以用下降沿,用上升沿是為了節省時間。
(4) 所有的DFF 複位值都是0,即讓clk_out處於無效狀態。
(5) 必須滿足先gating後放開的順序,如果不滿足,可以在G0/G1處各插入一個反相器。(用part0_b搭配part1的時候需要插入反相器,如下圖)

(6)搭配不同的part0電路和part1電路,經過稍許修改,都可以完成防毛刺切頻電路的設計。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索



