在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時(shí)鐘切換電路設(shè)計(jì)方案

CHANBAEK ? 來(lái)源:數(shù)字IC與好好生活的兩居室 ? 作者:除夕之夜啊 ? 2023-03-29 11:41 ? 次閱讀

隨著各種應(yīng)用場(chǎng)景的限制,芯片在運(yùn)行時(shí)往往需要在不同的應(yīng)用下切換不同的時(shí)鐘源,例如低功耗和高性能模式就分別需要低頻率和高頻率的時(shí)鐘。兩個(gè)時(shí)鐘源有可能是同源且頻率比呈倍數(shù)關(guān)系,也有可能是不相關(guān)的。直接使用選擇邏輯進(jìn)行時(shí)鐘切換大概率會(huì)導(dǎo)致分頻時(shí)鐘信號(hào)出現(xiàn)毛刺現(xiàn)象,所以時(shí)鐘切換邏輯也需要進(jìn)行特殊的處理。

時(shí)鐘切換問(wèn)題

直接采用選擇邏輯對(duì)時(shí)鐘進(jìn)行切換的電路圖如下所示。

圖片

假如時(shí)鐘選擇信號(hào) sel_clk1 與兩個(gè)時(shí)鐘都是異步的,那么時(shí)鐘切換時(shí)刻就是任意的。假如時(shí)鐘由 clk1 切換到 clk2,且切換時(shí)刻為 clk1 輸出電平為高的時(shí)候,此時(shí)立即切換時(shí)鐘就會(huì)導(dǎo)致輸出時(shí)鐘出現(xiàn)毛刺(glitch)。波形示意圖如下:

圖片

時(shí)鐘切換方案

在電平相反的時(shí)候切換時(shí)鐘,肯定有毛刺;電平相同的時(shí)候,即使不產(chǎn)生毛刺,時(shí)鐘切換后的第一個(gè)時(shí)鐘的周期或占空比也不是理想的。所以,為避免毛刺的產(chǎn)生,需要在兩個(gè)時(shí)鐘都為低電平的時(shí)候進(jìn)行時(shí)鐘切換。

一種典型的時(shí)鐘切換電路如下所示。

該電路利用時(shí)鐘下降沿對(duì)時(shí)鐘選擇信號(hào) sel_clk1 進(jìn)行緩存。同時(shí)一個(gè)時(shí)鐘選擇信號(hào)對(duì)另一個(gè)時(shí)鐘進(jìn)行反饋控制,保證同一時(shí)刻只能有一路時(shí)鐘有效。最后采用“或操作”將兩路時(shí)鐘合并,完成時(shí)鐘切換的過(guò)程。

圖片

采用上述電路完成時(shí)鐘切換(clk1->clk2)的波形示意圖入戲所示。

由圖可知,clk1 向 clk2 切換時(shí),先回關(guān)閉 clk1, 然后打開(kāi) clk2。由于時(shí)鐘選擇信號(hào)被同步到時(shí)鐘下降沿,所以切換過(guò)程中不會(huì)出現(xiàn)毛刺。

圖片

clk2 向 clk1 切換的波形示意圖如下所示。

圖片

考慮到選擇信號(hào)有可能是異步信號(hào),需要在時(shí)鐘選擇信號(hào)的緩存觸發(fā)器之前加兩級(jí)觸發(fā)器進(jìn)行同步處理,來(lái)減少亞穩(wěn)態(tài)的傳播,結(jié)構(gòu)圖如下。該時(shí)鐘切換電路更具有應(yīng)用場(chǎng)景的普遍性。

圖片

時(shí)鐘切換設(shè)計(jì)

普遍且安全的時(shí)鐘切換邏輯描述如下。

