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

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

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

同步與異步電路信號(hào)交互的問題

sally100 ? 來源:數(shù)字ICer ? 作者:數(shù)字ICer ? 2022-11-28 16:00 ? 次閱讀

1.同步電路設(shè)計(jì)

2.全異步電路設(shè)計(jì)

3.異步信號(hào)與同步電路交互的問題及其解決方法

4.SoC設(shè)計(jì)中的時(shí)鐘規(guī)劃策略

1.同步電路設(shè)計(jì)

同步電路,即電路中的所有受時(shí)鐘控制的單元,如觸發(fā)器(Flip Flop)或寄存器(Register),全部由一個(gè)統(tǒng)一的全局時(shí)鐘控制。

a8f92610-6cc1-11ed-8abf-dac502259ad0.png

同步電路的時(shí)序收斂

a90f6272-6cc1-11ed-8abf-dac502259ad0.png觸發(fā)器的建立時(shí)間和保持時(shí)間

同步電路設(shè)計(jì)的優(yōu)點(diǎn)

在同步設(shè)計(jì)中,EDA工具可以保證電路系統(tǒng)的時(shí)序收斂,有效避免了電路設(shè)計(jì)中競爭冒險(xiǎn)現(xiàn)象

由于觸發(fā)器只有在時(shí)鐘邊緣才改變?nèi)≈?,很大限度地減少了整個(gè)電路受毛刺和噪聲影響的可能

同步電路設(shè)計(jì)的缺點(diǎn)

時(shí)鐘偏斜(Clock Skew)

時(shí)鐘樹綜合,需要加入大量的延遲單元,使得電路的面積和功耗大大增加

時(shí)鐘抖動(dòng)(Clock Jitter)

a92ff190-6cc1-11ed-8abf-dac502259ad0.png時(shí)鐘偏斜

2.全異步電路設(shè)計(jì)

全異步設(shè)計(jì)跟同步設(shè)計(jì)最大的不同就是它的電路中的數(shù)據(jù)傳輸可以在任何時(shí)候發(fā)生,電路中沒有一個(gè)全局的或局部的控制時(shí)鐘。

a95188e6-6cc1-11ed-8abf-dac502259ad0.png

異步電路設(shè)計(jì)的基本原理

a971cfac-6cc1-11ed-8abf-dac502259ad0.png自定時(shí)的流水線數(shù)據(jù)通路

握手協(xié)議

a994f23e-6cc1-11ed-8abf-dac502259ad0.png握手協(xié)議原理

異步電路設(shè)計(jì)的優(yōu)點(diǎn)

模塊化特性突出

對(duì)信號(hào)的延遲不敏感

沒有時(shí)鐘偏斜問題

有潛在的高性能特性

好的電磁兼容

具有低功耗的特性異步電路設(shè)計(jì)的缺點(diǎn)

設(shè)計(jì)復(fù)雜

缺少相應(yīng)的EDA工具的支持

在大規(guī)模集成電路設(shè)計(jì)中應(yīng)避免采用異步電路設(shè)計(jì)

3.異步信號(hào)與同步電路交互的問題及其解決方法

3.1亞穩(wěn)態(tài)現(xiàn)象

a9b4e5a8-6cc1-11ed-8abf-dac502259ad0.png亞穩(wěn)態(tài)示意圖 a9d586fa-6cc1-11ed-8abf-dac502259ad0.png亞穩(wěn)態(tài)信號(hào)的傳播

亞穩(wěn)態(tài)問題的解決及其RTL實(shí)現(xiàn)

a9ecc464-6cc1-11ed-8abf-dac502259ad0.png亞穩(wěn)態(tài)現(xiàn)象的解決方法

modulesynchronizer(
bclk,//目的時(shí)鐘,與aclk異步的時(shí)鐘
reset_b,//全局異步復(fù)位信號(hào)
adat,//異步輸入信號(hào),工作在aclk
bdat,//同步器輸出
);
inputbclk;
inputreset_b;
inputadapt;
outputbdat;
wirebdat;
regbdat1;
regbdat2;
always@(posedgebclkornegedgereset_b)
if(reset_b)
{bdat2,bdat1}<=?2?'?b0;
else
????{bdat2,bdat1}?<=?{bdat1,adat};
assign?bdat?=?bdat2;
endmodule

3.2快時(shí)鐘同步慢時(shí)鐘域下的異步控制信號(hào)

