當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]數(shù)字電路基礎(chǔ)知識(一)

真值表/卡諾圖

1.建立時間和保持時間

Setup time, Tsu 建立時間 在時鐘沿到來之前數(shù)據(jù)穩(wěn)定不變的時間,如果建立的時間不滿足,那么數(shù)據(jù)將不能在這個時鐘上升沿被穩(wěn)定的打入觸發(fā)器

Hold time, Th 保持時間 時鐘沿到來之后數(shù)據(jù)穩(wěn)定不變的時間,如果保持時間不滿足,那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器

Clock-to-Output Delay,Tco 數(shù)據(jù)輸出延遲,輸出響應(yīng)時間 當(dāng)時鐘有效沿變化后,數(shù)據(jù)從輸入端到輸出端的最小時間間隔。

觸發(fā)器輸出的響應(yīng)時間,也就是觸發(fā)器的輸出在clk時鐘上升沿到來之后多長的時間內(nèi)發(fā)生變化,也即觸發(fā)器的輸出延時。


數(shù)字電路基礎(chǔ)

數(shù)據(jù)到達(dá)時間Tda:


數(shù)字電路基礎(chǔ)

數(shù)據(jù)建立時間Tsu:


數(shù)字電路基礎(chǔ)

建立時間裕量(Setup Slack):


數(shù)字電路基礎(chǔ)

保持時間裕量(hold slack):


數(shù)字電路基礎(chǔ)

上述時序關(guān)系也解釋了為什么時鐘頻率過快或者數(shù)據(jù)延時太大,都會導(dǎo)致錯誤的時序。(與STA靜態(tài)時序分析有關(guān))


數(shù)字電路基礎(chǔ)

2.施密特觸發(fā)器

當(dāng)輸入電壓高于正向閾值電壓,輸出為高;當(dāng)輸入電壓低于負(fù)向閾值電壓,輸出為低;當(dāng)輸入在正負(fù)向閾值電壓之間,輸出不改變。

這種雙閾值動作被稱為遲滯現(xiàn)象,表明施密特觸發(fā)器有記憶性。

施密特觸發(fā)器有兩個穩(wěn)定狀態(tài),可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。例如將三角波、正弦波等變成矩形波。


數(shù)字電路基礎(chǔ)

3.格雷碼

任意兩個相鄰的碼字只有一位二進(jìn)制數(shù)不同。


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

可以使裝置做數(shù)字步進(jìn)時只改動最少的位元數(shù)以降低誤碼率。

4.鎖存器(latch)和觸發(fā)器(flip-flop)

都是時序邏輯(輸出不但與當(dāng)前輸入有關(guān)還和上一次的輸出有關(guān))

Latch是電平觸發(fā),輸出同所有輸入信號有關(guān),輸入信號變化,latch就變化;

Flip-flop受時鐘控制,只有在時鐘觸發(fā)時才采樣當(dāng)前輸入,產(chǎn)生輸出。

區(qū)別:latch沒有時鐘端,無法做到同步,輸出容易產(chǎn)生毛刺;如果用門電路來搭建,latch消耗的門資源比ff要少。

觸發(fā)器的電路圖由邏輯門組合而成,其結(jié)構(gòu)均由R-S鎖存器派生而來。

在R-S鎖存器的前面加一個由兩個與門和一個非門構(gòu)成的附加電路,則構(gòu)成D觸發(fā)器。


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

為什么需要觸發(fā)器:觸發(fā)器能保存數(shù)據(jù),保存電路狀態(tài);觸發(fā)器是在時鐘邊沿觸發(fā),用時鐘同步是讓整個電路能同步整齊劃一的工作;乘法器的計算部分是組合邏輯,不需要觸發(fā)器,計算后的結(jié)果可以用觸發(fā)器保存起來。

5.阻塞賦值(=)和非阻塞賦值(<=)

在同一個always塊中,阻塞賦值先計算RHS表達(dá)式,不允許其他verilog語句干擾,然后賦值給LHS,才允許其他賦值語句執(zhí)行。(其后的賦值語句是在前一句賦值語句結(jié)束后再開始賦值的)

