版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PART 5 SUBPROGRAM,子程序由一組順序語句組成,是為了在程序中重復(fù)使用而設(shè)立的。 子程序不是一個(gè)獨(dú)立的編譯單位,只能置于實(shí)體或程序包中, 在結(jié)構(gòu)體中定義的子程序?qū)τ谠摻Y(jié)構(gòu)體來說是局部的,即不能被其它設(shè)計(jì)層次的結(jié)構(gòu)體調(diào)用。如果要在其它結(jié)構(gòu)體中調(diào)用同一個(gè)子程序,就需要把子程序定義到程序包中。,VHDL中的子程序有兩類: 過程(PROCEDURE):過程通過其接口返回0個(gè)或多個(gè)值。 函數(shù)(FUNCTION):函數(shù)直接返回單個(gè)值。 子程序包含兩部分:即子程序聲明和主體部分。 在程序包中聲明子程序時(shí),子程序聲明必須要在程序包聲明中,子程序主體必須要在程序包體中。,一、函數(shù)的定義與引用,函數(shù)
2、語句的作用是輸入若干參數(shù),通過函數(shù)運(yùn)算求值,最后返回直接一個(gè)值。 函數(shù)語句的格式為: FUNCTION 函數(shù)名 (參數(shù)表) RETURN 數(shù)據(jù)類型; -函數(shù)首 FUNCTION 函數(shù)名 (參數(shù)表) RETURN 數(shù)據(jù)類型 IS -函數(shù)體 子程序聲明部分; BEGIN 順序語句; END 函數(shù)名;,函數(shù)首是程序包與函數(shù)的接口界面。如果要將一個(gè)函數(shù)組織成程序包入庫,則必須定義函數(shù)首,且函數(shù)首應(yīng)放在程序包的說明部分,而函數(shù)體應(yīng)放在程序包的包體內(nèi)。如果只在一個(gè)結(jié)構(gòu)體中定義并調(diào)用函數(shù),則只需定義函數(shù)體即可。 其中:參數(shù)表中為參數(shù)名、參數(shù)類別及數(shù)據(jù)類型,函數(shù)的參數(shù)為信號(hào)或常數(shù),默認(rèn)情況為常數(shù);在RETUR
3、N后面的數(shù)據(jù)類型為函數(shù)返回值的類型;子程序聲明項(xiàng)用來說明函數(shù)體內(nèi)引用的對(duì)象和過程;順序語句就是函數(shù)體,用來定義函數(shù)的功能。,LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY fun IS PORT (A: IN std_logic _Vector(0 TO 2); M : OUT std_logic _Vector(0 TO 2); END fun; ARCHITECTURE art OF fun IS FUNCTION sam (X,Y,Z: BIT) RETURN BIT IS BEGIN RETURN(X AND Y) OR Z; END
4、 sam;,函數(shù)應(yīng)用實(shí)例,BEGIN PROCESS(A) BEGIN M(0)=sam(A(0), A(1), A(2); M(1)=sam(A(2), A(0), A(1); M(2) b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -結(jié)束FUNCTION語句 END; -結(jié)束PACKAGE BODY語句,LIBRARY IEEE; - 函數(shù)應(yīng)用實(shí)例 USE IEEE.STD_LOGIC_1164.ALL; USE WORK.packexp.ALL ; ENTITY axamp IS PORT(dat1,dat2 : IN
5、 STD_LOGIC_VECTOR(3 DOWNTO 0); dat3,dat4 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); out1,out2 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END; ARCHITECTURE bhv OF axamp IS BEGIN out1 = max(dat1,dat2); -用在賦值語句中的并行函數(shù)調(diào)用語句 PROCESS(dat3,dat4) BEGIN out2 = max(dat3,dat4); -順序函數(shù)調(diào)用語句 END PROCESS; END;,二、過程的定義與引用,過程的作用是傳遞
6、信息,即通過參數(shù)進(jìn)行內(nèi)外的信息傳遞。其中參數(shù)需說明(信號(hào)、變量及常量)類別、類型及傳遞方向。 過程定義的格式為: PROCEDURE 過程名 (參數(shù)聲明) IS 子程序聲明部分; BEGIN 順序語句; END PROCEDURE 過程名 ; 其中:參數(shù)聲明指明了輸入、輸出端口的數(shù)目和類型。參數(shù)聲明的語法格式為:參數(shù)名:方式 方式參數(shù)類型有inoutinoutbuffer 等四種。,在PROCEDURE結(jié)構(gòu)中,參數(shù)可以是輸入也可以是輸出。在沒有特別指定的情況下,“IN”作為常數(shù);而“OUT”和“INOUT”則看作“變量”進(jìn)行拷貝。 在過程語句執(zhí)行結(jié)束后,如沒有特別說明,輸出和輸入輸出參數(shù)將按變
7、量對(duì)待將值傳遞給調(diào)用者的變量。如果調(diào)用者需要輸出和輸入輸出作為信號(hào)使用,則在過程參數(shù)定義時(shí)要指明是信號(hào)。 例如:PROCEDURE shift (din: IN STD_LOGIC_VECTOR; SIGNAL dou: OUT STD_LOGIC_VECTOR; q: INOUT INTEGER) IS BEGIN . . . END shift;,過程的調(diào)用是一條語句,調(diào)用時(shí)通過其接口返回0個(gè)或多個(gè)值。 根據(jù)環(huán)境的不同,過程調(diào)用有兩種方式,即順序語句方式和并行語句方式。在一般的順序語句自然執(zhí)行過程中,一個(gè)過程被執(zhí)行,則屬于順序語句方式;當(dāng)某個(gè)過程處于并行語句環(huán)境中時(shí),其過程體中定義的任一I
8、N或INOUT的目標(biāo)參量發(fā)生改變時(shí),將啟動(dòng)過程的調(diào)用,這時(shí)的調(diào)用屬于并行語句方式。,過程的調(diào)用,LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY fun IS PORT (A: IN std_logic _Vector(0 TO 2); M : OUT std_logic _Vector(0 TO 2); END fun; ARCHITECTURE art1 OF fun IS PROCEDURE sam1 (X,Y,Z: IN BIT; N:OUT BIT) IS BEGIN N:=(X AND Y) OR Z; END sam1;,過程應(yīng)用
9、實(shí)例,BEGIN sam1(A(0), A(1), A(2), N(0); sam1(A(2), A(0), A(1), N(1); sam1(A(1), A(2), A(0), N(2); M(0)= N(0); -等效于:M RETURN 0; WHEN Z= RETURN Z; END CASE; END invert; END logic;,PACKAGE fun IS SUBTYPE SEGMENT IS BIT _Vector (0 to 6); TYPE BCD IS Integer RANGE 0 to 9; END fun; ENTITY DECODER IS PORT (I
10、NPUT: IN BCD; DRIVE : OUT SEGMENT); END DECODER ; ARCHITECTURE art OF DECODER IS BEGIN WITH INPUT SELECT,例:在現(xiàn)行WORK庫中定義程序包并立即 使用實(shí)例。,DRIVE=B “1111110” WHEN 0, B “0110000” WHEN 1, B “1101101” WHEN 2, B “1111001” WHEN 3, B “0110011” WHEN 4, B “1011011” WHEN 5, B “1011111” WHEN 6, B “1110000” WHEN 7, B “
11、1111111” WHEN 8, B “1111011” WHEN 9, B “0000000” WHEN OTHERS; END art;,三、配置,配置語句描述了層與層之間的連接關(guān)系,以及實(shí)體與構(gòu)造體之間的連接關(guān)系。設(shè)計(jì)者可以利用配置語句選擇不同的構(gòu)造體,使其與要設(shè)計(jì)的實(shí)體相對(duì)應(yīng);在仿真某一個(gè)實(shí)體時(shí),可以利用配置選擇不同的構(gòu)造體進(jìn)行性能對(duì)比實(shí)驗(yàn),以得到性能最佳的構(gòu)造體。,配置的基本格式為: CONFIGURATION 配置名 OF 實(shí)體名 IS 配置說明; END 配置名;,這種配置用于選擇不包含塊(BLOCK)和元件(COMPONENTS) 的構(gòu)造體。在配置語句中只包含有實(shí)體所選配的構(gòu)造
12、體名,其它什么都沒有。,配置語句根據(jù)不同情況,其說明語句有簡有繁。最簡單的缺省配置格式為:,CONFIGURATION 配置名 OF 實(shí)體名 IS FOR 選配結(jié)構(gòu)體名 END FOR; END 配置名;,例:加入了配置的4位等值比較器設(shè)計(jì)文件 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY comp4 IS PORT(a, b: IN STD_LOGIC_VECTOR(3 downto 0); y: OUT STD_LOGIC); END comp4;,-結(jié)構(gòu)體 1: ARCHITECTURE behavior OF comp4 IS BE
13、GIN Comp: PROCESS(a, b) BEGIN IF a=b THEN y=1; ELSE y=0; END IF; END PROCESS comp; END behavior; -結(jié)構(gòu)體 2: ARCHITECTURE dataflow OF comp4 IS BEGIN y=1 WHEN(a=b) ELSE 0; END dataflow;,-結(jié)構(gòu)體 3: ARCHITECTURE structural OF comp4 IS COMPONENT xnor2 PORT(in1, in2: IN STD_LOGIC; Out: OUT STD_LOGIC); END COMPONENT; COMPONENT and4 PORT(in1, in2, in3, in4: IN STD_LOGIC; Out: OUT STD-LOGIC); END COMPONENT; SIGNAL s: STD_LOGIC_VECTOR(0 to 3); BEGIN u0: xnor2 PORT MAP(a(0),b(0),s(0); u1: xnor2 PORT MAP(a(1),b(1),s(1); u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)學(xué)生社團(tuán)活動(dòng)經(jīng)費(fèi)管理制度
- 2026年未央?yún)^(qū)大明宮社區(qū)衛(wèi)生服務(wù)中心招聘?jìng)淇碱}庫完整參考答案詳解
- 2026年浙商中拓集團(tuán)股份有限公司社會(huì)招聘?jìng)淇碱}庫附答案詳解
- 食品安全與衛(wèi)生監(jiān)督管理規(guī)范
- 2026年黃淮學(xué)院招聘高層次人才備考題庫含答案詳解
- 2026年橫瀝鎮(zhèn)中心衛(wèi)生院招聘?jìng)淇碱}庫完整答案詳解
- 公共交通運(yùn)營安全管理責(zé)任制度
- 水資源管理與服務(wù)規(guī)范
- 2025年大學(xué)金融學(xué)(金融學(xué))試題及答案
- 2026年鞋帽設(shè)計(jì)(鞋型制作)試題及答案
- 成都天府新區(qū)施工圍擋設(shè)置導(dǎo)則方案文本
- 職業(yè)道德與法治知識(shí)點(diǎn)總結(jié)2025屆中職高考復(fù)習(xí)高教版
- 大模型備案-落實(shí)算法安全主體責(zé)任基本情況
- 超星爾雅學(xué)習(xí)通《光影中國(上海大學(xué))》2025章節(jié)測(cè)試附答案
- 2025電力系統(tǒng)動(dòng)態(tài)記錄裝置技術(shù)規(guī)范
- 2024-2025學(xué)年江蘇省南通市通州區(qū)五年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- (高清版)DB36∕T 1919-2023 水質(zhì) 無機(jī)元素的現(xiàn)場(chǎng)快速測(cè)定 便攜式單波長激發(fā)-能量色散X射線熒光光譜法
- 暖通自控培訓(xùn)
- 江蘇省常州市2024-2025學(xué)年七年級(jí)上學(xué)期期末道德與法治試卷(含答案)
- 四川省南充市2024-2025學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)語文試題(含答案)
- T-QGCML 4443-2024 漆樹籽油團(tuán)體標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論