<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用普通的多路復用器進行切換時鐘會發生什么?

冬至子 ? 來源:IC設計er ? 作者:Fantasy ? 2023-09-20 10:53 ? 次閱讀

在現代芯片中,芯片運行時有必要在兩個不同的時鐘之間切換。如果我們使用普通的多路復用器進行切換時鐘會發生什么?多路復用器有一個名為 SELECT 的控制信號,該信號在設置為“零”時將 CLK1 傳播到輸出,或者在設置為“1”時將 CLK2 傳播到輸出。當 SELECT 值更改時,由于輸出從當前時鐘源立即切換到下一個時鐘源,可能會引起毛刺。

圖片

圖1普通多路復用器

verilog代碼:

module clk_select1(
input                                   clk1,
input                                   clk2,
input                                   rst_n,
input                                   sel,
output                                  out_clk 
);
assign out_clk = sel?clk2:clk1;
endmodule

圖片

圖2時鐘切換的正常多路復用器實現的波形(有毛刺)

假如時鐘由 clk1 切換到 clk2,且切換時刻為 clk1 輸出電平為高的時候,此時立即切換時鐘就會導致輸出時鐘出現毛刺(glitch)。在兩個時鐘電平相反的時候切換時鐘,肯定有毛刺;電平相同的時候,即使不產生毛刺,時鐘切換后的第一個時鐘的周期或占空比也不是理想的。所以,為避免毛刺的產生,需要在兩個時鐘都為低電平的時候進行時鐘切換。

時鐘切換方案的設計思路

1.先關斷當前選擇的時鐘,再新選擇的時鐘;

2.在時鐘為低電平的時鐘進行時鐘切換;

一種典型的時鐘切換電路如下所示。其中左邊部分存在一個 互鎖結構 ,與SR鎖存器結構類似,不同之處是中間嵌入了2個下降沿觸發器,這個設計非常巧妙。 互鎖電路保證了當輸出穩定后,其兩端的輸出值是互斥的 。插入dff后,電路有了記憶功能, 將互鎖的邏輯用下降沿DFF抓一拍后反饋給另一側,即使當目前select發現變化,只要當前選擇的時鐘下降沿沒有到來時,不會切換時鐘,只有當select發生變化,且當前選擇的時鐘下降沿到來后,關閉當前選擇的時鐘系統,等到另一個時鐘系統下降沿到來時,切換至另一個時鐘系統,完成時鐘無毛刺切換 ,具體如下:

  1. 當select穩定值為0時,此時系統選擇的是clk1時鐘,i_and1=1,flop1_o=1;i_and2=0,flop2_o=0;
  2. 當selec由0向1進行變化時,i_and1輸出變為0,但是在clk1下降沿到來前,flop1_0會穩定輸出為1,因此i_and2仍然輸出0,flop2_o保持為0,此時選擇的是clk1時鐘;
  3. 當clk1下降沿到來時,flop1_0輸出變為0,關閉clk1,i_and2的輸出會變為1,在clk2下降沿到來前,flop2_o保持為0,此時系統輸出低電平;
  4. 當clk2下降沿到來時,flop2_0輸出變為1,打開clk2,此時系統選擇的時clk2時鐘;

圖片

圖3無毛刺時鐘多路復用器

verilog代碼:

module clk_select2(


input                                   clk1,
input                                   clk2,
input                                   rst_n,
input                                   sel,
output                                  out_clk 
);


reg ff1;
reg ff2;


always @(negedge clk1 or negedge rst_n) begin   
    if(!rst_n) 
        ff1 <= 1'b0;    
       else begin
        ff1 <= ~ff2 & !sel;
      end
    end
always @(negedge clk2 or negedge rst_n) begin
    if(!rst_n) 
        ff2 <= 1'b0;    
    else begin
        ff2 <= ~ff1 & sel;
      end
    end


assign out_clk = (ff1 & clk1) | (ff2 & clk2); 


endmodule

考慮到選擇信號有可能是異步信號,需要在時鐘選擇信號的緩存觸發器之前加兩級觸發器進行同步處理,來減少亞穩態的傳播,結構圖如下。該時鐘切換電路更具有普遍性。

圖片

圖4無毛刺時鐘多路復用器(使用雙同步器)

verilog代碼:

module clk_select3(


input                                   clk1,
input                                   clk2,
input                                   rst_n,
input                                   sel,
output                                  out_clk 
);


reg ff1,ff1_d;
reg ff2,ff2_d;


always @(negedge clk1 or negedge rst_n) begin
    if(!rst_n)  
        {ff1,ff1_d} <= 2'b00;
    else begin
        ff1_d <= ~ff2 & !sel;
        ff1 <= ff1_d;
      end
    end