aa138ae0-6cc1-11ed-8abf-dac502259ad0.png快時(shí)鐘同步慢時(shí)鐘信號(hào)示意圖

modulesynchronizer(
clk_fst,
reset_b,
rd_en,
rd_en_s2f
);
inputclk_fst,reset_b,rd_en
outputrd_en_s2f;
wirerd_en_s2f;
regrd_en_s2f1,rd_en_s2f2,rd_en_s2f3
always@(posedgeclk_fstornegedgereset_b)
if(!reset_b)
{rd_en_s2f3,rd_en_s2f2,rd_en_s2f1}<=?3'b111;
????else
???    {rd_en_s2f3,rd_en_s2f2,rd_en_s2f1}<={rd_en_s2f2,rd_en_s2f1,rd_en};
always?@?(rd_en_s2f3??or??rd_en_s2f2)
????case?({rd_en_s2f3,rd_en_s2f2})
????????????2'b01:
????????????????rd_en_s2f?<=?1'b1;????????
????????????default:
????????????????rd_en_s2f?<=?1'b0;
?????endcase


3.3慢時(shí)鐘同步快時(shí)鐘域下的異步控制信號(hào)

aa3349ca-6cc1-11ed-8abf-dac502259ad0.png慢時(shí)鐘同步快時(shí)鐘信號(hào)示意圖

解決辦法 : 握手機(jī)制實(shí)現(xiàn)方法一

aa47e6dc-6cc1-11ed-8abf-dac502259ad0.png

moduleadapt_gen(
aclk,//快時(shí)鐘
reset_b,//系統(tǒng)復(fù)位信號(hào)
adat,//原始控制信號(hào)
abdat2, //從慢時(shí)鐘域反饋回來的同步控制信號(hào)
adat1 //經(jīng)過保持后的信號(hào)輸出
);
inputaclk,reset_b,adat,abdat2;
outputadat1;
regadat1;
always@(posedgeaclkornegedgereset_b)
if(!reset_b)
adat1<=?1'b0;????
????else?if?(abdat2)
??????????adat1?<=?1'b0;
????else if?(adat)
??????????adat1?<=?1'b1;
endmoudule?

解決辦法 : 握手機(jī)制實(shí)現(xiàn)方法二

aa6168fa-6cc1-11ed-8abf-dac502259ad0.pngaa7b0d8c-6cc1-11ed-8abf-dac502259ad0.png

modulestall_logic(
rd_en,
rd_en_
ack_s2f,
stall_b
);
inputrd_en;
inputrd_en_ack_s2f;
outputstall_b;
wirestall_b;
always@(rd_enorrd_en_ack_s2f)
if(rd_en_ack_s2f)
stall_b<=?1'b1;
else if?(rd_en)
????stall_b?<=?1'b0;
else
????stall_b?<=?1'b1;
endmodule


3.4異步時(shí)鐘域的數(shù)據(jù)同步

握手機(jī)制

aa90cad2-6cc1-11ed-8abf-dac502259ad0.png握手同步異步數(shù)據(jù)

先入先出隊(duì)列(FIFO)

aab1289a-6cc1-11ed-8abf-dac502259ad0.pngFIFO結(jié)構(gòu)圖 aad8e81c-6cc1-11ed-8abf-dac502259ad0.pngFIFO空滿示意圖

同步異步時(shí)鐘FIFO的電路行為

待同步的數(shù)據(jù)時(shí)鐘域會(huì)在其寫信號(hào)的控制之下,將數(shù)據(jù)寫入到FIFO中

目的時(shí)鐘域在發(fā)現(xiàn)空標(biāo)志位無效后,執(zhí)行FIFO讀動(dòng)作,讀出被異步時(shí)鐘域?qū)懭隖IFO的數(shù)據(jù)

如果只要同步一個(gè)數(shù)據(jù),空標(biāo)志位再次有效

如果需要同步多個(gè)數(shù)據(jù),因?yàn)镕IFO的讀/寫之間可以不受影響的進(jìn)行,所以待同步

FIFO設(shè)計(jì)中的亞穩(wěn)態(tài)問題

通常,通過比較讀/寫指針是否相等來判斷FIFO是否為空。而因?yàn)樽x/寫指針屬于不同的時(shí)鐘域,兩者顯然不能直接連到比較器的兩端來產(chǎn)生空信號(hào),否則會(huì)造成讀FIFO的目的時(shí)鐘域的電路碰到亞穩(wěn)態(tài)現(xiàn)象.

