<li id="omoqo"></li>
  • <noscript id="omoqo"><kbd id="omoqo"></kbd></noscript>
  • <td id="omoqo"></td>
  • <option id="omoqo"><noscript id="omoqo"></noscript></option>
  • <noscript id="omoqo"><source id="omoqo"></source></noscript>
  • 發布時間:2020-10-26 15:48 原文鏈接: 防止毛刺的時鐘切換電路的設計思想

      以前有篇文章講述了時鐘切換的時候毛刺(glitch)帶來的危害,以及如何設計防止毛刺發生的時鐘切換電路。但是沒有講到電路設計的構思從何而來,大家看了之后知道直接用這個電路,但是假如不看這篇文章,自己從頭設計還是無從下手。

      在這里,換另外一個角度,通過電路設計技巧來闡述防毛刺時鐘切換電路的設計思路。

      希望看過之后,不用參考文章就能夠自己設計出這個電路。

      對于一個時鐘切換電路,輸入兩個異步時鐘 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 電路, 如下:

      防止毛刺的時鐘切換電路的設計思想

      只需要將 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, 正好利用反饋,讓時鐘切換按照安全的順序進行:

      (a)。 先 gating 住之前選擇的時鐘

      (b)。 然后再放開將要選擇的時鐘

      在(a)和(b)之間,輸出時鐘一直都是無效狀態(對于2and + 1or 的 mux 來說,無效狀態就是 0)

      (6) 按照上面的分析,得到電路如下:

      防止毛刺的時鐘切換電路的設計思想

      注意幾點:

      (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 電路,經過稍許修改,都可以完成防毛刺切頻電路的設計。


    <li id="omoqo"></li>
  • <noscript id="omoqo"><kbd id="omoqo"></kbd></noscript>
  • <td id="omoqo"></td>
  • <option id="omoqo"><noscript id="omoqo"></noscript></option>
  • <noscript id="omoqo"><source id="omoqo"></source></noscript>
  • 1v3多肉多车高校生活的玩视频