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

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

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

同步復(fù)位和異步復(fù)位講解

CHANBAEK ? 來(lái)源:新芯設(shè)計(jì) ? 作者:新芯設(shè)計(jì) ? 2023-06-21 11:55 ? 次閱讀

引言

??本文主要是提供了 ASIC 設(shè)計(jì)中關(guān)于復(fù)位技術(shù)相關(guān)的概念和設(shè)計(jì)。

一、同步復(fù)位 Sync

??當(dāng)時(shí)鐘上升沿檢測(cè)到復(fù)位信號(hào)時(shí),執(zhí)行復(fù)位操作(有效的時(shí)鐘沿是前提)。

always @( posedge clk )begin
    if(!rst_n)
        b <= 0;
    else
        b <= a;
end

圖片

同步復(fù)位的 RTL 電路圖

優(yōu)點(diǎn)

  • 有利于仿真器仿真;
  • 可以使所設(shè)計(jì)的系統(tǒng)成為 100% 的同步時(shí)序電路,有利于時(shí)序分析,而且可綜合出較高的 Fmax;
  • 由于只在時(shí)鐘有效電平到來(lái)時(shí)才有效,所以可以濾除高于時(shí)鐘頻率的復(fù)位毛刺。

缺點(diǎn)

  • 復(fù)位信號(hào)的有效時(shí)長(zhǎng)必須大于時(shí)鐘周期,才能真正被系統(tǒng)識(shí)別并完成復(fù)位任務(wù),同時(shí)還要考慮諸如 Clock Skew、組合邏輯路徑延時(shí)、復(fù)位延時(shí)等因素;
  • 由于大多數(shù)的邏輯器件的目標(biāo)庫(kù)內(nèi)的 DFF 都只有異步復(fù)位 SR 端口,所以,倘若采用同步復(fù)位的話,綜合器就會(huì)在寄存器的數(shù)據(jù)輸入端口上插入組合邏輯,這樣就會(huì)一方面額外增加 FPGA 內(nèi)部的邏輯資源,另一方面也增加了相應(yīng)的組合邏輯門時(shí)延。

二、異步復(fù)位 ASync

??無(wú)論時(shí)鐘上升沿是否到來(lái),只要復(fù)位信號(hào)有效,就執(zhí)行復(fù)位操作。

always @( posedge clk or negedge rst_n )begin
    if(!rst_n)
        b <= 0;
    else
        b <= a;
end

圖片

異步復(fù)位的 RTL 電路圖

優(yōu)點(diǎn)

  • 大多數(shù)目標(biāo)器件庫(kù)的 DFF 都有異步復(fù)位 SR 端口,直接使用的話,就不需要額外的組合邏輯,從而節(jié)省資源;
  • 設(shè)計(jì)相對(duì)簡(jiǎn)單;
  • 異步復(fù)位信號(hào)識(shí)別方便(電路在任何情況下都能復(fù)位而不管是否有時(shí)鐘出現(xiàn))。

缺點(diǎn)

  • 最大的問(wèn)題在于它屬于異步邏輯,問(wèn)題出現(xiàn)在復(fù)位釋放時(shí),而不是有效時(shí),如果復(fù)位釋放接近時(shí)鐘有效沿,則觸發(fā)器的輸出可能進(jìn)入亞穩(wěn)態(tài)(此時(shí) clk 檢測(cè)到的 rst_n 的狀態(tài)就會(huì)是一個(gè)亞穩(wěn)態(tài),即是 0 是 1 是不確定的),從而導(dǎo)致復(fù)位的失??;
  • 可能因?yàn)樵肼暬蛘呙淘斐商摷購(gòu)?fù)位信號(hào)(比如以前的游戲機(jī)玩到一半突然復(fù)位)(注意:時(shí)鐘端口、清零和置位端口對(duì)毛刺信號(hào)十分敏感,任何一點(diǎn)毛刺都可能會(huì)使系統(tǒng)出錯(cuò),因此判斷邏輯電路中是否存在冒險(xiǎn)以及如何避免冒險(xiǎn)是設(shè)計(jì)人員必須要考慮的問(wèn)題);
  • 靜態(tài)時(shí)序分析比較困難;
  • 對(duì)于 DFT 設(shè)計(jì),如果復(fù)位信號(hào)不是直接來(lái)自于 I/O 引腳,在 DFT 掃描和測(cè)試時(shí),復(fù)位信號(hào)必須被禁止,所以還要消耗額外的同步電路。

