文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172787
中文引用格式: 趙旸,,梁步閣,楊德貴,,等. 多時鐘系統(tǒng)下跨時鐘域同步電路的設(shè)計[J].電子技術(shù)應(yīng)用,,2018,44(2):6-9.
英文引用格式: Zhao Yang,,Liang Buge,,Yang Degui,et al. The design of synchronization circuit for crossing the clock domain in multi clock system[J]. Application of Electronic Technique,,2018,,44(2):6-9.
0 引言
隨著時間的推移,集成電路行業(yè)發(fā)展至今,,已有類似如Intel這樣先進(jìn)的foundry,,提出邁入10 nm制程的規(guī)劃。高集成度的推行,也使芯片規(guī)模越來越大,,功能越來越復(fù)雜,,設(shè)計難度越來越高[1]。SOC的內(nèi)部時鐘的復(fù)雜化,,導(dǎo)致跨時鐘域的接口越來越多,。針對這些異步信號的處理,國外的先驅(qū)們提出了很多建設(shè)性意見,。但一般用到器件較多,,考慮到成本因素,小規(guī)模IC將無法承受,,并且如果輸入脈沖高電平寬度低于最快時鐘周期的話,,一般無法適用。因此要想很好地解決這個問題,,要處理好4個方面工作:一是如何簡化電路,;二是如何適應(yīng)最小輸入脈寬的問題;三是解決好亞穩(wěn)態(tài)問題,;四是要提高設(shè)計可靠性[2],。
1 處理跨時鐘域信號的常用方法
實際使用時,往往會出現(xiàn)信號在頻率不用的時鐘域傳遞的情況,,對于這種情況,,一般用兩種方法處理:結(jié)繩法、伴隨有效控制信號法,。當(dāng)信號從一個時鐘域進(jìn)入另一個時鐘域的時候,往往出現(xiàn)亞穩(wěn)態(tài)問題[4],。亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段內(nèi)達(dá)到一個可確認(rèn)的狀態(tài),。當(dāng)一個觸發(fā)器進(jìn)入亞穩(wěn)態(tài)時,既無法預(yù)測該單元的輸出電平,,也無法預(yù)測何時輸出才能穩(wěn)定在某個正確的電平上,。信號同步的目的是防止上一級亞穩(wěn)態(tài)對下一級產(chǎn)生不良影響,采用信號同步的方法就要設(shè)計信號同步器,。信號同步器主要有3種:電平同步器,、邊沿檢測同步器、脈沖同步器[7-8],。但是這些常用方法本身存在缺點和不適應(yīng)性,。在解決實際問題中,需要根據(jù)具體情況,,來設(shè)計具體的方案,。
2 跨時鐘域同步電路接口方法組成及工作原理
整個電路包括兩個時鐘域以及一個復(fù)位電路。時鐘域1包含一個帶有異步復(fù)位端的同步觸發(fā)器。此觸發(fā)器帶有異步復(fù)位端R和同步時鐘端CK,,低電平產(chǎn)生復(fù)位,,時鐘上升沿開始鎖存數(shù)據(jù)輸入端D的狀態(tài)。輸出端有正相Q,、反相/Q兩種數(shù)據(jù)輸出,。時鐘域2由兩個同樣的觸發(fā)器組成,跟前面的一樣由異步復(fù)位端R和同步時鐘端CK,,數(shù)據(jù)輸入端D組成,。輸出端為正相Q、反相/Q兩種,,復(fù)位電路由一個與門組成,,接收DFF3的反向/Q輸出的數(shù)據(jù),電路連接關(guān)系如圖1所示,。
3 跨時鐘域同步電路的工作特征
在設(shè)計方案中,,最大限度地保障了不漏信號。同時,,時鐘域1的輸入脈沖信號寬度(高電平寬度)可以低于時鐘域1的時鐘單周期寬,,電路正常工作,并且設(shè)計中脈沖寬度不再受限于時鐘域1的時鐘頻率,。第三,,數(shù)據(jù)鎖存器的數(shù)據(jù)輸出端Q輸出的脈沖信號寬度為時鐘域2的時鐘單周期寬,從而避免了誤觸發(fā)和多觸發(fā),。
這種方法適用于輸入信號類型為脈沖或電平,,最終得到的結(jié)果為脈沖。如圖2所示,。
如圖3所示,當(dāng)clock1快于clock2時,,圖中Data_in1表示第一個輸入脈沖,此脈沖由Data_in輸入,,脈沖寬度小于clock1的四分之一,,同時,脈沖寬度小于系統(tǒng)最快時鐘(clock1最快)的四分之一,。Data_in1的上升沿到來的瞬間,,Q1輸出高電平“1”;Data_in1的上升沿之后,,第一個clock2的上升沿到來瞬間,,Q2輸出高電平“1”;第二個clock2的上升沿到來瞬間,,Data_out輸出高電平“1”,,與此同時,,nRST生成復(fù)位信號,復(fù)位DFF1,、DFF2,,使Q1、Q2輸出低,;第三個clock2的上升沿到來瞬間,,由于Q1、Q2早已變成低電平“0”,,此時,,“0”傳遞到Data_out,形成了一個clock2的周期寬度的脈沖Data_out1,。
如圖4所示,,若clock2快于clock1時,圖中Data_in1表示第一個輸入脈沖,,此脈沖由Data_in輸入,,脈沖寬度小于clock1的四分之一,同時,,脈沖寬度小于系統(tǒng)最快時鐘(clock2最快)的四分之一,。
如圖5所示,當(dāng)clock2等于clock1時,圖中Data_in1表示第一個輸入脈沖,,此脈沖由Data_in輸入,,脈沖寬度小于clock1的四分之一,同時,,脈沖寬度小于系統(tǒng)最快時鐘(clock2等于clock1)的四分之一,。
4 仿真實驗分析
根據(jù)以上分析,通過Modelsim仿真分析得出以下時域圖像可以驗證上述特征,如圖6~圖8所示,,快時鐘為10 Hz,,慢時鐘為3.3 Hz,當(dāng)時鐘相等時為5 Hz,。從仿真圖像來看,亞穩(wěn)態(tài)問題以及信號寬度受限于時鐘寬度問題可以良好的解決,。
5 應(yīng)用與實測
下方是基于和艦科技180 nm Pflash生產(chǎn)工藝設(shè)計實例,。方案基于Faraday 0.18 ?滋m GII Library Standard Cell,圖中灰色部分為模擬IP,。下圖中SAR_ADC的輸出接口中,,有一個脈沖信號的寬度等于系統(tǒng)時鐘周期的一半。采用一般的手段,,無法捕獲這個脈沖,,采用上文所述的電路則便高效地解決了這個問題,。具體實現(xiàn)運行代碼如下:
assign ADC_fine_rst = ADC_fine_sys || rst ;
%生成復(fù)位信號ADC_fine_rst,高有效,,為使ADC_fine_sys和rst高電平產(chǎn)生復(fù)位,,所以采用“邏輯或”運算。
always @(posedge drdy_dig or posedge ADC_fine_rst )
if (ADC_fine_rst)
ADC_fine <= 1'b0;
else
ADC_fine <= 1'b1;
%對應(yīng)圖1中的DFF1,,drdy_dig為原始窄脈沖信號,,若直接用系統(tǒng)時鐘clk_system采樣,將無法鎖存,。因此,,此處drdy_dig接ADC_fine_reg的clk端。drdy_dig為ADC的IP電路輸出信號,,同步邏輯輸出,,有效壓制毛刺,避免誤觸發(fā),。
always @(posedge clk_system or posedge ADC_fine_sys )
if (ADC_fine_sys)
ADC_fine_ff <= 1'b0;
else
begin
if (rst)
ADC_fine_ff <= 1'b0;
else
ADC_fine_ff <= ADC_fine;
end
%對應(yīng)圖1中的DFF2,,此處rst的同步復(fù)位邏輯沒有決定性意義,可以去除,。
always @(posedge clk_system or posedge rst )
if (rst)
ADC_fine_sys <= 1'b0;
else
ADC_fine_sys <= ADC_fine_ff;
%對應(yīng)圖1中的DFF3,,由原始drdy_dig信號,生成了ADC_fine_sys信號,,從而實現(xiàn)跨時鐘對接,。
最后生成如圖9所示的GDSII視圖。按照生成GDSII視圖制作如圖10所示測試電路板,。
經(jīng)過MPW shuttle以及full MASK,,采用天水華天的SOP20封裝工藝,并設(shè)計板級測試系統(tǒng),,專項測試SAR_ADC結(jié)果如表1所示,。ADC性能符合spec,排除測試環(huán)境的影響,,信號捕獲成功率等于100%,,接口電路方案成功。
6 結(jié)論
從整體來看,,該方法結(jié)構(gòu)簡單,。其輸入脈沖信號寬度可以低于本身的時鐘單周期寬,使得設(shè)計中脈沖寬度不再受限于時鐘頻率,;同時,,時鐘域1中輸入脈沖信號寬度可以低于系統(tǒng)最快時鐘單周期寬,進(jìn)一步提高了采集的穩(wěn)定性和適應(yīng)性,。時鐘域2輸出脈沖信號寬度為時鐘域2的時鐘單周期寬,,從而避免了誤觸發(fā),,電路經(jīng)過兩級同步,這樣很好地解決了亞穩(wěn)態(tài)問題,??偟膩碇v提高了采集的穩(wěn)定性和適應(yīng)性。
但是,,這種處理方法對輸入信號也有要求:輸入毛刺寬度應(yīng)小于DFF1(如圖3)的最小時鐘辨識度,,否則將產(chǎn)生誤觸發(fā)。因此,,這種方法的輸入信號一般是SOC同步電路的輸出信號,,如輸入為片外信號,一般要增加前置數(shù)字濾波電路,。
參考文獻(xiàn)
[1] LING L,,JIANG J.Exploit dynamic voltage and frequency scaling for SoC test scheduling under thermal constraints[C]//Proc of the 23rd Asian Test Symp.Piscataway,NJ:IEEE,,2014:182-185.
[2] Ketul Sutaria,,Jyothi Velamala,Yu Cao.Multi-level reliability simulation for IC design[C].China xian,,IEEE Beijing Section,,2012,12.
[3] MILLICAN S K,,SALUJA K K.Fornulating optimal test scheduling problem with dynamic voltage and frequency scaling[C]//Proc of the 22th Asian Test Symp,,Piscataway,NJ:IEEE,,2013:165-170.
[4] 蒲石.異步多時鐘域系統(tǒng)的同步設(shè)計研究[D].西安:西安電子科技大學(xué),,2007.
[5] 邵翠萍,史森茂,,吳龍勝.SoC中跨時鐘域的信號同步設(shè)計[J].現(xiàn)代電子技術(shù),,2012(8):157-159.
[6] 曹軍.安全SOC芯片中eMMC主接口的設(shè)計與實現(xiàn)[D].沈陽:遼寧大學(xué),2014.
[7] 羅莉,,何鴻君,,徐煒遐,等.面向SOC芯片的跨時鐘域設(shè)計和驗證[J].計算機(jī)科學(xué),,2011(38):279-281.