![電子科技大學(xué) 電子設(shè)計(jì)及自動(dòng)第四講_第1頁(yè)](http://file4.renrendoc.com/view/69b32c6fde3c1e974dcb5ae787e51ff4/69b32c6fde3c1e974dcb5ae787e51ff41.gif)
![電子科技大學(xué) 電子設(shè)計(jì)及自動(dòng)第四講_第2頁(yè)](http://file4.renrendoc.com/view/69b32c6fde3c1e974dcb5ae787e51ff4/69b32c6fde3c1e974dcb5ae787e51ff42.gif)
![電子科技大學(xué) 電子設(shè)計(jì)及自動(dòng)第四講_第3頁(yè)](http://file4.renrendoc.com/view/69b32c6fde3c1e974dcb5ae787e51ff4/69b32c6fde3c1e974dcb5ae787e51ff43.gif)
![電子科技大學(xué) 電子設(shè)計(jì)及自動(dòng)第四講_第4頁(yè)](http://file4.renrendoc.com/view/69b32c6fde3c1e974dcb5ae787e51ff4/69b32c6fde3c1e974dcb5ae787e51ff44.gif)
![電子科技大學(xué) 電子設(shè)計(jì)及自動(dòng)第四講_第5頁(yè)](http://file4.renrendoc.com/view/69b32c6fde3c1e974dcb5ae787e51ff4/69b32c6fde3c1e974dcb5ae787e51ff45.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
電子設(shè)計(jì)自動(dòng)化技術(shù)
第四講
VHDL的主要描述語(yǔ)句本章要點(diǎn)
*VHDL描述語(yǔ)句集合的全貌建立一個(gè)清晰的概念;*對(duì)VHDL主要描述語(yǔ)句的作用有一個(gè)正確的認(rèn)識(shí);*建立VHDL是一種并行語(yǔ)言的基本概念;VHDL主要描述語(yǔ)句分類VHDL的主要描述語(yǔ)句種類繁多,為了便于學(xué)習(xí)和理解,我們將VHDL的主要描述語(yǔ)句劃分為:“描述功能的語(yǔ)句”和“描述結(jié)構(gòu)的語(yǔ)句”兩大部分,如圖所示
這兩大部分分別由若干語(yǔ)句組成VHDL描述語(yǔ)句功能描述語(yǔ)句(Founction)結(jié)構(gòu)描述語(yǔ)句(Structure)并行賦值語(yǔ)句(ConcurrentAssign)進(jìn)程語(yǔ)句(Process)斷言語(yǔ)句(Assert)塊語(yǔ)句(Block)子程序(Subprogram)元件語(yǔ)句(Component)端口映射語(yǔ)句(PortMap)生成語(yǔ)句(Generate)參數(shù)說(shuō)明語(yǔ)句(Generic)等待語(yǔ)句(Wait)順序賦值語(yǔ)句(SequentAssign)順序控制語(yǔ)句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過(guò)程(Procedure)最常用語(yǔ)句VHDL主要描述語(yǔ)句分類在本章中將對(duì)圖中所列出的所有語(yǔ)句逐一進(jìn)行具體介紹。如果把每一種語(yǔ)句比喻成一顆樹,則上圖給出了這些樹所構(gòu)成的森林的面目。由圖中可以獲得以下信息:
1.
VHDL的主要描述語(yǔ)句由“描述功能的語(yǔ)句”和“描述結(jié)構(gòu)的語(yǔ)句”兩個(gè)部分組成
2.
描述功能的語(yǔ)句主要有:信號(hào)賦值語(yǔ)句,進(jìn)程語(yǔ)句,斷言語(yǔ)句,子程序等;VHDL主要描述語(yǔ)句分類
3.
描述結(jié)構(gòu)的語(yǔ)句主要有:component(元件),portmap(端口映射),generate(生成語(yǔ)句),generic(參數(shù)說(shuō)明語(yǔ)句)等;
4.在所有VHDL語(yǔ)句中,描述功能的進(jìn)程語(yǔ)句最為復(fù)雜。它可以包含等待語(yǔ)句、順序信號(hào)賦值語(yǔ)句和順序控制語(yǔ)句等三部分,其中,順序控制語(yǔ)句又可以包含條件語(yǔ)句和循環(huán)語(yǔ)句等5種語(yǔ)句。VHDL主要描述語(yǔ)句分類
5.信號(hào)的賦值可分為:進(jìn)程中賦值和進(jìn)程外賦值兩種。進(jìn)程中賦值使用順序信號(hào)賦值語(yǔ)句。進(jìn)程外賦值使用并行信號(hào)賦值語(yǔ)句。
6.if和case語(yǔ)句是進(jìn)程語(yǔ)句中實(shí)現(xiàn)順序控制的最常用語(yǔ)句。
VHDL主要描述語(yǔ)句分類另外,在此需要指出兩點(diǎn):1.行為級(jí)描述的VHDL程序一般不會(huì)用到描述結(jié)構(gòu)的語(yǔ)句。2.
然而除行為級(jí)描述外,RTL級(jí)和結(jié)構(gòu)級(jí)描述都大量使用描述功能的語(yǔ)句。通常情況下VHDL程序都要用到描述功能的語(yǔ)句。電子系統(tǒng)中的行為主要體現(xiàn)在信號(hào)的變化,組合和傳輸,所以一般VHDL程序都會(huì)用到描述功能的語(yǔ)句。所以學(xué)習(xí)的重點(diǎn)是描述功能的語(yǔ)句。描述功能的語(yǔ)句信號(hào)賦值語(yǔ)句(Assignment)進(jìn)程語(yǔ)句(Process)斷言語(yǔ)句(Assert)塊語(yǔ)句(Block)子程序(Subprogram)對(duì)象的賦值VHDL程序中數(shù)值的載體稱為對(duì)象(object)。VHDL中有四種對(duì)象:常量(constant)、變量(variable)信號(hào)(signal)和文件(file)。對(duì)象賦值是電子系統(tǒng)的功能行為賦值語(yǔ)句是描述功能的語(yǔ)句VHDL描述語(yǔ)句行為描述語(yǔ)句(Behaviour)結(jié)構(gòu)描述語(yǔ)句(Structure)并行賦值語(yǔ)句(ConcurrentAssign)進(jìn)程語(yǔ)句(Process)斷言語(yǔ)句(Assert)塊語(yǔ)句(Block)子程序(Subprogram)元件語(yǔ)句(Component)端口映射語(yǔ)句(PortMap)生成語(yǔ)句(Generate)參數(shù)說(shuō)明語(yǔ)句(Generic)等待語(yǔ)句(Wait)順序賦值語(yǔ)句(SequentAssign)順序控制語(yǔ)句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過(guò)程(Procedure)最常用語(yǔ)句←賦值符<=()<=();1,右邊信號(hào)的值傳送給左邊的信號(hào);2,左右兩邊信號(hào)寬度必須一致;ConcurrentAssignmentStatementAlltheConcurrentStatementisexecutedinparallelConcurrentStatementdoesnotcarethepositionwithinthecodingConcurrentStatementis:OUTPUTdependsonINPUTonlyEntitytest1IsPort(a,b:instd_logic;c,d:outstd_logic);endtest1;architecturetest1_aoftest1isbeginc<=aandb;d<=aorb;endtest1_a;Entitytest1IsPort(a,b:instd_logic;c,d:outstd_logic);endtest1;architecturetest1_aoftest1isbegind<=aorb;c<=aandb;endtest1_a;ThistwoexcuteinparallelDoesnotcarethepositionwithinthecoding并行賦值語(yǔ)句(ConcurrentAssignmentStatement)并行賦值語(yǔ)句與語(yǔ)句出現(xiàn)的先后順序無(wú)關(guān)。如下例給出的兩條語(yǔ)句交換順序前后等價(jià)。C=ABD=A+Bequivalentc
<=aandb;d<=aorb;d<=aorb;c<=aandb;01010000100100001111兩條語(yǔ)句交換順序前后的仿真波形完全相同,如下圖:分析真值得:并行賦值語(yǔ)句(ConcurrentAssignmentStatement)ConcurrentStatements
for
CombinationalLogicConcurrentStatementsThereareseveraldifferentkindsofConcurrentStatements(1)SimpleSignalAssignments
(簡(jiǎn)單信號(hào)賦值)(2)ConditionalSignalAssignments
(條件信號(hào)賦值)(3)SelectedSignalAssignments
(選擇信號(hào)賦值)Puttingthemalltogether(1)SimpleSignalAssignmentThiskindofstatementsareexecutedinParallelEntitytest1isport(a,b,e:instd_logic;c,d:outstd_logic);endtest1;architecturetest1_bodyoftest1isbeginc<=aandb;d<=e;endtest1_body;WhatkindoflogicsupportANDNANDORNORXORNOTmore.......Wewant5InputsAND-GateQ:ANDisonlyatwoinput,ifIwantmoreinputs,whatcanIdo?A:Itiseasy,weareduewithLanguagenotGraphicEntitytest1isport(a,b,c,d,e:instd_logic;f:outbit);endtest1;architecturetest1_bodyoftest1isbegin
f<=aANDbANDcANDdANDe;endtest1_body;(2)ConditionalSignalAssignmentsTheoutputgetthevaluewhentheconditionistruee.g.2to1multiplexerEntitytest1isport(in1,in2,sel:instd_logic;d:outstd_logic);endtest1;architecturetest1_bodyoftest1isbegind<=in1WHEN
sel=‘0’ELSE
in2;endtest1_body;Ifwewantmore--4to1MuxOnceagain,youareduewithLanguagenotGraphic,soitiseasyEntitytest1isport(in1,in2,in3,in4:instd_logic;sel1,sel2:instd_logic;d:outstd_logic);endtest1;architecturetest1_bodyoftest1isbegind<=in1WHENsel1=‘0’andsel2=‘0’ELSEin2WHENsel1=‘0’andsel2=‘1’ELSEin3WHENsel1=‘1’andsel2=‘0’ELSEin4;endtest1_body;(3)SelectSignalAssignmentsTheoutputgetvaluewhenmatchingwiththeselecteditemEntitytest1isport(a,b:inbit;
sel:inbit;c:outbit);endtest1;architecturetest1_bodyoftest1isbeginWITH
sel
SELECTc<=aWHEN‘1’,--逗號(hào)
bWHEN‘0’;--分號(hào)endtest1_body;IfIwantmorechoice---ItiseasyEntitytest1isport(in1,in2,in3,in4:inbit;
sel:ininteger;out1:outbit);endtest1;architecturetest1_bodyoftest1isbeginwith
sel
selectout1<=in1when0,in2when1,in3when2,in4when3;endtest1_body;ReviewConcurrentStatementforcombinationallogic(withoutFlip-flopcircuit)eg.decoder,multiplexer,multiplier,adderUnderstandtheusageoftheConcurrentStatementforCombinationalLogicsimplesignalassignmentstatementconditionalsignalassignmentstatementselectedsignalassignmentstatement作業(yè)EntityMUX_8isport(data_in:instd_logic_vector(7downto0);sel1,sel2,sel3:instd_logic;d:outstd_logic);endtest1;提示:d<=data_in(5);作業(yè)xyZq1q20000000110101000111101011111提示:信號(hào)賦固定值q1<=‘0’;q2<=‘1’;1VHDL描述語(yǔ)句行為描述語(yǔ)句(Behaviour)結(jié)構(gòu)描述語(yǔ)句(Structure)并行賦值語(yǔ)句(ConcurrentAssign)進(jìn)程語(yǔ)句(Process)斷言語(yǔ)句(Assert)塊語(yǔ)句(Block)子程序(Subprogram)元件語(yǔ)句(Component)端口映射語(yǔ)句(PortMap)生成語(yǔ)句(Generate)參數(shù)說(shuō)明語(yǔ)句(Generic)等待語(yǔ)句(Wait)順序賦值語(yǔ)句(SequentAssign)順序控制語(yǔ)句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過(guò)程(Procedure)最常用語(yǔ)句←PROCESS語(yǔ)句一般格式
[進(jìn)程標(biāo)號(hào):]PROCESS[(敏感信號(hào)表)][IS]〈說(shuō)明〉;BEGIN〈順序語(yǔ)句〉;ENDPROCESS;PROCESS是進(jìn)程語(yǔ)句的標(biāo)示符,PROCESS前可以加進(jìn)程標(biāo)號(hào),也可以沒(méi)有標(biāo)號(hào)。進(jìn)程內(nèi)部〈說(shuō)明〉部分用于定義本進(jìn)程所需的局部數(shù)據(jù)環(huán)境,在這里可以說(shuō)明數(shù)據(jù)類型、子程序和變量,在此說(shuō)明區(qū)說(shuō)明的變量,僅在當(dāng)前進(jìn)程內(nèi)可對(duì)其進(jìn)行讀/寫。BEGIN以后的〈順序語(yǔ)句〉為進(jìn)程的執(zhí)行語(yǔ)句部分。
ProcessStatementAlltheProcessStatementisexecutedinparallel
(進(jìn)程與進(jìn)程之間并行)WithintheProcessStatement,thecodingisexecuteinsequential
(進(jìn)程內(nèi)部語(yǔ)句之間串行——順序執(zhí)行)ProcessStatement:OUTPUTdependsonINPUTwithSensitivityListtocontroltheeventhappenEntitytest1isPort(clk,d1,d2:instd_logic;q1,q2:outstd_logic);endtest1;architecturetest1_bodyoftest1isbeginProcess(clk,d2)beginif(clk’eventandclk=‘1’)thenq2<=d2;endif;endprocess;Process(clk,d1)beginif(clk’eventandclk=‘1’)thenq1<=d1;endif;endprocess;endtest1_body;ThistwoprocessesexecuteinparallelEntitytest1is
Port(clk,d1,d2:instd_logic;
q1,q2:outstd_logic);
endtest1;
architecturetest1_bodyoftest1is
begin
Process(clk,d1)
begin
if(clk’eventandclk=‘1’)then
q1<=d1;
endif;
endpro
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子廢棄物處理市場(chǎng)調(diào)查研究及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 2025年中國(guó)衛(wèi)生資源配置行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年中國(guó)交通機(jī)械零部件行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 2024-2025年中國(guó)三元乙丙防水涂料行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 勞務(wù)合同范例 木工
- 一具體保理合同范例
- 冷庫(kù)海鮮出售合同范本
- 買賣名畫合同范本
- 信息保密協(xié)議合同范本
- 農(nóng)村冷庫(kù)銷售合同范例
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)題庫(kù)及答案(共330題) (二)
- 2025-2030年中國(guó)反滲透膜行業(yè)市場(chǎng)發(fā)展趨勢(shì)展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)道德與法治試題 (含答案)
- 2025年山東省濟(jì)寧高新區(qū)管委會(huì)“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)社會(huì)科學(xué)評(píng)價(jià)研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (2024年高考真題)2024年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
- HCIA-AI H13-311 v3.5認(rèn)證考試題庫(kù)(含答案)
- 市場(chǎng)調(diào)查 第三版 課件全套 夏學(xué)文 單元1-8 市場(chǎng)調(diào)查認(rèn)知 - 市場(chǎng)調(diào)查報(bào)告的撰寫與評(píng)估
- 初中化學(xué)跨學(xué)科實(shí)踐活動(dòng):海洋資源的綜合利用與制鹽課件 2024-2025學(xué)年九年級(jí)化學(xué)科粵版(2024)下冊(cè)
- 內(nèi)蒙自治區(qū)烏蘭察布市集寧二中2025屆高考語(yǔ)文全真模擬密押卷含解析
- 初中英語(yǔ)1600詞背誦版+檢測(cè)默寫版
評(píng)論
0/150
提交評(píng)論