module clk_switch(
    input               rstn ,
    input               clk1,
    input               clk2,
    input               sel_clk1 , // 1 clk1, 0 clk2
    output              clk_out
    );


   reg [2:0]            sel_clk1_r ;
   reg [1:0]            sel_clk1_neg_r ;
   reg [2:0]            sel_clk2_r ;
   reg [1:0]            sel_clk2_neg_r ;


   //使用3拍緩存,同步另一個(gè)時(shí)鐘控制信號(hào)與本時(shí)鐘控制信號(hào)的"與"邏輯操作
   always @(posedge clk1 or negedge rstn) begin
      if (!rstn) begin
         sel_clk1_r     <= 3'b111 ; //注意默認(rèn)值
      end
      else begin
         //sel clk1, and not sel clk2
         sel_clk1_r     <= {sel_clk1_r[1:0], sel_clk1 & (!sel_clk2_neg_r[1])} ;
      end
   end


   //在下降沿,使用2拍緩存時(shí)鐘選擇信號(hào)
   always @(negedge clk1 or negedge rstn) begin
      if (!rstn) begin
         sel_clk1_neg_r <= 2'b11 ; //注意默認(rèn)值
      end
      else begin
         sel_clk1_neg_r <= {sel_clk1_neg_r[0], sel_clk1_r[2]} ;
      end
   end


   //使用3拍緩存,同步另一個(gè)時(shí)鐘控制信號(hào)與本時(shí)鐘控制信號(hào)的"與"邏輯操作
   always @(posedge clk2 or negedge rstn) begin
      if (!rstn) begin
         sel_clk2_r     <= 3'b0 ; //注意默認(rèn)值
      end
      else begin
         //sel clk2, and not sel clk1
         sel_clk2_r     <= {sel_clk2_r[1:0], !sel_clk1 & (!sel_clk1_neg_r[1])} ;
      end
   end


   //在下降沿,使用2拍緩存時(shí)鐘選擇信號(hào)
   always @(negedge clk2 or negedge rstn) begin
      if (!rstn) begin
         sel_clk2_neg_r <= 2'b0 ; //注意默認(rèn)值
      end
      else begin
         sel_clk2_neg_r <= {sel_clk2_neg_r[0], sel_clk2_r[2]} ;
      end
   end


   //時(shí)鐘邏輯運(yùn)算時(shí),一般使用特定的工藝單元庫(kù)。
   //這里用 Verilog 自帶的邏輯門(mén)單元代替
   wire clk1_gate, clk2_gate ;
   and (clk1_gate, clk1, sel_clk1_neg_r[1]) ;
   and (clk2_gate, clk2, sel_clk2_neg_r[1]) ;
   or  (clk_out, clk1_gate, clk2_gate) ;


endmodule

testbench 描述如下,主要產(chǎn)生異步的時(shí)鐘選擇信號(hào)。

