一種支持多路時鐘的無毛刺切換電路的制作方法
【技術領域】
[0001]本發明屬于集成電路可靠性領域,涉及無毛刺的時鐘切換電路,具體涉及一種支持多路時鐘的無毛刺切換電路。
【背景技術】
[0002]為了實現功耗的智能化管理,時鐘切換電路在當代復雜片上系統(SystemonChip,簡稱S0C)中必不可少。基于時鐘切換電路的支持,可以根據工作負載調整SOC中某模塊或者子系統的工作頻率,從而智能化的降低功耗。如以太網MAC支持10/100/1000M的通信速率,基于不同的通信速率,動態地改變MAC的時鐘頻率可以最大程度上降低芯片功耗。另夕卜,為了使SOC工作模式更加靈活和豐富,電路也應支持不同頻率時鐘的切換。
[0003]專利“一種時鐘切換電路” (ZL200710098961.0)、“一種時鐘切換電路”(ZL200810067535.5)、“時鐘切換電路”(ZL200810068164.2)及“一種時鐘切換方法及時鐘切換裝置”(ZL201010560049.4)等均公開了無毛刺的時鐘切換方案,但是上述各種方案僅支持兩個時鐘的動態切換。
[0004]專利“一種時鐘切換裝置”(ZL201410310730.1)提出了一種支持多路時鐘的無毛刺切換方案,但是該方案僅僅允許時鐘頻率從高到低或者從低到高的依次切換,不支持跳躍式的時鐘切換。
[0005]現有技術中的無毛刺時鐘切換方案,由于無法避免信號不定態和噪聲等對電路的影響,都存在不支持多路時鐘的跳躍式無毛刺切換的問題。
【發明內容】
[0006]針對現有技術中存在的問題,本發明提供一種支持多路時鐘的無毛刺切換電路,能夠避免信號不定態和噪聲等對電路的影響,實現多路時鐘的跳躍式無毛刺切換。
[0007]本發明是通過以下技術方案來實現:
[0008]—種支持多路時鐘的無毛刺切換電路,包括寄存器、與門、第一選擇器、寄存器組、譯碼電路、多時鐘互鎖電路及時鐘選擇器;寄存器根據系統時鐘Clk_sys對輸入進行采樣;輸入的時鐘切換請求clk_s_req連接至寄存器的D端和與門的一個輸入端;寄存器Q端的輸出取反后連接與門的另一個輸入端;輸入的系統時鐘Clk_sys分別連接至寄存器和寄存器組的elk端;輸入的N路時鐘輸入連接至多時鐘互鎖電路中的無毛刺時鐘管理電路,其中N為正整數;輸入的異步復位信號連接至該電路內所有的寄存器復位端;輸入的時鐘選擇信號clk_sel輸入至第一選擇器的一個輸入端;與門的輸出端連接至第一選擇器的控制端;第一選擇器的輸出端連接寄存器組的D端,寄存器組的Q端分別連接第一選擇器的另一輸入端和譯碼電路的輸入端;譯碼電路輸出的N位譯碼結果clk_pre_en傳遞給多路時鐘互鎖電路;多路時鐘互鎖電路根據N路時鐘輸入和N位譯碼結果,將N位時鐘信號、監測結果CR和N位關斷標志信號clk_gate_S輸出至時鐘選擇器;待監測結果CR為高電平時,時鐘選擇器據N位關斷標志信號位時鐘信號的對應關系,將N位關斷標志信號clk_gate_s內部僅有的一位高電平比特位對應的時鐘選通至電路的時鐘輸出CLK_0。
[0009]優選的,還包括去噪電路,去噪電路對時鐘切換請求clk_s_req進行濾波和同步處理后將其輸出連接至寄存器的D端和與門的輸入端;去噪電路的輸入端還連接系統時鐘elk—sys0
[0010]進一步,所述的去噪電路如果采用軟件觸發時鐘切換請求,則包括第一寄存器和第二寄存器,第一寄存器的輸出連接至第二寄存器的輸入,時鐘切換請求clk_s_req連接至第一寄存器的輸入,第二寄存器的輸出為去噪電路的輸出;系統時鐘clk_sys分別連接至第一寄存器和第二寄存器的elk端。
[0011]進一步,所述的去噪電路如果采用硬件觸發時鐘切換請求,則包括延遲單元、與門AND、第三寄存器和第四寄存器,其中時鐘切換請求clk_S_req連接至延遲單元和與門AND輸入端,延遲單元的輸出作為與門AND另一個輸入;第三寄存器和第四寄存器的連接方式與第一寄存器和第二寄存器相同,并基于系統時鐘clk_sys對與門AND的輸出進行采樣;第三寄存器的輸出連接至第四寄存器的輸入,與門AND的輸出連接至第三寄存器的輸入,第四寄存器的輸出為去噪電路的輸出;系統時鐘clk_sys分別連接至第三寄存器和第四寄存器的elk端。
[0012]優選的,所述的譯碼電路,根據來自寄存器組位寬為1g2N的輸入,通過獨熱碼對輸入進行譯碼,得到并輸出任意時刻僅有一位高電平的N位譯碼結果clk_pre_en。
[0013]優選的,所述的多路互鎖電路包括無毛刺管理電路、第一比較器、第二選擇器、第三選擇器和第二比較器;無毛刺管理電路的輸出N位關斷標志信號clk_gate_S反饋至第一比較器和第二比較器一個輸入端;第一比較器的另一個輸入端為全零,輸出端連接至第二選擇器的控制端;第二比較器的另一個輸入端為N位譯碼結果clk_pre_en,輸出連接至第三選擇器的控制端;第二選擇器的兩個輸入分別為N位譯碼結果clk_pre_en和第三選擇器的輸出端,輸出端連接無毛刺管理電路的輸入端;第三選擇器的一個輸入端連接N位譯碼結果clk_pre_en,另一個輸入端為全零。
[0014]進一步,所述的無毛刺管理電路包括第三比較器和N個時鐘關斷電路;N路時鐘輸入信號和與第二選擇器的N位輸出clk_post_en 對應的N個時鐘關斷電路的輸入端連接,N個時鐘關斷電路的輸出端連接第三比較器的一個輸入端,第三比較器的另一個輸入端連接N位輸出c I k_post_en,第三比較器的輸出端輸出監測結果CR。
[0015]進一步,所述的N個時鐘關斷電路結構相同,且分別對應N路時鐘輸入中的一路;時鐘關斷電路包括第一、二、三寄存器和關斷與門;時鐘輸入clk_i連接至第一、二寄存器的時鐘輸入端和關斷與門的一個輸入端,時鐘輸入反后連接至第三寄存器的時鐘輸入端;第一、二、三寄存器依次級聯,上一級的輸出端連接至下一級寄存器的輸入端,第一寄存器的數據輸入端為第i位clk_post_en(i),第三寄存器的數據輸出clk_gate_s(i)連接至關斷與門的另一個輸入端;第三寄存器的數據輸出c I k_gate_s (i)和關斷與門輸出c I kg_o (i)共同組成時鐘關斷電路的輸出;N個時鐘關斷電路的輸出形成了 N位關斷標志信號clk_
時鐘信號clkg_o;其中i = 0,l,...,N-1。
[0016]與現有技術相比,本發明具有以下有益的技術效果:
[0017]本發明一種支持多路時鐘的無毛刺切換電路,通過譯碼電路對時鐘選擇信號實現獨熱碼形式的譯碼,將1g2N位時鐘選擇信號轉變為N位獨熱碼編碼的譯碼結果,保證了有效時鐘使能信號的唯一性和排他性,為多路互鎖電路實現無毛刺切換奠定了基礎。通過多路互鎖電路根據當前輸出的時鐘使能對譯碼結果進行處理,若當前輸出的時鐘使能與譯碼結果不相等,在首先關閉所有的時鐘使能,再將譯碼結果作為新的時鐘使能信號打開對應的時鐘,實現了時鐘信號的無毛刺切換。可以實現N路輸入時鐘的無毛刺切換,支持任意的切換順序,為整體電路的工作模式提供了更強的靈活性。
[0018]進一步的,通過設置的去噪電路,可以有效去除時鐘切換請求信號上的不定態和毛刺,僅保留有效的時鐘切換請求,避免了時鐘的非法切換,提高了時鐘切換電路的可靠性。
【附圖說明】
[0019]圖1為本發明的一種支持多路時鐘的無毛刺切換電路示意圖。
[0020]圖2為本發明采用的軟件觸發時鐘切換時的去噪電路示意圖。
[0021]圖3為本發明采用的硬件觸發時鐘切換時的去噪電路示意圖。
[0022]圖4為本發明采用的時鐘關斷電路設計結構圖。
【具體實施方式】
[0023]下面結合具體的實施例對本發明做進一步的詳細說明,所述是對本發明的解釋而不是限定。
[0024]本發明一種支持多路時鐘的無毛刺切換電路,首先對時鐘切換請求進行去噪處理,然后基于有效的時鐘切換請求,對時鐘選擇信號進行保存,并對保存后的時鐘選擇信號進行基于獨熱碼的譯碼,譯碼結果只有I位為高電平,之后由多時鐘互鎖電路根據當前輸出的時鐘使能(標志著當前的輸出時鐘)對譯碼結果進行處理,若當前輸出的時鐘使能為零,則將譯碼結果直接傳遞給時鐘管理電路的輸入;若當前輸出的時鐘使能非零,則將譯碼結果與當前輸出的時鐘使能進行比較,如果兩者不一致,則將時鐘管理電路的輸入置為零,若一致,則將譯碼結果直接傳遞給時鐘管理電路的輸入。時鐘管理電路基于N路時鐘,對各時鐘對應的譯碼結果進行兩級寄存器同步,基于獨熱碼的譯碼結果位寬等于N,并在第二級寄存后的時鐘下降沿關斷譯碼結果為零對應的時鐘,最后時鐘管理電路將經過關斷處理的N路時鐘和同步后的譯碼結果輸出至多路選擇器,由多路選擇器根據當前輸出的時鐘使能選擇N路時鐘的其中一路作為最終輸出,其中同步后的譯碼結果即前面所述的當前輸出的時鐘使能。其中所述的N為正整數,且以下也均為此取值。
[0025]本發明實例中采用基于軟件觸發的N路時鐘無毛刺切換電路作為優選實施例進行說明,實施例電路基于本發明提出的一種支持多路時鐘的無毛刺切換電路,其硬件電路結構如圖1所示,包括去噪電路101、寄存器102、與門103、第一選擇器201、寄存器組202、譯碼電路203、多時鐘互鎖電路300及時鐘選擇器401。該電路的輸入包括時鐘切換請求clk_s_req、系統時鐘Clk_sys、時鐘選擇信號clk_sel、N路時鐘輸入及異步復位信號,其中系統時鐘Clk_sys連接至寄存器102、寄存器組202和去噪電路101;時鐘切換請求clk_S_req輸入至去噪電路101;時鐘選擇信號clk_sel輸入至第一選擇器201 ;N路時鐘輸入連接至多時鐘互鎖電路300中的無毛刺時鐘管理電路301;異步復位信號連接至該電路內所有的寄存器復位端。該電路的輸出為時鐘CLK_0。
[0026]去噪電路101對時鐘切換請求clk_S_req進行濾波和同步處理,然后將其輸出連接至寄存器102和與門103的輸入端;寄存器102基于系統時鐘Clk_sys對輸入進行采樣,其輸出取反后連接至與門103的輸入端;與門103的輸出連接至第一選擇器201的控制端,當clk_S_req發生有效的由O至I的變化時,其輸出維持一個時鐘周期的高電平;當控制端為高電平時,第一選擇器201將輸入時鐘選擇信號clk_sel連通至寄存器組202的輸入端,否則第一選擇器201配合寄存器組202實現寄存器組202的數據保持;寄存器組202將其保存的值輸出至譯碼電路203;譯碼電路對輸入進行譯碼操作,然后將譯碼后的值clk_pre_en傳遞給多路時鐘互鎖電路300,多路時鐘互鎖電路300對譯碼結果clk_pre_en經過一系列的控制處理后,將N位時鐘信號、監測結果CR和N位關斷標志信號clk_gate_S輸出至時鐘選擇器401;待監測結果CR為高電平時,時鐘選擇器401根據N位關斷標志信號Clk_gate_i^PN位時鐘信號的一一對應關系,將N位關斷標志信號clk_gate_sft部的高電平比特位對應的時鐘選通至電路的輸出時鐘CLK_0N位c lk_gate_s中僅有一位為高電平。
[0027]去噪電路101,如圖2所示,包括第一寄存器1011和第二寄存器1012,第一寄存器1011的