那曲檬骨新材料有限公司

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

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

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

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

454398 ? 來源:csdn ? 作者:NingHeChuan ? 2020-12-25 12:08 ? 次閱讀

作者:NingHeChuan

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

不過自從我研讀了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ù)初值,所以驗證工程師很喜歡這樣的設(shè)計,但是Xilinx建議的是盡量避免使用全局復(fù)位,這是為什么呢。

全局復(fù)位并不是好的處理方式
我們習(xí)慣上通常使用的復(fù)位有三種,

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

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

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

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

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

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

o4YBAF9uHs6AahZPAACQLpLP5B4391.png

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

pIYBAF9uHtCAVVkSAABsVYI7OAc112.png

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

o4YBAF9uHtGALPeWAABLbZOjaLA239.png

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

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

pIYBAF9uHtKAUEP3AAAyIyDDKXk798.png

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

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

pIYBAF9uHtSASvUJAABCFCV0ow8779.png

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

解決99.99%的情況

pIYBAF9uHtWAdB6oAABXpcuKfDY636.png

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

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

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

o4YBAF9uHtaAOxOSAABTjgt_6zA048.png

Think Local, Not Global。異步復(fù)位,同步釋放的方法。用內(nèi)部定義復(fù)位信號的方法來復(fù)位觸發(fā)器,而不是全都直接使用全局復(fù)位信號。當(dāng)進行復(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ò)進行復(fù)位操作。也就是異步復(fù)位,同步釋放。

復(fù)位的消耗的資源比你想象的要多
復(fù)位網(wǎng)絡(luò)占用大量布線資源。
提高了布局布線時間。
使用器件的邏輯資源。
會使你的設(shè)計變得更大。
占用更多的邏輯資源肯定會影響你的性能。
具體請參閱白皮書。

