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

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

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

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

什么時(shí)候什么地方使用復(fù)位?

倩倩 ? 來源:IP與SoC設(shè)計(jì) ? 作者:IP與SoC設(shè)計(jì) ? 2022-09-05 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

復(fù)位概述

復(fù)位作為電子系統(tǒng)中最常見的信號(hào)同時(shí)也是最重要的信號(hào),它對(duì)工程師整體的設(shè)計(jì)表現(xiàn)有著極大的影響。復(fù)位信號(hào)可能深刻影響設(shè)計(jì)的性能表現(xiàn),功耗,面積等等。對(duì)于一個(gè)優(yōu)秀的系統(tǒng)設(shè)計(jì),很難不把復(fù)位信號(hào)當(dāng)成一個(gè)關(guān)鍵信號(hào)來設(shè)計(jì)。

同步的代碼可能會(huì)綜合出LUTs,Registers,SRLs,Block or LUT memory,DSP48 registers。對(duì)復(fù)位方式的不同選擇以及對(duì)復(fù)位的使用不同會(huì)影響基本元件的選擇。可能會(huì)引入更多或者更少的資源,影響整體設(shè)計(jì)的表現(xiàn),功耗,甚至?xí)?dǎo)致系統(tǒng)運(yùn)行異常。

什么時(shí)候什么地方使用復(fù)位?

對(duì)于很多新入門工程師來講,很少會(huì)評(píng)估是否需要復(fù)位信號(hào),絕大所數(shù)都是使用提供的模板,對(duì)所有的信號(hào)進(jìn)行復(fù)位,盡管可能不是那么必要,如果是這樣會(huì)增加資源,對(duì)復(fù)位時(shí)序也會(huì)產(chǎn)生影響,所以評(píng)估是否需要復(fù)位是很有必要的。

對(duì)賽靈思器件而言,廠家對(duì)FPGA提供了專用的全局復(fù)位(GSR)。這個(gè)信號(hào)在配置結(jié)束會(huì)把所有的時(shí)序元件都設(shè)置為一個(gè)初始的值。如果這個(gè)初始值沒有被指定,大多數(shù)情況下都會(huì)被設(shè)置為0。每個(gè)器件都會(huì)在配置結(jié)束設(shè)置為一個(gè)定值,因此,有些上電時(shí)單一目的復(fù)位必要性不是很大。下面代碼初始化registers和latches的指定初始值。

// Verilog代碼
reg register1 = 1’b0; // specifying regsiter1 to start as a zero
reg register2 = 1’b1; // specifying register2 to start as a one
reg [3:0] register3 = 4’b1011; //specifying INIT value for 4-bit register
-- VHDL代碼
signal reg1 : std_logic := '0'; -- specifying register1 to start as a zero
signal reg2 : std_logic := ‘1’; -- specifying register2 to start as a one
signal reg3 : std_logic_vector(3 downto 0):="1011"; -- specifying INIT value for 4-bit register

所以像之前所訴述,工程師應(yīng)該仔細(xì)考慮和評(píng)估什么時(shí)候,什么地方需要復(fù)位。因?yàn)椴槐匾膹?fù)位可能會(huì)導(dǎo)致諸多的問題。限制復(fù)位的使用可能具備的優(yōu)勢:

  • 限制全局復(fù)位網(wǎng)絡(luò)的扇出

  • 減少復(fù)位路徑的互聯(lián)

  • 簡化復(fù)位路徑的時(shí)序分析

  • 提升整體設(shè)計(jì)的性能表現(xiàn),面積,功耗等

功能性的仿真是可以容易區(qū)分復(fù)位是否需要,所以建議去評(píng)估每一個(gè)同步模塊是否需要復(fù)位,盡量減少在未評(píng)估真實(shí)需要復(fù)位的情況下就引入復(fù)位。

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

同步復(fù)位就是復(fù)位信號(hào)在時(shí)鐘觸發(fā)邊沿才有效,簡單講敏感列表中沒有復(fù)位信號(hào),異步復(fù)位在復(fù)位信號(hào)被置位后即有效,簡單說敏感列表中存在復(fù)位信號(hào)。如下面兩段Verilog代碼:

// 同步復(fù)位
module sync_resetFFstyle (
 output reg q,
 input d, clk, rst_n);
always @(posedge clk)
 if (!rst_n)
     q <= 1'b0;
 else 
     q <= d;
endmodule
// 異步復(fù)位
module async_resetFFstyle (
 output reg q,
 input d, clk, rst_n);
 always @(posedge clk or negedge rst_n)
 if (!rst_n)
     q <= 1'b0;
 else 
     q <= d;
endmodule

