




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 实 验 报 告实验课程名称 VHDL 四选一选择器 年 级 电 技 111 专 业 电子科学与技术 学生姓名 周伦稳 学 号 2013年12月 4选1数据选择器1·设计背景和设计方案1·1设计背景该设计是以数字电子技术为基础,实现数据从四位数据中按照输入的信号选中一个数,来实现所期望的逻辑功能。1·2设计方案用拨码开关作四位数据及两位控制端的输入,LED作输出,通过拨码开关组成控制输入端s1和s0不同组合,观察LED与数据输入端a,b,c,d的关系,验证四选一数据选择器设计的正确性。使用逻辑门电路与、或、非的组合来表达4选1数据选择器,
2、通过控制输入的信号来控制输出的信号值。其逻辑电路图如下:其示意框图如下:其中输入数据端口为D0、D1、D2、D3,A、A为控制信号,Y为输出。 令AA=“00”时,输出Y=D0; 令AA=“01”时,输出Y=D1; 令AA=“10”时,输出Y=D2;令AA=“11 时,输出Y=D3; 4 选 1 数 据 选 择 器 D0 输入 D 1 Y 数据 D 2 D 3 A A真值表如下:输入输出D A1 A0 Y D0 0 0 D0D1 0 1 D1D2 1 0 D2 D3 1 1 D3 2·方案实施1)程序12·1·1设计思路 四选一多路选择器设计时,定义输入S为标准以
3、内漏记为STD_LOGIC,输出的信号Z的数据类型定义为2位标准逻辑矢量位STD_LOGIC_VECTOR( 1 DOWNTO 0 ).使用LIBRATY语句和USE语句,来打开IEEE库的程序包STD_LOGIC_1164.ALL。当输入信号时,程序按照输入的指令来选择输出,例如输入信号为“00”时,将a的值给z,进而输出z的值,输入信号为“11”是,将a的值给z,进而输出z的值。若输入信号是已经定义的四个信号之外的值时(即当IF条件语句不满足时),输出值为x,并将x的值给输出信号z。这样即可实现四选一数据选择的功能。2·1·2程序LIBRARY IEEE;USE IEE
4、E.STD_LOGIC_1164.ALL;ENTITY mux41 isPORT (a,b,c,d :IN STD_LOGIC; s :IN STD_LOGIC_VECTOR(1 DOWNTO 0); z : OUT STD_LOGIC);END mux41;ARCHITECTURE one OF mux41 ISBEGIN PROCESS( s,a,b,c,d) BEGIN CASE s IS WHEN "00" => z <= a; WHEN "01" => z <= b; WHEN "10" =>
5、z <= c; WHEN "11" => z <= d; WHEN OTHERS => z <=null; END CASE; END PROCESS;END one;2·1·3运行结果 当输入信号“00”时,输出信号z的值为a; 当输入信号“01”时,输出信号z的值为b; 当输入信号“10”时,输出信号z的值为c; 当输入信号“11”时,输出信号z的值为d;2·1·4波形仿真及描述输入:a 的波形周期为10ns,b的波形周期为5ns,c的波形周期为15ns,d的波形周期为8ns。s1的波形周期为5ns,
6、s2的波形周期为10ns。输出:2)程序22·2·1设计思路定义6个输入信号,一个输出信号,当控制信号A=1时,muxval的值加1,即muxval=muxval+1;当控制信号B=1时muxval的值加2,即muxval=muxval+2。当输入值为i0时,输出q的值为0,当输入的值为i1时,输出q的值为1,当输入值为i2时,输出q的值为2,当输入值为i3时,输出q的值为3。2·2·2程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT ( i0,i1,i2,i3,a,b : IN
7、 STD_LOGIC; q : OUT STD_LOGIC );ENS mux4;ARCHITECTURE b_mux4 OF mux4 ISBEGINProcess ( i0,i1,i2,i3,a,b )Variable muxval : integer rang 7 downto 0;Begin muxval :=0;if ( a = '1' ) then muxval : muxval + 1; end if;if ( b = '1' ) then muxval : muxval + 2; end if;case muxval is when 0 = > q < = i0; when 1 = > q < = i1; when 2 = > q < = i2; when 3 = > q < = i3; When others = > null;end case;end process;END b_mux4;2·2·3运行结果当输入信号“00”时,输出信号z的值为i0; 当输入信号“01”时,输出信号z的值为i1; 当输入信号“10”时,输出信号z的值为i2; 当输入信号“11”时,输出信号z的值为i3;2·2·4波形仿真及描述输入: a的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论