版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,硬件執(zhí)行:并發(fā)執(zhí)行(VHDL本質(zhì)) 仿真執(zhí)行:順序執(zhí)行、并發(fā)執(zhí)行 分為兩大類:順序(Sequential)描述語句 并發(fā)(Concurrent)描述語句,ARCHITECTURE Process Process,ENTITY,Sequential Process,CombinationalProcess,ports,ports,component,VHDL順序語句(Sequential),2,順序描述語句: 執(zhí)行順序與書寫順序一致,與傳統(tǒng)軟件設(shè)計 語言的特點相似。順序語句只能用在進程與子程 序中。 常用的順序描述語句: 賦值語句; if語句;case語句;loop語句; next語句;ex
2、it語句;子程序;return語句; wait語句;null語句。,3,一 對象與賦值語句 所有對象均分為:變量和信號 對象 := 表達式; - 變量賦值 對象 = 表達式; - 信號賦值 要求:表達式的值必須與對象的類型、寬度一致。,4,信號賦值延遲更新數(shù)值、時序電路; 變量賦值立即更新數(shù)值、組合電路。,5,例:信號賦值與變量賦值的比較 信號賦值: architecture rtl of sig is signal a,b : std_logic; - 定義信號 begin process(a, b) begin a = b ; b = a ; end process ; end rtl ;
3、 - 結(jié)果是 a 和 b 的值互換,6,變量賦值: architecture rtl of var is begin process variable a,b:std_logic; - 定義變量 begin a := b ; b := a ; end process ; end rtl; - 結(jié)果是a和b的值都等于b的初值,7,二、 轉(zhuǎn)向控制語句 轉(zhuǎn)向控制語句通過條件控制開關(guān)決定是否執(zhí) 行一條或幾條語句,或重得執(zhí)行一條或幾條語句, 或跳過一條或幾條語句。 分為五種: if 語句、case 語句、 loop 語句、next 語句、 exit 語句,8,1、if 語句 if 語句執(zhí)行一序列的語句,
4、其次序依賴于一 個或多個條件的值。 1)if 語句的門閂控制 例:if (ena = 1) then q = d; end if; 綜合后生成鎖存器(latch),if 條件 then 順序處理語句; end if ;,9,2)if 語句的二選擇控制 格式: 用條件來選擇兩條不同程序執(zhí)行的路徑。,if 條件 then 順序處理語句; else 順序處理語句; end if ;,10,此描述的典型電路是二選一電路: architecture rtl of mux2 is begin process(a, b, sel) begin if (sel = 1) then y = a ; else y
5、 = b ; end if ; end process ; end rtl ;,11,3)if 語句的多選擇控制 if 語句的多選擇控制又稱為 if 語句的嵌套。 格式:,if 條件 then 順序處理語句; elsif 條件 then 順序處理語句; elsif 條件 then 順序處理語句; else 順序處理語句; end if;,12,if_then_elsif 語句中隱含了優(yōu)先級別的判斷, 最先出現(xiàn)的條件優(yōu)先級最高,可用于設(shè)計具有優(yōu) 先級的電路。如8-3優(yōu)先級編碼器。,13,2、 case 語句 case 語句常用來描述總線或編碼、譯碼行為。 可讀性比if 語句強。 格式如下:,14
6、,其中的分支條件可有以下的形式: when 值 = 順序處理語句; when 值 to 值 = 順序處理語句; when 值|值|值|值 = 順序處理語句; 以上三種方式的混合; when others = 順序處理語句;,15,Case 語句使用注意: 1)分支條件的值必須在表達式的取值范圍內(nèi)。 2)兩個分支條件不能重疊。 3)CASE語句執(zhí)行時必須選中,且只能選中一 個分支條件。 4)如果沒有others分支條件存在,則分支條 件必須覆蓋表達式所有可能的值。 對std_logc, std_logic_vector數(shù)據(jù)類型要特別注意使用others分支條件。,16,例:用case 語句描述四
7、選一電路,17,3、Loop 語句 loop 語句與其它高級語言中的循環(huán)語句相似。Loop 語句有三種格式。 1)無限 loop 語句 VHDL重復(fù)執(zhí)行 loop 循環(huán)內(nèi)的語句, 直至遇到 exit 語句結(jié)束循環(huán)。,18, L2: loop a:=a+1; exit L2 when a 10; end loop L2; ,19,2)for loop 語句 特點: 循環(huán)變量是 loop 內(nèi)部自動聲明的局部量, 僅在 loop 內(nèi)可見;不需要指定其變化方式。 離散范圍必須是可計算的整數(shù)范圍: 整數(shù)表達式 to 整數(shù)表達式 整數(shù)表達式 downto 整數(shù)表達式,標(biāo)號:for 循環(huán)變量 in 離散范圍
8、 loop 順序處理語句; end loop 標(biāo)號;,20,21,3)while loop 語句 例:sum:=0; i:=0; abcd: while (i10) loop sum:=sum+i; i:=i+1; end loop abcd; 注:循環(huán)變量 i 需事先定義、賦初值,并指定 其變化方式。一般綜合工具不支持 while loop 語句。,標(biāo)號:while 循環(huán)條件 loop 順序處理語句; end loop 標(biāo)號;,22,4、Next 語句 在loop 語句中 next語句用來跳出本次循環(huán)。 格式: 分三種情況: 1) 無條件終止當(dāng)前的循環(huán),跳回到本次循環(huán) LOOP語句開始處,開
9、始下次循環(huán)。,next 標(biāo)號 when 條件表達式;,next ;,23,2) 無條件終止當(dāng)前的循環(huán),跳轉(zhuǎn)到指定標(biāo)號的LOOP語句開始處,重新開始執(zhí)行循環(huán)操作。 3) 當(dāng)條件表達式的值為true,則執(zhí)行next語句,進入跳轉(zhuǎn)操作,否則繼續(xù)向下執(zhí)行。,next 標(biāo)號 ;,next 標(biāo)號 when 條件表達式;,24,5、 Exit 語句 exit 語句將結(jié)束循環(huán)狀態(tài)。 格式: next語句與exit語句的格式與操作功能非常相似,區(qū)別是:next語句是跳向loop語句的起始點,而exit語句則是跳向loop語句的終點。,exit 標(biāo)號 when 條件表達式;,25,三 wait 語句 進程在仿真時
10、的兩個狀態(tài): 執(zhí)行或掛起。 進程狀態(tài)的變化受wait 語句或敏感信號量變 化的控制。 可設(shè)置 4種不同的條件: wait - 無限等待 wait on - 敏感信號量變化 wait until - 條件滿足(可綜合) wait for - 時間到,26,1、wait on 語句 格式: 例:以下兩種描述是完全等價的 敏感信號量列表和 wait 語句只能選其一,兩 者不能同時使用。,wait on 信號,信號;,process(a, b) begin y= a and b; end process;,process begin y= a and b; wait on a, b; end proc
11、ess;,27,2、wait until 語句(可綜合) 格式: 當(dāng)表達式的值為“真”時,進程被啟動,否則 進程被掛起。 wait until 語句的三種表達方式: wait until 信號 = value; wait until 信號event and 信號 = value; wait until not(信號stable) and 信號= value;,wait until 表達式;,28,時鐘信號 clk 的上升沿的描述: wait until clk = 1; wait until rising_edge(clk); wait until clkevent and clk = 1;
12、wait until not(clkstable) and clk=1; 由以上描述可實現(xiàn)相同的硬件電路結(jié)構(gòu)。 時鐘信號下降沿的描述?,29,四、子程序調(diào)用語句 定義:子程序是獨立的、有名稱的算法。 過程(Procedure)和函數(shù)(Function) 過程:0 個或多個 in、inout、或 out 參數(shù)。 函數(shù):0 個或多個 in 參數(shù),一個 return 值。 子程序首:指明其名稱、參數(shù)及返回值。 子程序體:描述子程序要實現(xiàn)的功能。,30,子程序調(diào)用:在任何地方根據(jù)其名稱調(diào)用子程序 過程調(diào)用: procedure_name ( parameter_ name = expression ,
13、 parameter_ name = expression) ; 函數(shù)調(diào)用: function_name ( parameter_name = expression , parameter_name = expression) ;,31,五、return 語句 return 語句只能用于子程序中,并用來終止 一個子程序的執(zhí)行。 格式: 分為:1)return ; 用于過程,只是結(jié)束過程,不返回任何值。 2)return 表達式; 用于函數(shù),并且必須返回一個值。,return 表達式;,32,例:用于函數(shù)的return語句 function opt (a,b,sel: std_logic ) r
14、eturn std_logic is begin if sel = 1 then return ( a and b ); else return (a or b ); end if; end function opt;,33,六 null 語句 null為空語句,不作任何操作。格式:,null;,34,3.5 VHDL并發(fā)語句(Concurrent),Architecture,并發(fā)語句,并發(fā)語句,并發(fā)語句,信號,信號,信號,35,常用的并發(fā)描述語句有: 進程(process)語句、 塊(block)語句、 順序描述語句的并行版本、 并行過程調(diào)用語句、 元件例化語句、 生成語句。,36,一、進程
15、(process)語句 進程(process)語句最具VHDL語言特色。提 供了一種用算法描述硬件行為的方法。 特點: 1、進程與進程,或其它并發(fā)語句之間的并發(fā)性; 2、進程內(nèi)部的順序性; 3、進程的啟動與掛起; 4、進程與進程,或其它并發(fā)語句之間的通信。,37,敏感信號表:進程內(nèi)要讀取的所有敏感信號 (包括端口)的列表。每一個敏感 信號的變化,都將啟動進程。 格式:,標(biāo)記: process ( 敏感信號表) 進程說明項 begin 順序描述語句 end process 標(biāo)記;,信號名稱 ,信號名稱 ,38,3、如果有 wait 語句,則不允許有敏感信號表。,PROCESS (a,b) BEG
16、IN -sequential statements END PROCESS;,PROCESS BEGIN - sequential statements WAIT ON (a,b) ; END PROCESS;,39,二、塊語句 塊語句將一系列并行描述語句進行組合,目 的是改善并行語句及其結(jié)構(gòu)的可讀性。可使結(jié)構(gòu) 體層次鮮明,結(jié)構(gòu)明確。 語法如下:,標(biāo)記:block ( 塊保護表達式 ) 塊說明項 begin 并行語句 end block 標(biāo)記 ;,40,1、塊語句的使用不影響邏輯功能 以下兩種描述結(jié)果相同: 描述一: a1: out1=1 after 2 ns; a2: out2=1 afte
17、r 2 ns; a3: out3=1 after 2 ns; 描述二: a1: out1=1 after 2 ns; blk1: block begin a2: out2=1 after 2 ns; a3: out3=1 after 2 ns; end block blk1;,41,三 并行信號賦值語句,包括三種: 簡單并行信號賦值; 條件信號賦值; 選擇信號賦值。 共同特點: 1、賦值目標(biāo)必須是信號,與其它并行語句同 時執(zhí)行,與書寫順序及是否在塊語句中無關(guān)。 2、每一信號賦值語句等效于一個進程語句。 所有輸入信號的變化都將啟動該語句的執(zhí)行。,42,1、簡單并行信號賦值語句 即:信號 = 表達
18、式 例:以下兩種描述等價,architecture behav of a_var is begin output=a(i); end behav;,architecture behav of a_var is begin process(a, i) begin output=a(i); end process; end behav;,一個簡單并行信號賦值語句是一個進程的縮寫。,43,2、條件信號賦值語句 格式:,目的信號量 = 表達式1 when 條件1 else 表達式2 when 條件2 else 表達式3 when 條件3 else 表達式n;,44,例:用條件信號賦值語句描述四選一電路
19、 entity mux4 is port(i0, i1, i2, i3, a, b : in std_logic; q : out std_logic); end mux4; architecture rtl of mux4 is signal sel : std_logic_vector (1 downto 0); begin sel=b ,45,3、選擇信號賦值語句 格式:,with 表達式 select 目的信號量 = 表達式1 when 條件1, 表達式2 when 條件2, 表達式n when 條件n;,注:1)不能有重疊的條件分支。 2)最后條件可為 others。否則,其它條件
20、必須能包含表達式的所有可能值。 3)選擇信號賦值語句與進程中的 case 語 句等價。,46,四 并行過程調(diào)用語句 用過程名在結(jié)構(gòu)體或塊語句中可實現(xiàn)并行過 程調(diào)用。 其作用與一個進程等價。 格式: 過程名 (參數(shù)名= 表達式 ,參數(shù)名= 表達式),47,例:并行過程調(diào)用與串行過程調(diào)用 procedure adder( signal a, b: in std_logic; signal sum: out std_logic); adder(a1, b1, sum1); process(c1, c2) begin adder(c1, c2, s1); end process;,48,五 VHDL的
21、層次化設(shè)計與元件聲明 (component) 及元件例化(instantial)語句 1、層次化設(shè)計,49,2. 元件聲明 定義:對所調(diào)用的較低層次的實體模塊 (元件)的名稱、類屬參數(shù)、端口 類型、數(shù)據(jù)類型的聲明。 語法:,component 元件名 is generic (類屬聲明); port (端口聲明); end component 元件名 ;,元件聲明類似實體聲明(entity),50,例:元件聲明,51,3. 元件的例化 定義:把低層元件安裝(調(diào)用)到當(dāng)前層次 設(shè)計實體內(nèi)部的過程。 包括:類屬參數(shù)傳遞、元件端口映射。,例化名稱:元件名稱 generic map ( 類屬名稱 = 表
22、達式 ,類屬名稱 = 表達式 ) port map ( 端口名稱 = 表達式 , 端口名稱 = 表達式 );,例: u1:ADD generic map (N = 4) port map (x,y,z,carry);,52,端口映射方式: 名稱關(guān)聯(lián)方式: 低層次端口名 =當(dāng)前層次端口名、信號名 例:or2 port map(o=n6,i1=n3,i2=n1) 位置關(guān)聯(lián)方式: (當(dāng)前層次端口名,當(dāng)前層次端口名,) 例:or2 port map( n3, n1,n6 ) 注:位置關(guān)聯(lián)方式中,例化的端口表達式 (信號)必須與元件聲明語句中的端口 順序一致。,53,一個低層次設(shè)計在被例化前必須有一個元
23、件聲明。 ENTITY exam is PORT( ea, eb :IN STD_LOGIC_VECTOR(3 DOWNTO 0); ey : OUT STD_LOGIC); END exam ; ARCHITECTURE exam_arch OF exam IS COMPONENT compare PORT( a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); y : OUT STD_LOGIC ); END COMPONENT; -元件聲明 BEGIN u1 : compare PORT MAP
24、 ( ea, eb, ey) ; -元件例化 END exam_arch ;,54,六 生成語句 生成語句的作用:復(fù)制建立 0 個或多個備份。 (并行結(jié)構(gòu)) 分為兩類: for generate:采用一個離散的范圍決 定備份的數(shù)目。 If generate:有條件地生成 0 個或 1 個備份。,55,1、for generate 語句 語法: 范圍:整數(shù)表達式 to 整數(shù)表達式 整數(shù)表達式 downto 整數(shù)表達式 for - loop 語句與 for generate 的比較:,標(biāo)號:for 循環(huán)變量 in 范圍 generate 并行語句 end generate 標(biāo)號;,56,例:用生成
25、語句創(chuàng)建多個備份 component comp port (x : in bit ; y : out bit) ; end component ; signal a , b : bit_vector (0 to 7) ; gen : for I in arange generate u : comp port map (x = a( I ), y = b( I ) ; end generate gen ;,57,2、If generate 語句 語法: if 語句與 If generate 的區(qū)別: 1、If generate 沒有類似于 if 語句的 else 或 elsif 分支語句。 2
26、、if 語句是順序語句,If generate為并 行語句。,標(biāo)號:if 條件表達式 generate 并行語句 end generate 標(biāo)號;,58,子程序的類型: 過程(Procedure): 0 個或多個 in、inout、 或 out 參數(shù)??色@得多個返回值。 函數(shù)(Function): 0 個或多個 in 參數(shù),一個 return 值。 只能獲得一個返回值。 過程可作為一種獨立的語句結(jié)構(gòu)而單獨存在, 函數(shù)通常作為表達式的一部分來調(diào)用。 子程序包含兩部分:子程序聲明和子程序主體。,59,一、子程序聲明 1、過程聲明語法 參數(shù)聲明指明輸入輸出端口的數(shù)目和類型, 語法如下: 方式指參數(shù)的傳遞方向,有三種形式: i
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年工業(yè)用地買賣合同
- 2025年度綠色能源儲煤場建設(shè)與運營管理合作協(xié)議3篇
- 二零二四年廣告發(fā)布合同標(biāo)的及發(fā)布內(nèi)容
- 二零二五年度房地產(chǎn)項目合作開發(fā)合同6篇
- 2024銷售云服務(wù)超兔一體云CRM系統(tǒng)實施合同3篇
- 2025年園林景觀草籽草坪種植與維護合同3篇
- 2025年度房地產(chǎn)項目融資財產(chǎn)保全及監(jiān)管合同3篇
- 2025年度高速公路綠化帶建設(shè)及養(yǎng)護服務(wù)合同4篇
- 二零二五版房地產(chǎn)營銷推廣甲乙戰(zhàn)略合作合同
- 現(xiàn)代文學(xué)史自考知識點:曹禺作品考點總結(jié)
- 最終版 古城文化修復(fù)監(jiān)理大綱
- GB/T 43391-2023市場、民意和社會調(diào)查調(diào)查報告編制指南
- 拔罐技術(shù)操作考核評分標(biāo)準(zhǔn)
- 軟件無線電原理與應(yīng)用第3版 課件 第4-6章 軟件無線電硬件平臺設(shè)計、軟件無線電信號處理算法、信道編譯碼技術(shù)
- RB-T 099-2022 進口食品供應(yīng)商評價技術(shù)規(guī)范
- 戒賭法律協(xié)議書范本
- (完整版)A4筆記本模板(可編輯修改word版)
- 競選市級三好學(xué)生PPT
- 2024屆甘肅省蘭州市五十一中生物高一上期末檢測模擬試題含解析
- (國家基本公共衛(wèi)生服務(wù)項目第三版)7高血壓患者健康管理服務(wù)規(guī)范
- 12 富起來到強起來 精神文明新風(fēng)尚(說課稿)-部編版道德與法治五年級下冊
評論
0/150
提交評論