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

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

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

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

寄存器怎么賦初值啊?這電路怎么工作呢?

FPGA之家 ? 來源:FPGA之家 ? 2023-04-19 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于復(fù)位

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

1

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

2

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

3

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

無復(fù)位

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

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

reg [7:0] my_register;

always @(posedge clk) begin

my_register <= data_in;

end

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

異步復(fù)位

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

reg [7:0] my_register;

always @(posedge clk,posedge rst) begin

if(rst)

my_register <= 8’h0;

else

my_register <= data_in;

end

異步復(fù)位的缺點:

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

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

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

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

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

異步復(fù)位的優(yōu)點:

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

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

同步復(fù)位

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

reg [7:0] my_register;

always @(posedge clk) begin

if(rst)

my_register <= 8’h0;

else

my_register <= data_in;

end

所以,總結(jié)一下。其優(yōu)點是“彌補了異步復(fù)位的所有缺點”,其缺點是“沒有異步復(fù)位的優(yōu)點“”。這個總結(jié)夠簡單吧。

總結(jié)

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

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

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

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






審核編輯:劉清

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

    關(guān)注

    1660

    文章

    22432

    瀏覽量

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

    關(guān)注

    31

    文章

    5611

    瀏覽量

    130109
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1659

    瀏覽量

    83399
  • 復(fù)位電路
    +關(guān)注

    關(guān)注

    13

    文章

    332

    瀏覽量

    45903

原文標題:航空總線1553B接口設(shè)計

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    移位寄存器不同的初值

    我想實現(xiàn)一個功能:條件結(jié)構(gòu)里面是數(shù)值為0或者為1的時候?qū)崿F(xiàn)加2或者加1,當程序第一次運行時如果數(shù)值是0的話,我給移位寄存器初值為100,如果第一次運行時數(shù)值是1的話,我給移位寄存器初值
    發(fā)表于 11-01 10:47

    數(shù)據(jù)結(jié)構(gòu)封裝后如果在某些場景下需要設(shè)置為寄存器初值時該怎么做

    的example便可以正常使用了初值問題有時候?qū)τ谠O(shè)置為寄存器的變量,我們需要進行初值,而像上面的example,直接調(diào)用data的in
    發(fā)表于 07-01 15:01

    寄存器尋址方式

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

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

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

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

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

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

    寄存器與移位寄存器

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

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

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

    移位寄存器的原理

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

    寄存器工作原理

    寄存器工作原理 寄存器是CPU內(nèi)部用來存放數(shù)據(jù)的一些小型存儲區(qū)域,用來暫時存放參與運算的數(shù)據(jù)和運算結(jié)果。其實寄存器就是一種常用的時序邏輯電路
    發(fā)表于 02-20 14:02 ?1w次閱讀

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

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

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

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

    寄存器工作原理

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

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

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