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

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

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

3天內不再提示

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

FPGA設計論壇 ? 來源:CSDN技術社區icysmile131 ? 2025-03-12 13:54 ? 次閱讀

復位電路也是數字邏輯設計中常用的電路,不管是 FPGA 還是 ASIC 設計,都會涉及到復位,一般 FPGA或者 ASIC 的復位需要我們自己設計復位方案。復位指的是將寄存器恢復到默認值。一般復位功能包括同步復位和異步復位。復位一般由硬件開關觸發引起,也可以由復位邏輯控制引起。

復位電路的作用

數字電路中寄存器和 RAM 在上電之后默認的狀態和數據是不確定的,如果有復位,就可以把寄存器復位到初始狀態 0,RAM 的數據可以通過復位來觸發 RAM 初始化到全 0,因為一般邏輯起始都是從 0 開始變化的,這個是根據設計的需要設定的一個值,如果設計需要寄存器上電復位為 1,也是可以的。

還有就是如果邏輯進入了錯誤的狀態,通過復位可以把所有的邏輯狀態恢復到初始值。

復位電路的控制方式

1 按鍵復位

在硬件電路設計中,一般會留下一個復位按鍵,按下開關復位,就可以簡單快捷地進行復位。

但按鍵復位存在一個問題,就是一般按鍵在按下時會產生抖動,釋放時也會產生抖動。這是因為大多數按鍵所使用的開關為機械彈性開關,當我們按下或松開按鍵時,由于彈片的物理特性,不能立即閉合或斷開,往往會在斷開或閉合的短時間內產生機械抖動。

按鍵消抖可分為硬件消抖和軟件消抖。硬件消抖主要使用RS觸發器或電容等方法實現消抖, 一般在按鍵較少時使用。軟件消抖的原理主要為按鍵按下或松開后延時5ms—20ms采樣,這種方法經常使用。

按鍵去抖的思路是檢測到按下時延時 20ms,再檢測,如果狀態仍為按下,則確認是按下的;如果狀態為彈起的,則確認是干擾,無按鍵按下。

假如rst_in 為一個 普通 按鍵,直接連接至 FPGA里面的復位引腳作為全局復位,所以按鍵消抖的原理為:當 rst_in按鍵按下時可能會出現抖動,需要 等 20ms之后再去檢測這個按鍵是否按下 FPGA里面的這個引腳的電平是否改變 )),這樣就達到了按鍵消抖的目的 。

如下圖所示:

49c0c8dc-fa55-11ef-9310-92fbcf53809c.png

檢測到第一次按下(檢測到低電平),此時延遲20ms,然后 20ms之后,再次檢測是否有穩定的低電平 。

由于按鍵 彈片的物理特性,按鍵按下時會有抖動,也就是說我們其實只按一次,但是實際產生的“按下”卻是許多次的,這些許多次集中在這 20ms里。通過延時 20ms,把其他的“按下(也就是抖動)給濾除了。然后再次判斷是否有按下,因為有的時候干擾很大。

2 RC復位電路

49d934e4-fa55-11ef-9310-92fbcf53809c.png

這種是一種簡單的 RC 復位電路,電源接通時候,通過 R1 對 C2 進行充電,經過一段延遲后加到電路當中產生復位信號,這個復位信號的上升速度低于電源的上電速度,當復位引腳檢測到高電平時候,系統復位結束,進入正常工作狀態。

3 FPGA上電復位

如果在硬件電路設計時沒有留下復位按鍵,對FPGA來說也沒有太大問題,因為 FPGA 內部也會有上電復位的功能,就是 POR(Power On Reset)電路。FPGA 芯片內部有一個上電檢測模塊,一旦檢測到電源電壓超過檢測門限后,就產生一個上電復位脈沖(Power On Reset)并將其送給所有的寄存器,這個脈沖會自動作用在各個寄存器的復位端,和功能復位管腳共同控制寄存器的復位。

另外,就是 FPGA 重新配置之后,也會觸發上電復位。

復位電路的類型

同步復位

同步復位指的是當時鐘上升沿檢測到復位信號,執行復位操作,有效的時鐘沿是前提。實現同步復位通常意味著將復位信號與時鐘信號同步。

以下是一個簡單的例子,展示了如何使用同步復位來重置一個計數器:

module sync_reset_counter(  
    input wire clk,          // 時鐘信號  
    input wire rst,          // 同步復位信號(高電平有效)  
    input wire enable,       // 使能信號  
    input wire inc_dec,      // 增減控制信號(例如,1為增,0為減)  
    output reg [7:0] count   // 計數器輸出  
);  
  
