版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VHDL中的結(jié)構(gòu)設(shè)計的實例entitybutnotis
port(x,y:inbit;z:outbit);endbutnot;architecturestrofbutnotissignaltemp:bit;componentkinvport(a:inbit;y:outbit);endcomponent;componentkand2port(a,b:inbit;y:outbit);endcomponent;VHDL中的結(jié)構(gòu)設(shè)計的實例beginu1:kinvportmap(y,temp);u2:kand2portmap(x,temp,z);endstr;VHDL中的結(jié)構(gòu)設(shè)計的特點Architecturestrof實體名is元件說明;--(電路設(shè)計中使用的元件及端口)信號說明;--(電路設(shè)計中各中間連接點)begin元件使用語句;--(端口與信號(中間連接點及輸入/輸出端點)的連接關(guān)系)endstr;VHDL中的結(jié)構(gòu)設(shè)計:元件說明component元件名port(信號名:模式
信號類型;…….
信號名:模式
信號類型);endcomponent;要點:所用的電路實體應(yīng)在work庫或已說明的庫中;模塊名稱和對應(yīng)端口名稱順序應(yīng)完全一致;實體與元件說明的對比entitykand2isport(a,b:instd_logic;y:outstd_logic);endkand2;componentkand2port(a,b:instd_logic;y:outstd_logic);endcomponent;VHDL中的結(jié)構(gòu)設(shè)計:元件使用元件編號:元件名portmap(信號對應(yīng)表);元件使用語句要點:對每一元件應(yīng)該指定唯一的編號;元件名稱應(yīng)該與已經(jīng)有的元件名稱完全一致;元件使用語句為并行語句,只能在結(jié)構(gòu)體中使用,不能在子程序中(函數(shù)、過程、進程)使用。信號對應(yīng)表的格式將本元件的各端口與外部的信號接點或端口建立連接;每個連接應(yīng)該具有一個唯一的名稱;例:原來元件的端口:
port(a,b:instd_logic;y:outstd_logic);順序關(guān)聯(lián)法:port(data,en,out);名稱關(guān)聯(lián)法:port(a=>data,y=>out,b=>en);VHDL中的結(jié)構(gòu)設(shè)計的實例質(zhì)數(shù)檢測器的結(jié)構(gòu)設(shè)計p.284表4-43architectureprime1_archofprimeissignaln3_l,n2_l,n1_l:std_logic;signaln3l_n0,n3l_n2l_n1,n2l_n1_n0,n2_n1l_n0:std_logic;componentkinvport(a:instd_logic;y:outstd_logic);endcomponent;componentkand2port(a0,a1:instd_logic;y:outstd_logic);endcomponent;componentkand3port(a0,a1,a2:instd_logic;y:outstd_logic);endcomponent;componentkor4port(a0,a1,a2,a3:instd_logic;y:outstd_logic);endcomponent;VHDL中的結(jié)構(gòu)設(shè)計的實例beginu1:kinvportmap(n(3),n3_l);u2:kinvportmap(n(2),n2_l);u3:kinvportmap(n(1),n1_l);u4:kand2portmap(n3_l,n(0),n3l_n0);u5:kand3portmap(n3_l,n2_l,n(1),n3l_n2l_n1);u6:kand3portmap(n2_l,n(1),n(0),n2l_n1_n0);u7:kand3portmap(n(2),n1_l,n(0),n2_n1l_n0);u8:kor4portmap(n3l_n0,n3l_n2l_n1,n2l_n1_n0,n2_n1l_n0,f);endprime1_arch;相關(guān)元件程序libraryieee;useieee.std_logic_1164.all;entitykinvisport(a:instd_logic;y:outstd_logic);endkinv;architecturedatofkinvisbeginy<=nota;end
dat;
libraryieee;useieee.std_logic_1164.all;entitykand2isport(a0,a1:instd_logic;y:outstd_logic);endkand2;architecturedatofkand2isbeginy<=a0anda1;enddat;相關(guān)元件程序libraryieee;useieee.std_logic_1164.all;entitykand3isport(a0,a1,a2:instd_logic;y:outstd_logic);endkand3;architecturedatofkand3isbeginy<=a0anda1anda2;enddat;
libraryieee;useieee.std_logic_1164.all;entitykor4isport(a0,a1,a2,a3:instd_logic;y:outstd_logic);endkor4;architecturedatofkor4isbeginy<=a0ora1ora2ora3;enddat;VHDL中的結(jié)構(gòu)設(shè)計:generate語句編號:for指標in范圍generate元件編號:元件名portmap(信號1,信號2,…);endgenerategenerate語句對同一結(jié)構(gòu)體中使用的多個相同元件進行說明;語句中,指標為整數(shù),不需要定義,各元件對應(yīng)的信號此時成為數(shù)組,其下標由指標范圍決定;VHDL中的結(jié)構(gòu)設(shè)計:generate語句也可以采用if-generate語句的形式控制電路的結(jié)構(gòu)變化:編號:if關(guān)系式generate元件語句;endgenerate;在關(guān)系式為true時生成相關(guān)的元件;generate語句的使用實例8位總線反相器p.285architecturestrofinv8iscomponentkinvport(a:instd_logic;y:outstd_logic);endcomponent;beging1:forbin7downto0generateu1:kinvportmap(x(b),y(b));endgenerate;endstr;VHDL中的結(jié)構(gòu)設(shè)計:generic語句在原有元件中的定義:p.285表4-46
entity….generic(參量名:參量類型;….);port…..在元件語句中賦值:元件編號:元件名genericmap(參量名=>常量值)portmap(信號…);賦值后,參量名由具體常量值所替代。generic語句的使用實例n位總線反相器設(shè)計p.285entitybusinvisgeneric(width:positive:=4);port(x:instd_logic_vector(width-1downto0);
y:out
std_logic_vector(width-1downto0));endbusinv;
generic語句的使用實例architecturesofbusinviscomponentkinvport(a:instd_logic;y:outstd_logic);endcomponent;beging1:forbinwidth-1downto0generateu1:kinvportmap(x(b),y(b));endgenerate;ends;generic語句的使用實例16位總線反相器設(shè)計:architecturesofinv16iscomponentbusinvisgeneric(width:positive:=4);port(x:instd_logic_vector(width-1downto0);
y:out
std_logic_vector(width-1downto0));endcomponent;beginu1:businvgenericmap(16)portmap(x,y);ends;元件語句的簡化使用—宏調(diào)用元件的使用通常需要在結(jié)構(gòu)體中進行說明,可能使程序顯得很長;在很多綜合工具中,允許將這種說明省略,只要進行了包含元件的資源說明,就可以在結(jié)構(gòu)體中直接使用元件名稱和相關(guān)的語句。宏調(diào)用的使用實例16位總線反相器設(shè)計:libraryieee;useieee.std_logic_1164.all;usework.all;
entityinv16isport(x:instd_logic_vector(15downto0);
y:out
std_logic_vector(15downto0));endinv16;
architecturesofinv16isbeginu1:businvgenericmap(16)portmap(x,y);ends;宏調(diào)用的使用實例8選1數(shù)據(jù)選擇器設(shè)計(altera數(shù)據(jù)庫的使用)libraryieee;useieee.std_logic_1164.all;libraryaltera;usealtera.maxplus2.all;
entitymux8_altis
port(a,b,c,gn:in
std_logic;
d:instd_logic_vector(7downto0);
y,wn:out
std_logic);endmux8_alt;
architecturestrofmux8_altisbeginmux:a_74151bportmap(c,b,a,d,gn,y,wn);endstr;宏調(diào)用的使用實例24位寄存器的LPM設(shè)計(LPM庫的使用)libraryieee;
useieee.std_logic_1164.all;librarylpm;
uselpm.lpm_components.all;entityreg24lpmis
port(clk:instd_logic;
d:instd_logic_vector(23downto0);q:outstd_logic_vector(23downto0));endreg24lpm;architecturestrofreg24lpmisbeginreg24:lpm_ffgenericmap(lpm_width=>24)portmap(data=>d(23downto0),clock=>clk,q=>q(23downto0));endstr;結(jié)構(gòu)設(shè)計的小結(jié)與圖形輸入設(shè)計法最接近,可以最直觀地進行邏輯電路圖的設(shè)計;電路直觀,節(jié)點清楚
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作服選購合同范本
- 長期醫(yī)藥配送合同
- 幼兒園物資選購協(xié)議范本
- 柴油購銷合同范本示例
- 焊錫絲采購合同簽訂后的履行
- 乳膠漆產(chǎn)品代理協(xié)議
- 地方特色月餅銷售合同
- 標準投資理財合同樣本
- 地址租賃協(xié)議
- 小學生科學繪本故事解讀
- GB/T 44212-2024消費品質(zhì)量分級廚衛(wèi)五金產(chǎn)品
- 人教版(2012)音樂一年級上冊國旗國旗真美麗 說課教案
- 記賬實操-協(xié)會賬務(wù)處理的分錄
- JT-T-1344-2020純電動汽車維護、檢測、診斷技術(shù)規(guī)范
- 長期護理保險考試附有答案
- 國際經(jīng)濟學智慧樹知到期末考試答案章節(jié)答案2024年河南大學
- 特殊教育概論-期末大作業(yè)-國開-參考資料
- 2022-2023學年福建省廈門某中學八年級(上)期末數(shù)學試卷(含解析)
- 【多元化戰(zhàn)略對企業(yè)財務(wù)風險的影響探究-以阿里巴巴為例10000字(論文)】
- 04979-網(wǎng)絡(luò)安全技術(shù)-國開機考參考資料
- 北京市餐飲行業(yè)污染防治手冊
評論
0/150
提交評論