欢迎来到天天文库
浏览记录
ID:19667525
大小:122.50 KB
页数:8页
时间:2018-10-04
《eda设计基本组合电路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、常用组合电路设计实例13线-8线译码器一、设计任务:描述一个3线-8线译码器,使能端为g1、g2a、g2b,地址选择端为a、b、c,输出端为总线y。二、算法设计:用case语句描述电路,利用真值表辅助,很容易编写出程序。三、端口图:四、实验原程序:decoder3_8.vhdlibraryieee;useieee.std_logic_1164.all;--库函数声名entitydecoder3_8isport(a,b,c,g1,g2a,g2b:instd_logic;y:outstd_logic_vector(7downto0));end;--实体即输入输出端口定义architecturert
2、lofdecoder3_8is--结构体描述signaldz:std_logic_vector(2downto0);begindz<=c&b&a;process(dz,g1,g2a,g2b)beginif(g1='1'andg2a='0'andg2b='0')thencasedziswhen"000"=>y<="11111110";when"001"=>y<="11111101";when"010"=>y<="11111011";when"011"=>y<="11110111";when"100"=>y<="11101111";when"101"=>y<="11011111";when"110
3、"=>y<="10111111";when"111"=>y<="01111111";whenothers=>y<="XXXXXXXX";endcase;elsey<="11111111";endif;endprocess;end;五、时序仿真结果图:--程序描述的3-8线译码器与中小规模集成电路74LS138功能相同。实例2优先编码器一、设计任务:描述一个优先编码器。该电路有8个输入端d(8位),3个输出端y(3位)。二、算法设计:用if语句描述电路,利用真值表辅助,编写出程序。三、端口图:四、真值表真值表d7d6d5d4d3d2d1d0y2y1y00xxxxxxx00010xxxxxx001
4、110xxxxx0101110xxxx01111110xx100111110xx1011111110x11011111110111五、实验源程序encoder.vhdlibraryieee;useieee.std_logic_1164.all;entityencoderisport(d:instd_logic_vector(0to7);y:outstd_logic_vector(0to2));end;architectureaofencoderisbeginprocessbeginifd(7)='0'theny<="000";elsifd(6)='0'theny<="001";elsifd(5
5、)='0'theny<="010";elsifd(4)='0'theny<="011";elsifd(3)='0'theny<="100";elsifd(2)='0'theny<="101";elsifd(1)='0'theny<="110";elsifd(0)='0'theny<="111";endif;endprocess;end;--由优先编码器的真值表可知,输入信号d7的优先权最高,只要d7=0,无论其他为何值,输出都由d7决定。--vhdl语言可用if语句描述优先权特性,在if语句中最先描述d7这个优先编码条件。优先级别越低,在语句中描述的顺序越靠后。实例3二-十进制BCD译码器一、
6、设计任务:设计一个二-十进制(BCD)译码器。译码器输入din为4位二进制数,输出为以4位二进制数表示的两个十进制数a、b。二、算法设计:用行为描述模式描述译码器。三、源程序v2_10bcdymq.vhdlibraryieee;useieee.std_logic_1164.all;useieee.std_logic_signed.all;entityv2_10bcdymqisport(din:inintegerrange15downto0;a,b:outintegerrange9downto0);end;--integer为整数数据类型,要使用关键字integerrange(数值范围)。arc
7、hitectureaofv2_10bcdymqisbeginp1:processbeginifdin<10thena<=din;b<=0;elsea<=din-10;b<=1;endif;endprocessp1;end;实例4:7段数码管显示驱动(译码器)实验原理:用四位拨码开关产生8421BCD码,用CPLD分别产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后编程下载实验测试。1
此文档下载收益归作者所有