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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

異步復位同步釋放問題解析

冬至子 ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2023-06-26 16:39 ? 次閱讀

(1)異步復位同步釋放的優(yōu)勢

圖片

(2)D 觸發(fā)器搭建電路

使用 2 個帶異步復位的寄存器,D端輸入邏輯 1(VCC)。

當異步復位無效(rst_async_n = 1)時,同步后的復位信號 rst_sync_n 也為 1;

當異步復位有效(rst_async_n = 0)時,同步后的復位信號 rst_sync_n 立刻為 0,即實現了“異步復位”,但是會在時鐘上升沿來臨時恢復為 1,實現“同步釋放”;

(以下圖片來自Altera FPGA

圖片

第一級觸發(fā)器的輸入 D 接電源,即高電平1’b1。

第一級觸發(fā)器的輸出,很可能存在亞穩(wěn)態(tài),使用兩級觸發(fā)器做同步。

(3)Verilog 代碼

reg rst_n_1 = 1'b1;
reg rst_n_2 = 1'b1;
always @ (posedge clk or negedge rst_async_n) 
begin 
if( !rst_async_n ) begin 
rst_n_1 <= 1'b0;
rst_n_2 <= 1'b0;
end 
else begin 
rst_n_1 <= 1'b1;
rst_n_2 <= rst_n_1;
end 
end 


assign rst_sync_n = rst_n_2;

總結

圖片

針對 Altera 的 FPGA ,沒有做其他資源消耗時的具體考證,僅從上述來看,確實能夠節(jié)省一些資源。

針對 Xilinx 的 FPGA

(1)對于同一個觸發(fā)器邏輯,因為同時支持異步和同步復位,所以異步復位并不會節(jié)省資源;

(2)對于其他的資源,比如 DSP48 等,同步復位更加節(jié)省資源。

首先,對于 DSP48,其內部還帶有一些寄存器(只支持同步復位),如果使用異步復位,則會額外使用外部 Slice 中帶異步復位的寄存器,而使用同步復位時,可以利用 DSP48 內部的寄存器;

Xilinx 的 FPGA,對于 DSP48、BRAM 資源,使用同步復位比異步復位更節(jié)省資源。

對于【高電平復位】,使用異步復位同步釋放,則第一個寄存器的 D 輸入是 0,這里使用了 4 個觸發(fā)器打拍同步。

(參考 Xilinx 白皮書 WP272,【FPGA探索者】公眾號回復【wp272】獲?。?。

圖片

異步復位同步釋放,既能很快的檢測到復位信號,不需要復位保持超過一個時鐘周期,又能解決釋放時的亞穩(wěn)態(tài)問題(降低亞穩(wěn)態(tài)發(fā)生的概率)。

圖片

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

    關注

    31

    文章

    5253

    瀏覽量

    119201
  • D觸發(fā)器
    +關注

    關注

    3

    文章

    164

    瀏覽量

    47737
  • Vcc
    Vcc
    +關注

    關注

    2

    文章

    303

    瀏覽量

    35439
  • 異步復位
    +關注

    關注

    0

    文章

    46

    瀏覽量

    13288
  • FPGA開發(fā)板

    關注

    10

    文章

    120

    瀏覽量

    31426
收藏 人收藏

    評論

    相關推薦

    Xilinx FPGA異步復位同步釋放同步后的復位該當作同步復位還是異步復位?

    針對異步復位同步釋放,一直沒搞明白在使用同步化以后的復位信號時,到底是使用
    發(fā)表于 06-21 09:59 ?1178次閱讀
    Xilinx FPGA<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>后的<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外部進來的信號,我們通常采用“異步復位同步釋放的策略”,具體電路如下圖所示。
    的頭像 發(fā)表于 07-20 09:04 ?1714次閱讀
    <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><b class='flag-5'>復位</b><b class='flag-5'>同步</b><b class='flag-5'>釋放</b>的策略

    異步復位異步釋放會有什么問題?FPGA異步復位為什么要同步釋放呢?

    一般來說,復位信號有效后會保持比較長一段時間,確保 register 被復位完成。但是復位信號釋放時,因為其和時鐘是異步的關系,我們不知道它
    的頭像 發(fā)表于 01-24 09:32 ?1546次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復位</b><b class='flag-5'>異步</b><b class='flag-5'>釋放</b>會有什么問題?FPGA<b class='flag-5'>異步</b><b class='flag-5'>復位</b>為什么要<b class='flag-5'>同步</b><b class='flag-5'>釋放</b>呢?

    verilog 異步復位同步釋放

    fpga 的 異步復位同步釋放代碼如下module asy_rst(clk,rst_n,asy_rst);input clk;input rst_n;output asy_rst;re
    發(fā)表于 05-28 13:02

    同步復位異步復位,同步釋放的對比疑問

    在網上了解到fpga的同步復位異步復位都會存在不足,因此有人提出異步復位,
    發(fā)表于 04-16 22:17

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

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

    關于異步復位同步釋放理解與分析

    是指復位信號是異步有效的,即復位的發(fā)生與clk無關。后半句“同步釋放”是指復位信號的撤除也與cl
    發(fā)表于 11-30 08:58 ?2.4w次閱讀
    關于<b class='flag-5'>異步</b><b class='flag-5'>復位</b><b class='flag-5'>同步</b><b class='flag-5'>釋放</b>理解與分析

    FPGA設計中的異步復位同步釋放問題

    異步復位同步釋放 首先要說一下同步復位異步
    發(fā)表于 06-07 02:46 ?2097次閱讀

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

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

    異步復位同步釋放的基本原理與代碼舉例

    異步復位同步釋放是指復位信號是異步有效的,即復位的發(fā)
    的頭像 發(fā)表于 11-20 07:06 ?4037次閱讀

    詳細講解同步后的復位同步復位還是異步復位?

    針對異步復位、同步釋放,一直沒搞明白在使用同步化以后的復位信號時,到底是使用
    的頭像 發(fā)表于 04-27 18:12 ?4518次閱讀
    詳細講解<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><b class='flag-5'>復位</b>?

    【FPGA】異步復位同步釋放的理解

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

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

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

    淺析異步復位同步釋放同步復位打拍模塊

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

    FPGA學習-異步復位,同步釋放

    點擊上方 藍字 關注我們 系統(tǒng)的復位對于系統(tǒng)穩(wěn)定工作至關重要,最佳的復位方式為:異步復位,同步釋放
    的頭像 發(fā)表于 09-09 14:15 ?789次閱讀
    FPGA學習-<b class='flag-5'>異步</b><b class='flag-5'>復位</b>,<b class='flag-5'>同步</b><b class='flag-5'>釋放</b>