同步復(fù)位相比較異步復(fù)位有以下的特點(diǎn):

  • 同步復(fù)位可以映射更多種類的資源單元

  • 全局的異步復(fù)位會(huì)增加設(shè)計(jì)元件的布線復(fù)雜度(每個(gè)register都要連接復(fù)位信號(hào))

  • 如果需要提高電路的集成密度或者對(duì)電路進(jìn)行調(diào)優(yōu)布局,同步復(fù)位更加靈活

  • 有些資源僅提供提供同步復(fù)位,如DSP48和RAM模塊,如果使用異步復(fù)位,很難在不影響模塊功能的前提下將異步信號(hào)正確施加在這些模塊。(Xilinx)

同步復(fù)位特點(diǎn):

  • 電路是百分之百同步化的

  • 時(shí)鐘可以充當(dāng)同步復(fù)位信號(hào)的一個(gè)毛刺濾波,但如果毛刺發(fā)生在時(shí)鐘觸發(fā)邊沿,flip-flop仍然可能出現(xiàn)亞穩(wěn)態(tài)。

  • 同步復(fù)位可能需要一個(gè)計(jì)數(shù)器來保障復(fù)位信號(hào)的寬度足夠?qū)拋韺?shí)現(xiàn)有效的復(fù)位。

  • 因?yàn)橥綇?fù)位需要時(shí)鐘來復(fù)位,有些極少數(shù)的情況下,如某些低功耗設(shè)計(jì),時(shí)鐘可能在復(fù)位前就被無效,那么同步復(fù)位也無效,這里可能只有異步復(fù)位有效。

異步復(fù)位優(yōu)點(diǎn)

只要具有可復(fù)位的觸發(fā)器,那么異步復(fù)位就可以生效

異步復(fù)位不會(huì)在數(shù)據(jù)路徑引入其他邏輯

異步復(fù)位缺點(diǎn)