非阻塞賦值開始時計算RHS的表達(dá)式,同時就更新LHS,賦值結(jié)束時停止更新。(也可以理解為一直在計算RHS,最后時刻更新LHS)這個過程中,其他verilog語句都能同時操作。

注意:

1.非阻塞賦值只能對寄存器變量賦值(reg),只能在initial和always塊中。

2.時序電路/鎖存器 建?!亲枞x值

用always塊建立組合邏輯電路——阻塞賦值

在同一個always塊建立時序和組合邏輯電路——非阻塞賦值

3.在一個always塊中不要既用阻塞由用非阻塞;不要在一個以上always塊中對同一個變量賦值

6.同步電路與異步電路

這里指的是時序電路。

組合邏輯電路:任意時刻的輸出僅僅取決于該時刻的輸入,與電路原來的狀態(tài)無關(guān)。

時序邏輯電路:任意時刻的輸出不僅取決于當(dāng)時的輸入,還取決于電路原來的狀態(tài)。(具有記憶功能)

根據(jù)各級觸發(fā)器時鐘端的連接方式可以將時序電路分為同步/異步。

同步時序電路所有操作都是在同一時鐘嚴(yán)格的控制下步調(diào)一致地完成的。

異步時序電路,不存在單一的主控時鐘,主要是用于產(chǎn)生地址譯碼器、FIFO和異步RAM的讀寫控制信號脈沖。

關(guān)于延時:

異步電路的延時:buffer或者兩級非門

同步電路的延時:大的延時:計數(shù)器;小的延時:D觸發(fā)器打節(jié)拍

7.跨時鐘域數(shù)據(jù)交換

進(jìn)行同步處理。

單bit數(shù)據(jù):打兩拍(兩級并不能完全消除亞穩(wěn)態(tài)危害,但是大大減少其發(fā)生概率)

多bit數(shù)據(jù):異步FIFO(或雙口RAM)(以某個時鐘讀,在以某個時鐘寫,空/滿標(biāo)志是關(guān)鍵)

多位數(shù)據(jù)也可以采用保持寄存器加握手信號的方法(多數(shù)據(jù),控制信號,地址信號)

8.關(guān)于亞穩(wěn)態(tài)

原因:在FPGA系統(tǒng)中,如果數(shù)據(jù)傳輸中不滿足觸發(fā)器的Tsu和Th,或者復(fù)位過程中復(fù)位信號的釋放相對于有效時鐘沿的恢復(fù)時間(recovery time)不滿足,就可能產(chǎn)生亞穩(wěn)態(tài),此時觸發(fā)器輸出端Q在有效時鐘沿之后比較長的一段時間處于不確定的狀態(tài),在這段時間里Q端在0和1之間處于振蕩狀態(tài),而不是等于數(shù)據(jù)輸入端D的值。這段時間稱為決斷時間(resolution time)。經(jīng)過resolution time之后Q端將穩(wěn)定到0或1上,但是穩(wěn)定到0或者1,是隨機的,與輸入沒有必然的關(guān)系。

只要系統(tǒng)中有異步元件,亞穩(wěn)態(tài)就無法避免

1.數(shù)據(jù)傳輸:數(shù)據(jù)在目的寄存器Tsu-Th時間窗口發(fā)生變化


數(shù)字電路基礎(chǔ)

2.異步復(fù)位:異步復(fù)位信號的撤銷時間在Trecovery(恢復(fù)時間)和Tremoval(移除時間)之內(nèi)


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

3.同步復(fù)位:輸入端Din為高電平,而且復(fù)位信號的撤銷時間在clk的Tsu和Th內(nèi)時候


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

常用FPGA器件的Tsu+Th約等于1ns,復(fù)位移除和恢復(fù)時間相加約等于1ns。

亞穩(wěn)態(tài)發(fā)生概率 = (建立時間 + 保持時間)/ 采集時鐘周期

——>

(1) 降低系統(tǒng)工作時鐘,增大系統(tǒng)周期,亞穩(wěn)態(tài)概率就會減小;

