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

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

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

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

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

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

Get Smart About Reset: Think Local, Not Global

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

不過自從我研讀了Xilinx的White Paper后,讓我對復(fù)位有了更新的認(rèn)識。

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."

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

全局復(fù)位并不是好的處理方式

我們習(xí)慣上通常使用的復(fù)位有三種,

硬件開關(guān):復(fù)位信號接一個撥碼開關(guān)。

電源芯片:上電時候電源芯片產(chǎn)生,可以長時間維持,直到穩(wěn)定。

控制芯片:控制芯片產(chǎn)生復(fù)位脈沖。

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

但隨著系統(tǒng)的頻率越來越快,全局復(fù)位信號的釋放形成一個高扇出的網(wǎng)絡(luò)。

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

如圖,全局復(fù)位的釋放需要傳輸?shù)讲煌挠|發(fā)器。每一個觸發(fā)器需要被釋放復(fù)位,但是隨著時鐘頻率的提高,加上復(fù)位路徑網(wǎng)絡(luò)的延遲,而且全局復(fù)位還是一個高扇出的網(wǎng)絡(luò),所以這對系統(tǒng)的時序是一個大挑戰(zhàn)。

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

隨著系統(tǒng)時鐘頻率的提高,并不是所有的觸發(fā)器都能在同一個時刻從復(fù)位狀態(tài)被釋放。

復(fù)位真的有那么重要嗎?

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

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

當(dāng)你的數(shù)據(jù)采用流水線操作的時候,復(fù)位釋放的時間并不重要,因?yàn)椴还苣懔魉€后面的觸發(fā)器復(fù)位釋放后是否出錯,只需要一些周期后,整個流水線就又會正常工作了。白皮書上還說,這樣的復(fù)位也是沒有意義的。

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

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

解決99.99%的情況

其實(shí)當(dāng)Xilinx FPGA配置或重新配置時,所有的單元都會被初始化。白皮書稱為master reset,因?yàn)檫@可比你復(fù)位一些D觸發(fā)器要強(qiáng)得多,它甚至初始化了片內(nèi)RAM

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

解決0.01%的方法

當(dāng)然,白皮書也給出了處理復(fù)位的建議和方法。

Think Local, Not Global。異步復(fù)位,同步釋放的方法。用內(nèi)部定義復(fù)位信號的方法來復(fù)位觸發(fā)器,而不是全都直接使用全局復(fù)位信號。當(dāng)進(jìn)行復(fù)位操作時,所有的觸發(fā)器被預(yù)設(shè)為1。如上圖,移位寄存器的最后一個觸發(fā)器去操作模塊內(nèi)部定義的復(fù)位網(wǎng)絡(luò)。當(dāng)復(fù)位信號釋放時,移位寄存器經(jīng)過移位,當(dāng)最后一個觸發(fā)器由高電平變?yōu)榈碗娖綍r,對本地的復(fù)位網(wǎng)絡(luò)進(jìn)行復(fù)位操作。也就是異步復(fù)位,同步釋放。

復(fù)位的消耗的資源比你想象的要多

復(fù)位網(wǎng)絡(luò)占用大量布線資源。

提高了布局布線時間。

使用器件的邏輯資源。

會使你的設(shè)計變得更大。

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

具體請參閱白皮書。

總結(jié)

并不是所有部分的設(shè)計都需要復(fù)位,所以設(shè)計者在設(shè)計過程中應(yīng)該準(zhǔn)確判斷需要被復(fù)位的部分,從而采用異步復(fù)位、同步釋放的方法進(jìn)行對復(fù)位的嚴(yán)格處理。

當(dāng)我們在設(shè)計每一個部分的時候,都要內(nèi)心問問自己,這個bit需要被復(fù)位嗎?

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

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

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

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

簡單總結(jié)就是,Xilinx的FPGA應(yīng)該盡量避免全局復(fù)位,有些部分的設(shè)計都可以不用復(fù)位,必需要復(fù)位的設(shè)計而采用 同步 高復(fù)位。

代碼如下。設(shè)計中需要復(fù)位的部分,使用產(chǎn)生的sys_rst信號進(jìn)行同步復(fù)位,而且是同步 高復(fù)位。再次貼出下圖。

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

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

    關(guān)注

    1640

    文章

    21903

    瀏覽量

    611460
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5397

    瀏覽量

    122623
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2178

    瀏覽量

    123824

