在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

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

Hx ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2021-04-27 18:12 ? 次閱讀

Xilinx 復位準則:Xilinx FPGA復位策略

(1)盡量少使用復位,特別是少用全局復位,能不用復位就不用,一定要用復位的使用局部復位;

(2)如果必須要復位,在同步和異步復位上,則盡量使用同步復位,一定要用異步復位的地方,采用“異步復位、同步釋放”;

(3)復位電平選擇高電平復位;

(這里說明,由于 Altera 和 Xilinx 器件內部結構的不同,Altera 的 FPGA 推薦低電平復位)

一、異步復位同步釋放

針對異步復位、同步釋放,一直沒搞明白在使用同步化以后的復位信號時,到底是使用同步復位還是異步復位?

比如針對輸入的異步復位信號rst,使用本地時鐘clk將其同步化以后得到一個新的復位信號sys_rst,當使用sys_rst時,是將sys_rst作為同步復位信號還是異步復位信號?

always @(posedge clk or posedge rst) begin if(rst)begin rst_r0 《 = 1‘b1; rst_r1 《 = 1’b1; end else begin rst_r0 《 = 1‘b0; rst_r1 《 = rst_r0; end end assign sys_rst = rst_r1;

如下圖所示,選方式1還是方式2?

100062600-124726-1.png

針對此問題查找了很多資料,網絡上多是將sys_rst繼續按照方式1異步復位使用,Xilinx復位白皮書wp272中提到的異步復位同步釋放 如圖所示:

100062600-124727-2.png

對于輸入的異步復位Asynchronous Reset,首先使用了4個觸發器來做同步(一般用2個即可,4個出現亞穩態的概率更小),觸發器類型為FDP(異步置位),同步化以后的復位信號去使用時綜合出的觸發器類型為FDR(同步復位),即在Xilinx中是將sys_rst按照方式2同步復位使用。

使用FDP異步置位的原因是因為Xilinx推薦高電平復位,當異步復位信號到來時,輸出復位電平“1”,即異步置位FDP,當復位消失后,D觸發器在每個時鐘邊沿輸出前一級觸發器的值,一定周期后,最后一級的FDP穩定輸出“0”。

使用Xilinx A7系列FPGA實現異步復位、同步釋放代碼,確定同步化后的復位使用情況。

二、Xilinx復位程序對比

1. 將同步化后的復位當作異步復位信號

/******FPGA探索者******/ always @(posedge clk or posedge rst_async) begin if(rst_async == 1’b1) begin rst_sync_reg1 《= 1‘b1; rst_sync_reg2 《= 1’b1; rst_sync_reg3 《= 1‘b1; rst_sync_reg4 《= 1’b1; end else begin rst_sync_reg1 《= 1‘b0; rst_sync_reg2 《= rst_sync_reg1; rst_sync_reg3 《= rst_sync_reg2; rst_sync_reg4 《= rst_sync_reg3; end end wire sys_rst; assign sys_rst = rst_sync_reg4; always @(posedge clk) begin if(sys_rst == 1’b1) begin data_out_rst_async 《= 1‘b0; end else begin data_out_rst_async 《= a & b & c & d; end end

綜合并布局布線后的原理圖如圖所示,顯然,綜合后對sys_rst復位,將其作為異步復位綜合出FDCE同步使能異步復位(這里不考慮使能),和白皮書WP272給出的參考電路顯然不一致。

100062600-124730-3.png

100062600-124732-4.png

2. 將同步化后的復位當作同步復位信號

/******FPGA探索者******/ always @(posedge clk or posedge rst_async) begin if(rst_async == 1’b1) begin rst_sync_reg1 《 = 1‘b1; rst_sync_reg2 《 = 1’b1; rst_sync_reg3 《 = 1‘b1; rst_sync_reg4 《 = 1’b1; end else begin rst_sync_reg1 《 = 1‘b0; rst_sync_reg2 《 = rst_sync_reg1; rst_sync_reg3 《 = rst_sync_reg2; rst_sync_reg4 《 = rst_sync_reg3; end end wire sys_rst; assign sys_rst = rst_sync_reg4; always @(posedge clk) begin if(sys_rst == 1’b1) begin data_out_rst_async 《 = 1‘b0; end else begin data_out_rst_async 《 = a & b & c & d; end end

綜合并布局布線后的原理圖如圖所示,顯然,綜合后對sys_rst復位,將其作為同步復位綜合出FDRE同步使能異步復位(這里不考慮使能),和白皮書WP272給出的參考電路一致。

100062600-124734-5.png

異步復位相比較同步復位,在Xilinx的FPGA中資源是一致的,異步復位的優勢在于復位信號一來就能檢測到,不需要保持至少一個時鐘周期才能在時鐘邊沿檢測到,通過仿真來驗證上述電路是否能實現異步復位一來就能檢測到。

三、仿真結果

