一,实验内容,要求及目的

二,实验代码
1,module alldesign(reset,clock,din1,din2,din3,din4,clear,beep,number,cnt);
input reset,clock;
input din1,din2,din3,din4,clear;
output beep;
output [7:0] number,cnt;

wire clklk;
wire clklhz;
wire start;

clkdiv iunit1(reset,clock,clklhz);
qiangda iunit2(clock,din1,din2,din3,din4,clear,number,start);
daojishi iunit3(reset,clock/clklhz/,start,beep,cnt);
endmodule

2,module clkdiv(reset,clock,clklhz);
input reset,clock;
output clklhz;
reg clklhz;
reg[24:0] countl;
always@(posedge clock or posedge reset)
begin
if(reset)
countl<=0;
else if(countl==25’d25000000)
begin
clklhz<=~clklhz;
countl<=0;
end
else
countl<=countl+1;
end
endmodule

3,module qiangda(clock,din1,din2,din3,din4,clear,number,start);
input clock,clear;
input din1,din2,din3,din4;
output [7:0] number;
output start;
reg [7:0] number;
reg start;
reg block;

always@(posedge clock)
begin
if(!clear)
begin
block=0;
number=8’hff;
start=0;
end
else
begin
if(!din1)
begin
if(!block)
begin
number<=8’hf9;
block=1;
start=1;
end
end
else if(!din2)
begin
if(!block)
begin
number<=8’hb4;
block=1;
start=1;
end
end
else if(!din3)
begin
if(!block)
begin
number<=8’hb0;
block=1;
start=1;
end
end
else if(!din4)
begin
if(!block)
begin
number<=8’h99;
block=1;
start=1;
end
end
end
end
endmodule

4,module daojishi(reset,clklhz,start,beep,cnt);
input reset,clklhz;
input start;
output beep;
output [7:0] cnt;
reg [5:0]data;
reg [4:0]count;
reg [7:0]cnt;
reg beep;
reg state;
always@(posedge clklhz or posedge reset or posedge start)
begin
if(reset)
count<=5’d30;
else if(start)
begin
if(count5’d0)
count<=5’d0;
else
count<=count-1;
end
else
count<=count;
end
always@(count)
if(count5’d0)
beep=1;
else
beep=0;
always@(count)
if(count>=5’d10)
data=8’hff;
else if(count>=0 && count<=9)
data=count;
else
data=8’hff;
always@(data)
begin
case(data)
6’b000000:cnt=8’b1100_0000;
6’b000001:cnt=8’b1111_1001;
6’b000010:cnt=8’b1010_0100;
6’b000011:cnt=8’b1011_0000;
6’b000100:cnt=8’b1001_1001;
6’b000101:cnt=8’b1001_0010;
6’b000110:cnt=8’b1000_0010;
6’b000111:cnt=8’b1111_1000;
6’b001000:cnt=8’b1000_0000;
6’b001001:cnt=8’b1001_0000;
default:cnt=8’b1111_1111;
endcase
end
endmodule

5,测试代码
module tbdq;
reg reset,clock;
reg din1,din2,din3,din4,clear;
wire beep;
wire [7:0] number,cnt;
initial
begin
reset=0;
clock=0;
clear=1;
#10 reset=1;clear=0;
#10 reset=0;clear=1;
#20 din1=1;din2=0;din3=1;din4=1;
@(posedge beep);
#20 clear=0;
#20 $stop;
end
always #5 clock=~clock;
alldesign iu(reset,clock,din1,din2,din3,din4,clear,beep,number,cnt);
endmodule

三,实验过程及截图
1.打开modelsim软件
2.选择文件file,新建new,工程project,如图

会弹出以下对话框,选择“是”,如图

3.接着会弹出这个对话框,命名为“work”,点击“OK”,如图
紧接着会有一个对话框,点击“是”,如图

4.选择创造一个新文件(Create New File)把文件名输入到对话框中,选择仿真途径为Verilog,点击“OK”,关闭对话框,如图

5.双击文件,输入代码,输入代码之后,把记事本的代码保存,以便查看修改,如图

6.保存代码后,开始进行编译,看代码是否错误,点击菜单栏中的编译按钮“compile”,如图

7.编译后,如果代码正确,左下角就会出现绿色的提示;反之,就会是红色的警告,接着就开始仿真,点击菜单栏中的仿真按钮“simulate”

8.点击仿真后,会出现如下对话框,找到创建的文件work,选择要编译的测试文件,点击OK,如图

9.编译成功后,选择测试文件,点击右键,选择添加波形Add Wave,如图

10.点击Run -ALL开始显示出波形图,可以放大以便于观察,如图

11.实验截图

四,实验视频
链接:https://www.bilibili.com/video/BV1Ry4y1T7KV?share_source=copy_web
欢迎前往哔哩哔哩观看视频讲解

