云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > EDA课程设计--VHDL四路智力抢答器

EDA课程设计--VHDL四路智力抢答器

  • 62 次阅读
  • 3 次下载
  • 2025/12/12 3:56:37

VHDL四路智力抢答器EDA课程设计

一、任务与目的

1.1熟练掌握EDA工具软件Quartus的使用

1.2 熟悉使用VHDL硬件描述语言描述数字电路 1.3学会使用VHDL进行大规模集成电路设计

1.4学习使用CPLD/FPGA实验系统硬件验证电路设计的正确性 1.5初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力

二、设计题目与要求

2.1设计题目

四路智力竞赛抢答器 2.2设计要求

1.按所布置的题目要求,每一位学生独立完成全过程 2.分模块层次化的设计;

3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可以用VHDL语言设计,也可以用原理图设计。 2.3设计内容

设计一个可容纳四组参赛者同时抢答的数字抢答器。主持人可控制系统发的清零和抢答的开始,控制电路可实现最快抢答选手按键抢答的判别和锁定功能,并禁止后续其他选手抢答。抢答选手确定后给出选手编号的显示,抢答选手的编号显示保持到系统被清零为止,若提前抢答则对相应的抢答组发出警告。

*扩展内容:增加答题限时的功能,在确定了抢答成功有效后,有主持人按下答题限时功

能键,开始9s的倒计时。在计时结束后,超时提示LED闪烁。在主持人按下clear开关时限时复位。

三、功能分析

四路智力竞赛抢答器按功能设计分为三个模块

1. 抢答锁存模块,在主持人发出抢答指令后(start=’1’),若有参赛者按下抢答按钮,则

显示器显示抢答组别,同时电路处于自锁状态,使其它组的抢答器不起作用。主持人可以用清零按钮进行清零(clr=’0’).若抢答指令未发出(start=’0’),而有参赛者按下抢答按钮,则发出警告信号(alm=1).

2. 显示功能模块,在参赛者抢答信号(组别)发出后,对参赛者信号进行译码,然后用

7段数码管显示出来。

3. 计时模块,在确定了抢答成功有效后,有主持人按下答题限时功能键,开始9s的倒

计时。在计时结束后,超时提示LED亮。在主持人按下clear开关时限时复位。(扩展模块)

四、设计思路分析,设计方案合理性分析与选择。

设计方案有两种:1.直接写一个程序,包括所要求的功能,

2.按功能模块分别写程序,然后用原理图联系起来. 方法1步骤简单,容易修改,对于多功能模块的设计,容易会造成思路混乱. 方法2对于多功能模块设计,思路清晰,但步骤较为复杂,且修改较为麻烦.

本次由于功能模块较多,我们采用方法二分模块设计。 此抢答器的输入信号有:各组抢答按钮A0,B0,C0,D0(低电平有效),清零端clr(低电平有效),抢答指令端start(高电平有效).时钟信号CLK。限时功能键time.

输出信号有:抢答信号(A,B,C,D)数码管显示信号(ao,bo,co,do,eo,fo,go),警告信号alm。时钟模块数码管显示信号at,bt,ct,dt,et,ft,gt.

五、源程序

LIBRARY IEEE;--抢答锁存模块+显示功能模块。 USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY QIANGDAQI IS

PORT(CLK,A0,B0,C0,D0:IN STD_LOGIC; start,clear:IN STD_LOGIC;

alm,A,B,C,D:OUT STD_LOGIC;

aO,bO,cO,dO,eO,fO,gO:OUT STD_LOGIC); END QIANGDAQI;

ARCHITECTURE behav OF QIANGDAQI IS

SIGNAL d_out7:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL D1,D2,D3,D4:STD_LOGIC; BEGIN

PRO1: PROCESS(CLK,A0,B0,C0,D0,start,clear,D1,D2,D3,D4) BEGIN IF clear='0' D1<='0';D2<='0';D3<='0';D4<='0';A<='0';B<='0';C<='0';D<='0';alm<='0';ELSE IF (start='1') THEN

