三人表决电路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湘潭大学实验报告
课程名称实用数字电子技术基础
实验名称三人表决电路页数 3
专业网络工程班级2班同组者姓名
组别学号 2015551610 姓名黄伟雄
实验日期2016/5/15
一、实验目的
1.验证三人表决电路的功能。
2.熟悉Quartus Ⅱ的Verilog HDL文本设计流程,掌握组合电路的设计仿
真和硬件测试方法。
二、实验要求
根据实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
三、实验原理
三人表决电路中,当表决某个提案时,多数人同意,则通过提案;同时有一个人具有一票否决权。若全票否决,也给出显示。
设输入为A、B、C,且A具有否决权,同意用1表示,不同意用0表示。
输出X为1时表示提案通过;Y为1时表示全票否决,则三人表决电路真值表如下:
四、实验内容
1.三人表决电路的输入与仿真
利用Quartus Ⅱ完成三人表决电路的文本编辑输入和仿真测试等步骤,给出仿真波形。
2.在实验系统上进行硬件测试,验证此设计的功能。对于引脚锁定以及
硬件下载测试,ABC[2..0]分别接至键3、键2、键1;CLK接至时钟CLOCK0(256Hz),输出信号X接D1,输出信号Y接蜂鸣器。最后进行编译、下载和硬件测试实验(通过按下键3、键2、键1,控制D1的亮灭)。
五、实验环境与设备
在实验室用电脑和实验箱进行实验。
六、实验代码设计(含符号说明)
module JG3 (ABC,X,Y);
//Input Port(s)
input [2:0] ABC;
//Output Prot(s)
output X,Y;
reg X,Y;
//Additional Module Item(s)
always@(ABC)
case(ABC)
3'B000: begin X<=1'B0 ;Y<=1'B1 ; end
3'B001: begin X<=1'B0 ;Y<=1'B0 ; end
3'B010: begin X<=1'B0 ;Y<=1'B0 ; end
3'B011: begin X<=1'B0 ;Y<=1'B0 ; end
3'B100: begin X<=1'B0 ;Y<=1'B0 ; end
3'B101: begin X<=1'B1 ;Y<=1'B0 ; end
3'B110: begin X<=1'B1 ;Y<=1'B0 ; end
3'B111: begin X<=1'B1 ;Y<=1'B0 ; end
default: begin X<=1'B1 ;Y<=1'B0 ; end
endcase
endmodule
七、实验检验与测试
当灯全灭(全票否决)时蜂鸣器响(Y为1);只要A不亮,X就不亮;
当A亮了时,如果BC没亮则X仍然不亮,若BC中至少亮一个,则X亮,即通过。
八、测试数据
详细数据见文件夹JG3。
九、实验过程中出现的问题及处理情况(包括实验现象、原因分析、排故障的方法等)
1.刚开始由于自己的粗心大意,将代码抄错了,导致全程编译老是出错误,怎么也找不到原因,后来经过仔细的比对才发现了代码错误。
2.然后在后来表决电路测试电路的时候,由于对软件的不熟悉,电路图不清楚该怎么画,后来询问已经完成的同学,解决了这个困难。