




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
構(gòu)造體邏輯描述第一頁,共35頁。邏輯描述根據(jù)邏輯表達(dá)式或真值表進(jìn)行描述程序簡單,易于綜合,結(jié)果最優(yōu)。對于復(fù)雜實體,難以根據(jù)功能反推得邏輯表達(dá)式或真值表,故多用于細(xì)節(jié)的實現(xiàn) 第二頁,共35頁。邏輯描述基本語句:并行信號賦值語句。并行信號賦值語句的特點并行性:執(zhí)行不依賴于書寫順序延遲性:必須要有延遲——對應(yīng)硬件并行信號賦值語句格式:信號名<=延遲選項運算表達(dá)式延遲表達(dá)式inertial(默認(rèn)),transportS<=xxoryafter10ns;第三頁,共35頁。并行信號賦值語句不允許有變量賦值<=前不能出現(xiàn)變量,只能是信號進(jìn)程之間用信號聯(lián)系,不能由變量聯(lián)系
“運算表達(dá)式”部分須為一個或多個信號的運算表達(dá)式這些信號相當(dāng)于敏感信號,發(fā)生變化時才觸發(fā)語句執(zhí)行執(zhí)行一次後,又進(jìn)入等待,等下次信號發(fā)生變化第四頁,共35頁。對全加器進(jìn)行邏輯描述的程序:Architectureb_adderoffull_adderis Signals:bit;Begin s<=xXORyafter10ns; Sum<=sXORCinafter20ns; Cout<=(sANDCin)OR(xANDy)after20ns;Endb_adder;第五頁,共35頁。信號的延遲信號賦值語句格式:信號名<=延遲選項運算表達(dá)式延遲表達(dá)式;延遲選項:慣性延遲:器件延遲,對于持續(xù)時間短于器件慣性的脈沖在器件上的傳輸進(jìn)行限制傳輸延遲:導(dǎo)線延遲,無論輸入脈沖多窄都能在輸出端不失真地再現(xiàn)第六頁,共35頁。信號延遲的意義更真實地反映硬件保證模擬結(jié)果的正確性RS觸發(fā)器:
begin --(已將q初始化為1,qb為0) q<=snandqbafter20ns; qb<=rnandqafter20ns; end….qrqbs1010101020ns40ns60ns0ns第七頁,共35頁。信號延遲的意義如果沒有指定延遲時間δ延遲(?t延遲,極小量,大于零,但小于任何指定的延時)RS觸發(fā)器:
begin --(已將q初始化為1,qb為0) q<=snandqb; qb<=rnandq; end….qrqbs10101010δ2δ3δ0第八頁,共35頁。慣性延遲實際器件對過短脈沖無響應(yīng)信號名<=reject時間值inertial運算表達(dá)式延遲表達(dá)式;Reject后面的時間值為短脈沖閾值持續(xù)脈沖寬度大于該值的可以被傳輸,過濾毛刺缺省reject時,閾值由第一個after後的延遲值決定Y<=reject3nsinertial‘1’after5ns;--脈寬3X<=inertial‘1’after5ns; --脈寬5注意P189第九頁,共35頁。傳輸延遲無論脈寬多窄都能無失真?zhèn)鬏敚〝?shù)據(jù)線)信號名<=transport運算表達(dá)式延遲表達(dá)式;延遲表達(dá)式表示在導(dǎo)線上產(chǎn)生的延遲Sig_out<=transportsig_inafter20ns;Sig_inSig_out101020ns40ns60ns0ns第十頁,共35頁。事件的先后與延遲Ifsig_in=‘1’then Sig_out<=transportsig_inafter60ns;Else
Sig_out<=transportsig_inafter20ns;Endif; sig_in為敏感信號,跳變兩次,故上述if語句被執(zhí)行兩次Sig_inSig_out101020ns40ns60ns0ns第十一頁,共35頁。實際設(shè)計中,并行信號一般不寫延遲表達(dá)式,而用默認(rèn)延遲,尤其是邏輯選通信號(信號直接賦值)。模擬開關(guān)等選通時間較慢,需指定延遲,如模擬多路選擇器。WithCselect S<=s0after50nswhen0; S<=s1after50nswhen1; S<=s2after50nswhen2; S<=s3after50nswhen3;第十二頁,共35頁。條件信號賦值語句條件賦值語句指定在不同的條件下對信號進(jìn)行不同的賦值類似于if條件順序語句格式:[標(biāo)號:]信號<=延遲選項
表達(dá)式1when條件1else
……
表達(dá)式n-1when條件n-1else
表達(dá)式n;特殊形式的并行信號賦值語句第十三頁,共35頁。等價于含有一個if語句的進(jìn)程:
process(敏感信號表)
begin
if條件1then
信號<=延遲選項表達(dá)式1;
……
elsif條件n-1then
信號<=延遲選項表達(dá)式n-1;
else
信號<=延遲選項表達(dá)式n;
endif;
endprocess;
第十四頁,共35頁。例:
y<=transport
'1'afterDelaywhenA=1andB=1else
'0'afterDelay;等價于:
process(A,B)
begin
ifA=1andB=1then
y<=transport'1'afterDelay;
else
y<=transport'0'afterDelay;
endif;
endprocess;第十五頁,共35頁。選擇信號賦值語句格式:
with選擇表達(dá)式select
信號<=延遲選項
表達(dá)式1when分支1,
……
表達(dá)式nwhen分支n;類似于case分支語句特殊形式的并行信號賦值語句第十六頁,共35頁。等價于
process(敏感信號表)
begin
case
選擇表達(dá)式is
when
分支1=>
信號<=延遲選項表達(dá)式1;
……
when
分支n=>
信號<=延遲選項表達(dá)式n;
endcase;
endprocess;
第十七頁,共35頁。例: withSelselect
Dout<=
“0001”
when
“00”,
“0010”
when
“01”,
“0100”
when
“10”,
“1000”
when
“11”;
等價于:
process(Sel)
begin
caseSelis
when"00"=>
Dout<="0001";
when"01"=>
Dout<="0010";
when"10"=>
Dout<="0100";
when"11"=>
Dout<="1000";
endcase;
endprocess;第十八頁,共35頁。條件信號賦值語句的優(yōu)先級Entitypriority_encoderisPort(I:instd_logic_vector(7downto0);A:outstd_logic_vector(2downto0));end;ArchitectureDataofpriority_encoderisBeginA<=“111”whenI(7)=‘1’else“110”whenI(6)=‘1’else“101”whenI(5)=‘1’else“100”whenI(4)=‘1’else“011”whenI(3)=‘1’else“010”whenI(2)=‘1’else“001”whenI(1)=‘1’else“000”whenI(0)=‘1’else“111”;end高低優(yōu)先級I7I0帶有輸入優(yōu)先級的編碼器(先被判斷的優(yōu)先級最高,如同if語句):100000010011000000001111
111101011第十九頁,共35頁。并行語句中的條件賦值語句和選擇賦值語句分別等價于只含有條件結(jié)構(gòu)(if)和選擇結(jié)構(gòu)(case)的進(jìn)程。要注意并行語句中沒有if和case語句的形式,只有with和when條件信號賦值和選擇信號賦值語句只能出現(xiàn)在Architecture等結(jié)構(gòu)中,而不能出現(xiàn)在進(jìn)程和子程序中。第二十頁,共35頁。信號源和決斷信號信號源(signalsource)是指對該信號賦值的進(jìn)程,如果一個進(jìn)程中為某一個信號賦值,則稱這個進(jìn)程是該信號的一個源。在并行語句結(jié)構(gòu)中,一個并行賦值語句即為一個信號源。例:
architectureArchiofExamis
begin
F<=transport1after1ns;
F<=transport2after1ns;
endArchi;F有2個信號源(若F事先未被定義為決斷信號,則無法編譯通過)第二十一頁,共35頁。決斷信號(resolvedsignal)一個信號通常只具有一個信號源,有時出現(xiàn)多個源驅(qū)動同一個信號的情況“線或”或者“線與”是一種典型的例子。在“線或”或者“線與”的電路中,傳遞給一個元件的值是多個門的輸出線連在一起的結(jié)果。這時需要對多個源得到的信號值進(jìn)行決斷,以便得到一個確定的值。VHDL為設(shè)計者提供了這種功能。在VHDL中,具有多個驅(qū)動源的信號叫做決斷信號。從邏輯上,先有決斷信號,后有決斷函數(shù);但從語法上,先定義決斷函數(shù),再根據(jù)決斷函數(shù)定義決斷信號。第二十二頁,共35頁。決斷函數(shù)resolutionfunction:由用戶編寫,用以指定對信號決斷的方法的函數(shù)決斷信號即用決斷函數(shù)來定義的信號,格式:Signal決斷信號名:決斷函數(shù)名
[類型][賦初值];輸入:基類型是決斷類型的一維非限定性數(shù)組值,輸出:一個決斷類型的值。例如,已經(jīng)定義了下面的類型聲明;typeBit4is(X,1,0,Z);typeBit4_Vectorisarray
(Integerrange<>)
ofBit4;
如果一個數(shù)據(jù)類型為Bit4的信號有多個驅(qū)動源,那么我們可以聲明一個用以決斷Bit4這種類型信號的決斷函數(shù),如下所示:functionWired_Or(Input:Bit4_Vector)returnBit4;第二十三頁,共35頁。用這個決斷函數(shù)定義決斷類型,再用此決斷類型去定義決斷信號:subtype
Resolved_Wire
is
Wired_OrBit4;--決斷類型,帶有決斷函數(shù)名的子類型定義
signalResolved_Signal:Resolved_Wire;--決斷信號,其類型為決斷類型
也可以將決斷信號直接包含在信號聲明中,即把上面的決斷類型和決斷信號的聲明合在一起:
signalResolved_Signal:Wired_OrBit4;
完整例子第二十四頁,共35頁。決斷信號需要在聲明信號類型時特別指明。一個決斷信號必須預(yù)先給定一個與之關(guān)聯(lián)的決斷函數(shù),以便在各個源的值不相同時按照決斷函數(shù)的規(guī)定得到確定的值。如果一個非決斷信號含有多個源,則是不允許的,將導(dǎo)致語法錯誤。第二十五頁,共35頁。塊語句:VHDL語言結(jié)構(gòu)體的子結(jié)構(gòu)采用子結(jié)構(gòu)的原因1、電路規(guī)模的日益增大;2、增加設(shè)計的條理性;3、分工合作的需要;4、增強可讀性,便于共享和交流;子結(jié)構(gòu)的分類塊語句結(jié)構(gòu)、進(jìn)程語句結(jié)構(gòu)、子程序結(jié)構(gòu)第二十六頁,共35頁。塊語句結(jié)構(gòu)思想在傳統(tǒng)的硬件電路設(shè)計過程中,一個大規(guī)模的硬件電路設(shè)計往往包含一個總電路原理圖和若干張子原理圖。對于VHDL語言描述來說,如果一個硬件電路設(shè)計的結(jié)構(gòu)體對應(yīng)于總電路原理圖,那么這時每一子原理圖就可以采用一個塊語句結(jié)構(gòu)來進(jìn)行描述。這就是塊語句結(jié)構(gòu)思想:塊即模塊。第二十七頁,共35頁。一、塊語句的語法結(jié)構(gòu)[塊標(biāo)號:]BLOCK[衛(wèi)士表達(dá)式][類屬子句[類屬接口表;]];[端口子句[端口接口表;]];[塊說明部分];BEGIN<塊語句部分>;ENDBLOCK[塊標(biāo)號];塊標(biāo)號:用來標(biāo)識該塊語句的標(biāo)識符;衛(wèi)士表達(dá)式:用作塊語句的保護(hù);類屬子句:用于類屬參數(shù)的定義;端口子句:用于與外部接口的定義;塊說明部分:對塊語句中要用到的信號、常數(shù)、元件和子程序等進(jìn)行說明;塊語句部分:描述塊語句的具體功能,可包含結(jié)構(gòu)體中的任何并行描述語句第二十八頁,共35頁。二、塊語句的保護(hù)(1)塊語句保護(hù)的原因1、簡單塊語句仿真時會被無條件地執(zhí)行;2、實際的硬件電路只有在滿足一定條件時才會工作;綜合1、2兩點,塊語句應(yīng)通過一種特殊的控制方式來實現(xiàn),即進(jìn)行塊語句的保護(hù)。塊語句保護(hù)的方法通過衛(wèi)士表達(dá)式來進(jìn)行控制:衛(wèi)士表達(dá)式為真時,執(zhí)行塊語句;否則不執(zhí)行塊語句。第二十九頁,共35頁。二、塊語句的保護(hù)(2)塊語句保護(hù)的實例——鎖存器ARCHITECTURErtlOFdffISBEGINblock1:BLOCK(clk=’1’)--(衛(wèi)士表達(dá)式)BEGINq<=GUARDEDdAFTER3ns;qb<=GUARDED(NOTd)AFTER5ns;ENDBLOCKblock1;ENDrtl;第三十頁,共35頁。三、塊語句的一個完整實例一位全加器ARCHITECTURErtlOFfull_adderISBEGINexample:BLOCKPORT(x:INstd_logic;y:INstd_logic;Cin:INstd_logic;Cout:OUTstd_logic;Sum:OUTstd_logic);PORTMAP(x=>A,y=>B,Cin=>Cin,Cout=>Co,Sum=>S);SIGNALtmp1,tmp2:std_l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吳家窯11號線施工方案
- 路基堆土預(yù)壓施工方案
- 提灌站維護(hù)施工方案
- 福建海鮮冷庫施工方案
- 鉆空施工方案
- 年加工300萬噸尾礦廢料改擴建及技術(shù)改造項目環(huán)評報告表
- 一級建造師瀝青施工方案
- 海南汽車變速箱保稅維修項目環(huán)評報告表
- 蒼南縣二模數(shù)學(xué)試卷
- 洛陽戶外兒童游樂施工方案
- 0-9任意四位數(shù)手機密碼排列組合全部數(shù)據(jù)列表
- 《非洲民間故事》知識考試題庫附答案(含各題型)
- JJF1069-2012法定計量檢定機構(gòu)考核規(guī)范
- 中國戲曲 昆曲學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 設(shè)計失效分析DFMEA經(jīng)典案例剖析
- 點亮文明 課件 2024-2025學(xué)年蘇少版(2024)初中美術(shù)七年級上冊
- 消毒隔離課件教學(xué)課件
- 031.中國血脂管理指南(基層版2024年)
- 金屬基電路板市場發(fā)展預(yù)測和趨勢分析
- 1999年全國卷高考?xì)v史真題及答案
- 2024-2030年中國光無源器件行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資前景預(yù)測研究報告
評論
0/150
提交評論