一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1

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

2

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

3

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

無復(fù)位

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

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

reg [7:0] my_register;

always @(posedge clk) begin

my_register <= data_in;

end

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

異步復(fù)位

異步復(fù)位電路描述:在always語(yǔ)句中添加復(fù)位信號(hào)在敏感量列表中,即可實(shí)現(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ù)位的缺點(diǎn):

異步復(fù)位對(duì)復(fù)位信號(hào)要求很嚴(yán)格的,不然隨便一個(gè)毛刺就會(huì)把電路給復(fù)位掉的。

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

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

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

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

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

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

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

同步復(fù)位

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

reg [7:0] my_register;

always @(posedge clk) begin

if(rst)

my_register <= 8’h0;

else

my_register <= data_in;

end

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

總結(jié)

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

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

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

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






審核編輯:劉清

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

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

    關(guān)注

    31

    文章

    5434

    瀏覽量

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

    關(guān)注

    193

    文章

    1639

    瀏覽量

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

    關(guān)注

    13

    文章

    326

    瀏覽量

    45278

原文標(biāo)題:航空總線1553B接口設(shè)計(jì)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

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

    移位寄存器不同的初值

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

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

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

    寄存器尋址方式

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

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

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

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

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

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

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

    寄存器與移位寄存器

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

    移位寄存器的特點(diǎn)_移位寄存器工作原理

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

    移位寄存器的原理

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

    寄存器工作原理

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

    單片機(jī)工作寄存器作用 單片機(jī)常用專用寄存器

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

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

    移位寄存器是一種時(shí)序邏輯電路,能夠存儲(chǔ)和傳輸數(shù)據(jù)。它們由觸發(fā)組成,這些觸發(fā)的連接方式使得一個(gè)觸發(fā)的輸出可以作為另一個(gè)觸發(fā)
    的頭像 發(fā)表于 09-20 10:44 ?8947次閱讀
    什么是移位<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èi)下載
    發(fā)表于 11-20 14:57 ?2次下載
    <b class='flag-5'>寄存器</b>的<b class='flag-5'>工作</b>原理

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

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