三、異步復(fù)位、同步釋放

??推薦異步復(fù)位、同步釋放的方式,并且復(fù)位信號(hào)為低電平有效:異步復(fù)位、同步釋放指的是復(fù)位信號(hào)的到來(lái)與撤除都與 clk 無(wú)關(guān),但是復(fù)位信號(hào)的撤除是在下一個(gè) clk 到來(lái)之后才執(zhí)行,也就是復(fù)位信號(hào) rst_sync_n 由高到低時(shí)實(shí)現(xiàn)異步復(fù)位。電路的目的是防止復(fù)位信號(hào)的撤除時(shí)可能產(chǎn)生的亞穩(wěn)態(tài)。

圖片

珍貴的手繪圖

??對(duì)于同步釋放,這個(gè)是關(guān)鍵,即當(dāng)復(fù)位信號(hào) rst_async_n 撤除時(shí)(由低到高),由于雙緩沖電路(雙寄存器)的作用,rst_sync_n 不會(huì)隨著 rst_async_n 的撤除而撤除。假設(shè) rst_async_n 撤除時(shí)發(fā)生在 clk 上升沿,如果不加此電路則可能發(fā)生亞穩(wěn)態(tài)事件。

??但是,加上此電路之后,假設(shè)第一級(jí) D 觸發(fā)器 clk 上升沿時(shí) rst_async_n 正好撤除,(第一個(gè) DFF 此時(shí)是出于亞穩(wěn)態(tài)的,假設(shè)此時(shí)識(shí)別到高電平;若是識(shí)別到低電平,則增加一個(gè) Delay)則 DFF1 輸出高電平,此時(shí)第二級(jí)觸發(fā)器也會(huì)更新輸出,但是輸出值為前一級(jí)觸發(fā)器 clk 來(lái)之前時(shí)的 Q1 輸出狀態(tài)。顯然,Q1 之前為低電平,所以第二級(jí)觸發(fā)器輸出保持復(fù)位低電平,直到下一個(gè) clk 來(lái)之后,才隨著變?yōu)楦唠娖剑赐结尫拧?/p>

