广工eda课程设计-七人表决器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计
课程名称硬件描述语言与EDA技术课程设计
题目名称
学生学院材料与能源学院
专业班级
学号
学生姓名
指导教师陈先朝
2017年6 月10日
目录
一、设计目的 (1)
二、设计内容 (1)
三、设计思路 (1)
四、Verilog源程序 (1)
五、管脚分配 (3)
六、总结设计与体会 (3)
七、参考文献 (4)
七人表决器设计
一、设计目的
1.熟悉Quartus II软件的使用。

2..熟悉七人表决器的工作原理
3.熟悉EDA开发的基本流程。

二、设计内容
基础功能:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成人数和反对人数在数码管显示出来。

新加:清零键和通过时蜂鸣器响。

三、设计思路
(1)使用一个模块完成所有功能。

(2)用alawys语句检测赞同和反对人数信号(A和B),再用两个独立共阴极数码管显示人数0到7。

(3)用if语句判断总人数是否超出7人(s)
(4)用另一个clk实现蜂鸣器,因为原来的clk信号频率过低。

四、Verilog源程序
module biaojue(clk_1,clk_2,yes,no,clear,buzz,A,B,result);
input clk_1,clk_2,yes,no,clear;
reg [4:0] s1,s2,s;
output reg [7:0] A,B;
output reg result,buzz;
always @(posedge clk_1)
begin
s=s1+s2;
if(clear) begin s1=0; s2=0; result=0; end
else if (s>4'b0111) begin s1=0; s2=0; result=0; end
else if (yes) s1=s1+1;
else if (no) s2=s2+1;
else if (s1>=4'b0100) begin result=1 ; end
else begin s1=s1; s2=s2; result=result; end
end
always @(clk_2)
begin if (result) buzz=~clk_2;
end
always @(s1)
begin
case(s1)
4'b0000:A=8'h3f;
4'b0001:A=8'h06;
4'b0010:A=8'h5b;
4'b0011:A=8'h4f;
4'b0100:A=8'h66;
4'b0101:A=8'h6d;
4'b0110:A=8'h7d;
4'b0111:A=8'h07;
default:A=8'h00;
endcase
end
always @(s2)
begin
case(s2)
4'b0000:B=8'h3f;
4'b0001:B=8'h06;
4'b0010:B=8'h5b;
4'b0011:B=8'h4f;
4'b0100:B=8'h66;
4'b0101:B=8'h6d;
4'b0110:B=8'h7d;
4'b0111:B=8'h07;
default:B=8'h00;
endcase
end
endmodule
五、管脚分配
错误!
六、总结设计与体会
七、参考文献
(1)自编指导书;
(2)Verilog与EDA相关教程:
a)王金明等编著,EDA技术与Verilog HDL设计,电子工业出版社,2013
年;
b)艾明晶编著,EDA技术实验教程,清华大学出版社,2014年;
c)潘松等编著,EDA技术与Verilog HDL ,清华大学出版社,2013年;
d)张春晶等编著,现代数字电子技术及Verilog设计,清华大学出版社,
2014年;
e)刘靳等编著,Verilog程序设计与EDA ,西安电子科技大学出版社,2012
年;
f)刘福奇主编,Verilog HDL 应用程序设计实例精讲,电子工业出版社,
2012年;
g)周润景等主编,基于Quartus Ⅱ的数字系统Verilog HDL设计实例详解,
电子工业出版社,2010年。

(3)相关的电子技术基础。

相关文档
最新文档