贵州大学大数据与信息工程学院EDA技术实验设计报告
名称:用CASE语句设计四-十六译码器专业:电子信息科学与技术
班级:
学号:
学生姓名:
指导教师:
2017年12月21日
一、实验目的
1、熟悉Quartus II的使用方法;
2、掌握VHDL语法及其应用;
3、学会使用ModelSim仿真;
二、实验环境
Windows 7 64位家庭版、Quartus II、ModelSim;
三、实验内容
1、使用Quartus II编写一个四—十六译码器源程序。
根据设计要求可以得知,该实体需要有4个输入端以及一个输出端。
2、使用ModelSim进行仿真。
选择数据进行仿真,观察结果是否与设想一致。
四、实验设计
1、先引用IEEE库;
library ieee;
use ieee.std_logic_1164.all;
2、设计实体,定义4个输入端口以及一个输出端口;
entity ymq is
port(i1,i2,i3,i4:in std_logic;
o:out std_logic_vector(15 downto 0));
end entity ymq;
3、设计构造体;
architecture decode of ymq is
signal s:std_logic_vector(3 downto 0);
begin
s<=i1&i2&i3&i4;
process(s)
begin
case s is
when "0000" =>o<="1111111111111110";
when "0001" =>o<="1111111111111101";
when "0010" =>o<="1111111111111011";
when "0011" =>o<="1111111111110111";
when "0100" =>o<="1111111111101111";
when "0101" =>o<="1111111111011111";
when "0110" =>o<="1111111110111111";
when "0111" =>o<="1111111101111111";
when "1000" =>o<="1111111011111111";
when "1001" =>o<="1111110111111111";
when "1010" =>o<="1111101111111111";
when "1011" =>o<="1111011111111111";
when "1100" =>o<="1110111111111111";
when "1101" =>o<="1101111111111111";
when "1110" =>o<="1011111111111111";
when "1111" =>o<="0111111111111111";
when others =>o<="XXXXXXXXXXXXXXXX";
end case;
end process;
end architecture;
4、编译,查看RTL图;
5、打开ModelSim进行数据仿真;
五、实验总结
1、最终结果与设计要求一致;
2、VHDL程序编译成功;