精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

寄存器怎么賦初值?。窟@電路怎么工作呢?

FPGA之家 ? 來源:FPGA之家 ? 2023-04-19 14:36 ? 次閱讀

關于復位

數字電路中,電路通過復位來啟動,復位猶如數字電路的“起搏器”,主要有下面三種方式:

1

無復位:天生就強壯著,上電就啟動;

2

異步復位:好心人路過,隨便踢了一腳,起搏了,這完全沒有心理準備,隨時都有可能復活啊;

3

同步復位:專業救援隊,手按住胸口,不起博按住不放啊。直到聽到“砰砰”聲才離開,非常關鍵,必須要按住一會會

無復位

沒見過這樣寫代碼的,竟然沒有復位,老師都說數字電路離不開復位的,沒有復位,寄存器怎么賦初值?。繘]有確定的初值,這電路怎么工作呢?

其實,不用擔心,FPGA上電之后,寄存器初始值默認為“0”,當然,也可以人為的賦初值。下面為無復位的代碼:

reg [7:0] my_register;

always @(posedge clk) begin

my_register <= data_in;

end

如果沒有復位信號,省了很多資源,編譯和布線時間也縮短不少,如果規模很大,對提高設計整體性能也是有幫助的。但是在數字電路設計中,我們很少不用復位電路。到是我們經常利用FPGA這個特性,自己產生內部復位電路。

異步復位

異步復位電路描述:在always語句中添加復位信號在敏感量列表中,即可實現異步復位。

reg [7:0] my_register;

always @(posedge clk,posedge rst) begin

if(rst)

my_register <= 8’h0;

else

my_register <= data_in;

end

異步復位的缺點:

異步復位對復位信號要求很嚴格的,不然隨便一個毛刺就會把電路給復位掉的。

另外,異步復位信號依賴于FPGA內部的傳導延時,因此,在微小的電壓或溫度差異下,設計都有可能輸出錯誤,設計的可移植性也很差。上面不是說了嘛,這隨便一腳提過來,有時候能感覺到,有時候感覺不到啊。冬天穿個大棉襖,就得使個大勁才能提醒。

正因為對不同寄存器延遲是不同的,所以容易引發間斷性設計問題。怎么理解呢?

如圖所示,2 bit的移位寄存器組成一個環,復位后,左邊寄存器清零,右邊寄存器置位,而且都在同一上升沿觸發,所以,如果左邊寄存器上升沿來的時候,復位信號已經釋放掉了,但是右邊寄存器還處于復位狀態,這個時候數據就錯誤。

4c222f22-de7c-11ed-bfe3-dac502259ad0.png

異步復位的優點:

異步復位不依賴于時鐘。所以如果時鐘是外部輸入的,而且時鐘有可能丟失,例如處于省電模式時,只能使用異步復位。

另外一個優勢是設計更快的物理實現。相對于同步復位,異步復位有更寬松的時序約束。從而布局布線工具使用更少的時間便可達到約束條件。

同步復位

同步復位就是非常專業,不留一點馬虎,和他的名字一樣,只在時鐘的有效沿發生,所以一個有效的同步信號,至少要維持一個時鐘周期(把你叫不醒,是不會停的)。由于僅僅在時鐘的有效沿有效,所以可以濾除復位信號上的毛刺,電路可靠性好很多。

reg [7:0] my_register;

always @(posedge clk) begin

if(rst)

my_register <= 8’h0;

else

my_register <= data_in;

end

所以,總結一下。其優點是“彌補了異步復位的所有缺點”,其缺點是“沒有異步復位的優點“”。這個總結夠簡單吧。

總結

我們熟悉了3種復位方式,了解了他們的脾氣,那就總結一下,在我們平時設計中如何使用他們。

盡量用同步復位,如果你的規模不是特別大,雖然占有布線資源多一點,但是對系統可靠性還是有幫助的。

規模很大的時候,可以考慮混和復位方式,在什么場合呢?比如說設計中有多個IP核和功能模塊,要求有不同的復位方式,這個時候就要求混和復位方式,另外,還有電路延遲,大型電路中兩個模塊之間信號延遲可能超過10ns,如果時鐘周期為3ns,需要3個時鐘周期才能通過,所以,大型設計中完全同步是非常不容易的。如圖所示為一個復雜的混和復位樹。各種復位都用上了。

4c396926-de7c-11ed-bfe3-dac502259ad0.jpg






