![组合逻辑电路设计设计05(第五章C-VHDL组合电路-设计实例)_第1页](http://file4.renrendoc.com/view/15d69942c4e350e042b057cee95ca5e7/15d69942c4e350e042b057cee95ca5e71.gif)
![组合逻辑电路设计设计05(第五章C-VHDL组合电路-设计实例)_第2页](http://file4.renrendoc.com/view/15d69942c4e350e042b057cee95ca5e7/15d69942c4e350e042b057cee95ca5e72.gif)
![组合逻辑电路设计设计05(第五章C-VHDL组合电路-设计实例)_第3页](http://file4.renrendoc.com/view/15d69942c4e350e042b057cee95ca5e7/15d69942c4e350e042b057cee95ca5e73.gif)
![组合逻辑电路设计设计05(第五章C-VHDL组合电路-设计实例)_第4页](http://file4.renrendoc.com/view/15d69942c4e350e042b057cee95ca5e7/15d69942c4e350e042b057cee95ca5e74.gif)
![组合逻辑电路设计设计05(第五章C-VHDL组合电路-设计实例)_第5页](http://file4.renrendoc.com/view/15d69942c4e350e042b057cee95ca5e7/15d69942c4e350e042b057cee95ca5e75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路与逻辑设计一、基于VHDL的组合逻辑分析二、VHDL基本语素及语法三、基于VHDL的组合逻辑设计数字电路与逻辑设计5-3-3基于VHDL的组合逻辑设计一、逻辑抽象分析因果关系,确定输入/输出变量定义逻辑状态的含意(赋值)二、逻辑功能描述:列出真值表,布尔表达式,HDL语言等三、选定电路形式(器件类型)四、根据具体器件进行调整:对逻辑式化简(基本逻辑门)变换(中规模逻辑器件MSI)将HDL语句封装为完整程序代码(PLD)五、画出逻辑电路图,或下载到PLD组合逻辑设计步骤VHDL组合逻辑电路设计要领一、逻辑抽象分析逻辑问题,确定输入、输出逻辑变量;理清输出变量如何随输入变量变化(逻辑关系);二、VHDL程序代码合成通过VHDL语句的规定语义来勾画输出信号的逻辑行为(输出信号如何随输入信号变化)。(1)三态输出电路(2)数据选择器(3)比较器(4)编码器(5)译码器一、常用组合逻辑电路设计(2)数据选择器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;
中规模集成数据选择器74x151(8选1)中规模集成数据选择器74x151(8选1)应用1中规模集成数据选择器74x151(8选1)应用2中规模集成数据选择器74x151(8选1)应用2(1)三态输出电路
(2)比较器(3)数据选择器(4)编码器(5)译码器一、常用组合逻辑电路设计(1)三态输出电路(1位宽度)AENBEN=1B=A;EN=0B=高阻态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”要大写;三态输出电路(多位宽度)
A7-A0ENB7-B0EN=1B=A;EN=0B=高阻态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)三态输出电路
(2)数据选择器(3)比较器(4)编码器(5)译码器一、常用组合逻辑电路设计(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)三态输出电路
(2)比较器(3)数据选择器(4)编码器(5)译码器一、常用组合逻辑电路设计(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优先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;}“九值逻辑”
标准逻辑类型对数字逻辑电路的逻辑特性描述更加完整,真实,因此在VHDL程序中,对逻辑信号的定义通常采用标准逻辑类型(1)三态输出电路
(2)比较器(3)数据选择器(4)编码器(5)译码器一、常用组合逻辑电路设计(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.数码管译码器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:组合逻辑设计
四舍五入电路输入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:设计组合逻辑电路设计一个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:四位二进制数转换为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:设计一位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;码制转换设计题:将4位自然二进制数转换为BCD码,并通过数码管显示转换结果。四位二进制码转换为BCD码,并译码显示。
(数码管为共阴极)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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《数字逻辑基础》课件
- 《心肌梗死心电图》课件
- 《科技创新》课件
- 2025年凉山州货运从业资格证模拟考试下载什么软件
- 紫色插画风小学科学教学公开课互动课件主题
- 银行战略月报模板
- 中秋节历史文化探析模板
- 小学语文阅读教学中如何提高学生的阅读能力
- 对茶叶资源整合与市场营销的创新策略分析
- 学校开展交通安全教育主题活动方案
- 2024交管12123驾照学法减分必考题库附答案
- 脑脊液常规检查
- 2024年苏州经贸职业技术学院单招职业适应性测试题库附答案
- 柴油机油-标准
- 监狱安全课件
- 《初三开学第一课 中考动员会 中考冲刺班会》课件
- 护理干预在慢性病管理中的作用
- 2024年河南水利与环境职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 四肢瘫痪的护理查房
- 慢性萎缩性胃炎的护理查房
- 住院医师规范化培训临床实践能力结业专科技能考核(全科医学科)妇科检查及分泌物留取
评论
0/150
提交评论