always @(negedge clk2 or negedge rst_n) begin
    if(!rst_n) {ff2,ff2_d} <= 2'b00;    
    else begin
        ff2_d <= ~ff1 & sel;
        ff2 <= ff2_d;        
      end
    end


assign out_clk = (ff1 & clk1) | (ff2 & clk2); 




endmodule
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 時鐘
    +關注

    關注

    10

    文章

    1490

    瀏覽量

    130443
  • 鎖存器
    +關注

    關注

    8

    文章

    864

    瀏覽量

    41119
  • 多路復用器
    +關注

    關注

    9

    文章

    846

    瀏覽量

    65127
  • 觸發器
    +關注

    關注

    14

    文章

    1915

    瀏覽量

    60629
  • CLK
    CLK
    +關注

    關注

    0

    文章

    123

    瀏覽量

    16941
  • 時鐘切換電路

    關注

    0

    文章

    7

    瀏覽量

    5738
收藏 人收藏

    評論

    相關推薦

    PXI高密度多路復用器應用于飛機雷電防護試驗

    切換方案中。這些系統將被用來測試空客A330和A350和波音飛機的FADEC(全權限數字式發動機控制器)雷擊保護元件。圖1高密度PXI多路復用器 客戶需要測試用于保護敏感的電子設備FADEC尖峰電壓
    發表于 02-04 10:03

    多功能8通道多路復用器

    DN112- 多功能8通道多路復用器
    發表于 07-16 06:28

    AD8185緩沖模擬多路復用器

    AD8185-EVAL,用于視頻路由和多路復用系統的三路2:1模擬多路復用器評估板。 AD8185評估板經過精心布局和測試,以展示器件的指定高速性能
    發表于 06-17 16:47

    AD8174緩沖模擬多路復用器

    AD8174-EB,用于視頻路由和多路復用系統的單路4:1模擬多路復用器評估板。 AD8174評估板經過精心布局和測試,可演示器件的指定高速性能
    發表于 06-17 09:58

    你真的了解的模擬多路復用器和開關的原理和應用嗎?

    多路復用器和開關的原理是什么?如何設計出模擬多路復用器和開關解決方案
    發表于 03-11 07:46

    開關和多路復用器的常見故障是什么?怎么解決?

    開關和多路復用器的常見故障是什么?怎么解決?
    發表于 06-15 08:25

    電源多路復用器是什么

    電源復用器電源多路復用器(Power MUX)是一組電子開關,用于選擇兩個或更多輸入功率路徑并轉換到單個輸出。目的旨在靈活地在不同類型的輸入電源(桶式插孔,USB電纜,無線充電)之間進行選擇的系統
    發表于 10-29 09:16

    組合邏輯基礎之多路復用器設計

    1、組合邏輯基礎之多路復用器設計多路復用器也叫數據選擇器,如下圖所示,是根據選擇信號Sel的值從多個數據輸入中選擇其中一個進行輸出,是數字系統中應用非常廣泛的一種邏輯電路。如下是一個典型的四選一
    發表于 08-04 17:06

    模擬開關和多路復用器的基礎參數

    作者:現場應用工程師 蘇智超 Rock Su 在測試測量相關應用中,模擬開關和多路復用器有著非常廣泛的應用,例如運放的增益調節、ADC分時采集多路傳感器信號等等。雖然它的功能很簡單,但是仍然有很多
    發表于 11-08 07:02

    多路復用器的運算放大器切換到新設置需要多長時間?

    各種 STM32 產品都有前面有多路復用器的運算放大器。例如:STM32G4、STM32F3、STM32H7 系列等。如果我使用控制狀態寄存器(OPAMPx_CSR::VP_SEL 或 VN_SEL)更改多路復用器輸入設置,多路復用器
    發表于 12-08 07:57

    復用器多路復用

    復用器多路復用  多路復用
    發表于 01-07 14:27 ?1143次閱讀

    AD9559/PCBZ 時鐘多路復用器參考設計

    電子發燒友網站提供《AD9559/PCBZ 時鐘多路復用器參考設計.pdf》資料免費下載
    發表于 12-31 06:31 ?11次下載

    AD9558/PCBZ 時鐘多路復用器參考設計

    電子發燒友網站提供《AD9558/PCBZ 時鐘多路復用器參考設計.pdf》資料免費下載
    發表于 12-31 06:34 ?14次下載

    AD9552/PCBZ 時鐘多路復用器參考設計

    電子發燒友網站提供《AD9552/PCBZ 時鐘多路復用器參考設計.pdf》資料免費下載
    發表于 12-31 06:37 ?19次下載

    AD9557/PCBZ 時鐘多路復用器參考設計

    電子發燒友網站提供《AD9557/PCBZ 時鐘多路復用器參考設計.pdf》資料免費下載
    發表于 12-31 06:40 ?9次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>