文档介绍:2015年北京邮电大学数电实验报告
2015年北京邮电大学数电实验报告
1 / 21
2015年北京邮电大学数电实验报告
=> b <="1011011";--5
WHEN"0110" => b <="1011111";--6
WHEN"0111" => b <="1110000";--7
WHEN"1000" => b <="1111111";--8
WHEN"1001" => b <="1111011";--9
WHEN OTHERS =>b <="0000000";
END CASE;
END PROCESS;
END;
仿真波形图:
分析:数码管译码器主要运用case语句,将每一种情况罗列出来,而仿真波形图既是每一种情况的一种直观体现
2015年北京邮电大学数电实验报告
2015年北京邮电大学数电实验报告
3 / 21
2015年北京邮电大学数电实验报告
(2)8421码转换为余3码的代码转换器
VHDL代码:
library ieee;
use ;
entity TWO is
port(
a:in std_logic_vector(3 downto 0);
b:out std_logic_vector(3 downto 0)
);
end TWO;
architecture TWO_arch of TWO is
begin
process(a)
begin
case a is
when "0000" =>b <="0011";--0
when "0001" =>b <="0100";--1
when "0010" =>b <="0101";--2
when "0011" =>b <="0110";--3
when "0100" =>b <="0111";--4
when "0101" =>b <="1000";--5
when "0110" =>b <="1001";--6
when "0111" =>b <="1010";--7
when "1000" =>b <="1011";--8
when "1001" =>b <="1100";--9
when others =>b<="0000";
end case;
end process;
end;
仿真波形图:
2015年北京邮电大学数电实验报告
2015年北京邮电大学数电实验报告
3 / 21
2015年北京邮电大学数电实验报告
分析:余三码实际为8421码加上3的结果,可以用case列举的方式,也可以用加号,但需要加上相应的库
(3)奇校验器
VHDL代码:
library ieee;
use ;
entity THREE is
port(
a:in std_logic_vector(3 downto 0);
b:out std_logic_vector(0 downto 0)
);
end THREE;
architecture THREE_arch of THREE is
begin
process(a)
begin
case a is
when "0000" =>b <="0";--0
when "0001" =>b <="1";--1
when "0010" =>b <="1";--2
when "0011" =>b <="0";--3
when "0100" =>b <="1";--4
when "0101" =>b <="0";--5
when "0110" =>b <="0";--6
when "0111" =>b <="1";--7
when "1000" =>b <="1";--8
when "1001" =>b <="0";--9
when "1010" =>b <="0";--10
when "1011" =>b <="1";--11
when "1100" =>b <="0";--12
when "11