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

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

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

3天內不再提示

基于Xilinx FPGA的復位信號處理

454398 ? 來源:csdn ? 作者:NingHeChuan ? 2020-12-25 12:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:NingHeChuan

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較大,不利于時序收斂。因此,在寫代碼時應盡量避免高扇出的情況。

o4YBAF9uHs6AahZPAACQLpLP5B4391.png

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

pIYBAF9uHtCAVVkSAABsVYI7OAc112.png

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

o4YBAF9uHtGALPeWAABLbZOjaLA239.png

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

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

pIYBAF9uHtKAUEP3AAAyIyDDKXk798.png

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

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

pIYBAF9uHtSASvUJAABCFCV0ow8779.png

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

解決99.99%的情況

pIYBAF9uHtWAdB6oAABXpcuKfDY636.png

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

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

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

o4YBAF9uHtaAOxOSAABTjgt_6zA048.png

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

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

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

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


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

    關注

    1660

    文章

    22394

    瀏覽量

    634941
  • 寄存器
    +關注

    關注

    31

    文章

    5607

    瀏覽量

    129766
  • Xilinx
    +關注

    關注

    73

    文章

    2196

    瀏覽量

    130865
  • 狀態機
    +關注

    關注

    2

    文章

    498

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA 信號處理板卡設計原理圖:618-基于FMC+的XCVU3P高性能 PCIe 載板

    汽車駕駛員輔助, FPGA 信號處理, XCVU3P板卡, 雷達圖像處理, 衛星通信系統, 基帶通信接收
    的頭像 發表于 01-30 10:27 ?208次閱讀
    <b class='flag-5'>FPGA</b> <b class='flag-5'>信號</b><b class='flag-5'>處理</b>板卡設計原理圖:618-基于FMC+的XCVU3P高性能 PCIe 載板

    【TES818 】青翼凌云科技基于 VU13P FPGA+ZYNQ SOC 的 8 路 100G 光纖通道處理平臺

    ?TES818是一款基于VU13PFPGA+XC7Z100SOC的8路100G光纖通道處理平臺,該平臺采用一片Xilinx的VirtexUltraScale+系列FPGA(XCVU13
    的頭像 發表于 12-04 16:02 ?498次閱讀
    【TES818 】青翼凌云科技基于 VU13P <b class='flag-5'>FPGA</b>+ZYNQ SOC 的 8 路 100G 光纖通道<b class='flag-5'>處理</b>平臺

    Xilinx FPGA串行通信協議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統設計中關鍵的串行通信協議。介紹了它們的特性、優勢和應用場景
    的頭像 發表于 11-14 15:02 ?2481次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>串行通信協議介紹

    開源RISC-V處理器(蜂鳥E203)學習(二)修改FPGA綜合環境(移植到自己的Xilinx FPGA板卡)

    1.簡述 首先感謝芯來開源了蜂鳥E203 risc-v處理器,提供了比較完整的工程環境、配套的軟硬件。但是配套的FPGA板卡實在太貴,對于自費學習的來說是不小的學習成本,而且我也認為完備環境
    發表于 10-31 08:46

    【VPX650 】青翼凌云科技基于 VPX 系統架構的 VU13P FPGA+ZYNQ SOC 超寬帶信號處理平臺

    VPX650 是一款基于 6U VPX 系統架構的 VU13P FPGA + XC7Z100 SOC 超寬帶信號處理平臺,該平臺采用一片 Xilinx 的 Virtex Ultra
    的頭像 發表于 10-16 10:48 ?606次閱讀
    【VPX650 】青翼凌云科技基于 VPX 系統架構的 VU13P <b class='flag-5'>FPGA</b>+ZYNQ SOC 超寬帶<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

    【VPX637】青翼凌云科技基于 XCKU115 FPGA+ZU15EG MPSOC 的 6U VPX 雙 FMC 接口通用信號處理平臺

    VPX637 是一款基于 6U VPX 總線架構的通用實時信號處理平 臺,該平臺采用一片 Xilinx 的高性能 Kintex UltraScale 系列 FPGA (XCKU115-
    的頭像 發表于 09-01 14:10 ?744次閱讀
    【VPX637】青翼凌云科技基于 XCKU115 <b class='flag-5'>FPGA</b>+ZU15EG MPSOC 的 6U VPX 雙 FMC 接口通用<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

    【 VPX638】青翼凌云科技基于KU115 FPGA+C6678 DSP的6U VPX雙FMC接口通用信號處理平臺

    VPX638是一款基于KU115 FPGA + C6678 DSP的6U VPX雙FMC接口通用信號處理平臺,該平臺采用一片Xilinx的Kintex UltraScale系列
    的頭像 發表于 09-01 13:42 ?638次閱讀
    【 VPX638】青翼凌云科技基于KU115 <b class='flag-5'>FPGA</b>+C6678 DSP的6U VPX雙FMC接口通用<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

    一文詳解xilinx 7系列FPGA配置技巧

    本文旨在通過講解不同模式的原理圖連接方式,進而配置用到引腳的含義(手冊上相關引腳含義有四、五頁,通過本文理解基本上能夠記住所有引腳含義以及使用場景),熟悉xilinx 7系列配置流程,以及設計原理圖時需要注意的一些事項,比如flash與FPGA的上電時序。
    的頭像 發表于 08-30 14:35 ?1w次閱讀
    一文詳解<b class='flag-5'>xilinx</b> 7系列<b class='flag-5'>FPGA</b>配置技巧

    【TES807】青翼凌云科技基于 XCKU115 FPGA 的雙 FMC 接口萬兆光纖傳輸信號處理平臺

    TES807 是一款基于千兆或者萬兆以太網傳輸的雙 FMC 接口信 號處理平臺。該平臺采用 XILINX 的 Kintex UltraSacle 系列 FPGA:XCKU115-2FLVF1924I
    的頭像 發表于 08-29 15:57 ?488次閱讀
    【TES807】青翼凌云科技基于 XCKU115 <b class='flag-5'>FPGA</b> 的雙 FMC 接口萬兆光纖傳輸<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

    【TES817】青翼凌云科技基于XCZU19EG FPGA的高性能實時信號處理平臺

    板卡概述TES817是一款基于ZU19EGFPGA的高性能實時信號處理平臺,該平臺采用1片高性能的FPGA:XCZU19EG-2FFVC1760I作為主
    的頭像 發表于 08-29 15:29 ?1418次閱讀
    【TES817】青翼凌云科技基于XCZU19EG <b class='flag-5'>FPGA</b>的高性能實時<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

    光纖圖像處理卡設計原理圖:520-基于ZU15EG 適配AWR2243的雷達驗證底板 XCZU15EG架構高速信號處理

    高速信號處理, FPGA光纖, 光纖圖像處理, XCZU15EG架構
    的頭像 發表于 08-28 10:39 ?597次閱讀
    光纖圖像<b class='flag-5'>處理</b>卡設計原理圖:520-基于ZU15EG 適配AWR2243的雷達驗證底板 XCZU15EG架構高速<b class='flag-5'>信號</b><b class='flag-5'>處理</b>板

    XILINX XCZU67DR FPGA完整原理圖

    電子發燒友網站提供《XILINX XCZU67DR FPGA完整原理圖.pdf》資料免費下載
    發表于 05-30 15:29 ?26次下載

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一個 LogiCORE IP 核,用于在 FPGA 中實現高效的移位寄存器(Shift Register)。該 IP 核利用
    的頭像 發表于 05-14 09:36 ?1014次閱讀

    進群免費領FPGA學習資料!數字信號處理、傅里葉變換與FPGA開發等

    進群免費領FPGA學習資料啦!小編整理了數字信號處理、傅里葉變換與FPGA開發等FPGA必看資料,需要的小伙伴可以加小助手(微信:elecf
    發表于 04-07 16:41

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

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