always @(posedge clk or negedge rst_n)begin
    if(!rst_n)
        rst_r <= 2'b00;
    else
        rst_r <= {rst_r[0],1'b1};     
end

assign sys_rst_n = rst_r[1];

always @(posedge clk or negedge sys_rst_n)begin
    if(!sys_rst_n)
        b <= 1'b0;
    else
        b <= a;  
end

圖片

異步復(fù)位、同步釋放的 RTL 電路圖

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

    關(guān)注

    34

    文章

    1183

    瀏覽量

    120225
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1714

    瀏覽量

    131275
  • SYNC
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    11416
  • 同步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    10694
  • 異步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    13297
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    異步復(fù)位同步復(fù)位的綜合后電路圖講解

    根據(jù)代碼,容易推斷得出這是一個(gè)高電平觸發(fā)、異步復(fù)位的觸發(fā)器(或者叫異步置位),這也與前面的內(nèi)容相符合(高電平觸發(fā)復(fù)位,所以不用加反相器)。
    的頭像 發(fā)表于 11-14 11:32 ?1w次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>與<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>的綜合后電路圖<b class='flag-5'>講解</b>

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

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

    同步復(fù)位異步復(fù)位有什么聯(lián)系與區(qū)別,優(yōu)缺點(diǎn)!

     異步復(fù)位原理:異步復(fù)位只要有復(fù)位信號(hào)系統(tǒng)馬上復(fù)位,因此異步
    發(fā)表于 11-30 08:45 ?9.9w次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>有什么聯(lián)系與區(qū)別,優(yōu)缺點(diǎn)!

    FPGA設(shè)計(jì)中的異步復(fù)位同步釋放問(wèn)題

    異步復(fù)位同步釋放 首先要說(shuō)一下同步復(fù)位異步復(fù)位的區(qū)
    發(fā)表于 06-07 02:46 ?2134次閱讀

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

    問(wèn):如何區(qū)分同步復(fù)位異步復(fù)位?可以理解為同步復(fù)位是作用于狀態(tài),然后通過(guò)狀態(tài)來(lái)驅(qū)動(dòng)電路
    的頭像 發(fā)表于 06-11 15:15 ?6789次閱讀

    Xilinx FPGA的同步復(fù)位異步復(fù)位

    對(duì)于xilinx 7系列的FPGA而言,flip-flop支持高有效的異步復(fù)/置位和同步復(fù)位/置位。對(duì)普通邏輯設(shè)計(jì),同步復(fù)位
    發(fā)表于 07-13 09:31 ?6551次閱讀

    同步復(fù)位異步復(fù)位電路簡(jiǎn)介

    同步復(fù)位異步復(fù)位都是狀態(tài)機(jī)的常用復(fù)位機(jī)制,圖1中的復(fù)位電路結(jié)合了各自的優(yōu)點(diǎn)。
    的頭像 發(fā)表于 08-12 15:20 ?7359次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>電路簡(jiǎn)介

    同步復(fù)位異步復(fù)位的優(yōu)缺點(diǎn)和對(duì)比說(shuō)明

    同步復(fù)位:顧名思義,同步復(fù)位就是指復(fù)位信號(hào)只有在時(shí)鐘上升沿到來(lái)時(shí),才能有效。否則,無(wú)法完成對(duì)系統(tǒng)的復(fù)位
    發(fā)表于 09-14 08:00 ?0次下載
    <b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>的優(yōu)缺點(diǎn)和對(duì)比說(shuō)明

    詳細(xì)講解同步后的復(fù)位同步復(fù)位還是異步復(fù)位?

    針對(duì)異步復(fù)位同步釋放,一直沒(méi)搞明白在使用同步化以后的復(fù)位信號(hào)時(shí),到底是使用同步
    的頭像 發(fā)表于 04-27 18:12 ?4639次閱讀
    詳細(xì)<b class='flag-5'>講解</b><b class='flag-5'>同步</b>后的<b class='flag-5'>復(fù)位</b>是<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>還是<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>?

    【FPGA】異步復(fù)位,同步釋放的理解

    異步復(fù)位同步釋放的理解目錄目錄 同步復(fù)位異步復(fù)位
    發(fā)表于 01-17 12:53 ?4次下載
    【FPGA】<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>,<b class='flag-5'>同步</b>釋放的理解

    復(fù)位電路的同步復(fù)位異步復(fù)位講解

    為確保系統(tǒng)上電后有一個(gè)明確、穩(wěn)定的初始狀態(tài),或系統(tǒng)運(yùn)行狀態(tài)紊亂時(shí)可以恢復(fù)到正常的初始狀態(tài),數(shù)字系統(tǒng)設(shè)計(jì)中一定要有復(fù)位電路的設(shè)計(jì)。復(fù)位電路異常可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的功能異常,所以在一定程度上來(lái)講,復(fù)位電路的重要性也不亞于時(shí)鐘電路。
    的頭像 發(fā)表于 03-28 13:54 ?6870次閱讀
    <b class='flag-5'>復(fù)位</b>電路的<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b><b class='flag-5'>講解</b>

    同步復(fù)位異步復(fù)位的區(qū)別

    請(qǐng)簡(jiǎn)述同步復(fù)位異步復(fù)位的區(qū)別,說(shuō)明兩種復(fù)位方式的優(yōu)缺點(diǎn),并解釋“異步
    的頭像 發(fā)表于 08-14 11:49 ?6887次閱讀

    淺析異步復(fù)位同步釋放與同步復(fù)位打拍模塊

    異步復(fù)位同步釋放:rst_synchronizer.v
    的頭像 發(fā)表于 08-21 09:27 ?933次閱讀
    淺析<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b><b class='flag-5'>同步</b>釋放與<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>打拍模塊

    同步復(fù)位異步復(fù)位到底孰優(yōu)孰劣呢?

    同步復(fù)位異步復(fù)位到底孰優(yōu)孰劣呢? 同步復(fù)位異步
    的頭像 發(fā)表于 01-16 16:25 ?1581次閱讀

    FPGA同步復(fù)位異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)中的復(fù)位操作是設(shè)計(jì)過(guò)程中不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動(dòng)和穩(wěn)定運(yùn)行。在FPGA設(shè)計(jì)中,復(fù)位方式主要分為同步
    的頭像 發(fā)表于 07-17 11:12 ?1229次閱讀