您的当前位置:首页正文

EDA课程设计 - 竞赛抢答器设计

2024-09-03 来源:好走旅游网


课 程 设 计 任 务 书

(2011 ~2012 学年第一学期)

设 计 题 目: EDA与数字系统课程设计 学 院 名 称: 电气与自动化工程学院

专 业(班 级): 09电气五班 姓 名(学 号): 金志君(20092411)

起 讫 日 期: 2011年12月 指 导 教 师: 刘春 、胡存刚

下发任务书日期 2011 年 10月 24日

1

合肥工业大学课程设计任务书

设计题目 EDA与数字系统课程设计 了解各种PLD器件的基本结构,掌握MAX+Plus2的使用方法,用图形输入主要内容 法和Verilog HDL完成规定的基本练习题,在此基础上完成一个数字系统设计题的设计、仿真、下载(FPGA实现)。 应收集的资 1.《EDA与数字系统设计》李国丽 朱维勇 栾铭主编 料 2.《数字电子技术基础》 阎石主编 讲课: EDA简介 实验一:Max+Plus2使用练习,完成一个简单门电路的图形设计输入、编译、仿真、管脚分配、下载。(4学时) 实验二:图形设计输入3-8译码器, 同步十进制加法计数器、同步六十进制计数器。 用六十进制计数器制作十二进制计数器(01~12),二十四进制计数器(00~23)和百进制计数器。设计输入、编译、仿真、管脚分配、下载。(4学时) 实验三:完成以上实验的Verilog HDL设计输入。(4学时) 讲课:扫描显示电路原理,数码管驱动方式,对应于实验箱的扫描模块介绍。(2学时) 实验四:完成扫描显示1-4-1,1-4-2。 (4学时) 讲课:布置一个数字系统设计题,讲解设计要求、原理框图、设计提示。 方案设计、设计调试、下载验证。 (12学时) 设计考核验收,写课程设计报告。(4学时), 1 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000 2 王金明编,杨吉斌.数字系统设计与Verilog HDL.北京:电子工业出版社,2002 3 潘松,黄继业. EDA技术实用教程.北京:科学出版社,2002 按照设计进度计划要求完成每一步任务 备注 设计 进度 计划 主要参考文 献 指导教师意 见 2

目录

中文摘要--------------------------------------------4 1.实验一 Max+Plus2使用练习-------------------------5 2.实验二 3-8译码器---------------------------------5 3.实验三 同步十进制加法计数器----------------------6 4.实验四 同步六十进制计数器------------------------6 5.实验五 数码管显示--------------------------------7 6.实验六 十二进制及六十进制计数显示----------------7 7.竞赛抢答器的设计----------------------------------9 结论------------------------------------------------17

参考文献-----------------------------------------------------17

3

中文摘要

在现在社会中,智力竞赛作为一种生动活泼而又有趣味的活动,深为人们所喜爱,而在各种各样的竞赛之中,往往会对抢答器的功能做出诸多的要求。基于此点,本课程设计便以竞赛抢答器的设计为最终目的,从利用MAX+plus2进行简单的图形设计,到对数字系统设计进行仿真、下载;从利用VHDL语言进行电路编制,到对竞赛抢答器的设计、运用,本课程设计对有关的知识均有一定的叙述。首先是对EDA

中的简单图形的输入、编译、仿真以及下载 的论述,其次是3-8译码器、同步十进制加法计数器与同步六十进制计数器等的图形设计的介绍,第三是本课程设计的重点,即竞赛抢答器的设计。鉴于其功能,本课程设计对其做了一定的模块化处理,并对之做了相应的描述。最后,是本设计的一些总结,以及相应的电路图。

关键词:锁存;鉴别;计时;计分

4

实验一:Max+Plus2使用练习,完成一个简单门电路的图形设计输入、编译、仿真、管脚分配、下载。

实验二:图形设计输入3-8译码器

5

实验三:同步十进制加法计数器

实验四:同步六十进制计数器module

jsq60(qh,ql,clk,reset); output[3:0]qh; output[3:0]ql; reg [3:0] qh; reg [3:0] ql; input clk,reset;

always @(posedge clk or negedge reset) begin

if(~reset){qh,ql}<=0; else begin

6