(2) 采用工藝更好的FPGA,也就是Tsu和Th時間較小的FPGA器件;

解決方法:

1.降低系統(tǒng)時鐘頻率

2.用反應(yīng)更快的FF(Tsu和Th時間較小)

3.對異步信號進(jìn)行同步處理:

多級D觸發(fā)器級聯(lián):大部分資料都說的是第一級寄存器產(chǎn)生亞穩(wěn)態(tài)后,第二級寄存器穩(wěn)定輸出概率為90%,第三極寄存器穩(wěn)定輸出的概率為99%(一般就搞個兩級);

采用FIFO對跨時鐘域數(shù)據(jù)通信進(jìn)行緩沖;

4.對復(fù)位電路采用異步復(fù)位、同步釋放方式處理。

最終用sys_rst_n做系統(tǒng)的復(fù)位信號

5.改善時鐘質(zhì)量,用邊沿變化快速的時鐘信號

9.靜態(tài)功耗與動態(tài)功耗

靜態(tài):晶體管狀態(tài)穩(wěn)定不變時的功耗(漏電流導(dǎo)致)

動態(tài):晶體管開關(guān)狀態(tài)變化(電路翻轉(zhuǎn))產(chǎn)生的功耗(大頭 70%~90%)

10.同步復(fù)位和異步復(fù)位


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

也可能綜合出:


數(shù)字電路基礎(chǔ)

優(yōu)點:保證信號同步;綜合為更小的觸發(fā)器;復(fù)位時時鐘可以過濾毛刺

使用同步復(fù)位可能使綜合工具無法分辨分辨復(fù)位信號和其他控制信號,導(dǎo)致進(jìn)行復(fù)位的控制邏輯遠(yuǎn)離觸發(fā)器:


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

不好的:


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

優(yōu)點:復(fù)位路徑上沒有延時;綜合工具能自動推斷出異步復(fù)位而不必加入任何綜合指令

異步復(fù)位的同步釋放:


數(shù)字電路基礎(chǔ)

11.補碼

在計算機系統(tǒng)中,數(shù)值一律用補碼來表示和存儲。原因在于,使用補碼,可以將符號位和數(shù)值域統(tǒng)一處理;同時,加法和減法也可以統(tǒng)一處理。此外,補碼與原碼相互轉(zhuǎn)換,其運算過程是相同的,不需要額外的硬件電路。

12.低功耗設(shè)計(系統(tǒng)問題)

設(shè)計層次越高,功耗改善的程度越大:

工藝級

版圖和晶體管級

PTL級和邏輯級

系統(tǒng)級


數(shù)字電路基礎(chǔ)


數(shù)字電路基礎(chǔ)

RTL級:

時鐘是大頭:門控時鐘:無計算任務(wù)的部分時鐘停下

預(yù)計算技術(shù):在一定的輸入條件下,使所有或部分輸入寄存器的負(fù)載無效,從而降低功耗

邏輯優(yōu)化:減少信號的翻轉(zhuǎn)

組合邏輯優(yōu)化:提取重復(fù)出現(xiàn)表達(dá)式、表達(dá)式替換、選擇性消除節(jié)點

路徑平衡:幾個輸入通過不同的路徑到達(dá)同一個門,要想辦法使各個路徑差不多長

系統(tǒng)級:

軟硬件劃分

指令級優(yōu)化

電源管理

cache低功耗設(shè)計

總線低功耗設(shè)計

總線信號編碼,減少翻轉(zhuǎn) 例如格雷碼

算法的優(yōu)化,包括流水線設(shè)計,并行設(shè)計

13.狀態(tài)機

以幾何圖形的方式描述時序邏輯的狀態(tài)轉(zhuǎn)移。

分類:

Moore:輸出(下一狀態(tài))只與當(dāng)前狀態(tài)有關(guān)

Mealy:輸出不僅與當(dāng)前狀態(tài)有關(guān),還與當(dāng)前輸入有關(guān)

狀態(tài)編碼:

二進(jìn)制編碼、 格雷碼 (Gray) 、獨熱碼 (one-hot) 、自定義編碼。

在小設(shè)計中可以考慮使用 Gray 碼或 one-hot。大設(shè)計中,不擔(dān)心邏輯資源不夠的話,可以考慮使用one-hot 編碼以提高速度。至于順序二進(jìn)制編碼,一般不予考慮。但是要達(dá)到最佳性能,需要使用更高級的編碼算法,針對給定的狀態(tài)機進(jìn)行分析。

描述方法:

兩段式:兩個always模塊,其中一個always模塊采用同步時序的方式描述狀態(tài)轉(zhuǎn)移,而另一個模塊采用組合邏輯的方式判斷狀態(tài)轉(zhuǎn)移條件、描述狀態(tài)轉(zhuǎn)移規(guī)律

三段式:

三個 always 模塊,一個 always 模塊采用同步時序的方式描述狀態(tài)轉(zhuǎn)移,一個采用組合邏輯的方式判斷狀態(tài)轉(zhuǎn)移條件、描述狀態(tài)轉(zhuǎn)換規(guī)律,第三個 always模塊使用同步時序電路描述每個狀態(tài)的輸出

電梯:


數(shù)字電路基礎(chǔ)

當(dāng)前狀態(tài)current status——事件event——轉(zhuǎn)移狀態(tài)next status

自動售貨機

14.FPGA內(nèi)部的資源

IOB:可編程輸入輸出單元,芯片與外界電路接口,完成不同電氣特性下對輸入輸出信號的驅(qū)動與匹配要求

CLB:可編程邏輯快,多個Slice和附加邏輯構(gòu)成(Xilinx),可以實現(xiàn)組合邏輯、時序邏輯、配置成分布式RAM(LUT配置成)

BRAM:塊RAM,靈活,可以配置成單端口RAM,雙端口RAM,F(xiàn)IFO,CAM(內(nèi)容地址存儲器)等,可以根據(jù)需要改變位寬和長度

DCM:數(shù)字時鐘管理模塊,

專用硬核:CPU,乘法器,DSP等

【 存儲資源:Block RAM(一些固定大小的存儲塊,要用就用一整塊,不占用邏輯資源,速度快);分布式RAM(靈活)】

【 可以實現(xiàn)RAM/ROM/CAM 的資源:block ram,flip-flop,LUT 】

15.FPGA開發(fā)流程

個人習(xí)慣:分析系統(tǒng)劃分模塊——個子模塊HDL實現(xiàn)——各子模塊前仿真——組成系統(tǒng)功能仿真——邏輯綜合——布局布線——靜態(tài)時序分析——后仿真——上板測試

盡量在底層模塊做邏輯,在高層盡量做例化,頂層模塊只做例化

前仿真:純粹的功能仿真,驗證電路的功能是否符合設(shè)計要求,不考慮電路門延遲與線延遲。

后仿真:綜合后的功能仿真和布局布線后的時序仿真。是指電路已經(jīng)映射到特定的工藝環(huán)境下,綜合考慮電路的路徑延遲與門延遲的影響,驗證電路是否在一定時序條件下滿足設(shè)計構(gòu)想的過程,是否存在時序違規(guī)。(必做)

16.FPGA——乘法器的設(shè)計

常見的有移位相加法,加法樹法,查表法,混合法……

1.移位相加

begin

dout=0;

