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

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

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

3天內不再提示

Xilinx FPGA的復位:全局復位并不是好的處理方式

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-11-19 10:34 ? 次閱讀

Get Smart About Reset: Think Local, Not Global

對于復位信號的處理,為了方便我們習慣上采用全局復位,博主在很長一段時間內都是將復位信號作為一個I/O口,通過撥碼開關硬件復位。后來也看了一些書籍,采用異步復位同步釋放,對自己設計的改進。

不過自從我研讀了Xilinx的White Paper后,讓我對復位有了更新的認識。

One of the commandments of digital design states,"Thou shalt have a master reset for all flip-flops so that the test engineer will love you, and your simulations will not remain undefined for time eternal."

這句是用來裝逼的。使用全局復位有利于我們仿真,所有的寄存器都是有初始值的,也可以在任意時刻讓你的寄存器恢復初值,所以驗證工程師很喜歡這樣的設計,但是Xilinx建議的是盡量避免使用全局復位,這是為什么呢。

全局復位并不是好的處理方式

我們習慣上通常使用的復位有三種,

硬件開關:復位信號接一個撥碼開關。

電源芯片:上電時候電源芯片產生,可以長時間維持,直到穩定。

控制芯片:控制芯片產生復位脈沖。

這些復位信號和FPGA內部信號的變化比起來是比較慢的。復位按鈕最快也會到達毫秒級別,而FPGA內部信號都是納秒級別的變化。全局復位的周期遠大于系統時鐘的周期,是完全可以保證所有的觸發器被成功復位的。

但隨著系統的頻率越來越快,全局復位信號的釋放形成一個高扇出的網絡

Fan-out即扇出,模塊直接調用的下級模塊的個數,如果這個數值過大的話,在FPGA直接表現為net delay較大,不利于時序收斂。因此,在寫代碼時應盡量避免高扇出的情況。

如圖,全局復位的釋放需要傳輸到不同的觸發器。每一個觸發器需要被釋放復位,但是隨著時鐘頻率的提高,加上復位路徑網絡的延遲,而且全局復位還是一個高扇出的網絡,所以這對系統的時序是一個大挑戰。

通常情況下,復位信號的異步釋放,沒有辦法保證所有的觸發器都能在同一時間內釋放。觸發器在A時刻接收到復位信號釋放是最穩定的,在下一個時鐘沿來臨被激活,但是如果在C時刻接收到復位信號釋放無法被激活,在B時刻收到復位信號釋放,則會引起亞穩態。

隨著系統時鐘頻率的提高,并不是所有的觸發器都能在同一個時刻從復位狀態被釋放。

復位真的有那么重要嗎?

白皮書上又說了,好的消息是99.9%的情況下,全局復位的異步釋放并不會出現問題。所以大多數電路都可以正常工作。但是,如果你有了第一次就不能工作的電路,那你就是遇到那0.01%的情況,很不幸你的復位信號被在錯誤的時刻重置。(哈哈,皮)。

在一些情況下,復位釋放的時間并不重要。

當你的數據采用流水線操作的時候,復位釋放的時間并不重要,因為不管你流水線后面的觸發器復位釋放后是否出錯,只需要一些周期后,整個流水線就又會正常工作了。白皮書上還說,這樣的復位也是沒有意義的。

但是有一些情況下,復位的釋放后是很重要的。

比如獨熱碼狀態機。如果表示獨熱碼狀態的第一個觸發器比第二個觸發器早釋放了一個時鐘周期,那狀態機的狀態機會跳轉到一個無效的狀態。如果所有的表示獨熱碼的寄存器無法在同一個周期內被釋放,那狀態機肯定會跳轉到一個無效的狀態。還有一些例子,請讀者自己看白皮書。

解決99.99%的情況

其實當Xilinx FPGA配置或重新配置時,所有的單元都會被初始化。白皮書稱為master reset,因為這可比你復位一些D觸發器要強得多,它甚至初始化了片內RAM

Xilinx的器件也有嵌入處理的系列,軟核或硬核。在程序執行第一條指令前,程序和數據區域已經定義好了。有了上電復位,還用專門消耗邏輯資源去復位觸發器是沒有意義的。

解決0.01%的方法