總結(jié)
并不是所有部分的設(shè)計都需要復(fù)位,所以設(shè)計者在設(shè)計過程中應(yīng)該準(zhǔn)確判斷需要被復(fù)位的部分,從而采用異步復(fù)位、同步釋放的方法進行對復(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

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

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

o4YBAF9uHtiAWahlAABTjgt_6zA083.png

module Sys_Rst(
input clk,
input rst,
output sys_rst

);

reg rst_r0;
reg rst_r1;

always @(posedge clk or posedge rst)begin
if(rst)begin
rst_r0 rst_r1 end
else begin
rst_r0 rst_r1 end
end

assign sys_rst = rst_r1;

endmodule

編輯:hfy


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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

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

    關(guān)注

    31

    文章

    5363

    瀏覽量

    121158
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122130
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27647
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA 實時信號處理應(yīng)用 FPGA在圖像處理中的優(yōu)勢

    現(xiàn)場可編程門陣列(FPGA)是一種高度靈活的硬件平臺,它允許開發(fā)者根據(jù)特定應(yīng)用需求定制硬件邏輯。在實時信號處理和圖像處理領(lǐng)域,FPGA因其獨
    的頭像 發(fā)表于 12-02 10:01 ?861次閱讀

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

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

    采用Xilinx FPGA的AFE79xx SPI啟動指南

    電子發(fā)燒友網(wǎng)站提供《采用Xilinx FPGA的AFE79xx SPI啟動指南.pdf》資料免費下載
    發(fā)表于 11-15 15:28 ?0次下載
    采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動指南

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

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

    基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信號處理

    本板卡基于標(biāo)準(zhǔn)6U VPX 架構(gòu),為通用高性能信號處理平臺,系我公司自主研發(fā)。板卡采用一片TI DSP TMS320C6678和一片Xilinx公司Virtex 7系列的FPGA
    的頭像 發(fā)表于 11-08 16:38 ?469次閱讀
    基于DSP TMS320C6678+<b class='flag-5'>FPGA</b> XC7V690T的6U VPX<b class='flag-5'>信號</b><b class='flag-5'>處理</b>卡

    Xilinx 7系列FPGA PCIe Gen3的應(yīng)用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成塊,支持8.0Gb/s數(shù)據(jù)速率的PCI Express 3.0。本文介紹了7系列FPGA PCIe Gen3的應(yīng)用接口及一些特性。
    的頭像 發(fā)表于 11-05 15:45 ?1339次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> PCIe Gen3的應(yīng)用接口及特性

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

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

    FPGA異步信號處理方法

    FPGA(現(xiàn)場可編程門陣列)在處理異步信號時,需要特別關(guān)注信號的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問題。由于異步信號可能來自不同的時鐘域或外部設(shè)
    的頭像 發(fā)表于 07-17 11:10 ?1277次閱讀

    FPGA | Xilinx ISE14.7 LVDS應(yīng)用

    今天給大俠帶來 Xilinx ISE14.7 LVDS應(yīng)用,話不多說,上貨。 最近項目需要用到差分信號傳輸,于是看了一下FPGA上差分信號的使用。
    發(fā)表于 06-13 16:28

    示波器測量復(fù)位信號的原理和方法

    在電子工程領(lǐng)域,復(fù)位信號是確保系統(tǒng)穩(wěn)定、可靠運行的關(guān)鍵因素之一。復(fù)位信號通常用于在系統(tǒng)出現(xiàn)故障或異常時,將系統(tǒng)恢復(fù)到初始狀態(tài),以便重新開始工作。因此,準(zhǔn)確測量和分析
    的頭像 發(fā)表于 05-17 17:14 ?1619次閱讀

    Xilinx ISE14.7 LVDS的應(yīng)用

    最近項目需要用到差分信號傳輸,于是看了一下FPGA上差分信號的使用。Xilinx FPGA中,主要通過原語實現(xiàn)差分
    的頭像 發(fā)表于 05-07 17:17 ?1143次閱讀
    <b class='flag-5'>Xilinx</b> ISE14.7 LVDS的應(yīng)用

    FPGA設(shè)計添加復(fù)位功能的注意事項

    本文將回顧使用重置輸入對給定功能進行編碼的一些基本注意事項。設(shè)計者可能會忽視使用復(fù)位輸入的后果,但不正確的復(fù)位策略很容易造成嚴(yán)重處罰。復(fù)位功能會對 FPGA 設(shè)計的速度、面積和功耗產(chǎn)生
    發(fā)表于 05-03 09:49 ?249次閱讀
    向<b class='flag-5'>FPGA</b>設(shè)計添加<b class='flag-5'>復(fù)位</b>功能的注意事項

    Xilinx 7系列FPGA功能特性介紹

    Xilinx7系列FPGA由四個FPGA系列組成,可滿足一系列系統(tǒng)需求,從低成本、小尺寸、成本敏感的大容量應(yīng)用到最苛刻的高性能應(yīng)用的超高端連接帶寬、邏輯容量和信號
    發(fā)表于 04-22 10:49 ?5764次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>功能特性介紹

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個系列和型號,以滿足不同應(yīng)用領(lǐng)域的需求。以下是一些主要的Xilinx FPGA芯片系列及其特點。
    的頭像 發(fā)表于 03-14 16:24 ?3531次閱讀

    AMD Xilinx 7系列FPGA的Multiboot多bit配置

    Multiboot是一種在AMD Xilinx 7系列FPGA上實現(xiàn)雙鏡像(或多鏡像)切換的方案。它允許在FPGA中加載兩個不同的配置鏡像,并在需要時切換。
    的頭像 發(fā)表于 02-25 10:54 ?1372次閱讀
    AMD <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>的Multiboot多bit配置
    百家乐官网网络赌场| 新思维百家乐投注法| 百家乐官网娱乐城体验金| 龍城百家乐的玩法技巧和规则| 永济市| 太阳城百家乐网上| 六合彩开奖结果| 新东方百家乐官网的玩法技巧和规则| 广州太阳城大酒店| 可以玩百家乐官网的博彩网站 | 格尔木市| 百家乐翻天qvod| 钻石娱乐城| 百家乐赢家球讯网| 横峰县| 百家乐游戏技巧| 海淀区| 百家乐出庄的概率| 百家乐官网陷阱| 威尼斯人娱乐城开户地址| 百家乐官网永利娱乐场| 大发888娱乐在线客服| 大哥大百家乐官网的玩法技巧和规则| kk娱乐城送彩金| 百家乐视频游戏金币| 百家乐官网美女真人| 网上百家乐必赢玩| 新2百家乐官网现金网百家乐官网现金网 | 优惠搏百家乐官网的玩法技巧和规则| 德州扑克中文单机版| 长城百家乐游戏| 乳山市| 百家乐官网诀| 英皇国际娱乐城| 百家乐群sun811| 棋牌百家乐官网程序破解| 新全讯网网站xb112| 澳门百家乐官网论坛| 曲沃县| 二八杠网站| 刀把状的房子做生意|