for(i=0;i

dout=dout+((din_a_buf[i]==1)?(din_b_buf<

end

2.加法樹

上面的設(shè)計中,會產(chǎn)生大量組合邏輯,這就帶來了大量的延遲從而使乘法器的速率受到限制,為了提高速度,可以采用流水線的方法,將組合邏輯分割成一個一個小的組合邏輯,中間加上觸發(fā)器用來鎖存數(shù)據(jù),這樣就可以大大提高頻率,引入觸發(fā)器僅僅是帶來了延遲而已

begin//流水線實現(xiàn)

din_a_buf<=din_a;

din_b_buf<=din_b;

buf0<=din_b_buf[0]?din_a_buf:0;

buf1<=din_b_buf[1]?din_a_buf<<1:0;

buf2<=din_b_buf[2]?din_a_buf<<2:0;

buf3<=din_b_buf[3]?din_a_buf<<3:0;

buf4<=din_b_buf[4]?din_a_buf<<4:0;

buf5<=din_b_buf[5]?din_a_buf<<5:0;

buf6<=din_b_buf[6]?din_a_buf<<6:0;

buf7<=din_b_buf[7]?din_a_buf<<7:0;

buf01<=buf0+buf1;

buf23<=buf2+buf3;

buf45<=buf4+buf5;

buf67<=buf6+buf7;

buf02<=buf01+buf23;

buf46<=buf45+buf67;

dout<=buf02+buf46;

end

3.查找表

查表法,就是建一個表,里面存放了所有的乘法結(jié)果,乘數(shù)和被乘數(shù)用來作為地址去查找里面的乘積,此種方法可以大大提高乘法的速率,但是當(dāng)乘法位數(shù)很大時會要求產(chǎn)生很大的表格,所以此種方法適合位數(shù)較小的乘法,特別適合有一個乘數(shù)為固定的乘法,如濾波器中的乘法就可以采用此種方法設(shè)計

【查找表本質(zhì)上是一個RAM,例如4輸入的LUT可以看成有4位地址線的16x1的RAM,使用時輸入地址-查表-輸出】

17.FPGA——除法器的設(shè)計

對于2:長除法: 比較 相減 移位(狀態(tài)機實現(xiàn))

16位 / 8位https://blog.csdn.net/stanary/article/details/77426697

首先被減數(shù)16位在前邊拼接7位0,拼接后不會改變被除數(shù)的大小,而且方便向下操作。拼接后將此23位數(shù)稱為mid。之后取mid的高8位與除數(shù)作比較,若大于除數(shù),則減去除數(shù),結(jié)果低位拼接一。若小于除數(shù),則驗證最高位是不是0,若是則左移一位,結(jié)果拼接0.若不是則用高九位減去除數(shù),結(jié)果拼接兩個0.然后將差和后15位以及末尾一個0拼接,實現(xiàn)結(jié)果循環(huán)向前。在計算的同時用計數(shù)器計數(shù)來確定運行到的位數(shù)。在進(jìn)行以上操作,最終得到結(jié)果。

8位 / 8位http://blog.chinaaet.com/justlxy/p/5100052068

將被除數(shù),擴(kuò)展成16位的數(shù)據(jù),低8位為被除數(shù)的值,高八位的值全為0。有開始信號,對16位數(shù)據(jù)data賦值,然后開始運算。比較data的高八位和除數(shù)的值,如果大于0,說明被除數(shù)大,將此時商置1,賦值給data的最低位,然后將被除數(shù)高八位減去除數(shù)。然后將data向左移位一位,繼續(xù)比較。最終計算8次后。Data的高8位數(shù)據(jù)就為所求的余數(shù),低八位就為所求的商。

或者把除法轉(zhuǎn)換成了查表、乘法和移位:

18.奇數(shù)分頻

19.靜態(tài)時序分析

STA,Static Timing Analysis

靜態(tài)時序分析(STA)告訴我們電路的實際表現(xiàn)如何,而提供約束(SDC文件,對時序的一些要求)來告訴分析工具我們希望電路的表現(xiàn)應(yīng)該是怎樣。

20.競爭與冒險

某一輸入變量經(jīng)過不同的傳播路徑,到達(dá)電路某個匯合點的時間有先有后,這種現(xiàn)象叫競爭;

由于競爭使輸出發(fā)生瞬時錯誤的現(xiàn)象叫冒險。

判斷方法:代數(shù)法(布爾表達(dá)式中有相反的信號);卡諾圖(有兩個相切的卡諾圈,并且相切處沒有被其他的卡諾圈包圍);實驗法:示波器觀察

解決方法:加濾波電路,消除毛刺;加選通信號,避開毛刺;增加冗余項,消除邏輯冒險

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