




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
電子科技電子設計及自動第四講第一頁,共三十五頁,編輯于2023年,星期一本章要點*VHDL描述語句集合的全貌建立一個清晰的概念;*對VHDL主要描述語句的作用有一個正確的認識;*建立VHDL是一種并行語言的基本概念;第二頁,共三十五頁,編輯于2023年,星期一VHDL主要描述語句分類VHDL的主要描述語句種類繁多,為了便于學習和理解,我們將VHDL的主要描述語句劃分為:“描述功能的語句”和“描述結構的語句”兩大部分,如圖所示
這兩大部分分別由若干語句組成第三頁,共三十五頁,編輯于2023年,星期一VHDL描述語句功能描述語句(Founction)結構描述語句(Structure)并行賦值語句(ConcurrentAssign)進程語句(Process)斷言語句(Assert)塊語句(Block)子程序(Subprogram)元件語句(Component)端口映射語句(PortMap)生成語句(Generate)參數(shù)說明語句(Generic)等待語句(Wait)順序賦值語句(SequentAssign)順序控制語句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過程(Procedure)最常用語句第四頁,共三十五頁,編輯于2023年,星期一VHDL主要描述語句分類在本章中將對圖中所列出的所有語句逐一進行具體介紹。如果把每一種語句比喻成一顆樹,則上圖給出了這些樹所構成的森林的面目。由圖中可以獲得以下信息:
1.
VHDL的主要描述語句由“描述功能的語句”和“描述結構的語句”兩個部分組成
2.
描述功能的語句主要有:信號賦值語句,進程語句,斷言語句,子程序等;第五頁,共三十五頁,編輯于2023年,星期一VHDL主要描述語句分類
3.
描述結構的語句主要有:component(元件),portmap(端口映射),generate(生成語句),generic(參數(shù)說明語句)等;
4.在所有VHDL語句中,描述功能的進程語句最為復雜。它可以包含等待語句、順序信號賦值語句和順序控制語句等三部分,其中,順序控制語句又可以包含條件語句和循環(huán)語句等5種語句。第六頁,共三十五頁,編輯于2023年,星期一VHDL主要描述語句分類
5.信號的賦值可分為:進程中賦值和進程外賦值兩種。進程中賦值使用順序信號賦值語句。進程外賦值使用并行信號賦值語句。
6.if和case語句是進程語句中實現(xiàn)順序控制的最常用語句。
第七頁,共三十五頁,編輯于2023年,星期一VHDL主要描述語句分類另外,在此需要指出兩點:1.行為級描述的VHDL程序一般不會用到描述結構的語句。2.
然而除行為級描述外,RTL級和結構級描述都大量使用描述功能的語句。通常情況下VHDL程序都要用到描述功能的語句。電子系統(tǒng)中的行為主要體現(xiàn)在信號的變化,組合和傳輸,所以一般VHDL程序都會用到描述功能的語句。所以學習的重點是描述功能的語句。第八頁,共三十五頁,編輯于2023年,星期一描述功能的語句信號賦值語句(Assignment)進程語句(Process)斷言語句(Assert)塊語句(Block)子程序(Subprogram)第九頁,共三十五頁,編輯于2023年,星期一對象的賦值VHDL程序中數(shù)值的載體稱為對象(object)。VHDL中有四種對象:常量(constant)、變量(variable)信號(signal)和文件(file)。對象賦值是電子系統(tǒng)的功能行為賦值語句是描述功能的語句第十頁,共三十五頁,編輯于2023年,星期一VHDL描述語句行為描述語句(Behaviour)結構描述語句(Structure)并行賦值語句(ConcurrentAssign)進程語句(Process)斷言語句(Assert)塊語句(Block)子程序(Subprogram)元件語句(Component)端口映射語句(PortMap)生成語句(Generate)參數(shù)說明語句(Generic)等待語句(Wait)順序賦值語句(SequentAssign)順序控制語句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過程(Procedure)最常用語句←第十一頁,共三十五頁,編輯于2023年,星期一賦值符<=()<=();1,右邊信號的值傳送給左邊的信號;2,左右兩邊信號寬度必須一致;第十二頁,共三十五頁,編輯于2023年,星期一ConcurrentAssignmentStatementAlltheConcurrentStatementisexecutedinparallelConcurrentStatementdoesnotcarethepositionwithinthecodingConcurrentStatementis:OUTPUTdependsonINPUTonly第十三頁,共三十五頁,編輯于2023年,星期一Entitytest1IsPort(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并行賦值語句(ConcurrentAssignmentStatement)并行賦值語句與語句出現(xiàn)的先后順序無關。如下例給出的兩條語句交換順序前后等價。第十四頁,共三十五頁,編輯于2023年,星期一C=ABD=A+Bequivalentc
<=aandb;d<=aorb;d<=aorb;c<=aandb;01010000100100001111兩條語句交換順序前后的仿真波形完全相同,如下圖:分析真值得:并行賦值語句(ConcurrentAssignmentStatement)第十五頁,共三十五頁,編輯于2023年,星期一ConcurrentStatements
for
CombinationalLogic第十六頁,共三十五頁,編輯于2023年,星期一ConcurrentStatementsThereareseveraldifferentkindsofConcurrentStatements(1)SimpleSignalAssignments(簡單信號賦值)(2)ConditionalSignalAssignments(條件信號賦值)(3)SelectedSignalAssignments(選擇信號賦值)第十七頁,共三十五頁,編輯于2023年,星期一Puttingthemalltogether第十八頁,共三十五頁,編輯于2023年,星期一(1)SimpleSignalAssignmentThiskindofstatementsareexecutedinParallelEntitytest1isport(a,b,e:instd_logic;c,d:outstd_logic);endtest1;architecturetest1_bodyoftest1isbeginc<=aandb;d<=e;endtest1_body;第十九頁,共三十五頁,編輯于2023年,星期一WhatkindoflogicsupportANDNANDORNORXORNOTmore.......第二十頁,共三十五頁,編輯于2023年,星期一Wewant5InputsAND-GateQ:ANDisonlyatwoinput,ifIwantmoreinputs,whatcanIdo?A:Itiseasy,weareduewithLanguagenotGraphicEntitytest1isport(a,b,c,d,e:instd_logic;f:outbit);endtest1;architecturetest1_bodyoftest1isbegin
f<=aANDbANDcANDdANDe;endtest1_body;第二十一頁,共三十五頁,編輯于2023年,星期一(2)ConditionalSignalAssignmentsTheoutputgetthevaluewhentheconditionistruee.g.2to1multiplexerEntitytest1isport(in1,in2,sel:instd_logic;d:outstd_logic);endtest1;architecturetest1_bodyoftest1isbegind<=in1WHENsel=‘0’ELSE
in2;endtest1_body;第二十二頁,共三十五頁,編輯于2023年,星期一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;第二十三頁,共三十五頁,編輯于2023年,星期一(3)SelectSignalAssignmentsTheoutputgetvaluewhenmatchingwiththeselecteditemEntitytest1isport(a,b:inbit;sel:inbit;c:outbit);endtest1;architecturetest1_bodyoftest1isbeginWITHselSELECTc<=aWHEN‘1’,--逗號
bWHEN‘0’;--分號endtest1_body;第二十四頁,共三十五頁,編輯于2023年,星期一IfIwantmorechoice---ItiseasyEntitytest1isport(in1,in2,in3,in4:inbit;sel:ininteger;out1:outbit);endtest1;architecturetest1_bodyoftest1isbeginwithselselectout1<=in1when0,in2when1,in3when2,in4when3;endtest1_body;第二十五頁,共三十五頁,編輯于2023年,星期一ReviewConcurrentStatementforcombinationallogic(withoutFlip-flopcircuit)eg.decoder,multiplexer,multiplier,adderUnderstandtheusageoftheConcurrentStatementforCombinationalLogicsimplesignalassignmentstatementconditionalsignalassignmentstatementselectedsignalassignmentstatement第二十六頁,共三十五頁,編輯于2023年,星期一作業(yè)EntityMUX_8isport(data_in:instd_logic_vector(7downto0);sel1,sel2,sel3:instd_logic;d:outstd_logic);endtest1;提示:d<=data_in(5);第二十七頁,共三十五頁,編輯于2023年,星期一作業(yè)xyZq1q20000000110101000111101011111提示:信號賦固定值q1<=‘0’;q2<=‘1’;1第二十八頁,共三十五頁,編輯于2023年,星期一VHDL描述語句行為描述語句(Behaviour)結構描述語句(Structure)并行賦值語句(ConcurrentAssign)進程語句(Process)斷言語句(Assert)塊語句(Block)子程序(Subprogram)元件語句(Component)端口映射語句(PortMap)生成語句(Generate)參數(shù)說明語句(Generic)等待語句(Wait)順序賦值語句(SequentAssign)順序控制語句(SequentControl)IFCASELOOPFORWHILE函數(shù)(Function)過程(Procedure)最常用語句←第二十九頁,共三十五頁,編輯于2023年,星期一PROCESS語句一般格式
[進程標號:]PROCESS[(敏感信號表)][IS]〈說明〉;BEGIN〈順序語句〉;ENDPROCESS;PROCESS是進程語句的標示符,PROCESS前可以加進程標號,也可以沒有標號。進程內(nèi)部〈說明〉部分用于定義本進程所需的局部數(shù)據(jù)環(huán)境,在這里可以說明數(shù)據(jù)類型、子程序和變量,在此說明區(qū)說明的變量,僅在當前進程內(nèi)可對其進行讀/寫。BEGIN以后的〈順序語句〉為進程的執(zhí)行語句部分。
第三十頁,共三十五頁,編輯于2023年,星期一ProcessStatementAlltheProcessStatementisexecutedinparallel
(進程與進程之間并行)WithintheProcessStatement,thecodingisexecuteinsequential
(進程內(nèi)部語句之間串行——順序執(zhí)行)ProcessStatement:OUTPUTdependsonINPUTwithSensitivityListtocontroltheeventhappen第三十一頁,共三十五頁,編輯于2023年,星期一Entitytest1isPort(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;
endprocess;
Process(clk,d2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介拍賣合同范本
- 關于大學生家教社會實踐報告
- 怎么找到合同范本
- 電影產(chǎn)業(yè)發(fā)展對地方經(jīng)濟的推動作用
- 2025至2030年中國煉乳數(shù)據(jù)監(jiān)測研究報告
- 電動汽車安全駕駛輔助系統(tǒng)的發(fā)展趨勢與挑戰(zhàn)
- 科技助力安全老舊商業(yè)區(qū)的防火設施升級
- 2025年02月黃岡市市直事業(yè)單位統(tǒng)一工作人員80人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2024年宜昌市事業(yè)單位統(tǒng)一招聘考試真題
- 電競酒店的電氣安全管理與應急處置
- 滲漉法胡鵬講解
- 【道 法】學會自我保護+課件-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 2025屆高考英語讀后續(xù)寫提分技巧+講義
- 《大模型原理與技術》全套教學課件
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 2019譯林版高中英語全七冊單詞總表
- 2024年中鐵集裝箱運輸有限責任公司招聘筆試參考題庫附帶答案詳解
- 蘇少版小學一年級下冊綜合實踐活動單元備課
- 《園林生態(tài)學》課件
- 人教版三年級數(shù)學下冊 (認識東北、西北、東南、西南)位置與方向教育教學課件
- 高中地理 世界地理復習《兩極地區(qū)》ppt課件
評論
0/150
提交評論