实验二 8线-3线编码器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称 8线-3线编码器设计指导老师尚丽娜成绩
专业电科班级 1102 姓名汪磊学号31102333
一、实验目的
1、学习QuartusII软件,学习使用硬件描述语言设计电路。
2、学习DE1平台基本构成,能够使用DE1平台进行简单设计。
二、实验要求
使用QuartusII文本输入法设计8线-3线编码器。使用QuartusII软件进行文本输入,并对设计电路进行仿真,并下载到硬件平台,自行定义硬件平台使用端口。
三、实验设备
PC机、DE1硬件平台
四、实验原理
根据8线—3线编码器的真值表原理进行实验,下表为8线—3线编码器的真值表
五、实验过程
library ieee;
use ieee.std_logic_1164.all;
entity bm8_3 is
port(a:in std_logic_vector(7 downto 0);
b:out std_logic_vector(2 downto 0));
end bm8_3;
architecture zhang of bm8_3 is
begin
process(a)
begin
case a is
when"00000001"=>b<="000";
when"00000010"=>b<="001";
when"00000100"=>b<="010";
when"00001000"=>b<="011";
when"00010000"=>b<="100";
when"00100000"=>b<="101";
when"01000000"=>b<="110";
when others=>b<="111";
end case;
end process;
end zhang;
六、实验结果
该程序还存在一些不足,当出现10000000是和非正常输入的时候是一样的输出,所以我们进行了一些修改,修改程序与结果如下:
library ieee;
use ieee.std_logic_1164.all;
entity e is
port(a:in std_logic_vector(7 downto 0);
b:out std_logic_vector(3 downto 0));
end e;
architecture zhang of e is
begin
process(a)
begin
case a is
when"00000001"=>b<="0000";
when"00000010"=>b<="0001";
when"00000100"=>b<="0010";
when"00001000"=>b<="0011";
when"00010000"=>b<="0100";
when"00100000"=>b<="0101";
when"01000000"=>b<="0110";
when"10000000"=>b<="0111";
when others=>b<="1111";
end case;
end process;
end zhang;
思考题一:
思考题二:
entity e is
port(a:in bit_vector(7 downto 0);
b:out bit_vector(3 downto 0)); end e;
architecture zhang of e is
begin
process(a)
begin
case a is
when"00000001"=>b<="0000";
when"00000010"=>b<="0001";
when"00000100"=>b<="0010";
when"00001000"=>b<="0011";
when"00010000"=>b<="0100";
when"00100000"=>b<="0101";
when"01000000"=>b<="0110";
when"10000000"=>b<="0111";
when others=>b<="1111";
end case;
end process;
end zhang;
七、心得体会
对操作更加熟练,加深对其的认识