隨著時間的推移,集成電路行業(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)問題。總的來講提高了采集的穩(wěn)定性和適應(yīng)性。
但是,這種處理方法對輸入信號也有要求:輸入毛刺寬度應(yīng)小于DFF1(如圖3)的最小時鐘辨識度,否則將產(chǎn)生誤觸發(fā)。因此,這種方法的輸入信號一般是SOC同步電路的輸出信號,如輸入為片外信號,一般要增加前置數(shù)字濾波電路。
-
電路
+關(guān)注
關(guān)注
172文章
5914瀏覽量
172254 -
soc
+關(guān)注
關(guān)注
38文章
4165瀏覽量
218271 -
時鐘域
+關(guān)注
關(guān)注
0文章
52瀏覽量
9536
原文標(biāo)題:【學(xué)術(shù)論文】多時鐘系統(tǒng)下跨時鐘域同步電路的設(shè)計
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論