当前位置:文档之家› 七人表决器实验报告

七人表决器实验报告

七人表决器
一.实验目的
1.掌握Quartus II软件安装,熟悉Quartus II操作环境。

2.初步了解VHDL语言。

3.学习使用行为级描述方法设计电路。

二.实验原理
七人表决器
使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。

当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。

七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。

使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。

当采用行为级描述的时候,采用一个变量记载选举通过的总人数。

当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。

因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。

二.实验内容
1.安装Quartus II软件,熟悉Quartus II操作环境。

2.使用VHDL实现上述描述。

3.波形仿真。

4.生成元件以及RTL
四.设计提示
1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。

2.了解变量和信号的区别。

3.了解进程内外语句的顺序和并行执行的区别。

4.设计文本的端口可如下:
《VHDL 语言与数字逻辑电路设计》实验指导书
- 2 –
设计文本: LIBRARY IEEE; library ieee;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY vote7 IS PORT(
men:in std_logic_vector(6 downto 0); LedPass,LedFail:OUT std_logic );
END vote7;
ARCHITECTURE behave OF vote7 IS signal pass:std_logic; BEGIN
PROCESS(men)
variable temp:std_logic_vector(2 downto 0); BEGIN
temp:="000"; for i in 0 to 6 loop if(men(i)='1')then temp:=temp+1; else
temp:=temp+0; end if; end loop;
pass<=temp(2); END PROCESS;
LedPass<='1' WHEN pass='1'ELSE '0'; LedFail<='1' WHEN pass='0'ELSE '0';
--库和程序包
--实体
--结构体
--结束
《VHDL 语言与数字逻辑电路设计》实验指导书
- 3 –
五.实验报告要求
1.记录仿真波形。

2.保存生成的元件以及
RTL
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,注意语言的流畅。

相关主题