設置時鐘50MHz,時鐘周期20ns,給一個持續時間3ns的異步復位信號,且持續時間均不出現在時鐘上升沿檢測期間,可以看到:

(1)rst_async異步復位一旦給出,用于同步的4個寄存器rst_sync_reg1~4立刻輸出高電平“1”,在下一個時鐘上升沿檢測到同步復位并將輸出data_out_rst_async復位;

(2)異步復位信號釋放后,經過同步的sys_rst經過一定周期后在時鐘邊沿同步釋放;

100062600-124735-6.png

按照同樣的復位,將sys_rst看作異步復位,仿真結果如下,相比于上圖,區別在于異步復位信號rst_async一旦產生,輸出立刻復位,且同樣是同步釋放,好像這種處理才更符合異步復位、同步釋放。。。。。。

100062600-124737-7.png

那么為什么Xilinx白皮書還是將sys_rst按照同步復位去做的呢?難道寫錯了?

綜合考慮可能有這樣的因素:

(1)當作同步復位的差別只在于復位時間會稍晚一些,要在時鐘的下一個邊沿檢測到,但是還是能夠識別到輸入的rst_async異步復位信號,所以從復位角度來說,都能夠后實現復位效果;

(2)根據Xilinx復位準則,我們知道同步復位相比異步復位有很多好處,具體參見:Xilinx FPGA 復位策略白皮書,既然兩者對后級復位沒有功能上的差別,那么優先選擇同步復位;

經過異步復位同步釋放處理后,相比于純粹的異步復位,降低了異步復位信號釋放導致亞穩態的可能性;相比同步復位,能夠識別到同步復位中檢測不到的復位信號(如上圖所示的rst_async在同步復位是檢測不到的);綜合兩者的優勢,異步復位同步釋放。

四、Altera復位

Altera還是把這個同步后的復位當作異步復位來用的,且推薦低電平復位。

從上面的分析來看,這里當作異步復位還是同步復位對于復位結果本身沒有太大的影響,區別在于Xilinx是推薦同步復位來節省資源(比如DSP48E或BRAM,異步復位比同步復位耗資源),而Altera的FPGA中帶異步復位的觸發器,想要同步復位需要消耗更多的資源。

100062600-124738-8.png

編輯:lyn

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

    關注

    1638

    文章

    21858

    瀏覽量

    609771
  • Xilinx
    +關注

    關注

    72

    文章

    2174

    瀏覽量

    123325
  • 同步復位
    +關注

    關注

    0

    文章

    27

    瀏覽量

    10795
  • 異步復位
    +關注

    關注

    0

    文章

    47

    瀏覽量

    13394