if({qh,ql}==8'h59){qh,ql}<=0;

else begin if(ql==9)begin ql<=0;qh<=qh+1;end else ql<=ql+1; end end end endmodule

实验五:设计一个电路,使八个数码管依次显示0、1、2、„A、B、„E F

实验六:设计一个电路,使两个数码管显示112的十二进制计数,两个数码管显示059的六十进制计数

注:z38为实验二中的3-8译码器,z60为六十进制计数器,z12为十 进制计数器

mux8_1及z12的程序文档为

module mux8_1(sel,d0,d1,d2,d3,d4,d5,d6,d7,q0,q1,q2,q3); input[2:0] sel ;

input[3:0] d0,d1,d2,d3,d4,d5,d6,d7; output q0,q1,q2,q3; reg q0,q1,q2,q3;

always @ (sel or d0 or d1 or d2 or d3 or d4 or d5 or d6 or d7) begin

7

case(sel)

3'd0: {q3,q2,q1,q0}=d0;

3'd1: {q3,q2,q1,q0}=d1;

3'd2: {q3,q2,q1,q0}=d2; 3'd3: {q3,q2,q1,q0}=d3; 3'd4: {q3,q2,q1,q0}=d4; 3'd5: {q3,q2,q1,q0}=d5; 3'd6: {q3,q2,q1,q0}=d6; 3'd7: {q3,q2,q1,q0}=d7;

default:{q3,q2,q1,q0}=4'bxxxx; endcase end

endmodule

module z12(qh,ql,clk,reset); output[3:0]qh; output[3:0]ql;

封装后为:

reg [3:0] qh; reg [3:0] ql;

input clk,reset;

always @(posedge clk or negedge reset) begin

if(~reset){qh,ql}<=0; else begin

if({qh,ql}==8'h11){qh,ql}<=0; else begin

if(ql==9)begin ql<=0;qh<=qh+1;end else

ql<=ql+1; end end end

endmodule

8

设计题目:数字式竞赛抢答器 设计要求:

1.设计一个可容纳4组参赛的数字式抢答器, 每组设一个按钮,供抢答使用。

2.抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。

3.设置一个主持人“复位”按钮。

4.主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别。

5.设置一个计分电路,每组开始预置10分,主持人记分,答对一次加1分,答错一次减1分。 数字抢答器系统框图:

9

数字抢答器硬件系统示意图:

设计思路:

1.此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。

2.形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号控制一个具有2种工作频率交替变化的音频振荡器工作,推动扬声器发出2种笛音音响。

3.计分电路采用十进制加/减计数器、数码管扫描显示,设置复位信号reset1、加分信号up,减分信号down,reset1=1时,方可以正常加减分数。

10

设计内容:

1.鉴别锁存单元 本设计中使用74161作为锁存主体部分,利用74161的置数功能采集抢答信号,之后再以或门返回输出信号将置数功能取消,并利用保持功能令输出不变,以此来实现鉴别锁存功能。

2.犯规单元 当judge输入为低电平时,若有抢答信号(c1-c4)输入,则输出犯规信号。

11

3.定时报警单元 本设计中采用两片74160芯片来实现定时功能,图中为100进制定时器的结构图。

封装并组合后可得qdfgds单元为:

在上图中,qdyufg电路由鉴别锁存及犯规单元组成,xianshiqi电路由定时报警单元封装而来,再将整个电路封装可得到qdfgds单元为:

12

4.计分单元

本设计中采用74190来实现计分功能,当reset1=0时,得分归为10分;当reset1=1时,主持人可通过加减控制端UD及脉冲开关Tzmc来进行分数的调整。

单个计分电路及总体计分电路为:

13

封装后为:

单个计分 总体计分

5.显示单元

本设计中的显示单元采用了编程的方式,相应的程序为: module

sel(in1,in2,in3,in4,in5,in6,in7,in8,clk,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g); input clk; input [3:0]

in1,in2,in3,in4,in5,in6,in7,in8; output

ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;

14

reg

ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g; reg [3:0] temp; reg [2:0] flag; always@(posedge clk) begin

{ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8}=8'b00000000; flag=flag+1; case (flag)

0:begin temp=in1;ms1=1;end

1:begin temp=in2;ms2=1;end 2:begin temp=in3;ms3=1;end 3:begin temp=in4;ms4=1;end 4:begin temp=in5;ms5=1;end 5:begin temp=in6;ms6=1;end 6:begin temp=in7;ms7=1;end 7:begin temp=in8;ms8=1;end endcase case(temp)

4'd0:{a,b,c,d,e,f,g}=7'b1111110;

4'd1:{a,b,c,d,e,f,g}=7'b0110000;

4'd2:{a,b,c,d,e,f,g}=7'b1101101;

4'd3:{a,b,c,d,e,f,g}=7'b1111001;

4'd4:{a,b,c,d,e,f,g}=7'b0110011;

4'd5:{a,b,c,d,e,f,g}=7'b1011011;

4'd6:{a,b,c,d,e,f,g}=7'b1011111;

4'd7:{a,b,c,d,e,f,g}=7'b1110000;

4'd8:{a,b,c,d,e,f,g}=7'b1111111;

4'd9:{a,b,c,d,e,f,g}=7'b1111011;

4'hA:{a,b,c,d,e,f,g}=7'b1110111;

4'hB:{a,b,c,d,e,f,g}=7'b0011111;

4'hC:{a,b,c,d,e,f,g}=7'b1001110;

4'hD:{a,b,c,d,e,f,g}=7'b0111101;

4'hE:{a,b,c,d,e,f,g}=7'b1001111;

4'hF:{a,b,c,d,e,f,g}=7'b1000111;

default:{a,b,c,d,e,f,g}=7'b1111110;

15

endcase end 封装后为:

endmodule

数字抢答器完整电路图:

16

结论

这次EDA课程设计的日子,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告。另外,在设计抢答模块时,我曾经对自己的方案改之又改,虽然说投入了大量的时间,但我却学到了不少东西。总的来说,这次的EDA设计还是较为成功的,因为它不仅让我巩固了以前的知识,锻炼了自己的动手能力,而且还让理论终得以付诸于实践,为我带来了自信心。

参考文献:

1 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000

2 王金明编,杨吉斌.数字系统设计与Verilog HDL.北京:电子工业出版社,2002

3 潘松,黄继业. EDA技术实用教程.北京:科学出版社,2002

17

因篇幅问题不能全部显示,请点此查看更多更全内容