国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

完善資料讓更多小伙伴認識你,還能領取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
    +關注

    關注

    1660

    文章

    22412

    瀏覽量

    636312
  • Xilinx
    +關注

    關注

    73

    文章

    2200

    瀏覽量

    131137
  • 同步復位
    +關注

    關注

    0

    文章

    27

    瀏覽量

    10984
  • 異步復位
    +關注

    關注

    0

    文章

    47

    瀏覽量

    13684
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MAX709 電源監控復位芯片:設計與應用全解析

    各種電源條件下都能正常工作是非常必要的。今天,我們就來詳細介紹一款優秀的電源監控復位芯片——MAX709。 文件下載: MAX709.pdf 一、MAX709 概述 MAX709 是 Maxim 公司推出的一款電源監控復位芯片,
    的頭像 發表于 02-28 10:10 ?139次閱讀

    探索DS1811:經濟高效的電源監控復位芯片

    方面表現出色,能為我們的設計帶來諸多便利。 文件下載: DS1811.pdf 一、DS1811的特性亮點 1. 自動重啟與復位保持 DS1811能夠在電源故障自動重啟微處理器,并且在 (V_{CC}) 恢復到正常范圍,會保持
    的頭像 發表于 02-27 16:20 ?123次閱讀

    MAX6467/MAX6468:微處理器監控復位電路新選擇

    MAX6467/MAX6468:微處理器監控復位電路新選擇 在電子設備的設計中,微處理器的穩定運行至關重要,而監控復位電路則是保障其穩定的關鍵組件。今天就來和大家詳細介紹一下Analog
    的頭像 發表于 02-27 15:05 ?118次閱讀

    MAX6443–MAX6452:具備長手動復位設置周期的微處理器復位電路

    MAX6443–MAX6452:具備長手動復位設置周期的微處理器復位電路 在電子設備的設計中,微處理器復位電路起著至關重要的作用,它能確保設備在各種情況下穩定運行。今天我們就來詳細了解
    的頭像 發表于 02-27 14:45 ?95次閱讀

    CW32在不同復位方式對應的復位范圍

    上電復位 / 掉電復位(POR/BOR) 整個 MCU 引腳輸入復位(NRST) 整個 MCU(除 RTC 外) IWDT/WWDT 復位 M0+ 內核 / 外設(除 R
    發表于 12-22 09:44

    什么是內核LOCKUP故障復位

    當 CPU 遇到嚴重異常(如讀取到的指令無效、訪問 FLASH 時位寬和目標地址不匹配),會將 PC 指針停在當前地址處鎖定,并產生內核 LOCKUP 故障復位信號。 芯片上電,LOCKUP 復位
    發表于 12-15 08:33

    用于穩定電源設計的復位IC應用實例

    現代電子設備正面臨電壓波動、浪涌電壓以及輸入電源不穩定等問題。如果缺乏適當的電壓監測與復位保護功能,系統可能會出現誤動作、異常復位,甚至導致硬件損壞。
    的頭像 發表于 12-08 09:41 ?648次閱讀
    用于穩定電源設計的<b class='flag-5'>復位</b>IC應用實例

    GraniStudio:軸復位例程

    1.文件運行 導入工程 雙擊運行桌面GraniStudio.exe。 通過引導界面導入軸復位例程,點擊導入按鈕。 打開軸復位運動例程所在路徑,選中軸復位運動.gsp文件,點擊打開,完成導入。 2.
    的頭像 發表于 08-22 16:05 ?667次閱讀
    GraniStudio:軸<b class='flag-5'>復位</b>例程

    GraniStudio零代碼平臺軸復位算子支持多少個軸同時復位,有哪些回零模式?

    GraniStudio平臺在軸復位的功能上未對同時復位的軸數進行硬性限制,理論上支持任意數量軸同步復位,需要考慮的是在做多軸同步
    的頭像 發表于 07-07 18:02 ?668次閱讀
    GraniStudio零代碼平臺軸<b class='flag-5'>復位</b>算子支持多少個軸同時<b class='flag-5'>復位</b>,有哪些回零模式?

    復位電路的核心功能和主要類型

    復位電路(Reset Circuit) 是數字系統中的關鍵功能模塊,用于確保設備在上電、電壓波動或異常狀態下可靠復位至初始狀態。其設計直接影響系統的穩定性和抗干擾能力。
    的頭像 發表于 06-30 14:24 ?1494次閱讀
    <b class='flag-5'>復位</b>電路的核心功能和主要類型

    LM3724系列 低功率電壓監控和復位IC,帶手動復位功能數據手冊

    LM3722/LM3723/LM3724 微處理器監控電路可監控電源 在微處理器和數字系統中。它們在上電期間為微處理器提供復位, 掉電、掉電條件和手動復位。 LM3722/LM3723
    的頭像 發表于 04-12 11:11 ?1035次閱讀
    LM3724系列 低功率電壓監控和<b class='flag-5'>復位</b>IC,帶手動<b class='flag-5'>復位</b>功能數據手冊

    TPS3840-Q1 具有手動復位和可編程復位時間延遲的汽車高輸入電壓監控器數據手冊

    當 VDD 上的電壓降至負電壓閾值 (V 以下) 時,復位輸出信號被置位 ~它-~ ) 或當手動復位被拉至低邏輯 (V ~MR_L~ ).當 V 時 reset 信號被清除~DD 系列~上升到 V
    的頭像 發表于 04-10 11:20 ?865次閱讀
    TPS3840-Q1 具有手動<b class='flag-5'>復位</b>和可編程<b class='flag-5'>復位</b>時間延遲的汽車高輸入電壓監控器數據手冊

    TPS3870-Q1 具有延時和手動復位功能的汽車級高精度過壓復位 IC數據手冊

    TPS3870-Q1 器件是一款集成過壓 (OV) 監控器或復位 IC,采用業界最小的 6 引腳 DSE 封裝。這款高精度電壓監控器非常適合在低電壓電源軌上工作且具有窄裕量電源容差的系統。低閾值遲滯
    的頭像 發表于 04-10 11:09 ?676次閱讀
    TPS3870-Q1 具有延時和手動<b class='flag-5'>復位</b>功能的汽車級高精度過壓<b class='flag-5'>復位</b> IC數據手冊

    TLV840系列 具有可調復位時間延遲和手動復位功能的低壓監控器數據手冊

    TLV840 系列電壓監控器或復位 IC 可在高電壓水平下工作,同時在整個 VDD 和溫度范圍內保持極低的靜態電流。TLV840 提供低功耗、高精度和低傳播延遲 (t p_HL = 30 μs
    的頭像 發表于 04-10 10:17 ?903次閱讀
    TLV840系列 具有可調<b class='flag-5'>復位</b>時間延遲和手動<b class='flag-5'>復位</b>功能的低壓監控器數據手冊

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

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