審核編輯:劉清

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

    關注

    1626

    文章

    21678

    瀏覽量

    602034
  • 寄存器
    +關注

    關注

    31

    文章

    5325

    瀏覽量

    120052
  • 數字電路
    +關注

    關注

    193

    文章

    1601

    瀏覽量

    80513
  • 復位電路
    +關注

    關注

    13

    文章

    322

    瀏覽量

    44545

原文標題:航空總線1553B接口設計

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    寄存器是什么?怎么操作寄存器點亮LED燈?

    寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發組成。在集成電路設計中,寄存器可分為電路
    的頭像 發表于 07-21 16:59 ?3921次閱讀
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>點亮LED燈?

    移位寄存器不同的初值

    我想實現一個功能:條件結構里面是數值為0或者為1的時候實現加2或者加1,當程序第一次運行時如果數值是0的話,我給移位寄存器初值為100,如果第一次運行時數值是1的話,我給移位寄存器初值
    發表于 11-01 10:47

    數據結構封裝后如果在某些場景下需要設置為寄存器初值時該怎么做

    的example便可以正常使用了初值問題有時候對于設置為寄存器的變量,我們需要進行初值,而像上面的example,直接調用data的in
    發表于 07-01 15:01

    寄存器尋址方式

    寄存器尋址方式   寄存器尋址是對由指令選定的工作寄存器(R0--R7)進行讀/寫,由指令操作碼字節的最低3位指明所尋址的工作
    發表于 03-14 15:29 ?2775次閱讀

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內的組成部分。寄存器是有限存貯容量
    發表于 03-08 14:26 ?2.2w次閱讀

    數據寄存器,數據寄存器是什么意思

    數據寄存器,數據寄存器是什么意思 數據寄存器數據寄存器包括累加AX、基址寄存器BX、計數
    發表于 03-08 14:38 ?1.2w次閱讀

    移位寄存器工作原理是什么?

    移位寄存器工作原理是什么? 把若干個觸發串接起來,就可以構成一個移位寄存器。由4個邊沿D 觸發構成的4位移位
    發表于 03-08 14:56 ?4.5w次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實現。
    發表于 05-20 11:47 ?0次下載

    移位寄存器的特點_移位寄存器工作原理

    目前移位寄存器電路中已經得到普遍使用。本文以移位寄存器為中心。主要介紹了移位寄存器分類、移位寄存器的特點,以及詳細的說明了移位
    發表于 12-22 15:20 ?4.9w次閱讀
    移位<b class='flag-5'>寄存器</b>的特點_移位<b class='flag-5'>寄存器</b><b class='flag-5'>工作</b>原理

    移位寄存器的原理

    移位寄存器按照不同的分類方法可以分為不同的類型。 如果按照移位寄存器的移位方向來進行分類, 可以分為左移移位寄存器、移位寄存器和雙向移位寄存器
    發表于 07-15 09:38 ?7.5w次閱讀
    移位<b class='flag-5'>寄存器</b>的原理

    寄存器工作原理

    寄存器工作原理 寄存器是CPU內部用來存放數據的一些小型存儲區域,用來暫時存放參與運算的數據和運算結果。其實寄存器就是一種常用的時序邏輯電路
    發表于 02-20 14:02 ?8347次閱讀

    單片機工作寄存器作用 單片機常用專用寄存器

    除了通用寄存器(如累加、通用寄存器等),單片機中還會有特定功能的寄存器,如定時寄存器、中斷控
    的頭像 發表于 04-08 14:46 ?7370次閱讀

    什么是移位寄存器?數字電路中的寄存器類型有哪些?

    移位寄存器是一種時序邏輯電路,能夠存儲和傳輸數據。它們由觸發組成,這些觸發的連接方式使得一個觸發的輸出可以作為另一個觸發
    的頭像 發表于 09-20 10:44 ?8037次閱讀
    什么是移位<b class='flag-5'>寄存器</b>?數字<b class='flag-5'>電路</b>中的<b class='flag-5'>寄存器</b>類型有哪些<b class='flag-5'>呢</b>?

    寄存器工作原理

    電子發燒友網站提供《寄存器工作原理.zip》資料免費下載
    發表于 11-20 14:57 ?1次下載
    <b class='flag-5'>寄存器</b>的<b class='flag-5'>工作</b>原理

    移位寄存器工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一種用于在數字電路中實現數據移位操作的基本電路元件。它由多個觸發以及相關控制電路組成,具有存儲、接受和移動數據的功能。移位
    的頭像 發表于 01-18 10:52 ?7413次閱讀