选题二——智力抢答器的课程设计相关推荐

  1. 八人抢答器讲解_八人抢答器_课程设计.doc

    编号: 1 电力电子技术课程设计 报告书 课 题: 数字式竞赛抢答器 院 (系): 机电工程学院 专 业: 电气工程及其自动化 学生姓名: 蒋岷君 学 号: 0800120313 题目类型:(理论研究 ...

  2. 单片机四路抢答器课程C语言设计,四路抢答器单片机课程设计.doc

    渝州科技职业学院 单片机四路抢答器课程设计 院 系: 电子信息工程 专业班级: 11级电管本2班 学生姓名: 刘学飞 学 号: 1102120205 指导教师姓名: 何健 指导教师职称: 讲师 目录 ...

  3. 基于FPGA的智力抢答器Verilog仿真设计

    部分代码: //synopsys translate_off `timescale 10 ns/ 1 ps //synopsys translate_on module display(clk, rs ...

  4. 智力竞赛抢答器Verilog HDL设计

    设计任务 智力竞赛抢答器Verilog HDL要求有6位参赛者进行抢答,有六个抢答信号进行抢答.当有抢答选手按下抢答键后系统能够快速准确的判断是那一组选手按下了抢答信号,由于系统比较小,速度比较快一般 ...

  5. 基于 FPGA 的智力抢答器设计

    本文设计文档及源码将在公众号 果冻空间 免费公布,关注公众号回复A-001获取,博文展示过少,有需要公众号获取,目前公众号仅仅作为资源管理的平台,提供资料链接 基于 FPGA 的智力抢答器设计 题目简 ...

  6. 基于FPGA的智力抢答器设计

    配套FPGA开发板(含该设计的工程代码):https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-4676525296.4.6e8950ed57YPh ...

  7. c51的八位智力抢答器C语言编程,基于AT89C51单片机的八位智力抢答器设计.doc

    基于AT89C51单片机的八位智力抢答器设计 江 西 理 工 大 学 南 昌 校 区 毕 业 设 计(论文) 题 目:八位智力抢答器 系 :信息工程系 专 业:应用电子技术 班 级: 学 生: 学 号 ...

  8. 四路智能抢答器电子系统综合设计

    一.设计目的及要求 (一)设计目的 <模拟电子电路>与<数字电子电路>两门课程,是电子信息工程专业的理论性与实际性相结合的专业基础课程,在学习理论的基础上,进行课程设计,以达到 ...

  9. 数字电路实验四:智力抢答器预实验报告

    实验四:智力抢答器预习报告 -------用D触发器74LS74设计制作一个四人智力竞赛抢答器电路 预习要求: 预习要点: 1.复习D触发器有关知识,写出其状态方程.双D触发器74LS74各引脚排列及 ...

最新文章

  1. C# 开发微信扫码登录
  2. linux 内核 sleep,linux内核是如何支持深度睡眠(deep sleep)方式的?
  3. [Swift]LeetCode944. 删除列以使之有序 | Delete Columns to Make Sorted
  4. 第十一章:Java_多线程
  5. C/C++中善用大括号
  6. 腾讯-地图:腾讯位置服务
  7. python约瑟夫生死小游戏的实现
  8. nutch 1.5 solr 4.0 warmup
  9. java中连接字符串_Java中几种方式连接字符串的方法
  10. 一个websocket 可以多个页面创建吗_聊聊 WebSocket,还有 HTTP
  11. js实现中文简体繁体转换
  12. 《冬月集:自渡》 一个会写诗的程序员
  13. 股票交易接口Java Serializable接口实现问题?
  14. Ac4GlcNAz,98924-81-3,N-乙酰葡糖胺叠氮基,可以进行糖化学修饰
  15. 相机标定篇——相机标定
  16. linux网桥实现代码走读
  17. 【论文笔记】AVSM:结合了仿射配准和vSVF配准的医学图像配准模型
  18. MySQL 数据库的基本操作
  19. CASIA-HWDB2.x 数据集DGRL文件解析(python)
  20. 【操作系统-进程】PV操作——吸烟者问题

热门文章

  1. 上班5年,月薪2万,存款不到10万,疫情期间我慌了...
  2. thinkphp 调用阿里云短信接口
  3. 第十四届蓝桥杯三月真题刷题训练——第 15 天
  4. wordpress简捷按钮_通过在WordPress帖子中添加快速编辑按钮来节省时间
  5. 如何修复mp4a编码音频
  6. 扫雷与算法:如何随机化的布雷(一)
  7. 软件工程毕业设计项目分享【含源码+论文】
  8. java并发编程实战wwj----------------------第二阶段--------------01-02-03
  9. windows安全警报怎么关闭_windows安全中心怎么关闭
  10. Arduino使用TM1650四位数码管模块