`timescale 1ns/1ps
module test ;
   reg          clk_100mhz, clk_200mhz ;
   reg          rstn ;
   reg          sel ;
   wire         clk_out ;


   always #(2.5)    clk_200mhz  = ~clk_200mhz ;
   always @(posedge clk_200mhz)
                    clk_100mhz  = #1 ~clk_100mhz ;


   initial begin
      clk_100mhz  = 0 ;
      clk_200mhz  = 0 ;
      rstn        = 0 ;
      sel         = 1 ;
      #11 rstn    = 1 ;
      #36.2 sel   = ~sel ;
      #119.7 sel   = ~sel ;
   end


   clk_switch u_clk_switch(
     .rstn      (rstn),
     .clk1      (clk_100mhz),
     .clk2      (clk_200mhz),
     .sel_clk1  (sel),
     .clk_out   (clk_out));


   initial begin
      forever begin
         #100;
         if ($time >= 10000)  $finish ;
      end
   end


endmodule

仿真結(jié)果如下,可見(jiàn)時(shí)鐘相互切換時(shí)沒(méi)有產(chǎn)生毛刺,但是存在延遲。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電路設(shè)計(jì)
    +關(guān)注

    關(guān)注

    6701

    文章

    2528

    瀏覽量

    212832
  • 仿真
    +關(guān)注

    關(guān)注

    51

    文章

    4245

    瀏覽量

    135370
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2844

    瀏覽量

    77950
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1886

    瀏覽量

    132890
  • 切換電路
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    9567
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    時(shí)鐘設(shè)計(jì)中時(shí)鐘切換電路設(shè)計(jì)案例

    在多時(shí)鐘設(shè)計(jì)中可能需要進(jìn)行時(shí)鐘切換。由于時(shí)鐘之間可能存在相位、頻率等差異,直接切換時(shí)鐘可能導(dǎo)致
    的頭像 發(fā)表于 09-24 11:20 ?6001次閱讀
    多<b class='flag-5'>時(shí)鐘</b>設(shè)計(jì)中<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>切換</b><b class='flag-5'>電路設(shè)計(jì)</b>案例

    精密光電檢測(cè)電路設(shè)計(jì)方案

    精密光電檢測(cè)電路設(shè)計(jì)方案
    發(fā)表于 12-15 18:25 ?67次下載

    乘法器電路設(shè)計(jì)方案匯總(五款模擬電路設(shè)計(jì)原理及仿真程序分享)

    本文為大家介紹五款乘法器電路設(shè)計(jì)方案,包括五款模擬電路設(shè)計(jì)原理及仿真程序分享,以供參考。
    發(fā)表于 01-17 18:03 ?6.2w次閱讀
    乘法器<b class='flag-5'>電路設(shè)計(jì)方案</b>匯總(五款模擬<b class='flag-5'>電路設(shè)計(jì)</b>原理及仿真程序分享)

    除法運(yùn)算電路設(shè)計(jì)方案匯總(九款模擬電路設(shè)計(jì)原理詳解)

    本文為大家?guī)?lái)九款不同的除法運(yùn)算電路設(shè)計(jì)方案,包括這九款模擬電路設(shè)計(jì)的原理及設(shè)計(jì)過(guò)程。
    發(fā)表于 01-17 18:24 ?6w次閱讀
    除法運(yùn)算<b class='flag-5'>電路設(shè)計(jì)方案</b>匯總(九款模擬<b class='flag-5'>電路設(shè)計(jì)</b>原理詳解)

    基于FPGA的調(diào)焦電路設(shè)計(jì)方案資料下載

    基于FPGA的調(diào)焦電路設(shè)計(jì)方案資料下載
    發(fā)表于 05-07 15:53 ?10次下載

    485接口EMC電路設(shè)計(jì)方案

    485接口EMC電路設(shè)計(jì)方案
    的頭像 發(fā)表于 02-05 12:53 ?5262次閱讀

    卡拉OK人聲增效電路設(shè)計(jì)方案

    卡拉OK人聲增效電路設(shè)計(jì)方案
    發(fā)表于 03-25 11:06 ?7次下載
    卡拉OK人聲增效<b class='flag-5'>電路設(shè)計(jì)方案</b>

    帶NFC管理的移動(dòng)通信終端電路設(shè)計(jì)方案

    帶NFC管理的移動(dòng)通信終端電路設(shè)計(jì)方案
    發(fā)表于 06-07 10:17 ?32次下載

    SSS1530電路設(shè)計(jì)方案

    SSS1530電路設(shè)計(jì)方案免費(fèi)下載。
    發(fā)表于 06-10 16:22 ?35次下載

    基于電流傳輸器的檢測(cè)電路設(shè)計(jì)方案

    基于電流傳輸器的檢測(cè)電路設(shè)計(jì)方案
    發(fā)表于 06-15 10:52 ?46次下載

    AC380V EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    AC380V EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 10:54 ?53次下載

    AV接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    AV接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 10:52 ?32次下載

    CAN總線接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案

    CAN總線接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案
    發(fā)表于 07-12 10:45 ?218次下載

    小信號(hào)放大電路設(shè)計(jì)方案匯總

    小信號(hào)放大電路設(shè)計(jì)方案匯總
    發(fā)表于 09-14 15:01 ?143次下載

    LED路燈驅(qū)動(dòng)電路設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《LED路燈驅(qū)動(dòng)電路設(shè)計(jì)方案.doc》資料免費(fèi)下載
    發(fā)表于 11-14 11:31 ?2次下載
    LED路燈驅(qū)動(dòng)<b class='flag-5'>電路設(shè)計(jì)方案</b>
    主站蜘蛛池模板: 欧美特黄视频在线观看 | 97夜夜澡人人爽人人喊一欧美 | 国产精品久久女同磨豆腐 | 手机在线观看国产精选免费 | bt天堂新版中文在线地址 | 一日本道加勒比高清一二三 | 色域综合| 夜夜爽爽爽 | 三级理论在线播放大全 | 亚洲免费视频网址 | 毛片免| 美女一级毛片免费观看 | 51国产午夜精品免费视频 | 亚洲午夜在线观看 | 午夜爱爱免费视频 | 国产精品久久久亚洲第一牛牛 | 午夜性福 | 可以直接看的黄址 | 色多多在线免费观看 | 伊人狠狠丁香婷婷综合色 | 黄色avav| 亚洲国产成人久久一区久久 | 免费国产h视频在线观看 | 美女扒开尿口给男人爽免费视频 | 久久婷婷综合五月一区二区 | 一区二区三区四区免费视频 | 欧美黑人巨大日本人又爽又色 | 午夜色大片在线观看 | 免费色视频网站 | 久久精品国产免费观看99 | 亚洲欧美人成网站综合在线 | 亚洲午夜久久久精品影院 | 成人黄色在线网站 | 天天干天天添 | 中文字幕一区二区三区在线观看 | 亚洲日本一区二区三区 | 欧美另类xx| 欧美18videosex性欧美69 | 在线免费观看色片 | 欧美怡红院免费全视频 | 性欧美丰满xxxx性久久久 |