當然,白皮書也給出了處理復位的建議和方法。

Think Local, Not Global。異步復位,同步釋放的方法。用內部定義復位信號的方法來復位觸發器,而不是全都直接使用全局復位信號。當進行復位操作時,所有的觸發器被預設為1。如上圖,移位寄存器的最后一個觸發器去操作模塊內部定義的復位網絡。當復位信號釋放時,移位寄存器經過移位,當最后一個觸發器由高電平變為低電平時,對本地的復位網絡進行復位操作。也就是異步復位,同步釋放。

復位的消耗的資源比你想象的要多

復位網絡占用大量布線資源。

提高了布局布線時間。

使用器件的邏輯資源。

會使你的設計變得更大。

占用更多的邏輯資源肯定會影響你的性能。

具體請參閱白皮書。

總結

并不是所有部分的設計都需要復位,所以設計者在設計過程中應該準確判斷需要被復位的部分,從而采用異步復位、同步釋放的方法進行對復位的嚴格處理。

當我們在設計每一個部分的時候,都要內心問問自己,這個bit需要被復位嗎?

那么怎樣處理Xilinx FPGA中的復位呢?Xilinx的工程師也給出了解釋和方法。

https://www.eetimes.com/document.asp?doc_id=1278998

http://xilinx.eetrend.com/d6-xilinx/article/2013-07/4343.html

White Paper獲得在微信訂閱號后臺回復“wp272”即可獲得!

簡單總結就是,Xilinx的FPGA應該盡量避免全局復位,有些部分的設計都可以不用復位,必需要復位的設計而采用 同步 高復位。

代碼如下。設計中需要復位的部分,使用產生的sys_rst信號進行同步復位,而且是同步 高復位。再次貼出下圖。

1module Sys_Rst(

2 input clk,

3 input rst,

4 output sys_rst

5

6);

7

8reg rst_r0;

9reg rst_r1;

10

11always @(posedge clk orposedge rst)begin

12 if(rst)begin

13 rst_r0 <= 1'b1;

14 rst_r1 <= 1'b1;

15 end

16 elsebegin

17 rst_r0 <= 1'b0;

18 rst_r1 <= rst_r0;

19 end

20end

21

22assign sys_rst = rst_r1;

23

24endmodule

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

    關注

    1630

    文章

    21802

    瀏覽量

    606373
  • 寄存器
    +關注

    關注

    31

    文章

    5372

    瀏覽量

    121284
  • Xilinx
    +關注

    關注

    71

    文章

    2171

    瀏覽量

    122239