收藏 0人收藏

    評論

    相關推薦

    復位電路的作用、控制方式和類型

    復位電路也是數字邏輯設計中常用的電路,不管是 FPGA 還是 ASIC 設計,都會涉及到復位,一般 FPGA或者 ASIC 的復位需要我們自己設計
    的頭像 發表于 03-12 13:54 ?685次閱讀
    <b class='flag-5'>復位</b>電路的作用、控制方式和類型

    FPGA復位的8種技巧

    其它輸入引腳類似,對 FPGA 來說往往是異步的。設計人員可以使用這個信號在 FPGA 內部對自己的設計進行異步或者同步復位。 不過在一些提示和技巧的幫助下,設計人員可以找到更加合適的
    的頭像 發表于 11-16 10:18 ?722次閱讀
    FPGA<b class='flag-5'>復位</b>的8種技巧

    復位電路的設計問題

    前言 最近看advanced fpga 以及fpga設計實戰演練中有講到復位電路的設計,才知道復位電路有這么多的門道,而不是簡單的外界信號輸入系統復位。 流程: 1.同步
    的頭像 發表于 11-15 11:13 ?346次閱讀
    <b class='flag-5'>復位</b>電路的設計問題

    復位電路的三種方式 復位電路的原理和作用

    ) 原理: 上電復位電路通常包含一個RC(電阻-電容)網絡。當電源首次接通時,電容充電需要一定的時間,這段時間內電容上的電壓較低,導致復位電路輸出低電平,觸發微控制器的復位信號。當電容充滿電
    的頭像 發表于 10-21 10:28 ?2815次閱讀

    復位電路的電容多大的 復位電路設計類型有哪幾種

    復位電路是電子系統中的一個關鍵部分,它確保系統在啟動或發生故障時能夠正確地初始化。復位電路的設計取決于多種因素,包括系統的復雜性、所需的復位時間、以及是否需要上電復位(Power-On
    的頭像 發表于 10-21 10:24 ?659次閱讀

    復位電路靜電整改案例分享(一)——交換機復位電路

    復位信號,確保單片機在上電能夠立即進入初始化狀態。其中上拉電阻可以確保在未按下按鈕時輸入引腳上具有高電平狀態,避免輸入信號的浮動和噪音干擾。在選擇上拉電阻時,根據具體需求和電路設計合理參數可以提高電路穩定性、
    的頭像 發表于 10-19 14:56 ?651次閱讀
    <b class='flag-5'>復位</b>電路靜電整改案例分享(一)——交換機<b class='flag-5'>復位</b>電路

    復位電路介紹 復位電路的原理及作用

    復位電路(Reset Circuit)是現代電子設備中常見的一種關鍵電路,它用于確保在正確的時間和條件下將系統恢復到初始狀態。復位電路的設計和應用對于保障電子系統的穩定性和可靠性至關重要。 一、復位
    的頭像 發表于 10-18 16:44 ?5021次閱讀

    單片機異常復位的原因

    單片機異常復位是指單片機在正常工作過程中,非預期地返回到初始狀態或重啟。這種異常復位現象可能由多種因素引起,以下是對單片機異常復位原因的詳細分析:
    的頭像 發表于 10-17 17:56 ?2157次閱讀

    STM32復位電路用復位芯片和阻容復位電路區別

    STM32是一款廣泛使用的微控制器,其復位電路設計對于系統的穩定性和可靠性至關重要。本文將詳細介紹STM32復位電路中使用復位芯片和阻容復位
    的頭像 發表于 08-06 10:26 ?2189次閱讀

    雙管正激勵磁復位電路的作用

    雙管正激勵磁復位電路是一種廣泛應用于電子設備中的電路,它具有多種功能和優點。 一、雙管正激勵磁復位電路的作用 雙管正激勵磁復位電路是一種特殊的電路,它具有以下主要作用: 提供穩定的電源:雙管正激勵磁
    的頭像 發表于 08-02 15:41 ?779次閱讀

    FPGA同步復位異步復位

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)中的復位操作是設計過程中不可或缺的一環,它負責將電路恢復到初始狀態,以確保系統的正確啟動和穩定運行。在FPGA設計中,復位方式主要分為同步
    的頭像 發表于 07-17 11:12 ?2089次閱讀

    單端正激電路磁芯復位的方法

    單端正激電路是一種常見的開關電源電路,廣泛應用于各種電子設備中。在單端正激電路中,磁芯的復位是一個非常重要的問題,它直接影響到電路的穩定性和效率。本文將詳細介紹單端正激電路磁芯復位的方法,包括磁芯
    的頭像 發表于 07-10 09:51 ?2382次閱讀

    熱繼電器怎么復位

    熱繼電器作為電動機和其他電氣設備的重要保護元件,在電路中起到過載保護作用。當電動機或電路出現過載時,熱繼電器會迅速切斷電路,以保護設備免受損壞。然而,在熱繼電器動作,如何有效地進行復位操作,以確保
    的頭像 發表于 06-18 15:34 ?3450次閱讀

    變頻器的復位方法有哪些

    變頻器作為現代工業自動化控制中的關鍵設備,其穩定運行對于生產效率和設備安全至關重要。然而,由于各種原因,變頻器在運行過程中可能會出現故障或異常,此時進行復位操作是解決問題的一種有效方法。本文將詳細
    的頭像 發表于 06-11 11:51 ?5701次閱讀

    示波器測量復位信號的原理和方法

    具有重要意義。本文將詳細介紹示波器測量復位信號的原理和方法,以幫助工程師和技術人員更好地理解和應用這一技術。
    的頭像 發表于 05-17 17:14 ?1896次閱讀
    主站蜘蛛池模板: 中文字幕在线观看一区二区三区 | 夜夜夜夜曰天天天天拍国产 | 大象焦伊人久久综合网色视 | 国产一级特黄aa大片在线 | 五月婷婷丁香 | 成人看的一级毛片 | swag系列国产精品 | 人人爱天天做夜夜爽 | 婷婷亚洲五月琪琪综合 | 天天做天天爱夜夜想毛片 | 天堂网. www在线资源 | 222在线视频免费观看 | 国产精品久久久久影视不卡 | 日本久操视频 | 国产黄色片在线观看 | 国产尤物在线视频 | 天天靠天天擦天天摸 | vvvv98国产成人综合青青 | 亚洲婷婷综合中文字幕第一页 | 天天干干天天 | 国产亚洲新品一区二区 | 在线jlzzjlzz免费播放 | 香蕉操 | 毛片在线播放网站 | 777奇米影视一区二区三区 | 亚洲成片在线观看12345ba | 午夜视频免费在线播放 | 男人视频在线观看 | 综合婷婷丁香 | 欧美一级片网址 | 欲色啪 | 国产精品九九久久一区hh | 国产传媒在线观看视频免费观看 | 黄色精品视频 | 国产高清一级视频在线观看 | 一个人看的www片免费高清视频 | avbobo在线观看 | 神马电影天堂网 | 天天插天天射天天干 | 大桥未久加勒比女热大陆在线 | 久草免费在线播放 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品