原文標(biāo)題:你真的會Xilinx FPGA的復(fù)位嗎?

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    fpga設(shè)計實(shí)戰(zhàn):復(fù)位電路仿真設(shè)計

    最近看advanced fpga 以及fpga設(shè)計實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計,才知道復(fù)位電路有這么多的門道,而不是簡單的外界信號輸入系統(tǒng)
    發(fā)表于 09-01 15:37 ?1812次閱讀
    <b class='flag-5'>fpga</b>設(shè)計實(shí)戰(zhàn):<b class='flag-5'>復(fù)位</b>電路仿真設(shè)計

    詳細(xì)解讀FPGA復(fù)位的重點(diǎn)

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

    基于Xilinx FPGA復(fù)位信號處理

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

    FPGA全局復(fù)位及局部復(fù)位設(shè)計分享

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

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

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

    FPGA的理想的復(fù)位方法和技巧

    FPGA設(shè)計中,復(fù)位起到的是同步信號的作用,能夠?qū)⑺械拇鎯υO(shè)置成已知狀態(tài)。在數(shù)字電路設(shè)計中,設(shè)計人員一般把全局復(fù)位作為一個外部引腳來實(shí)現(xiàn),在加電的時候初始化設(shè)計。
    發(fā)表于 11-22 17:03 ?5869次閱讀
    <b class='flag-5'>FPGA</b>的理想的<b class='flag-5'>復(fù)位</b>方法和技巧

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

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

    FPGA怎么搭復(fù)位電路 fpga復(fù)位電路設(shè)計方案

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

    FPGA設(shè)計實(shí)戰(zhàn)-復(fù)位電路仿真設(shè)計

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

    FPGA復(fù)位電路的實(shí)現(xiàn)方式

    有人說FPGA不需要上電復(fù)位電路,因?yàn)閮?nèi)部自帶上電復(fù)位信號。也有人說FPGA最好加一個上電復(fù)位電路,保證程序能夠正常地執(zhí)行。不管是什么樣的結(jié)
    的頭像 發(fā)表于 05-25 15:50 ?3836次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>復(fù)位</b>電路的實(shí)現(xiàn)<b class='flag-5'>方式</b>

    不得不讀的Xilinx FPGA復(fù)位策略

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

    你真的會Xilinx FPGA復(fù)位嗎?

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

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

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

    復(fù)位電路的設(shè)計問題

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

    FPGA復(fù)位的8種技巧

    FPGA 設(shè)計中,復(fù)位起到的是同步信號的作用,能夠?qū)⑺械拇鎯υO(shè)置成已知狀態(tài)。在數(shù)字電路設(shè)計中,設(shè)計人員一般把全局復(fù)位作為一個外部引腳來實(shí)現(xiàn),在加電的時候初始化設(shè)計。
    的頭像 發(fā)表于 11-16 10:18 ?835次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>復(fù)位</b>的8種技巧
    主站蜘蛛池模板: 97就要鲁就要鲁夜夜爽 | 国产三级在线播放 | 色噜噜狠狠狠综合曰曰曰 | 四虎国产精品永久地址49 | 一级片a| 国产成人综合亚洲怡春院 | 美女一级毛片毛片在线播放 | 日本不卡视频在线播放 | 新版天堂中文资源8在线 | 99精品热女视频专线 | 1024视频在线观看国产成人 | 日本黄大片在线观看 | 日本又粗又长一进一出抽搐 | 天天看片天天爽 | 色综合久久久久久久久五月 | 黄网站在线观看 | 国产精品亚洲色图 | 成 人网站免费 | 婷婷激情综合五月天 | 天天射天天射天天干 | 久久这里只有精品免费视频 | 免费看一级特黄a大片 | 国产亚洲卡二卡3卡4卡乱码 | 欧美在线1 | 婷婷六月在线 | 日本在线一区 | 丁香激情综合网 | 91在线视频观看 | 福利片第一页 | 国产色啪午夜免费视频 | 精品一区视频 | 边摸边吃奶边做视频叫床韩剧 | 最新看片网址 | 天天干天天操天天射 | 国产精品7m凸凹视频分类大全 | 亚洲国产精品久久精品怡红院 | 久久国产午夜精品理论篇小说 | 逼逼视频网站 | 日本特黄特黄刺激大片免费 | 日本69sex护士hd | 69日本xxⅹxxxxx18 |