版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)字電路與邏輯設(shè)計一、基于VHDL的組合邏輯分析二、VHDL基本語素及語法三、基于VHDL的組合邏輯設(shè)計數(shù)字電路與邏輯設(shè)計5-3-3基于VHDL的組合邏輯設(shè)計一、邏輯抽象分析因果關(guān)系,確定輸入/輸出變量定義邏輯狀態(tài)的含意(賦值)二、邏輯功能描述:列出真值表,布爾表達(dá)式,HDL語言等三、選定電路形式(器件類型)四、根據(jù)具體器件進(jìn)行調(diào)整:對邏輯式化簡(基本邏輯門)變換(中規(guī)模邏輯器件MSI)將HDL語句封裝為完整程序代碼(PLD)五、畫出邏輯電路圖,或下載到PLD組合邏輯設(shè)計步驟VHDL組合邏輯電路設(shè)計要領(lǐng)一、邏輯抽象分析邏輯問題,確定輸入、輸出邏輯變量;理清輸出變量如何隨輸入變量變化(邏輯關(guān)系);二、VHDL程序代碼合成通過VHDL語句的規(guī)定語義來勾畫輸出信號的邏輯行為(輸出信號如何隨輸入信號變化)。(1)三態(tài)輸出電路(2)數(shù)據(jù)選擇器(3)比較器(4)編碼器(5)譯碼器一、常用組合邏輯電路設(shè)計(2)數(shù)據(jù)選擇器8選1MUXlibraryieee;useieee.std_logic_1164.all;entitymux81isPort(D:in
std_logic_vector(0to7);sel:in
std_logic_vector(2downto0);Y:out
std_logic);endmux81;architecture
archmux
ofmux41is
begin
with
sel
select
Y<=D(0)when"000",D(1)when"001",D(2)when"010",D(3)when"011",D(4)when"100",D(5)when"101",D(6)when"110",D(7)whenothers;end
archmux;
中規(guī)模集成數(shù)據(jù)選擇器74x151(8選1)中規(guī)模集成數(shù)據(jù)選擇器74x151(8選1)應(yīng)用1中規(guī)模集成數(shù)據(jù)選擇器74x151(8選1)應(yīng)用2中規(guī)模集成數(shù)據(jù)選擇器74x151(8選1)應(yīng)用2(1)三態(tài)輸出電路
(2)比較器(3)數(shù)據(jù)選擇器(4)編碼器(5)譯碼器一、常用組合邏輯電路設(shè)計(1)三態(tài)輸出電路(1位寬度)AENBEN=1B=A;EN=0B=高阻態(tài)libraryieee;useieee.std_logic_1164.all;entitytrioutisport(A:in
std_logic;en:in
std_logic;B:out
std_logic);endtriout;architecturebehaveoftrioutisbegin
B<=Awhenen='1'else
'Z';endbehave;
--注意此處的“Z”要大寫;三態(tài)輸出電路(多位寬度)
A7-A0ENB7-B0EN=1B=A;EN=0B=高阻態(tài)88libraryieee;useieee.std_logic_1164.all;entitytrioutisport(A:in
std_logic_vector(7downto0);en:in
std_logic;B:out
std_logic_vector(7downto0));endtriout;architecturebehaveoftrioutisbegin
B<=Awhenen='1'else
"ZZZZZZZZ";
endbehave;
--注意多位時用雙引號;(1)三態(tài)輸出電路
(2)數(shù)據(jù)選擇器(3)比較器(4)編碼器(5)譯碼器一、常用組合邏輯電路設(shè)計(3)比較器AGTBALTBAEQBAB如果a>b,輸出為:agtb=‘1‘,altb=’0’,aeqb=‘0’;如果a<b,輸出為:altb=‘1‘,agtb=’0’,aeqb=‘0’;如果a=b,輸出為:aeqb=‘1‘,agtb=’0’,altb=‘0’。Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;ENTITYcmpabIS
PORT
(A,B:in
std_logic_vector(7downto0); AGTB,ALTB,AEQB:out
std_logic); ENDcmpab;ARCHITECTUREaOFcmpabISBEGIN
aeqb<='1'when
a=belse'0';agtb<='1'whena>belse'0';altb<='1'whena<belse'0';ENDa;ARCHITECTUREbOFcmpabISBEGIN
process(a,b)begin
ifA>Bthenagtb<='1';
elsifA=Bthenaeqb<='1';
elsealtb<='1';
endif;
end
process;ENDb;(1)三態(tài)輸出電路
(2)比較器(3)數(shù)據(jù)選擇器(4)編碼器(5)譯碼器一、常用組合邏輯電路設(shè)計(4)編碼器(A普通8-3編碼器)I6I7I5I4I3I2I1I0Y2Y1Y08-3編碼器I7I6I5I4I3I2I1I0Y2Y1Y01111111000011111101001111110110101111011101111101111100110111111011011111111001111111111LIBRARYieee;USEieee.std_logic_1164.all;ENTITYencoderISPORT(i:IN
BIT_VECTOR(7DOWNTO0);y:OUT
BIT_VECTOR(2DOWNTO0));
ENDencoder;ARCHITECTURErtlOFencoderISBEGINy<="000"wheni="11111110"else"001"wheni="11111101"else"010"wheni="11111011"else"011"wheni="11110111"else"100"wheni="11101111"else"101"wheni="11011111"else"110"wheni="10111111"else"111"wheni="01111111"else
"000";ENDrtl;(4)編碼器(B優(yōu)先8-3編碼器)I6I7I5I4I3I2I1I0Y2Y1Y08-3編碼器I7I6I5I4I3I2I1I0Y2Y1Y0XXXXXXX0000XXXXXX01001XXXXX011010XXXX0111011XXX01111100XX011111101X011111111001111111111LIBRARYieee;USEieee.std_logic_1164.all;ENTITYencoderISPORT(i:IN
BIT_VECTOR(7DOWNTO0);y:OUT
BIT_VECTOR(2DOWNTO0));
ENDencoder;ARCHITECTURErtlOFencoderISBEGINy<="000"wheni(0)='0'
else"001"wheni(1)='0'
else"010"wheni(2)='0'
else"011"wheni(3)='0'
else"100"wheni(4)='0'
else"101"wheni(5)='0'
else"110"wheni(6)='0'
else"111"wheni(7)='0'
else"000";ENDrtl;STD_LOGIC類型信號的取值空間。
若A:OUTSTD_LOGIC;則A可賦予‘0’、‘1’、‘Z’、……,形式如下A<='0';
std_logic信號的取值空間{'0',-----Forcing0'1',-----Forcing1'Z',-----HignImpedance'W',-----WeakUnknown'L',-----Weak0;'H',-----Weak1;'U',-----Undefined'X',-----ForcingUnknown
'-',------Don’tCare;}“九值邏輯”
標(biāo)準(zhǔn)邏輯類型對數(shù)字邏輯電路的邏輯特性描述更加完整,真實,因此在VHDL程序中,對邏輯信號的定義通常采用標(biāo)準(zhǔn)邏輯類型(1)三態(tài)輸出電路
(2)比較器(3)數(shù)據(jù)選擇器(4)編碼器(5)譯碼器一、常用組合邏輯電路設(shè)計(5)譯碼器A.3-8譯碼器LIBRARYieee;USEieee.std_logic_1164.all;ENTITYdecode_3to8ISPORT(a,b,c,G1,G2A,G2B:INSTD_LOGIC;Y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDdecode_3to8;ARCHITECTURErtlOFdecode_3to8ISSIGNALindata:STD_LOGIC_VECTOR(5DOWNTO0);BEGINindata<=G1&G2A&G2B&c&b&a;y<="11111110"whenindata="100000"else"11111101"whenindata="100001"else"11111011"whenindata="100010"else"11110111"whenindata="100011"else"11101111"whenindata="100100"else"11011111"whenindata="100101"else"10111111"whenindata="100110"else"01111111"whenindata="100111"else"11111111";ENDrtl;譯碼器(2)譯碼器B.數(shù)碼管譯碼器A3A2A1A0abcdefgLibraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;EntitybcdisPort(A:instd_logic_vector(3downto0);Seven
:outstd_logic_vector(6downto0));Endbcd;ArchitectureaofbcdisBeginSeven<="0111111"whenA="0000"else
--0
"0000110"whenA="0001"else
--1
"1011011"whenA="0010"else
--2
"1001111"whenA="0011"else
--3
"1100110"whenA="0100"else
--4
"1101101"whenA="0101"else
--5
"1111101"whenA="0110"else
--6
"0000111"whenA="0111"else
--7
"1111111"whenA="1000"else
--8
"1101111"whenA="1001"else
--9
"0000000";Enda;例1:組合邏輯設(shè)計
四舍五入電路輸入8421BCD碼,輸出F。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitysswrisport(d:instd_logic_vector(3downto0);y:outstd_logic);endsswr;architecturebehaveofsswrisbeginy<='0'when0<=dandd<5else'1'when5<=dandd<10else'Z';endbehave;例2:設(shè)計組合邏輯電路設(shè)計一個1bit全加器。輸入X,Y,CI輸出Z,COlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityfull_bit_adderisport(a,b,ci:instd_logic;y,cout:outstd_logic);endfull_bit_adder;architecturebh1offull_bit_adderisbeginy<=((nota)and(notb)andci)or((nota)and(b)and(notci))or((a)and(notb)and(notci))or((a)and(b)and(ci));cout<=(bandci)or(aandci)or(aandb);endbh1;architecturebh2offull_bit_adderisbeginy<=axorbxorci;cout<=(aandb)or(aandci)or(bandci);endbh2;configurationcon1offull_bit_adderisforbh2endfor;endcon1;例3:四位二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼。entitybin2bcdisport(d_bin:instd_logic_vector(3downto0);d_bcd_H,d_bcd_L:outstd_logic_vector(3downto0));endbin2bcd;architectureaa
ofbin2bcdisBegind_bcd_L<=d_binwhend_bin<10else
d_bin+6;d_bcd_H<=“0000”whend_bin<10else
“0001”;endaa;entitybcd2bisport(d:instd_logic_vector(3downto0);Bh,Bl:outstd_logic_vector(3downto0));endbcd2b;architectureaaofbcd2bissignala,b:std_logic_vector(7downto0);begina<="0000"&d;b<=awhend<10elsea+6;Bh<=b(7downto4);Bl<=b(3downto0);endaa;architectureabofbcd2bisbeginBh<="0001"whend>9else"0000";Bl<=d+6whend>9elsed;endab;例4:設(shè)計一位BCD碼加法器entitybcd_adderisport(d1,d2:instd_logic_vector(3downto0);Bh,Bl:outstd_logic_vector(3downto0));endbcd_adder;architectureaaofbcd_adderissignala,b,t,s:std_logic_vector(7downto0);begina<="0000"&d1;b<="0000"&d2;t<=a+b;s<=twhent<10elset+6;Bh<=s(7downto4);Bl<=s(3downto0);endaa;碼制轉(zhuǎn)換設(shè)計題:將4位自然二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼,并通過數(shù)碼管顯示轉(zhuǎn)換結(jié)果。四位二進(jìn)制碼轉(zhuǎn)換為BCD碼,并譯碼顯示。
(數(shù)碼管為共陰極)Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;EntitybcdisPort(A:instd_logic_vector(3downto0);bcd0,bcd1:outstd_logic_vector(3downto0);seven0,seven1:outstd_logic_vector(6downto0));Endbcd;Architectureaofbcdis
signaltmp:std_logic_vector(3downto0);Beginbcd0<=Awhen(A<10)elseA+6;bcd1<=“0000”when(A<10)else“0001”;tmp<=bcd0;
seven0<="011
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家居設(shè)計與生活品質(zhì)的提升
- 現(xiàn)代辦公環(huán)境中營銷自動化策略的實施
- Unit2 An Accident(說課稿)-2024-2025學(xué)年北師大版(三起)英語六年級上冊
- 3-1《百合花》(說課稿)高一語文同步高效課堂(統(tǒng)編版 必修上冊)
- 2023二年級數(shù)學(xué)上冊 七 分一分與除法第5課時 小熊開店說課稿 北師大版
- 3 天窗(說課稿)2023-2024學(xué)年部編版語文四年級下冊
- 《8和9的加、減法的應(yīng)用》(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- Unit 1 Art Using language 2 說課稿 -2023-2024學(xué)年高中英語人教版(2019)選擇性必修第三冊
- Unit 5 Colours Lesson 1(說課稿)-2024-2025學(xué)年人教新起點(diǎn)版英語一年級上冊
- 2023四年級數(shù)學(xué)上冊 1 大數(shù)的認(rèn)識第4課時 億以內(nèi)數(shù)的大小比較說課稿 新人教版
- 蘇教版四年級數(shù)學(xué)下冊第三單元第二課時《常見的數(shù)量關(guān)系》課件
- 2025年中考物理總復(fù)習(xí)《壓強(qiáng)》專項測試卷含答案
- 《智能傳感器技術(shù)》課件
- SaaS服務(wù)具體應(yīng)用合同范本2024版版
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期1月期末 政治試題(含答案)
- 2025年幼兒園年度工作總結(jié)及工作計劃
- 殘疾人掛靠合作合同協(xié)議書范本
- 浙江省臺州市2021-2022學(xué)年高一上學(xué)期期末質(zhì)量評估政治試題 含解析
- 寧夏“8·19”較大爆燃事故調(diào)查報告
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024年員工規(guī)章制度具體內(nèi)容范本(三篇)
評論
0/150
提交評論