EDA实验-七人表决器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
(1)掌握MUXPLUS II语言输入的设计过程。
(2)初步了解VHDL语言。
(3)熟悉FPGA项目设计的基本流程。
二、实验原理:
用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时表示表决者“不赞同”;输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”;当表决器的七个输入变量中有4个及以上为“1”时,则表决器输出为“1”,否则为“0”。
表决器输入采用试验箱K1~K16,输出采用试验箱L15、L16指示;同意红灯亮,否则黄灯亮。
三、实验内容及步骤
1.打开MUXPLUS II VHDL编辑器,完成七人表决器的设计。包括VHDL程序输入、编译、综合。
实验程序如下:
library ieee;
use ieee.std_logic_1164.ALL;
entity GSL is
port(a:in std_logic_vector(6 downto 0);
b:out std_logic;
c:out std_logic);
end entity GSL;
architecture number of GSL is
begin
process(a)
variable cnt:integer range 0 to 7;
begin cnt:=0;
for i in 6 downto 0 loop
if a(i)='1'then
cnt:=cnt+1;
end if;
end loop;
if cnt>3 then b<='1';
c<='0';
else b<='0';
c<='1';
end if;
end process;
end architecture number;
2、建立仿真波形文件,使用MAXPLUS II Simulator功能进行功能仿真。仿真结果如下:
3、目标器件选择与管脚锁定并重新编译、综合、适配。
FPGA型号:EP1K100QC208-3
引脚绑定:
4、下载并验证结果
将编译好的程序进行引脚锁定及硬件配置后便可下载到目标芯片中,我们将程序下载到芯片中后结果输出灯c亮b灭,当我们按下a0到a6任意四个或四个以上按键时c灭b 亮,实验结果符合预期效果,结果正确。
四、实验结果与总结
我们这次EDA实验课设计了一个双LED灯输出七人表决器,实验结果符合预期效果即任意按下四个或四个以上按键表示同意同意灯亮反对灯灭。通过这次实验我们加深了对EDA这门课程的理解,学会了如何使用MAX PLUSⅡ进行VHDL语言编程以及将程序下载到芯片上,增加了对学习VHDL语言的兴趣,增强了实践动手能力,学到了许多课本上没有的知识。