IF CLK'EVENT AND CLK='1' THEN IF (A0='0')AND NOT(D2='1' OR D3='1' OR D4='1') THEN D1<='1'; ELSIF( B0='0')AND NOT(D1='1' OR D3='1' OR D4='1') THEN D2<='1'; ELSIF( C0='0')AND NOT(D1='1' OR D2='1' OR D4='1') THEN D3<='1'; ELSIF( D0='0')AND NOT(D1='1' OR D2='1' OR D3='1') THEN D4<='1'; END IF; END IF; ELSIF CLK'EVENT AND CLK='1' THEN --警告 IF (A0='0')AND NOT(D2='1' OR D3='1' OR D4='1') THEN alm<='1'; ELSIF( B0='0')AND NOT(D1='1' OR D3='1' OR D4='1') THEN alm<='1'; ELSIF( C0='0')AND NOT(D1='1' OR D2='1' OR D4='1') THEN alm<='1'; ELSIF( D0='0')AND NOT(D1='1' OR D2='1' OR D3='1') THEN alm<='1'; END IF; END IF; A<=D1;B<=D2; C<=D3;D<=D4; END IF;

END PROCESS;

PRO2:process(D1,D2,D3,D4)--显示电路

THEN variable ASG:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF D1='1' THEN ASG:=\ ELSIF D2='1' THEN ASG:=\ ELSIF D3='1' THEN ASG:=\ ELSIF D4='1' THEN ASG:=\ ELSE ASG:=\ END IF; CASE ASG IS WHEN \显示0 WHEN \显示1 WHEN \显示2 WHEN \显示3 WHEN \显示4 WHEN OTHERS => d_out7 <=\ END CASE; aO<=d_out7(0); bO<=d_out7(1); cO<=d_out7(2); dO<=d_out7(3); eO<=d_out7(4); fO<=d_out7(5); gO<=d_out7(6); END PROCESS; END behav;

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LIBRARY IEEE; --计时功能模块+显示模块 USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JISHI IS

PORT(CLK:IN STD_LOGIC; clr,time1:IN STD_LOGIC; alm2:OUT STD_LOGIC;

at,bt,ct,dt,et,ft,gt:OUT STD_LOGIC); END JISHI;

ARCHITECTURE behav OF JISHIIS

SIGNAL G:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL D:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNALdout:STD_LOGIC_VECTOR(6 D OWNTO 0); SIGNAL CLK1: STD_LOGIC; BEGIN

pro1:PROCESS(CLK,D,CLK1)--分频电路,CLK用250hz

BEGIN IF CLK'EVENT AND CLK='1' THEN IF D<249 THEN D<=D+1; ELSE D<=(OTHERS=>'0');CLK1<=NOT CLK1; END IF; END IF; END PROCESS;

Pro2:PROCESS(CLK1,time1)--计时电路1

VARIABLE G1:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN

IF clr='0' THEN G1:=\ ELSIF time1 ='0' THEN G1:=\ ELSIF CLK1'EVENT AND CLK1='1' THEN IF NOT(G1=\ IF G1>0 THEN G1:=G1-1; END IF; ELSE alm2<='1'; END IF; END IF; G<=G1; END PROCESS;

pro3:PROCESS(G)--显示电路 BEGIN CASE G IS WHEN \显示0 WHEN \显示1 WHEN \显示2 WHEN \显示3 WHEN \显示4 WHEN \显示5 WHEN \显示6 WHEN \显示7 WHEN \显示8 WHEN \显示9 WHEN OTHERS =>NULL; END CASE; at<=dout(0); bt<=dout(1); ct<=dout(2); dt<=dout(3); et<=dout(4); ft<=dout(5); gt<=dout(6);

搜索更多关于: EDA课程设计--VHDL四路智力抢答器 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

VHDL四路智力抢答器EDA课程设计 一、任务与目的 1.1熟练掌握EDA工具软件Quartus的使用 1.2 熟悉使用VHDL硬件描述语言描述数字电路 1.3学会使用VHDL进行大规模集成电路设计 1.4学习使用CPLD/FPGA实验系统硬件验证电路设计的正确性 1.5初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力 二、设计题目与要求 2.1设计题目 四路智力竞赛抢答器 2.2设计要求 1.按所布置的题目要求,每一位学生独立完成全过程 2.分模块层次化的设计; 3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可以用VHDL语言设计,也可以用原理图设计。 2.3设计内容 设计一个可容纳四组参赛者同时抢答的数字抢答

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com