時(shí)鐘動態(tài)切換電路及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及時(shí)鐘信號切換,特別涉及時(shí)鐘動態(tài)切換電路和時(shí)鐘動態(tài)切換方法。
【背景技術(shù)】
[0002]隨著SOC(System-on-a-Chip)技術(shù)的發(fā)展,SOC可以有效地降低電子信息系統(tǒng)產(chǎn)品的開發(fā)成本,縮短開發(fā)周期,提高產(chǎn)品的競爭力,是未來工業(yè)界將采用的最主要的產(chǎn)品開發(fā)方式。集成電路設(shè)計(jì)從晶體管的集成發(fā)展到邏輯門的集成,現(xiàn)在又發(fā)展到IP的集成,SOC技術(shù)中使用多時(shí)鐘域的情況越來越多。由于每路時(shí)鐘的頻率并非都會相同,并且時(shí)鐘選擇信號并非都會同步,因此,很容易在切換的過程中造成最終輸出時(shí)鐘存在毛刺以及時(shí)鐘周期變小的問題,進(jìn)而影響整個(gè)系統(tǒng)的穩(wěn)定性。
[0003]時(shí)鐘動態(tài)切換是指兩個(gè)時(shí)鐘源由一個(gè)選擇信號選擇去驅(qū)動一個(gè)時(shí)鐘網(wǎng)絡(luò)。現(xiàn)有技術(shù)中,如圖1所示,其中,輸入信號包括第一時(shí)鐘信號Clkl、第二時(shí)鐘信號Clk2,以及時(shí)鐘選擇信號Switch,輸出信號為時(shí)鐘切換信號ClkOut。Switch繼續(xù)參照圖2,當(dāng)時(shí)鐘選擇信號Switch在第一時(shí)鐘信號Clk的時(shí)鐘域中輸出的時(shí)鐘切換信號ClkOut,在其上升沿之后快速的變?yōu)?,這樣,在完成時(shí)鐘的切換后,時(shí)鐘切換信號ClkOut形成一個(gè)毛刺。由于時(shí)鐘偏移(Clock Skew)或者時(shí)鐘是異步的時(shí)鐘,在頻繁的切換過程中產(chǎn)生了毛刺,該毛刺對于項(xiàng)目設(shè)計(jì)可能是致命的:它會導(dǎo)致時(shí)鐘同步的失敗,數(shù)據(jù)的丟失、系統(tǒng)進(jìn)入亞穩(wěn)態(tài),甚至?xí)拐麄€(gè)同步系統(tǒng)的功能失敗。
【發(fā)明內(nèi)容】
[0004]針對現(xiàn)有技術(shù)存在的上述缺陷,本發(fā)明提出一了種能夠避免毛刺產(chǎn)生的時(shí)鐘切換電路,以實(shí)現(xiàn)兩個(gè)時(shí)鐘的自由切換。該電路非常穩(wěn)定,能夠保證任意時(shí)刻輸出的時(shí)鐘都是其中的一路輸入時(shí)鐘。
[0005]為此,根據(jù)本發(fā)明的一個(gè)方面,本發(fā)明提供了一種時(shí)鐘動態(tài)切換電路,包括:第一時(shí)鐘信號Clkl、第二時(shí)鐘信號Clk2以及時(shí)鐘選擇信號Switch的信號輸入端,和時(shí)鐘切換信號ClkOut的信號輸出端,在所述信號輸入端和所述信號輸出端之間布置有:
[0006]預(yù)同步模塊,設(shè)置為對所述時(shí)鐘選擇信號Switch在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行時(shí)序的預(yù)同步處理,得到預(yù)同步的時(shí)鐘選擇信號A ;
[0007]第一同步模塊,設(shè)置為將所述預(yù)同步時(shí)鐘選擇信號A在所述第一時(shí)鐘信號Clkl的時(shí)鐘域中進(jìn)行同步處理,得到第一時(shí)鐘選擇信號Switch_inClkl ;
[0008]第二同步模塊,設(shè)置為將所述第一時(shí)鐘選擇信號Switch_inClkl在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行同步處理,得到中間信號C,并將所述中間信號C與所述預(yù)同步的時(shí)鐘選擇信號A進(jìn)行組合邏輯處理,得到第二時(shí)鐘選擇信號Switch_inClk2 ;
[0009]門控選擇模塊,設(shè)置為將所述第一時(shí)鐘選擇信號Switch_inClkl和所述第二時(shí)鐘選擇信號Switch_inClk2作為門控使能信號,對所述第一時(shí)鐘信號Clkl和所述第二時(shí)鐘信號Clk2進(jìn)行門控處理,并對門控處理后的第一和第二門控處理信號D、E組合以輸出時(shí)鐘切換信號ClkOut。
[0010]本發(fā)明的有益效果是:提供了一種防毛刺的時(shí)鐘動態(tài)切換電路非常穩(wěn)定,通過此電路,以實(shí)現(xiàn)兩個(gè)時(shí)鐘的自由切換,避免了毛刺產(chǎn)生,能夠保證任意時(shí)刻輸出的時(shí)鐘都是其中的一路輸入時(shí)鐘。
[0011]在一些實(shí)施方式中,第一同步模塊,第一同步模塊設(shè)置為將所述預(yù)同步時(shí)鐘選擇信號A在所述第一時(shí)鐘信號Clkl的時(shí)鐘域中進(jìn)行兩級同步處理。
[0012]通過上述兩級同步處理后的信號更加精確,確保了時(shí)鐘切換時(shí)無毛刺產(chǎn)生。
[0013]在一些實(shí)施方式中,第二同步模塊,將所述第一時(shí)鐘選擇信號Switch_inClkl在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行兩級同步處理。
[0014]通過上述兩級同步處理后的信號更加精確,確保了時(shí)鐘切換時(shí)無毛刺產(chǎn)生。
[0015]在一些實(shí)施方式中,預(yù)同步模塊包括D觸發(fā)器和鎖存器,所述D觸發(fā)器配置成:對所述時(shí)鐘選擇信號Switch在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行采集,得到初始采集信號O ;所述鎖存器配置成:鎖存所述初始采集信號O的高電平信號,得到所述預(yù)同步時(shí)鐘選擇信號A。
[0016]在一些實(shí)施方式中,第一同步模塊包括D觸發(fā)器和鎖存器,所述D觸發(fā)器配置成:對所述預(yù)同步時(shí)鐘選擇信號A在所述第一時(shí)鐘信號Clkl的時(shí)鐘域中進(jìn)行采集,得到第一采集信號B ;
[0017]所述鎖存器配置成:鎖存第一采集信號B的高電平信號,得到第一時(shí)鐘選擇信號Switch_inClkl0
[0018]在一些實(shí)施方式中,第二同步模塊包括D觸發(fā)器、鎖存器以及或門電路,
[0019]所述D觸發(fā)器配置成:對所述第一時(shí)鐘選擇信號Switch_inClkl在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行采集,得到第二采集信號F ;
[0020]所述鎖存器配置成:鎖存所述第二采集信號F的高電平信號,得到所述中間信號C;
[0021]所述或門電路配置成:將所述中間信號C和所述預(yù)同步時(shí)鐘選擇信號A進(jìn)行或處理,得到第二時(shí)鐘選擇信號Switch_inClk2。
[0022]在一些實(shí)施方式中,所述D觸發(fā)器的個(gè)數(shù)為兩個(gè),以實(shí)現(xiàn)兩次采集。
[0023]在一些實(shí)施方式中,門控選擇模塊,包括第一與門電路、第二與門電路和或門電路,
[0024]所述第一與門電路設(shè)置成:將所述第一時(shí)鐘選擇信號Switch_inClkl作為門控使能信號,對所述第一時(shí)鐘信號Clkl進(jìn)行與處理,得到第一門控處理信號D ;
[0025]所述第二與門電路設(shè)置成:通過非門將所述第二時(shí)鐘選擇信號Switch_inClk2作為門控使能信號,對所述第二時(shí)鐘信號Clk2進(jìn)行與處理,得到第二門控處理信號E ;
[0026]所述或門電路設(shè)置成:將所述第一門控處理信號D和第二門控信號E進(jìn)行或處理,得到所述時(shí)鐘切換信號ClkOut。
[0027]根據(jù)本發(fā)明的另一個(gè)方面,本發(fā)明提出了一種用于時(shí)鐘動態(tài)切換電路中的初始時(shí)鐘選擇信號Switch第一時(shí)鐘信號Clkl和第二時(shí)鐘信號Clk2的時(shí)鐘動態(tài)切換方法,包括:
[0028](I)對所述時(shí)鐘選擇信號Switch在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行時(shí)序的預(yù)同步處理,得到預(yù)同步的時(shí)鐘選擇信號A ;
[0029](2)將所述預(yù)同步時(shí)鐘選擇信號A在所述第一時(shí)鐘信號Clkl的時(shí)鐘域中進(jìn)行同步處理,得到第一時(shí)鐘選擇信號SwitchjnClkl ;
[0030](3)將所述第一時(shí)鐘選擇信號Switch_inClkl在所述第二時(shí)鐘信號Clk2的時(shí)鐘域中進(jìn)行同步處理,得到中間信號C,并將所述中間信號C與所述預(yù)同步的時(shí)鐘選擇信號A進(jìn)行組合邏輯處理,得到第二時(shí)鐘選擇信號Switch_inClk2 ;
[0031](4)將所述第一時(shí)鐘選擇信號Switch_inClkl和所述第二時(shí)鐘選擇信號Switch_inClk2作為門控使能信號,對所述第一時(shí)鐘信號Clkl和所述第二時(shí)鐘信號Clk2進(jìn)行門控處理,并對門控處理后的第一和第二門控處理信號D、E組合以輸出時(shí)鐘切換信號ClkOut。
[0032]在一些實(shí)施方式中,同步處理為兩級同步處理。
[0033]本發(fā)明提供的一種防毛刺的時(shí)鐘動態(tài)切換方法,實(shí)現(xiàn)了兩個(gè)時(shí)鐘的自由切換,避免了毛刺產(chǎn)生,能夠保證任意時(shí)刻輸出的時(shí)鐘都是其中的一路輸入時(shí)鐘。
【附圖說明】
[0034]圖1是現(xiàn)有技術(shù)中的時(shí)鐘切換電路的示意圖;
[0035]圖2是圖1中的時(shí)鐘動態(tài)切換電路的時(shí)序圖;
[0036]圖3是根據(jù)本發(fā)明一實(shí)施方式的時(shí)鐘切換電路的電路框圖;
[0037]圖4是根據(jù)本發(fā)明一實(shí)施方式的時(shí)鐘切換電路的結(jié)構(gòu)圖;
[0038]圖5是根據(jù)本發(fā)明一實(shí)施方式的時(shí)鐘切換電路的時(shí)序圖。
【具體實(shí)施方式】
[0039]下面結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0040]圖3示意性地顯示了根據(jù)本發(fā)明的一實(shí)施方式的一種時(shí)鐘切換電路框圖。如圖3所示,本發(fā)明提供的電路,主要包括:預(yù)同步模塊、第一時(shí)鐘信號Clkl同步模塊、第二時(shí)鐘信號Clk2同步模塊和門控選擇模塊,其中:
[0041]預(yù)同步模塊,用于對時(shí)鐘選擇信號Switch在第二時(shí)鐘信號Clk2時(shí)鐘域中進(jìn)行時(shí)序的同步處理,得到預(yù)同步時(shí)鐘選擇信號;
[0042]第一時(shí)鐘信號Clkl同步模塊,S卩:第一同步模塊,用于將預(yù)同步時(shí)鐘選擇信號在第一時(shí)鐘信號Clkl時(shí)鐘域下進(jìn)行同步處理;
[0043]第二時(shí)鐘信號Clk2同步模塊,即:第二同步模塊,用于將第一時(shí)鐘信號Clkl時(shí)鐘域同步后的第一時(shí)鐘選擇信號Switch_inClkl,在第二時(shí)鐘信號Clk2時(shí)鐘域下進(jìn)行同步,并與預(yù)同步時(shí)鐘選擇信號A進(jìn)行組合邏輯處理;
[0044]門控選擇模塊,用于將第一時(shí)鐘選擇信號Switch_inClkl和第二時(shí)鐘選擇信號Switch_inClk2作為門控使能信號,對第一時(shí)鐘信號Clkl和第二時(shí)鐘信號Clk2進(jìn)行門控處理,并對門控處理后的第一和第二門控處理信號組合以輸出時(shí)鐘切換信號ClkOut。
[0045]圖4示意性地顯示了圖3中的時(shí)鐘切換電路的詳細(xì)結(jié)構(gòu)圖,如圖4所示,本發(fā)明的電路主要包括:第一時(shí)鐘信號Clkl、第二時(shí)鐘信號Clk2以及時(shí)鐘選擇信號Switch的信號輸入端,和時(shí)鐘切換信號ClkOut的信號輸出端,在所述信號輸入端和所述信號輸出端之間布置有:
[0046]包括I個(gè)D觸發(fā)器和I個(gè)鎖存器的預(yù)同步模塊,包括2個(gè)D觸發(fā)器和I個(gè)鎖存器的第一時(shí)鐘信號Clkl同步模塊,包括2個(gè)D觸發(fā)器、I個(gè)鎖存器和I個(gè)或門電路的第二時(shí)鐘信號Clk2同步模塊,以及包括2個(gè)與門電路(其中一個(gè)與門電路的輸入端是I個(gè)非門電路)和I個(gè)或門電路的門控選擇模塊。
[0047]在實(shí)際運(yùn)行過程中:
[0048]時(shí)鐘選擇信號Switch通過信號輸入端輸入,然后通過預(yù)同步模塊在第二時(shí)鐘信號Clk2的時(shí)鐘域中經(jīng)過D觸發(fā)器進(jìn)行信號采集,得到初始采集信號O,鎖存器鎖存初始采集信號O的高電平信號,得到所述預(yù)同步的時(shí)鐘選擇信號A ;
[0049]接著,上述預(yù)同步的時(shí)鐘選擇信號A通過第一時(shí)鐘信號Clkl同步模塊在第一時(shí)鐘信號Clkl的時(shí)鐘域中經(jīng)過2個(gè)D觸發(fā)器進(jìn)行兩次信號采集,