解決辦法

以格雷碼編碼表示讀/寫指針,用格雷碼加法器來實(shí)現(xiàn)讀/寫地址的加一動(dòng)作

用同步器將讀指針同步到FIFO滿標(biāo)志的產(chǎn)生邏輯,同樣用同步器將寫指針同步到FIFO空標(biāo)志的產(chǎn)生邏輯中

aaf813f4-6cc1-11ed-8abf-dac502259ad0.png新的異步FIFO的結(jié)構(gòu)框圖

4.SoC設(shè)計(jì)中的時(shí)鐘規(guī)劃策略

首先盡可能使用同步設(shè)計(jì):

對(duì)于同步電路,邏輯綜合和時(shí)鐘樹綜合等EDA工具能發(fā)揮更大的作用,可以用靜態(tài)時(shí)序分析工具分析單時(shí)鐘同步設(shè)計(jì)的時(shí)序收斂問題

可測性設(shè)計(jì)(DFT)的插入工作得到最大的簡化

其次,注意同步電路設(shè)計(jì)的缺陷

噪聲問題

時(shí)鐘樹上的功耗很大

如果必須采用不同的時(shí)鐘,則要注意

后端設(shè)計(jì)的復(fù)雜化,如約束條件中要考慮多周期路徑(Multi Cycle Path)

可測性設(shè)計(jì)更加復(fù)雜,因?yàn)榇藭r(shí)系統(tǒng)中需要有多條獨(dú)立的掃描鏈

越多的時(shí)鐘域,發(fā)生亞穩(wěn)態(tài)的概率就會(huì)越大

最后,設(shè)計(jì)規(guī)劃中應(yīng)注意以下幾點(diǎn):

盡可能將不同時(shí)鐘域的數(shù)量減到越少越好

盡可能將異步交互電路歸入同一或多個(gè)獨(dú)立的模塊,這樣不但方便后端設(shè)計(jì)腳本的書寫,也方便代碼的閱讀

盡可能避免使用電平觸發(fā)器(Latch),因?yàn)殪o態(tài)時(shí)序分析會(huì)變得復(fù)雜,不能得到EDA工具很好的支持

盡可能減小時(shí)鐘樹的延時(shí),因?yàn)檫@個(gè)延時(shí)可能會(huì)造成系統(tǒng)功能失效和多余的功耗;

任何異步時(shí)鐘域交互的環(huán)節(jié)都要盡可能避免亞穩(wěn)態(tài)現(xiàn)象.

審核編輯:湯梓紅

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

    關(guān)注

    6659

    文章

    2420

    瀏覽量

    202820
  • 同步電路
    +關(guān)注

    關(guān)注

    1

    文章

    60

    瀏覽量

    13276
  • 異步電路
    +關(guān)注

    關(guān)注

    2

    文章

    48

    瀏覽量

    11083

原文標(biāo)題:同步與異步電路信號(hào)交互的問題

