文章总览:YuanDaiMa2048博客文章总览
【数字电路与逻辑设计】实验五 4人表决器
- 一、实验内容
- 二、设计过程
- (一)设置变量
- (二)真值表
- (三)表达式
- 三、源代码
- (一)代码说明:
- (二)代码内容:
- 四、仿真验证与实验结果
- (一)波形图
- (二)波形图说明
- (三)实验结果
- 五、全部实验
- 第一部分 组合逻辑
- 第二部分 时序逻辑
一、实验内容
用 VHDL 语言设计实现一个 4 人表决器,多数人赞成决议表示通过,否则决议不通过。 使用波形图仿真验证其功能。
二、设计过程
(一)设置变量
令A3,A2,A1,A0代表投票的4人,赞成决议则赋值为1,反对则赋值为0;若有三人及以上赞成决议,则该决议通过。F代表决议是否通过的结果进行输出,通过则输出为1,不通过则输出为0。
(二)真值表
(三)表达式
三、源代码
(一)代码说明:
①A:输入,A3,A2,A1,A0分别代表4位投票者,‘1’表示赞成,‘0’表示不赞成。
②F:输入,表示结果,‘1’表示通过,‘0’表示不通过。
③利用逻辑表达式完成代码。
(二)代码内容:
library ieee;
use ieee.std_logic_1164.all;
entity vote is
port(A:in std_logic_vector(3 downto 0);
F:out std_logic);
end entity vote;
architecture rtl of vote is
signal F0,F1,F2,F3: std_logic:='0';
begin
F0<=A(2) and A(1) and A(0);
F1<=A(3) and A(1) and A(0);
F2<=A(3) and A(2) and A(0);
F3<=A(3) and A(2) and A(1);
F<=F3 or F2 or F1 or F0;
end rtl;
四、仿真验证与实验结果
(一)波形图
(二)波形图说明
将A3,A2,A1,A0输入端,分别设置周期为80.0ns,40.0ns,20.0ns,10.0ns(起始值为0)。
(三)实验结果
如图所示,此程序可以正确实现4人表决功能。
五、全部实验
第一部分 组合逻辑
- 实验一 8421 码和格雷码的转换
- 实验二 数值比较器
- 实验三 全加器
- 实验四 3 线-8 线译码器
- 实验五 表决器
第二部分 时序逻辑
- 实验一序列检测器
- 实验二计数器
- 实验三 8 位寄存器 74374