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

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

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

從電路的角度出發(fā),提出了一種新的SOC跨時鐘域同步電路設(shè)計的方法

SwM2_ChinaAET ? 2018-02-09 14:30 ? 次閱讀

隨著時間的推移,集成電路行業(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所示。

從電路的角度出發(fā),提出了一種新的SOC跨時鐘域同步電路設(shè)計的方法

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ù)字濾波電路。

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

    關(guān)注

    172

    文章

    5914

    瀏覽量

    172254
  • soc
    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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    時鐘為什么要雙寄存器同步

    出現(xiàn)了題目中的時鐘同步問題?怎么辦?十年不變的老難題。為了獲取穩(wěn)定可靠的異步時鐘送來的信
    發(fā)表于 08-20 11:32

    探尋FPGA中三時鐘處理方法

    以手到擒來。這里介紹的三種方法時鐘處理方法如下:打兩拍;異步雙口 RAM;格雷碼轉(zhuǎn)換。01方法
    發(fā)表于 10-20 09:27

    時鐘處理的方法

    的三種方法時鐘處理方法如下:  1. 打兩拍;  2. 異步雙口RAM;  3. 格雷碼轉(zhuǎn)換。  
    發(fā)表于 01-08 16:55

    FPGA時鐘處理簡介

    Gate Array)是在PAL、GAL等可編程器件的基礎(chǔ)上進(jìn)步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制
    發(fā)表于 02-23 07:47

    數(shù)字信號在不同時鐘同步電路的設(shè)計

    信號在不同時鐘之間的轉(zhuǎn)換是復(fù)雜數(shù)字電路設(shè)計中不可缺少的部分,直接鎖存法和鎖存反饋法可處理控制信號的同步,異步FIFO在
    發(fā)表于 08-22 12:07 ?6171次閱讀
    數(shù)字信號在不同<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>間<b class='flag-5'>同步</b><b class='flag-5'>電路</b>的設(shè)計

    時鐘信號的幾種同步方法研究

    時鐘信號的同步方法應(yīng)根據(jù)源時鐘與目標(biāo)時鐘的相位關(guān)
    發(fā)表于 05-09 15:21 ?63次下載
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>信號的幾種<b class='flag-5'>同步</b><b class='flag-5'>方法</b>研究

    FPGA界最常用也最實用的3時鐘處理的方法

    介紹3時鐘處理的方法,這3種方法可以說是FPGA界最常用也最實用的
    發(fā)表于 11-15 20:08 ?1.4w次閱讀

    如何利用FPGA設(shè)計時鐘同步策略?

    帶來的亞穩(wěn)態(tài)、采樣丟失、潛在邏輯錯誤等等系列問題處理不當(dāng),將導(dǎo)致系統(tǒng)無法運行。本文總結(jié)出了幾種同步策略來解決時鐘
    的頭像 發(fā)表于 09-01 08:29 ?5559次閱讀
    如何利用FPGA設(shè)計<b class='flag-5'>一</b>個<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的<b class='flag-5'>同步</b>策略?

    揭秘FPGA時鐘處理的三大方法

    時鐘處理是 FPGA 設(shè)計中經(jīng)常遇到的問題,而如何處理好時鐘間的數(shù)據(jù),可以說是每個 FP
    的頭像 發(fā)表于 12-05 16:41 ?1652次閱讀

    如何將一種異步時鐘轉(zhuǎn)換成同步時鐘

     本發(fā)明提供了一種將異步時鐘轉(zhuǎn)換成同步時鐘方法
    發(fā)表于 12-21 17:10 ?5次下載
    如何將<b class='flag-5'>一種</b>異步<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>轉(zhuǎn)換成<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>

    介紹3種方法時鐘處理方法

    介紹3時鐘處理的方法,這3種方法可以說是FPGA界最常用也最實用的
    的頭像 發(fā)表于 09-18 11:33 ?2.2w次閱讀
    介紹3<b class='flag-5'>種方法</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理<b class='flag-5'>方法</b>

    時鐘電路設(shè)計總結(jié)

    時鐘操作包括同步時鐘操作和異步
    的頭像 發(fā)表于 05-18 09:18 ?746次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設(shè)計</b>總結(jié)

    FPGA時鐘處理方法(二)

    篇文章已經(jīng)講過了單bit時鐘的處理方法,這次解說下多bit的
    的頭像 發(fā)表于 05-25 15:07 ?1041次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理<b class='flag-5'>方法</b>(二)

    處理單bit時鐘信號同步問題來入手

    在數(shù)字電路中,時鐘處理是個很龐大的問題,因此將會作為個專題來陸續(xù)分享。今天先來處理單bi
    發(fā)表于 06-27 11:25 ?1718次閱讀
    <b class='flag-5'>從</b>處理單bit<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>信號<b class='flag-5'>同步</b>問題來入手

    時鐘電路設(shè)計—單比特信號傳輸

    時鐘(CDC)的應(yīng)從對亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1070次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設(shè)計</b>—單比特信號傳輸