文章出處:【微信號(hào):數(shù)字ICer,微信公眾號(hào):數(shù)字ICer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Xilinx FPGA異步復(fù)位同步釋放—同步后的復(fù)位該當(dāng)作同步復(fù)位還是異步復(fù)位?

    針對(duì)異步復(fù)位、同步釋放,一直沒搞明白在使用同步化以后的復(fù)位信號(hào)時(shí),到底是使用同步復(fù)位還是異步復(fù)位
    發(fā)表于 06-21 09:59 ?1348次閱讀
    Xilinx FPGA<b class='flag-5'>異步</b>復(fù)位<b class='flag-5'>同步</b>釋放—<b class='flag-5'>同步</b>后的復(fù)位該當(dāng)作<b class='flag-5'>同步</b>復(fù)位還是<b class='flag-5'>異步</b>復(fù)位?

    如何區(qū)分同步復(fù)位和異步復(fù)位?

    邏輯應(yīng)該采用同步復(fù)位,低速邏輯可以采用異步復(fù)位;涉及人機(jī)交互的復(fù)位,適合異步復(fù)位;涉及機(jī)器之間的握手交互,應(yīng)該采用
    發(fā)表于 04-24 13:23

    什么是同步邏輯和異步邏輯,同步電路異步電路的區(qū)別是什么?

    什么是同步邏輯和異步邏輯,同步電路異步電路的區(qū)別是什么?
    發(fā)表于 06-18 08:52

    如何區(qū)分同步復(fù)位和異步復(fù)位?

    、電路中,何時(shí)采用同步異步,取決于設(shè)計(jì)者,取決于當(dāng)前設(shè)計(jì)電路的需要。一般而言:高速邏輯應(yīng)該采用同步復(fù)位,低速邏輯可以采用
    發(fā)表于 05-22 17:33

    IC設(shè)計(jì)中同步復(fù)位與異步復(fù)位的區(qū)別

    時(shí)鐘脈沖使其子系統(tǒng)同步運(yùn)作,而異步電路不使用時(shí)鐘脈沖做同步,其子系統(tǒng)是使用特殊的開始和 完成信號(hào)使之同步
    的頭像 發(fā)表于 11-09 14:58 ?9850次閱讀

    異步同步電路的區(qū)別 同步時(shí)序設(shè)計(jì)規(guī)則

    異步電路 1. 電路的核心邏輯是組合電路,比如異步的FIFO/RAM讀寫信號(hào)、地址譯碼
    的頭像 發(fā)表于 12-05 11:53 ?1.2w次閱讀

    什么是同步時(shí)序電路異步時(shí)序電路,同步異步電路的區(qū)別?

    同步異步時(shí)序電路都是使用反饋來產(chǎn)生下一代輸出的時(shí)序電路。根據(jù)這種反饋的類型,可以區(qū)分這兩種電路。時(shí)序
    的頭像 發(fā)表于 03-25 17:29 ?2.4w次閱讀
    什么是<b class='flag-5'>同步</b>時(shí)序<b class='flag-5'>電路</b>和<b class='flag-5'>異步</b>時(shí)序<b class='flag-5'>電路</b>,<b class='flag-5'>同步</b>和<b class='flag-5'>異步</b><b class='flag-5'>電路</b>的區(qū)別?

    同步電路異步電路有何區(qū)別

    同步電路異步電路有何區(qū)別 同步電路異步
    的頭像 發(fā)表于 08-27 16:57 ?9739次閱讀

    什么是同步邏輯和異步邏輯?同步電路異步電路有何區(qū)別?

    什么是同步邏輯和異步邏輯?同步電路異步電路有何區(qū)別? 同步
    的頭像 發(fā)表于 11-17 14:16 ?2202次閱讀

    異步電路同步電路區(qū)別在哪?

    部分是獨(dú)立運(yùn)行的,沒有明確定義的時(shí)鐘信號(hào)同步它們的操作。相反,每個(gè)部分在滿足特定的條件下單獨(dú)啟動(dòng)和運(yùn)行,通過相互之間的通信來完成所需的協(xié)作。異步電路通常采用握手協(xié)議來確保數(shù)據(jù)的正確傳
    的頭像 發(fā)表于 12-07 10:53 ?3232次閱讀

    異步信號(hào)同步電路交互的問題及其解決方法

    異步信號(hào)同步電路交互的問題及其解決方法? 異步信號(hào)
    的頭像 發(fā)表于 12-07 10:53 ?629次閱讀

    異步電路中的時(shí)鐘同步處理方法

    異步電路中的時(shí)鐘同步處理方法? 時(shí)鐘同步異步電路中是至關(guān)重要的,它確保了
    的頭像 發(fā)表于 01-16 14:42 ?1047次閱讀

    同步電路異步電路的優(yōu)缺點(diǎn)有哪些

    同步電路異步電路是數(shù)字電路設(shè)計(jì)中的兩種基本類型,它們在設(shè)計(jì)方法、性能特點(diǎn)和應(yīng)用領(lǐng)域等方面存在顯著差異。
    的頭像 發(fā)表于 07-22 17:01 ?908次閱讀

    同步電路異步電路的優(yōu)缺點(diǎn)

    同步電路異步電路是數(shù)字電路設(shè)計(jì)中的兩種基本類型。它們在設(shè)計(jì)方法、性能、功耗、可靠性等方面存在顯著差異。
    的頭像 發(fā)表于 07-22 17:35 ?1009次閱讀

    同步電路異步電路怎么判斷正負(fù)極

    統(tǒng)一的時(shí)鐘信號(hào)進(jìn)行工作,各個(gè)部分的輸出與輸入之間存在固定的時(shí)序關(guān)系。同步電路通常用于數(shù)據(jù)傳輸、存儲(chǔ)器、處理器等高速電子系統(tǒng)中。 異步電路(A
    的頭像 發(fā)表于 07-22 17:37 ?321次閱讀