原文標題:你真的會Xilinx FPGA的復位嗎?

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    詳細解讀FPGA復位的重點

    本篇文章參考Xilinx White Paper:Get Smart About Reset: Think Local, Not Global 在沒看這篇文章前,回想一下平時我們常用的復位方式
    的頭像 發表于 11-18 17:32 ?4590次閱讀

    基于Xilinx FPGA復位信號處理

    作者:NingHeChuan Get Smart About Reset: Think Local, Not Global。 對于復位信號的處理,為了方便我們習慣上采用全局復位,博主在
    的頭像 發表于 12-25 12:08 ?2710次閱讀
    基于<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>復位</b>信號<b class='flag-5'>處理</b>

    FPGA全局復位及局部復位設計分享

    線將會是一個和時鐘一樣多扇出的網絡,如此多的扇出,時鐘信號是采用全局時鐘網絡的,那么復位如何處理?有人提出用全局時鐘網絡來傳遞復位信號,但是
    發表于 05-17 08:00

    FPGA開發中盡量避免全局復位的使用?(2)

    XilinxFPGA器件中,全局復位/置位信號(Global Set/Reset (GSR))(可以通過全局
    發表于 02-11 11:46 ?1043次閱讀
    在<b class='flag-5'>FPGA</b>開發中盡量避免<b class='flag-5'>全局</b><b class='flag-5'>復位</b>的使用?(2)

    FPGA的理想的復位方法和技巧

    FPGA設計中,復位起到的是同步信號的作用,能夠將所有的存儲元件設置成已知狀態。在數字電路設計中,設計人員一般把全局復位作為一個外部引腳來實現,在加電的時候初始化設計。
    發表于 11-22 17:03 ?5754次閱讀
    <b class='flag-5'>FPGA</b>的理想的<b class='flag-5'>復位</b>方法和技巧

    Xilinx FPGA的同步復位和異步復位

    對于xilinx 7系列的FPGA而言,flip-flop支持高有效的異步復/置位和同步復位/置位。對普通邏輯設計,同步復位和異步復位沒有區
    發表于 07-13 09:31 ?6753次閱讀

    FPGA怎么搭復位電路 fpga復位電路設計方案

    FPGA的可靠復位是保證系統能夠正常工作的必要條件,本文對FPGA設計中常用的復位設計方法進行了分類、分析和比較,并針對各種復位
    發表于 08-08 15:14 ?1.1w次閱讀

    FPGA設計實戰-復位電路仿真設計

    最近看 advanced fpga 以及 fpga 設計實戰演練中有講到復位電路的設計,才知道復位電路有這么多的門道,而不是簡單的外界信號輸
    的頭像 發表于 10-30 12:17 ?567次閱讀

    實現FPGA實戰復位電路的設計和仿真

    最近看 advanced fpga 以及 fpga 設計實戰演練中有講到復位電路的設計,才知道復位電路有這么多的門道,而不是簡單的外界信號輸
    發表于 12-22 12:54 ?13次下載
    實現<b class='flag-5'>FPGA</b>實戰<b class='flag-5'>復位</b>電路的設計和仿真

    FPGA復位電路的實現方式

    有人說FPGA不需要上電復位電路,因為內部自帶上電復位信號。也有人說FPGA最好加一個上電復位電路,保證程序能夠正常地執行。不管是什么樣的結
    的頭像 發表于 05-25 15:50 ?3614次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>復位</b>電路的實現<b class='flag-5'>方式</b>

    不得不讀的Xilinx FPGA復位策略

    盡量少使用復位,特別是少用全局復位,能不用復位就不用,一定要用復位的使用局部復位
    發表于 06-21 09:55 ?2717次閱讀
    不得不讀的<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b><b class='flag-5'>復位</b>策略

    你真的會Xilinx FPGA復位嗎?

    對于復位信號的處理,為了方便我們習慣上采用全局復位,博主在很長一段時間內都是將復位信號作為一個I/O口,通過撥碼開關硬件
    發表于 06-21 10:39 ?1303次閱讀
    你真的會<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>復位</b>嗎?

    FPGA同步復位和異步復位

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

    復位電路的設計問題

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

    FPGA復位的8種技巧

    FPGA 設計中,復位起到的是同步信號的作用,能夠將所有的存儲元件設置成已知狀態。在數字電路設計中,設計人員一般把全局復位作為一個外部引腳來實現,在加電的時候初始化設計。
    的頭像 發表于 11-16 10:18 ?459次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>復位</b>的8種技巧
    主站蜘蛛池模板: 免费又爽又黄禁片视频在线播放 | 五月天婷婷综合 | 国产欧美乱码在线看 | 日本日b视频 | 欧美一级高清片在线 | 伊人天伊人天天网综合视频 | 色网站欧美 | 日本免费在线视频 | 四虎h789fcom| 久久国产热 | 久久一级毛片 | 福利你懂的 | 日本人六九视频69jzz免费 | 大胆国模一区二区三区伊人 | 国产精品美女www爽爽爽视频 | 911色_911色sss在线观看 | 色噜噜狠狠狠色综合久 | 美女视频网站色 | 97理论三级九七午夜在线观看 | 九色愉拍自拍 | 国产色婷婷精品综合在线 | 狠狠色狠狠色综合婷婷tag | 美女黄18以下禁止观看 | 狠狠艹视频| 亚洲黄色影片 | 日韩一级精品视频在线观看 | 51久久 | 最新亚洲人成网站在线影院 | 午夜久 | 久久思re热9一区二区三区 | 国产手机在线观看视频 | 五月婷婷一区二区 | 三级在线免费观看 | 欧洲性开放大片免费观看视频 | 国产一级特黄高清免费大片 | 操碰91| 色偷偷综合 | 国产美女精品久久久久中文 | 台湾一级毛片 | caoporn97人人做人人爱最新 | 黄色的网站在线观看 |