反斷言階段,即復(fù)位移除階段,復(fù)位信號(hào)沿如果距離時(shí)鐘觸發(fā)沿很近,則可能發(fā)生亞穩(wěn)態(tài),那么復(fù)位狀態(tài)可能會(huì)丟失,也就是常說的符合Recovery Time以及Removal Time(類似Setup TimeHold Time

板子的毛刺和噪聲可能引起虛假復(fù)位。

其他的一些缺點(diǎn)已經(jīng)在(同步復(fù)位相比較異步復(fù)位有以下特點(diǎn))上面小節(jié)闡述。

注意:異步復(fù)位都應(yīng)該同步釋放,以處理可能出現(xiàn)的亞穩(wěn)態(tài)和異常情況,如下面所示代碼:

// 異步復(fù)位同步釋放
module sync_reset #
(
    // depth of synchronizer
    parameter N = 2
)
(
    input  wire clk,
    input  wire rst,
    output wire out
);

(* srl_style = "register" *)
reg [N-1:0] sync_reg = {N{1'b1}};

assign out = sync_reg[N-1];

always @(posedge clk or posedge rst) begin
    if (rst) begin
        sync_reg <= {N{1'b1}};
    end else begin
        sync_reg <= {sync_reg[N-2:0], 1'b0};
    end
end

endmodule
// 代碼來自開源項(xiàng)目AlexForencich

如何去除不必要復(fù)位信號(hào)?

當(dāng)需要去除一些復(fù)位信號(hào)時(shí),直接注釋掉相關(guān)的代碼是不合適并且會(huì)引入非預(yù)期的結(jié)構(gòu)以及會(huì)導(dǎo)致異常問題。如下面的代碼,注釋掉復(fù)位代碼塊里的din_dly1din_dly2會(huì)讓復(fù)位信號(hào)成為寄存器的使能信號(hào),顯然屬于引入無關(guān)邏輯,可能會(huì)引起設(shè)計(jì)的問題。如圖一為未注釋代碼前綜合出的異步復(fù)位電路,圖二為直接注釋掉復(fù)位區(qū)域信號(hào)的代碼。產(chǎn)生這種問題也很容易理解,代碼邏輯就是非復(fù)位狀態(tài)din_dly1din_dly2才能工作。

always@(posedge sysclk or posedge rst)
begin
    if(rst)
    begin
//         din_dly1 <= 8'b0;
//         din_dly2 <= 8'b0;
         da_out <= 8'b0;
    end
    else
    begin
        din_dly1 <= da_in;
        din_dly2 <= din_dly1;
        da_out <= din_dly2;
    end
end

64fc8082-2cd0-11ed-ba43-dac502259ad0.png

圖一:未注釋掉復(fù)位信號(hào)的代碼

65265a1a-2cd0-11ed-ba43-dac502259ad0.png

圖二:注釋掉復(fù)位信號(hào)的代碼(引入非期望的電路)

當(dāng)遇到需要去除一些寄存器的復(fù)位信號(hào)時(shí),記住一個(gè)基本原則:一個(gè)時(shí)序模塊不可以混合不同復(fù)位類型的寄存器,簡單講就是不能出現(xiàn)不復(fù)位的寄存器和復(fù)位的寄存器,只要使用復(fù)位信號(hào),那么時(shí)序模塊的寄存器都應(yīng)該復(fù)位。那么需要去除一些寄存器的復(fù)位信號(hào)應(yīng)該怎么辦?同樣功能的代碼如下,將復(fù)位的寄存器放入一個(gè)always塊中,不需要復(fù)位的寄存器放入另一個(gè)always塊中。圖三是實(shí)際綜合出的電路也是實(shí)際期望的電路,沒有引入其他邏輯。

always @(posedge sysclk) begin
    din_dly1 <= da_in;
    din_dly2 <= din_dly1;
end

always @(posedge sysclk or posedge rst) begin
    if(rst)
        da_out <= 8'b0;
    else
        da_out <= din_dly2;
    
end

65471a3e-2cd0-11ed-ba43-dac502259ad0.png

圖三:不同復(fù)位類型區(qū)分綜合出的電路

總結(jié):本篇文章主要總結(jié)復(fù)位類型和其優(yōu)缺點(diǎn),在不同的情形下對(duì)復(fù)位類型選擇進(jìn)行權(quán)衡,尤其要評(píng)估一些不需要復(fù)位的情況,以實(shí)現(xiàn)設(shè)計(jì)的更優(yōu)性能表現(xiàn)。具體的內(nèi)容還可以查閱參考文獻(xiàn)所列內(nèi)容。


審核編輯 :李倩


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

    關(guān)注

    1660

    文章

    22411

    瀏覽量

    636271
  • 復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    179

    瀏覽量

    25045
  • 異步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    13684

原文標(biāo)題:FPGA復(fù)位信號(hào)設(shè)計(jì)討論

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    JH7110 什么時(shí)候支持 Vulkan API?

    JH7110 什么時(shí)候支持 Vulkan API? 現(xiàn)在很多圖形應(yīng)用程序后端 API 正在遷移到 vulkan 支持 vulkan 后,您還可以運(yùn)行許多以前不支持的游戲 JH7110 的 GLES
    發(fā)表于 01-26 06:11

    用于穩(wěn)定電源設(shè)計(jì)的復(fù)位IC應(yīng)用實(shí)例

    現(xiàn)代電子設(shè)備正面臨電壓波動(dòng)、浪涌電壓以及輸入電源不穩(wěn)定等問題。如果缺乏適當(dāng)?shù)碾妷罕O(jiān)測與復(fù)位保護(hù)功能,系統(tǒng)可能會(huì)出現(xiàn)誤動(dòng)作、異常復(fù)位,甚至導(dǎo)致硬件損壞。
    的頭像 發(fā)表于 12-08 09:41 ?646次閱讀
    用于穩(wěn)定電源設(shè)計(jì)的<b class='flag-5'>復(fù)位</b>IC應(yīng)用實(shí)例

    配置了串口DMA,現(xiàn)在是接收可以,發(fā)送不行,是什么地方沒有設(shè)置對(duì)嗎?

    配置了串口DMA,現(xiàn)在是接收可以,發(fā)送不行,是什么地方沒有設(shè)置對(duì)嗎?當(dāng)配置DMA_TX 不能發(fā)送數(shù)據(jù),默認(rèn)輪詢發(fā)送就可以。配置如下圖:
    發(fā)表于 09-28 07:41

    超級(jí)法拉電容都用在什么地方

    超級(jí)電容在能源領(lǐng)域發(fā)揮關(guān)鍵作用,應(yīng)用于電動(dòng)交通、電網(wǎng)穩(wěn)定及可再生能源,提升效率與可靠性。
    的頭像 發(fā)表于 09-16 09:25 ?1263次閱讀
    超級(jí)法拉電容都用在<b class='flag-5'>什么地方</b>

    快問快答:什么時(shí)候需要多通道氣密性檢測設(shè)備?選擇幾個(gè)通道合適

    當(dāng)生產(chǎn)線的節(jié)拍越來越快,單通道氣密性檢測儀開始成為瓶頸時(shí),多通道氣密性檢測設(shè)備就進(jìn)入了您的視野。但問題是:什么時(shí)候需要多通道?選擇幾個(gè)通道?如何權(quán)衡成本與效率?精誠工科多通道氣密性檢測設(shè)備在掃地機(jī)
    的頭像 發(fā)表于 09-08 11:31 ?576次閱讀
    快問快答:<b class='flag-5'>什么時(shí)候</b>需要多通道氣密性檢測設(shè)備?選擇幾個(gè)通道合適

    法拉超級(jí)電容用在什么地方

    法拉超級(jí)電容在新能源領(lǐng)域廣泛應(yīng)用,提升能源效率、保障設(shè)備運(yùn)行及快速充放電,成為多行業(yè)關(guān)鍵儲(chǔ)能解決方案。
    的頭像 發(fā)表于 09-07 09:36 ?1094次閱讀
    法拉超級(jí)電容用在<b class='flag-5'>什么地方</b>

    硬件工程師什么時(shí)候嘴最硬?

    行業(yè)資訊
    揚(yáng)興科技
    發(fā)布于 :2025年08月29日 19:21:58

    GraniStudio:軸復(fù)位例程

    1.文件運(yùn)行 導(dǎo)入工程 雙擊運(yùn)行桌面GraniStudio.exe。 通過引導(dǎo)界面導(dǎo)入軸復(fù)位例程,點(diǎn)擊導(dǎo)入按鈕。 打開軸復(fù)位運(yùn)動(dòng)例程所在路徑,選中軸復(fù)位運(yùn)動(dòng).gsp文件,點(diǎn)擊打開,完成導(dǎo)入。 2.
    的頭像 發(fā)表于 08-22 16:05 ?664次閱讀
    GraniStudio:軸<b class='flag-5'>復(fù)位</b>例程

    GraniStudio零代碼平臺(tái)軸復(fù)位算子支持多少個(gè)軸同時(shí)復(fù)位,有哪些回零模式?

    GraniStudio平臺(tái)在軸復(fù)位的功能上未對(duì)同時(shí)復(fù)位的軸數(shù)進(jìn)行硬性限制,理論上支持任意數(shù)量軸同步復(fù)位,需要考慮的是在做多軸同步復(fù)位時(shí)要評(píng)估機(jī)械安全風(fēng)險(xiǎn),建議提前確認(rèn)機(jī)械在多軸同時(shí)
    的頭像 發(fā)表于 07-07 18:02 ?663次閱讀
    GraniStudio零代碼平臺(tái)軸<b class='flag-5'>復(fù)位</b>算子支持多少個(gè)軸同時(shí)<b class='flag-5'>復(fù)位</b>,有哪些回零模式?

    復(fù)位電路的核心功能和主要類型

    復(fù)位電路(Reset Circuit) 是數(shù)字系統(tǒng)中的關(guān)鍵功能模塊,用于確保設(shè)備在上電、電壓波動(dòng)或異常狀態(tài)下可靠復(fù)位至初始狀態(tài)。其設(shè)計(jì)直接影響系統(tǒng)的穩(wěn)定性和抗干擾能力。
    的頭像 發(fā)表于 06-30 14:24 ?1487次閱讀
    <b class='flag-5'>復(fù)位</b>電路的核心功能和主要類型

    兩個(gè)關(guān)于PMG1 PoR的問題求解

    我有兩個(gè)關(guān)于 PMG1 PoR 的問題。 1.復(fù)位時(shí)POWER_DRILL2GO什么時(shí)候進(jìn)入? 也許您想在電壓低于預(yù)設(shè)值時(shí)強(qiáng)制 EZ-PD? PMG1-S1 MCU 設(shè)備復(fù)位
    發(fā)表于 05-23 07:07

    將DMACB寄存器中的RC位設(shè)置為1來在DMA傳輸結(jié)束時(shí)重新加載計(jì)數(shù)器,什么時(shí)候將需要重新加載的值存儲(chǔ)在FM3中?

    我嘗試通過將 DMACB 寄存器中的 RC 位設(shè)置為 1 來在 DMA 傳輸結(jié)束時(shí)重新加載計(jì)數(shù)器。 什么時(shí)候將需要重新加載的值存儲(chǔ)在 FM3 中? - 當(dāng)我將 1 寫入 EM 位時(shí)是否如此
    發(fā)表于 04-30 07:33

    為什么adc芯片不寫輸入時(shí)鐘范圍,實(shí)際使用中應(yīng)該怎么給?什么時(shí)候與處理器同源?

    為什么adc芯片不寫輸入時(shí)鐘范圍,實(shí)際使用中應(yīng)該怎么給?什么時(shí)候與處理器同源?
    發(fā)表于 04-15 06:10

    LM3724系列 低功率電壓監(jiān)控和復(fù)位IC,帶手動(dòng)復(fù)位功能數(shù)據(jù)手冊(cè)

    LM3722/LM3723/LM3724 微處理器監(jiān)控電路可監(jiān)控電源 在微處理器和數(shù)字系統(tǒng)中。它們?cè)谏想娖陂g為微處理器提供復(fù)位, 掉電、掉電條件和手動(dòng)復(fù)位。 LM3722/LM3723
    的頭像 發(fā)表于 04-12 11:11 ?1030次閱讀
    LM3724系列 低功率電壓監(jiān)控和<b class='flag-5'>復(fù)位</b>IC,帶手動(dòng)<b class='flag-5'>復(fù)位</b>功能數(shù)據(jù)手冊(cè)

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

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