91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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è)計的改進(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ù)初值,所以驗證工程師很喜歡這樣的設(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)盡量避免高扇出的情況。

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

解決99.99%的情況

pIYBAF9uHtWAdB6oAABXpcuKfDY636.png

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

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

代碼如下。設(shè)計中需要復(fù)位的部分,使用產(chǎn)生的sys_rst信號進(jìn)行同步復(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)注

    1660

    文章

    22415

    瀏覽量

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

    關(guān)注

    31

    文章

    5608

    瀏覽量

    130011
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2200

    瀏覽量

    131177
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    499

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于4片DSP6678+FPGA KU115 的VPX高速信號處理平臺

    板卡基于標(biāo)準(zhǔn)6U VPX架構(gòu),板載一片Xilinx FPGA XCKU115-2FLVF1924I和四片 TI 多核DSP TMS320C6678,每個DSP有配有2GB的儲存空間,該板卡可以通過
    發(fā)表于 03-06 14:58

    MAX6467/MAX6468:微處理器監(jiān)控復(fù)位電路新選擇

    低于預(yù)設(shè)閾值時,它會發(fā)出復(fù)位信號,確保微處理器進(jìn)入復(fù)位模式。其獨特的邊沿觸發(fā)、單穩(wěn)態(tài)手動復(fù)位功能,即使在手動
    的頭像 發(fā)表于 02-27 15:05 ?127次閱讀

    MAX6443–MAX6452:具備長手動復(fù)位設(shè)置周期的微處理復(fù)位電路

    MAX6443–MAX6452:具備長手動復(fù)位設(shè)置周期的微處理復(fù)位電路 在電子設(shè)備的設(shè)計中,微處理復(fù)位電路起著至關(guān)重要的作用,它能確保設(shè)
    的頭像 發(fā)表于 02-27 14:45 ?105次閱讀

    Xilinx FPGA中IDELAYCTRL參考時鐘控制模塊的使用

    IDELAYCTRL 是 Xilinx FPGA(特別是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校準(zhǔn)輸入延遲模塊(IDELAYE2/IDELAYE3)的必須存在的參考時鐘控制模塊。
    的頭像 發(fā)表于 02-26 14:41 ?3240次閱讀

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

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

    Xilinx FPGA串行通信協(xié)議介紹

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

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

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

    【VPX650 】青翼凌云科技基于 VPX 系統(tǒng)架構(gòu)的 VU13P FPGA+ZYNQ SOC 超寬帶信號處理平臺

    VPX650 是一款基于 6U VPX 系統(tǒng)架構(gòu)的 VU13P FPGA + XC7Z100 SOC 超寬帶信號處理平臺,該平臺采用一片 Xilinx 的 Virtex Ultra
    的頭像 發(fā)表于 10-16 10:48 ?644次閱讀
    【VPX650 】青翼凌云科技基于 VPX 系統(tǒng)架構(gòu)的 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 總線架構(gòu)的通用實時信號處理平 臺,該平臺采用一片 Xilinx 的高性能 Kintex UltraScale 系列 FPGA (XCKU115-
    的頭像 發(fā)表于 09-01 14:10 ?825次閱讀
    【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系列
    的頭像 發(fā)表于 09-01 13:42 ?736次閱讀
    【 VPX638】青翼凌云科技基于KU115 <b class='flag-5'>FPGA</b>+C6678 DSP的6U VPX雙FMC接口通用<b class='flag-5'>信號</b><b class='flag-5'>處理</b>平臺

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

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

    XILINX XCZU67DR FPGA完整原理圖

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

    Xilinx Shift RAM IP概述和主要功能

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

    進(jìn)群免費領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等

    進(jìn)群免費領(lǐng)FPGA學(xué)習(xí)資料啦!小編整理了數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等FPGA必看資料,需要的小伙伴可以加小助手(微信:elecf
    發(fā)表于 04-07 16:41

    復(fù)位電路的作用、控制方式和類型

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