always @(posedge clk) begin  
    if (rst) begin  
        // 當rst為高電平時,進行同步復位  
        count <= 8'h00; // 計數器被重置為0  
    end else if (enable) begin  
        // 如果復位信號無效且使能信號有效,則更新計數器  
        if (inc_dec) begin  
            // 如果inc_dec為高,則增加計數器  
            if (count < 8'hFF) // 防止計數器溢出  
                count <= count + 1'b1;  
        end else begin  
            // 如果inc_dec為低,則減少計數器  
            if (count > 8'h00) // 防止計數器下溢  
                count <= count - 1'b1;  
        end  
    end  
end  
  
endmodule

在這個例子中,rst是同步復位信號,它是一個高電平有效的信號。當rst為高時,在下一個clk的上升邊沿到來時,計數器count會被重置為0。與異步復位不同,同步復位不會立即發生,而是會在下一個時鐘邊沿發生時生效。

同步復位的優點如下:

能確保復位信號和時鐘信號的相位一致,從而避免由于信號傳輸延遲而導致的問題;

以同步的方式與其他信號進行控制,減少信號沖突的可能性;

避免由于時序問題(如時鐘閃爍、時鐘脈沖不穩定等)而導致的系統復位不準確或延遲;

便于仿真;

可以使所設計的系統成為 100%的同步時序電路,有利于時序分析,而且可綜合出較高的 Fmax;

由于只在時鐘有效電平到來時才有效,所以可以濾除高于時鐘頻率的復位毛刺,可有效避免因毛刺造成的亞穩態和錯誤。

同步復位也有一些缺點,缺點如下:

復位信號的有效時長必須大于時鐘周期,才能真正被系統識別并完成復位任務。由于線路上的延遲,可能需要多個時鐘周期的復位脈沖寬度。此外,很難保證復位信號到達各個寄存器的時序,這增加了設計的復雜性。

同步復位是依賴于時鐘信號的。如果電路中的時鐘信號出現問題,例如時鐘停振或者時鐘周期不穩定,那么同步復位可能無法完成,導致電路無法正常工作。

由于大多數的邏輯器件的目標庫內的 DFF 都只有異步復位端口,所以,倘若采用同步復位的話,綜合器就會在寄存器的數據輸入端口插入組合邏輯,這樣就會一方面額外增加 FPGA 內部的邏輯資源,另一方面也增加了相應的組合邏輯門時延。

異步復位

異步復位指的是無論時鐘沿是否到來,只要復位信號有效,就對系統進行復位。實現異步復位電路通常涉及在寄存器或狀態機的更新邏輯中包含一個復位信號。

以下是一個簡單的例子,展示了如何在Verilog中使用異步復位來重置一個計數器:

module async_reset_counter(  
    input wire clk,          // 時鐘信號  
    input wire rst_n,        // 異步復位信號(低電平有效)  
    input wire enable,       // 使能信號  
    input wire inc_dec,      // 增減控制信號(例如,1為增,0為減)  
    output reg [7:0] count   // 計數器輸出  
);  
  
always @(posedge clk or negedge rst_n) begin  
    if (!rst_n) begin  
        // 當rst_n為低電平時,進行異步復位  
        count <= 8'h00; // 計數器被重置為0  
    end else if (enable) begin  
        // 如果復位信號無效且使能信號有效,則更新計數器  
        if (inc_dec) begin  
            // 如果inc_dec為高,則增加計數器  
            if (count < 8'hFF) // 防止計數器溢出  
                count <= count + 1'b1;  
        end else begin  
            // 如果inc_dec為低,則減少計數器  
            if (count > 8'h00) // 防止計數器下溢  
                count <= count - 1'b1;  
        end  
    end  
end  
  
endmodule

在這個例子中,rst_n是異步復位信號,它是一個低電平有效的信號。當rst_n為低時,無論時鐘信號clk的狀態如何,計數器count都會被立即重置為0。當rst_n為高且enable信號也為高時,計數器會根據inc_dec信號的值進行增加或減少。

優點:

大多數目標器件庫的 DFF 都有異步復位端口,那么該觸發器的復位端口就不需要額外的組合邏輯,這樣就可以節省資源;

某些情況下,使用異步復位可以簡化邏輯設計。由于復位操作不依賴于時鐘信號,因此不需要額外的邏輯來同步復位信號和時鐘信號;

可以在任何時間響應復位信號,而不需要等待下一個時鐘邊沿。這意味著復位操作能夠立即發生;

在某些應用中,異步復位可以提高系統的可靠性。例如,在電源上電或復位按鈕被按下時,異步復位能夠確保系統迅速并可靠地進入已知狀態。

異步復位也有一些缺點,缺點如下:

最大的問題在于它屬于異步邏輯,問題出現在復位釋放時,而不是有效時,如果復位釋放接近時鐘有效沿,則觸發器的輸出可能進入亞穩態(此時 clk 檢測到的 rst_n 的狀態就會是一個亞穩態,即是 0 是 1是不確定的),從而導致復位失敗。

可能因為噪聲或者毛刺造成虛假復位信號(比如系統正常工作時突然復位)(注意:時鐘端口、清零和置位端口對毛刺信號十分敏感,任何一點毛刺都可能會使系統出錯,因此判斷邏輯電路中是否存在冒險以及如何避免冒險是設計人員必須要考慮的問題);

靜態定時分析比較困難,靜態時序分析一般是針對同步設計的,都是基于時鐘周期來分析時序的;

對于 DFT(DesignForTest 可測性設計)設計,如果復位信號不是直接來自于 I/O 引腳,在 DFT 掃描和測試時,復位信號必須被禁止,因此需要額外的同步電路;

在某些情況下,異步復位信號可能會與時鐘信號或其他輸入信號產生沖突,導致冒險現象(冒險條件)。這可能會導致系統進入不確定的狀態,需要進行額外的邏輯設計來避免這種情況。

總結下來,我們推薦使用異步復位、同步釋放的方式,并且復位信號為低電平有效。即:

1、復位信號到來的有效與否與 clk 無關,而且復位信號的撤除也與 clk 無關,但是復位信號的撤除是在下一個 clk 來到后才起的作用。

2、異步復位同步撤離的目的為了防止復位信號撤除時,可能產生的亞穩態。

這意味著復位操作是異步的(可以在任何時刻發生),但復位后的撤離(即恢復正常的邏輯操作)是同步的(在時鐘邊沿發生)。

以下是一個使用這種策略的計數器的Verilog代碼示例:

module async_reset_sync_release_counter(  
    input wire clk,          // 時鐘信號  
    input wire rst_n,        // 異步復位信號(低電平有效)  
    input wire enable,       // 使能信號  
    input wire inc,          // 增加控制信號  
    output reg [7:0] count   // 計數器輸出  
);  
  
// 初始化計數器為0,但注意這里不會立即生效,因為Verilog沒有真正的初始化語句  
reg [7:0] count_reg = 8'h00; // 使用局部變量進行初始化  
  
always @(posedge clk or negedge rst_n) begin  
    if (!rst_n) begin  
        // 異步復位,任何時候rst_n為低時,計數器立即被置0  
        count_reg <= 8'h00;  
    end else begin  
        // 同步撤離,在rst_n為高且時鐘上升邊沿到來時,根據enable和inc更新計數器  
        if (enable) begin  
            if (inc) begin  
                if (count_reg < 8'hFF) // 防止計數器溢出  
                    count_reg <= count_reg + 1'b1;  
            end  
        end  
    end  
end  
  
// 同步輸出到外部接口  
assign count = count_reg;  
  
endmodule

來源:https://blog.csdn.net/u011565038/article/details/139690846

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

    關注

    1639

    文章

    21885

    瀏覽量

    610835
  • asic
    +關注

    關注

    34

    文章

    1237

    瀏覽量

    121610
  • 寄存器
    +關注

    關注

    31

    文章

    5396

    瀏覽量

    122459
  • 復位電路
    +關注

    關注

    13

    文章

    324

    瀏覽量

    44954

原文標題:FPGA中復位電路的設計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    CPU與單片機的復位電路作用及基本復位方式

    在上電或復位過程中,控制CPU的復位狀態:這段時間內讓CPU保持復位狀態,而不是一上電或剛復位完畢就工作,防止CPU發出錯誤的指令、執行錯誤
    發表于 01-19 00:53 ?9734次閱讀
    CPU與單片機的<b class='flag-5'>復位</b><b class='flag-5'>電路</b>的<b class='flag-5'>作用</b>及基本<b class='flag-5'>復位</b><b class='flag-5'>方式</b>

    rc復位電路的電阻作用

    RC復位電路是一種常見的數字電路設計技術,主要用于將數字電路的輸出狀態恢復到初始狀態。在RC復位電路
    的頭像 發表于 12-14 15:10 ?2270次閱讀

    MCU中復位作用及機制復位電路作用

    MCU中復位作用及機制復位電路作用在上電或復位過程中,
    發表于 11-04 06:49

    單片機復位電路作用是什么

    復位電路作用在上電或復位過程中,控制CPU的復位狀態:這段時間內讓CPU保持
    發表于 11-18 06:46

    復位電路作用及基本的復位方式

    手動按鈕復位需要人為在復位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復位
    的頭像 發表于 09-06 09:40 ?11.7w次閱讀
    <b class='flag-5'>復位</b><b class='flag-5'>電路</b>的<b class='flag-5'>作用</b>及基本的<b class='flag-5'>復位</b><b class='flag-5'>方式</b>

    常見的復位電路類型作用詳談

    常見的復位電路類型作用詳談
    發表于 05-24 14:11 ?30次下載

    簡述復位電路概述以及方式和目的

    是有的電路需要時鐘信號那樣,而有的電路是不需要復位信號的。復位又分為同步復位和異步復位,這兩種各
    的頭像 發表于 06-28 09:49 ?7020次閱讀

    復位電路作用是什么

    復位電路是一個能讓電路回到原本狀態的設備,復位電路的操作原理可以說和計算機差不多,不過啟動的方式
    的頭像 發表于 08-07 10:53 ?3w次閱讀

    單片機的復位電路是怎樣工作的 單片機中復位電路作用方式

    單片機的復位電路是怎樣工作的 單片機中復位電路作用方式? 單片機的
    的頭像 發表于 10-17 18:17 ?3636次閱讀

    RC復位電路中R如何影響芯片復位?

    控制電荷釋放速度的作用。因此,不同的RC參數會影響芯片的復位時間、復位電平以及復位過程的穩定性等方面的特性。 在RC
    的頭像 發表于 10-25 11:07 ?1524次閱讀

    復位電路的電阻電容分別有什么作用?

    復位電路的電阻電容分別有什么作用? 復位電路是一種用于恢復電子設備正常工作狀態的電路。它通過將電
    的頭像 發表于 02-04 09:28 ?3464次閱讀

    雙管正激勵磁復位電路作用

    雙管正激勵磁復位電路是一種廣泛應用于電子設備中的電路,它具有多種功能和優點。 一、雙管正激勵磁復位電路
    的頭像 發表于 08-02 15:41 ?810次閱讀

    STM32復位電路復位芯片和阻容復位電路區別

    器系統中,復位電路是保證系統正常工作的重要部分。當系統出現異?;蛐枰匦聠訒r,復位電路能夠迅速將系統恢復到初始狀態。STM32微控制器的
    的頭像 發表于 08-06 10:26 ?2300次閱讀

    復位電路介紹 復位電路的原理及作用

    電路概述 復位電路是一種用于控制電子系統啟動或恢復到初始狀態的電路。當系統通電或者按下復位按鈕時
    的頭像 發表于 10-18 16:44 ?5552次閱讀

    復位電路的三種方式 復位電路的原理和作用

    ) 原理: 上電復位電路通常包含一個RC(電阻-電容)網絡。當電源首次接通時,電容充電需要一定的時間,這段時間內電容上的電壓較低,導致復位電路輸出低電平,觸發微
    的頭像 發表于 10-21 10:28 ?3103次閱讀
    主站蜘蛛池模板: 三级黄色一级视频 | 国产大片免费观看资源 | 美女被免费网站91色 | 香蕉视频在线免费播放 | 日色视频 | 可以免费观看的黄色网址 | 丁香网五月网 | 在线视频图片小说 | 国产三级三级三级 | 亚洲精品91大神在线观看 | 婷婷色爱区综合五月激情韩国 | 特黄色一级毛片 | 在线播放一区二区精品产 | 国产成人精品免费视频大全可播放的 | 2021国内精品久久久久影院 | 你懂的网站在线观看 | 综合欧美亚洲 | 人人玩人人添天天爽 | 欧美性video精品 | 美女久久久久久 | 亚洲一区视频 | 久久美女视频 | 电影一区二区三区 | 91大神在线精品视频一区 | 天堂最新版在线地址 | 好大好硬好深好爽想要免费视频 | 九九热在线免费 | 五月网址| 午夜神马福利免费官方 | mm131美女肉体艺术图片 | 6080午夜 | 国产精品永久免费 | 国产精品一区二区综合 | 国产女主播在线播放一区二区 | 欧美性a欧美在线 | 女人被狂躁视频免费网站 | 成人在线网 | 亚洲四虎永久在线播放 | 国产一区二区三区乱码 | 狠狠摸狠狠操 | 大黄蕉 |