抢答器(VerilogHDL实现)
抢答器(-Verilog-HDL实现)
抢答器(-Verilog-HDL实现)桂林电子科技大学信息科技学院《EDA技术与应用》实训报告学号0952100110姓名赵万里指导教师:江国强杨艺敏2011年04月20日实训题目:智能电子抢答器1.系统设计1.1 设计要求1.1.1 设计任务设计并制作一台智能电子抢答器。
1.1.2 技术要求①用EDA实训仪的I/O设备和PLD芯片实现智能电子抢答器的设计。
②智能电子抢答器可容纳4组参赛者抢答,每组设一个抢答钮。
③电路具有第一抢答信号的鉴别和锁存功能。
在主持人将复位按钮按下后开始抢答,并用EDA实训仪上的八段数码管显示抢答者的序号,同时扬声器发出“嘟嘟”的响声,并维持3秒钟,此时电路自锁,不再接受其他选手的抢答信号。
④设计一个计分电路,每组在开始时设置为100分,抢答后由主持人计分,答对一次加10分,答错一次减10分。
⑤设计一个犯规电路,对提前抢答和超时抢答者鸣喇叭示警,并显示犯规的组别序号。
1.2 方案比较(1) 设计制作一个可容纳四组参赛者的数字智力抢答器,每组设置一个抢答按钮。
(2) 电路具有第一抢答信号的鉴别和锁存功能。
在主持人按下复位按钮后,若参加者按抢答开关,则该组指示灯亮。
此时,电路应具备自锁功能,使别组的抢答开关不起作用。
(3)自锁后,用八段数码管显示抢答者的序号,同时指示灯亮。
(4) 设置计分电路。
每组在开始时预置成100,抢答后由主持人计分,答对一次加10,否则减10分。
(5)电路具有淘汰功能,当每组的100分减少到0时,该组被淘汰,以后每次抢答,该组抢答按钮都无效。
1.3 方案论证1.3.1 总体思路总体分为四部分:倒计时模块、计分模块、抢答模块和分屏显示模块。
倒计时模块用一个20000000分频。
产生一个进位,连接一个30的减法计数器构成。
计分模块中分为两部分,一部分用于计分,另一部分用于处理计数器的进制问题,当加到A时自动向前进位,并且把A变为0。
当减少到F时,向前借位,并且把F变为9。
数字竞赛抢答器课程设计Verilog语言实现
数字竞赛抢答器课程设计V e r i l o g语言实现可编程器件与应用课程设计报告姓名: XXX学号: XXXXXXXXXX专业班级:信息XXX题目:数字式竞赛抢答器指导老师:一、绪论背景:随着电子技术的发展,可编程逻辑器件(PLD)的出现,使得电子系统的设计者利用EDA(电子设计自动化)软件,就可以独立设计自己的专用集成电路(ASIC)器件。
可编程逻辑器件是一种半导体集成器件的半成品。
在可编程逻辑器件的芯片中按一定方式(阵列形式或单元阵列形式)制作了大量的门、触发器等基本逻辑器件,对这些基本器件适当地连接,就可以完成某个电路或系统的功能。
数字式竞赛抢答器控制系统是工厂、学校和电视台等单位举办各种智力竞赛等娱乐活动中经常使用的重要基础设备之一。
目前设计抢答器的方法很多,例如用传统的PCB板设计、用PIC设计或者用单片机设计。
而用Verilog可以更加快速、灵活地设计出符合各种要求的抢答器,优于其他设计方法,使设计过程达到高度自动化。
本文介绍的4路数字式竞赛抢答器基于Verilog语言、以EDA技术作为开发手段、采用CPLD(复杂的可编程逻辑器件)作为控制核心设计而成。
与传统设计相比较,不仅简化了接口和控制,也提高了系统的整体性能和工作可靠性,具有电路简单、成本低廉、操作方便、灵敏可靠等优点。
意义:数字式竞赛抢答器作为一种电子产品,早已广泛应用于各种智力和知识竞赛场合,但目前所使用的抢答器存在分立元件使用较多,造成每路的成本偏高,而现代电子技术的发展要求电子电路朝数字化、集成化方向发展,因此设计出数字化全集成电路的多路抢答器是现代电子技术发展的要求。
二、实现方案设计要求:1、设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。
2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
3、设置一个主持人“复位”按钮。
4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2~3秒的音响。
verilog--4路抢答器设计-带30s倒计时
四路抢答器一、程序module qiangda4(clr,clk,input1,input2,input3,input4,seg,clockin,scan,LED);input clr,clk,input1,input2,input3,input4;output [7:0] seg; //7段数码管数据output [7:0] scan; //数码管位选output [3:0] LED; //输出LED灯指示output clockin; //蜂鸣器reg [7:0] seg;reg [7:0] scan;reg [3:0] LED;reg clockin;reg [3:0] data;reg input_flag,count_flag;reg [14:0] count1;reg [8:0] count2;reg [3:0] LED_N;//reg clock_flag;reg div1khz,div1hz;reg [2:0] cnt;reg [3:0] dat;//reg [7:0] data_count;reg [3:0] count_one,count_ten;initial count_one='d0; //初始化initial count_ten='d3;initial data=4'b0000;initial LED_N=4'b1111;//-------------fenping分频1khz-----------------------------------always @(posedge clk )beginif(count1=='d25000)begin div1khz<=~div1khz;count1<=0;endelsebegin count1<=count1+1'b1;endend//-------------fenping--1hz-------------------------------always @(posedge div1khz)beginif(count2=='d500)begin div1hz<=~div1hz;count2<=0;endelsebegin count2<=count2+1'b1;endend//----------------------------------------------------------always @(posedge div1hz or negedge clr)beginif(!clr)begincount_one<='d0;count_ten<='d3;count_flag<=1'b0;endelse if((!input_flag)&(!count_flag))begin if(count_one=='d0&&count_ten=='d0)begin count_flag<=1'b1;endelse if(count_one=='d0)begin count_one<=4'b1001;count_ten<=count_ten-1'b1;endelsebegin count_one<=count_one-1'b1;endendelsebegin count_one<=count_one;count_ten<=count_ten;endend//-----------------------------------------------------------always @(posedge clk ) //or input1 or input2 or input3 or input4 beginif(!clr)beginLED_N<=4'b1111;//clock_flag<=1'b0;input_flag<=1'b0;data<=4'b0000;endelse if((!input_flag)&(!count_flag))beginif(input1==0)begindata<=4'b0001;LED_N<=4'b0111;input_flag<=1'b1;endelse if(input2==0)begindata<=4'b0010;LED_N<=4'b1011;input_flag<=1'b1;endelse if(input3==0)begindata<=4'b0011;LED_N<=4'b1101;input_flag<=1'b1;endelse if(input4==0)begindata<=4'b0100;LED_N<=4'b1110;input_flag<=1'b1;endelsebegindata<=data;LED_N<=LED_N;input_flag<=input_flag;endendend//-------------led灯及蜂鸣器--------------------------------------------------- always @(posedge clk)beginLED<=LED_N;clockin<=div1khz&(input_flag|count_flag);//dat<=data;end//--------------shu ma guan sao miao数码管扫描--------------------------------- always @(posedge div1khz)beginif(cnt=='d3)begin cnt<=0;endelsebegin cnt<=cnt+1'b1;endend//-----------------------------------------------------always @(cnt,data,count_one,count_ten)begincase(cnt)//3'b000 : begin scan<=8'b01111111;end3'b001 : begin scan<=8'b10111111;dat<=data;end //选手编号3'b010 : begin scan<=8'b11011111;dat<=count_one;end //倒计时3'b011 : begin scan<=8'b11101111;dat<=count_ten;enddefault : begin scan<=8'bx;dat<=4'bx;endendcaseend//--------------------------------------------------------always @(dat)begincase(dat)4'b0000 : seg[7:0]<=8'b11000000;4'b0001 : seg[7:0]<=8'b11111001;4'b0010 : seg[7:0]<=8'b10100100;4'b0011 : seg[7:0]<=8'b10110000;4'b0100 : seg[7:0]<=8'b10011001;4'b0101 : seg[7:0]<=8'b10010010;4'b0110 : seg[7:0]<=8'b10000010;4'b0111 : seg[7:0]<=8'b11111000;4'b1000 : seg[7:0]<=8'b10000000;4'b1001 : seg[7:0]<=8'b10010000;4'b1010 : seg[7:0]<=8'b10001000;4'b1011 : seg[7:0]<=8'b10000011;4'b1100 : seg[7:0]<=8'b11000110;4'b1101 : seg[7:0]<=8'b10100001;4'b1110 : seg[7:0]<=8'b10000110;4'b1111 : seg[7:0]<=8'b10001110;default : seg[7:0]<=8'bx;endcaseendendmodule二、框图三、设计思路四路抢答,有30s倒计时,当有人抢答时,数码管显示对应选手编号,同时对应LED灯亮,蜂鸣器响起,此时其他选手抢答无效。
verilog_hdl_fpga抢答器
FPGA期末结业论文基于FPGA&VerilogHDL的四路抢答器院系:物理与电子学院专业:电子信息科学与技术任课教师:学号:姓名:2013年12月目录(0)摘要 (2)(1)引言 (3)1.1关于课程设计 (3)1.1.1课程设计目的 (3)1.1.2课程设计内容 (3)1.2开发工具简介 (4)1.2.1 EDA技术 (4)1.2.2 硬件描述语言-Verilog HDL (4)1.2.3 Verilog HDL设计流程 (5)1.2.4 FPGA基本特点 (5)1.2.5 FPGA工作原理 (5)(2)概述 (5)2.1 设计过程 (5)2.1.1系统设计要求 (5)2.1.2系统设计方案 (6)(3)系统设计 (6)3.1系统组图 (6)3.2系统主源程序 (8)(4)仿真综合 (10)(5)结论 (13)(6)参考文献 (13)(7)附录 (13)0摘要抢答器是在竞赛、文体娱乐活动(抢答活动)中,能准确、公正、直观地判断出抢答者的机器。
电子抢答器的中心构造一般都是由抢答器由单片机以及外围电路组成。
本设计是以四路抢答为基本概念。
从实际应用出发,利用电子设计自动化( EDA)技术,用可编程逻辑器件设计具有扩充功能的抢答器。
它以Verilog HDL硬件描述语言作为平台,结合动手实验而完成的。
它的特点是电路简单、制作方便、操作简单、方便、性能可靠,实用于多种智力竞赛活动。
本抢答器的电路主要有四部分组成:鉴别锁存电路、FPGA主芯片EP1C3T144C8电路、计分电路以及扫描显示模块的电路,并利用Quartus II工具软件完成了Verilog HDL源程序编写和硬件下载。
这个抢答器设计基本上满足了实际比赛应用中的各种需要。
在实际中有很大的用途。
关键词:抢答器 Quartus II Verilog HDL EP1C3T144C81引言硬件描述语言 Hardware Description Language 是硬件设计人员和电子设计自动化 EDA 工具之间的界面。
抢答器verilog版
抢答器-verilog一.实验要求设计一个可容纳四组参赛的数字式抢答器,每组设一个按钮供抢答使用。
抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用;设置一个主持人“复位”按钮,主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,用指示灯显示抢答组别,扬声器发出2—3s的音响。
设置犯规电路,对提前抢答和超时答题(例如3min)的组别鸣笛示警,并由组别显示电路显示出犯规组别。
设置一个计分电路,每组开始预置10分,由主持人记分,答对一次加1分,答错一次减1分。
二.实验方框图三.答题规则(本实验均采用脉冲按键模式)四.本次实验的verilog源程序module answer(clk,k1,k2,k3,k4,o1,o2,o3,o4,out1,out2,start,reset1, save); //抢答信号鉴别,保持模块input clk,k1,k2,k3,k4,start,reset1;//k1~k2是选手按键output o1,o2,o3,o4,out1,out2;//o1~o2是抢答信号显示灯output[2:0] save; //用于保存选手的抢答信号reg o1,o2,o3,o4,out1,out2,ok;reg[7:0] counter;reg[2:0] save;integer i;always@(posedge clk)if(reset1)//当reset1为1时复位清零begin{o1,o2,o3,o4,out1,out2,ok}<=7'b0000000;counter<=0;i=0;endelsebegin////if(start)beginok<=1;save<=0;endif(!ok)//reset1和ok为0时,有人按键表示犯规begin //一旦有人按键,他的输出信号将屏蔽其他人的按键if(k1&&!o2&&!o3&&!o4)begino1<=1;save<=1;endif(k2&&!o1&&!o3&&!o4)begino2<=1;save<=2;endif(k3&&!o1&&!o2&&!o4)begino3<=1;save<=3;endif(k4&&!o1&&!o2&&!o3)begino4<=1;save<=4;endif(o1 || o2 || o3 || o4)//提前按键扬声器响out1<=1;endelse//reset1为0,ok为1时,有人按键为正常抢答begin//if(k1 || k2 || k3 || k4)begin //一旦有人按键,他的输出信号将屏蔽其他人的按键if(k1&&!o2&&!o3&&!o4)begino1<=1;save<=1;endif(k2&&!o1&&!o3&&!o4)begino2<=1;save<=2;endif(k3&&!o1&&!o2&&!o4)begino3<=1;save<=3;endif(k4&&!o1&&!o2&&!o3)begino4<=1;save<=4;endendif(o1 || o2 || o3 || o4)begini=i+1;if(i<2)out2<=1;//有人抢到题,响几下铃。
路抢答器verilog语言程序
8路抢答器v e r i l o g语言程序(共4页)-本页仅作为预览文档封面,使用时请删除本页-/****************************************************************************** **Copyright(c) , All right reservedProject name : 八路抢答器File name :Author : THE CEmail============================================================================= Description : 八路抢答器Called by :File tree :============================================================================= Revision History:Date By Ver. Change Description------------------------------------------------------------------------------2012-12-26 THE C 首次归档******************************************************************************* */`timescale 1ns/100psmodule choose8_1(input clk,input rst,input [7:0] keyin,output reg [2:0] sel,output reg [7:0] display);reg [9:0] count;reg clk_1hz,flag;reg [4:0] t;reg [3:0] disp;reg [3:0] data;always @ (negedge clk)if (count<999)count=count+1;elsebegincount=0;clk_1hz=~clk_1hz;endalways @ (posedge clk or negedge rst)beginif (!rst)begindata <= 4'b1010;flag <= 1'b0;endelseif (!flag && t)case (keyin [7:0])8'b00000001 : begin data<=4'b0001; flag<=1; end 8'b00000010 : begin data<=4'b0010; flag<=1; end 8'b00000100 : begin data<=4'b0011; flag<=1; end 8'b00001000 : begin data<=4'b0100; flag<=1; end 8'b00010000 : begin data<=4'b0101; flag<=1; end 8'b00100000 : begin data<=4'b0110; flag<=1; end 8'b01000000 : begin data<=4'b0111; flag<=1; end 8'b : begin data<=4'b1000; flag<=1; enddefault : begin data<=data; flag<=flag; endendcaseelse;endalways @ (posedge clk_1hz or negedge rst)beginif (!rst)t<=30;elseif (t>0 && !flag)t<=t-1;elset<=t;endalways @ (posedge clk or negedge rst)beginif (!rst)sel [2:0] <= 3'b000;elsebeginsel [2:0] <= sel[2:0]+3'b001;endendalways @ (*)begincase( sel[2:0] )3'b000: disp [3:0] = t/10;3'b001: disp [3:0] = t%10;3'b010: disp [3:0] = 4'b1111;3'b011: disp [3:0] = 4'b1010+clk_1hz;3'b100: disp [3:0] = 4'b1010+clk_1hz;3'b101: disp [3:0] = 4'b1010+clk_1hz;3'b110: disp [3:0] = 4'b1111;3'b111: disp [3:0] = data;endcaseendalways @ (*)begincase( disp )4'b0000: display [7:0]=8'b01111110; //04'b0001: display [7:0]=8'b00110000; //14'b0010: display [7:0]=8'b01101101; //24'b0011: display [7:0]=8'b01111001; //34'b0100: display [7:0]=8'b00110011; //44'b0101: display [7:0]=8'b01011011; //54'b0110: display [7:0]=8'b01011111; //64'b0111: display [7:0]=8'b01110000; //74'b1000: display [7:0]=8'b01111111; //84'b1001: display [7:0]=8'b01111011; //94'b1010: display [7:0]=8'b00000001; //-default: display [7:0]=8'b00000000; //全灭 endcaseendendmodule。
用VerilogHDL编写四路抢答器
always@(*) begin case(qiang_da) 1:bian_ma=3'b001; 2:bian_ma=3'b010; 4:bian_ma=3'b011; 8:bian_ma=3'b100; default:bian_ma=3'b000; endcase end
assign suo=(~bian_ma_cun[0])&(~bian_ma_cun[1])&(~bian_ma_cun [2]);
assign suo_1=suo&fankui;
always@(*) begin if(qing_ling==1) bian_ma_cun<=3'b000; else if(suo_1==0) bian_ma_cun<=bian_ቤተ መጻሕፍቲ ባይዱa_cun; else bian_ma_cun<=bian_ma; end
output wire [6:0]a_to_g; output wire [3:0]A_TO_D; input wire clk;//50MHz时钟 wire [3:0]qian; wire [3:0]bai; wire [2:0]shi; wire [2:0]ge; wire cp;//1s时钟 input wire [3:0]qiang_da; input button; wire suo_1; wire [2:0]bian_ma_cun; wire fankui; output wire xuan; shumaguan shumaguan0(a_to_g,A_TO_D,clk,qian,bai,shi,ge); cp_1s cp_1s0(clk,cp); xuan_shou xuan_shou0(qiang_da,button,suo_1,bian_ma_cun,fankui); wei_xuan wei_xuan0(bian_ma_cun,xuan,shi,ge); fuwei_kongzhi fuwei_kongzhi0(button,xuan); jishu_kongzhi jishu_kongzhi0(bai,qian,cp,suo_1,xuan,fankui); endmodule
用Verilog HDL编写的四路抢答器演示幻灯片
always@(*)//4位位选译码 case(wei) 3:begin A_TO_D=4'b1110; duan=qian; end 2:begin A_TO_D=4'b1101;
6
module cp_1s(clk,a); //提供1秒脉 冲
input wire clk; output reg a; reg [25:0]q; always@(posedge clk)
output reg zong_kong;
always@(posedge fu_wei)
begin
zong_kong<=~zong_kong;
11
module jishu_kongzhi(q1,q2,clk,suo,clr,fa nkui);//计数电路及其控制模块
output wire [3:0]q1;
四路抢答器设计
——Verilog HDL语言
1
抢答器为四路,20秒倒计时,抢 到后显示锁定,计时停止,若 提前抢答会在另外数码管显示 抢答号码。
在BASYS 2 开发板上可以实现
2
module qiang_da_qi(a_to_g,A_TO_D,clk,q iang_da,button,xuan
14
qing_ling;
8
assign suo=(~bian_ma_cun[0])&(~bian_ ma_cun[1])&(~bian_ma_cun[2]);
assign suo_1=suo&fankui;
always@(*) begin if(qing_ling==1)
9
module wei_xuan(bian_ma_cun,xuan,bai, ge);//控制选手是否提前抢答模 块
基于-verilog的抢答器设计
基于Verilog 语言的二路抢答器设计实验报告电子科学与工程学院121180052 璇一、 实验目的1、 掌握数字系统中触发器、计数器的设计要素。
2、 掌握触发器、计数器的 VerilogHDL 代码编写。
3、 进一步掌握ISE 软件的用法,学习代码下载的方法。
二、 实验步骤1、 设计限时和复位电路。
2、 编写限时/复位电路的VerilogHDL 代码并综合、仿真。
3、 实现限时抢答器并下载到开发板上进行验证。
三、 实验原理1、设计二路抢答器2、设计定时器和复位电路可使用计数器来实现定时功能。
而给定时间的定时,可以让计数器的输出与特定值 比较来实现。
这个特定的预置数由时钟频率和定时时间决定。
这个基本想法如下图所示。
图中,“时间到”信号接到计数器的清零端,以便下次计数从0开始。
这里,还需要一个计时开始的功能按键,用来启动计数器的计时。
那么,计数器就需要 一个使能端,受控于“计时开始”按键。
我们知道, EN 信号是一个持续信号(允许时保持 电平),而“时间到”信号是一个持续时间很短的脉冲,因此还需要一个触发器来产生计数 器的EN 信号。
复位信号由“时间到”信号和复位按键相或来得到。
完整的限时和复位电路如下图所示。
抢勢垃]抢答席伽 王持人 I 色答戍1幼时笛 14敌器比较器时间到叶四、实验代码//主程序部分Module resp on der ( in put elk, input set, in put reset, in put wirein_a, in put wire in_b, output wireq_a, output wire q_b, output en);wire elr; wire[27:0]t;wire clk_10;wire timeout;reg[27:0] n=28'h1ffffff; assig nclr = reset||timeout;trig trigger(.set(set), •clk(clk_10), .clr(clr), .en(en));count coun ter(•clk(clk_10),.clr(clr),.en (e n),.cnt(c nt));comp comparator.cnt(c nt),•n(n),.timeout(timeout));fpga_2 main(.in _a(i n_a),.in_b(in_b),.clk(clk_10),.reset(clr),.q_a(q_a),•q_b(q_b),.e n(en));en dmodule//触发器trigger部分module trig(in put set,in put clk,in put clr, output reg en);always(posedge clk) begi n if(clr)en=0;elsebegi n if(set) en=1;else en=en;endenden dmodule//计数器counter部分module count(in put clk,in put clr,in put en,output reg[27:0]t);always (posedge elk) beginif(elr) t=0; else if(e n) t=ent+1;enden dmodule//比较器comparator 部分module comp( input wire[27:0]t, in put wire[27:0] n,output reg timeout);always (*) if(cnt==n) timeout=1;else timeout=0;en dmodule//抢答器部分module fpga_2( in put wire in_a, input wire in_b, in put wire clk, in putwire reset, in put en, output reg q_a,output reg q_b);always (posedge clk) beginif ( (q_b==1) ||(reset)) q_a=0;else if(in_a&&en) q_a=1;endalways (posedge clk) beginif ( (q_a==1) ll(reset)) q_b=O;else if(in_b&&en) q_b=1;enden dmodule五、仿真测试1、测试代码// Add stimulus here set = 1;reset = 0;in _a=1;#1000 in_a=0;#100 in_b=1;#1000 reset=1;#100 in_b=0;#100 reset=0; in_b=1;#1000 in_b=0; #100 in_a=1;#1000 reset=1;#100 in_a=0;#100 reset=0;endalways #10 clk=~clk;2、仿真结果六、验证限时电路和复位电路1在工程中加入DCMmy_clk my_dcm( •CLK_IN1(clk), •CLK_OUT1(clk_10),• RESET(1'b0),丄 OCKED());2、为模块中的输入输出信号添加管脚约束(管脚定义)眸T ■*clk p LOC 二和引弓中为时怕仁号KET "reset 1' LOC =■ P3;"引号中力夏也信粤 KSI "5et H 匕X =虫卄号电力开始计时信辱 KEI ■乩"LOC = U16; 号中畑 K 信号,SAILED"弓号中为讹号,在工程中添加 UCF 文件。
verilog抢答器设计报告
湖北师范学院电工电子实验教学省级示范中心电子版实验报告抢答器一.任务解析用Verilog硬件描述语言设计抢答器,实现:1、四人通过按键抢答,最先按下按键的人抢答成功,此后其他人抢答无效。
2、每次只有一人可获得抢答资格,一次抢答完后主持人通过复位按键复位,选手再从新抢答。
3、有从新开始游戏按键,游戏从新开始时每位选手有5分的初始分,答对加1分,答错扣1分,最高分不能超过9分,当选手得分减为0时取消该选手抢答资格。
4、选手抢答成功时其对应的分数闪烁。
二.方案论证(画框图并分析)抢答部分(对应snatch模块)在quartusII下的仿真原理图如下所示:第2页,共6页抢答部分的代码如下:计分模块的代码如下:顶层模块的代码如下:三.重难点解析抢答器的核心部分为巧妙地利用D触发器的反馈,在检测到第一个上升沿时将按键(未按下时接低电平)接入的与门锁住,以保证与门只有一个上升沿输出,从而实现“最先按下按键的人抢答成功,此后其他人抢答无效”。
在与门输出上升沿的同时检测按键,以确定是哪位选手抢答,用寄存器存下抢答选手的信息,最后确定哪个led灯亮以及那位选手对应的分数闪烁。
至于取消0分选手抢答资格,则是将各选手的分数反馈到选手抢答的按键,通过与门关闭相应选手按键上升沿的进入。
其他功能的实现相对简单,在此不再赘述。
将各模块代码写好并测试后,在主模块中调用并分配引脚,引脚分配好后,从新编译、下载就可实验了。
分别验证上述的各种功能,看是否达到预期的效果。
四.硬件资源分配(给出引脚分配说明)芯片选用EP1K30TC114-3,clr接全局清零键pin124,start(游戏从新开始键)接pin49,up(加分键)接pin47,down接pin48,四个抢答按键key3、key2、key1、key0、分别接pin59、pin60、pin62、pin63,7段数码管的7盏灯a、b、c、d、e、f、g分别pin118、pin119、pin120、pin121、pin122、pin128、pin130,数码管选择信号sel0、sel1、sel2分别接pin132、pin133、pin135,抢答指示灯led0、led1、led2、led3分别接pin136、pin137、pin138、pin140。
verilog-HDL抢答器(两个程序)
v e r i l o g-H D L抢答器(两个程序)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN一、设计任务智力竞赛抢答器Verilog HDL要求有6位参赛者进行抢答,有六个抢答信号进行抢答。
当有抢答选手按下抢答键后系统能够快速准确的判断是那一组选手按下了抢答信号,由于系统比较小,速度比较快一般不会有同时按下的可能,所以只有六种状态,然后系统能够根据这六种状态进行适时的显示和提示。
当有选手按下以后就对抢答信号进行锁存,其他选手的输入无效。
然后就是对抢答进行时间限制了,根据设定的时间进行倒计时,当倒计时完成还没有人抢答的时候系统发出警报声音提示时间已经到了。
当有选手在主持人未按下抢答键抢答时视为超前抢答,系统显示该选手号,同时蜂鸣器响,该抢答无效。
还有清除复位键,抢答完成以后按复位键即可清除已有的状态。
通过Verilog HDL程序代码实现系统的各个功能。
二、设计目的与要求目的:理论联系实际,巩固和运用所学课程,提高分析、解决计算机技术实际问题的独立工作能力,培养学生正确的设计思想,严肃认真、实事求是的科学态度和勇于探索的创新精神。
通过对一个智力抢答器的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤,通过Verilog 程序的编写,进一步熟悉Verilog HDL 的语法知识;规范化训练学生撰写技术研究报告,提高书面表达能力。
要求:掌握FPGA设计系统的一般方法。
熟练掌握使用modelsim软件设计较复杂的数字逻辑电路。
培养学生独立分析问题和解决实际问题的能力。
三、课程设计的内容设计一抢答器,要求如下:(1)抢答台数为6;(2)具有抢答开始后20s倒计时,20秒倒计时后6人抢答显示超时,并报警;(3)能显示超前抢答台号并显示犯规报警;(4)系统复位后进入抢答状态,当有一路抢答按键按下,该路抢答信号将其余各路抢答信号封锁,同时铃声响起,直至该路按键松开,显示牌显示该路抢答台号。
基于Verilog HDL的数字竞赛抢答器
欽件打夜场宗用2021年第2期售廉与电atChina Computer & Communication 基于Verilog HDL 的数字竞赛抢答器孙阔王颖*(大连理工大学城市学院电子与自动化学院,辽宁大连116024)摘 要:数字抢答器拥有广阔的市场前景,在电视节目、各类高校的比赛中都可以使用数字抢答器。
本文基于 Verilong HDL 设计了一种数字抢答器,该数字抢答器以6个参赛组为基础实现其他功能,具有一定的审场价值.关键词:Verilog HDL;数字抢答器;FPGA中图分类号:TP311.52 文献标识码:A 文章编号:1003-9767 (2021) 02-112-02Digital Competition Answerer Based on Verilog HDLSUN Kuo, WANG Ying*(School of Electronics and Automation, City College, Dalian University of Technology, Dalian Liaoning 116024, China)Abstract : Digital answering devices have broad market prospects, and digital answering devices can be used in TV programs and competitions in various colleges and universities. This paper designs a digital answering device based, on Verilong HDL ・ The digital answering device implements other functions based on 6 participating groups and has a certain market value.Keywords : Verilog HDL; digital answerer; FPGA0引言近年来,随着科学技术的不断发展,抢答器的功能以及实现方法也越来越多,在竞赛中使用抢答器是一种很流行的 比赛方式,深受比赛各方的青睐冋。
数字电子技术实验报告——基于FGPA的4位智能抢答器(verilog HDL)
基于FPGA的4位智能抢答器一、设计任务要求基于E DA/SOPC 系统开发平台,运用Q uartusⅡ可编程逻辑器件开发软件,设计一个4位智能抢答器,在开发箱上,本系统使用频率为1000 赫兹的时钟脉冲。
要求如下:1、可以同时供4名选手抢答,其编号分别为1、2、3、4,各用抢答按键S1、S2、S3、S4,按键编号与选手编号对应。
主持人设置有一个“开始”按键S5,一个“复位”按键S6,用于控制抢答的开始和系统的复位;各个按键按下为“0”,弹起为“1”;2、系统上电和按下“复位”按键后4位数码管显示“0000”,此时只有“开始”按键有效,其他按键不起作用;3、当主持人按下“开始”按键后,开始计时,数码管左边两位显示计时的时间,单位为“秒”;如果有选手按下抢答按键,定时器停止工作,数码管显示器上左边两个数码管显示抢答时刻的时间;选手编号立即锁存并显示在右边的两个数码管上,同时封锁输入电路,禁止其他选手抢答;此状态一直保持到主持人将系统复位为止;4、抢答的有效时间为10 秒,如果定时抢答的时间已到而没有选手抢答,本次抢答无效,封锁输入电路,禁止抢答,数码管左边显示“10”,右边显示“00”;此状态一直保持到主持人将系统复位为止;5、附加提高:在主持人未按下开始按键时,如果有人抢答则犯规,在数码管上右边两位闪烁犯规选手的编号,闪烁频率为0.5H Z,左边两位显示“00”;此状态一直保持到主持人将系统复位为止。
二、设计步骤本次设计主要采用V erilog HDL 语言,总体编程思路采用模块化设计方式,主要分为3 个模块,一个主控制及按键输入模块,一个计时显示模块,一个抢答组号显示模块,分别对这3个子模块进行独立编程设计,编译仿真通过并生成元件,在顶层使用原理图或者Verilog HDL 语言的方式将3个模块连接起来完成整个设计。
锁定管脚并编译仿真通过,下载到开发箱进行测试。
三、模块设计思路对于这个任务来说,计时显示模块和抢答组号显示模块的模块并不复杂,复杂的模块是主控制及按键输入模块,所以我决定再将主控制模块拆分成两个小的模块——按键输入模块、按键输入判断输出模块。
智能抢答器的Verilog设计及Quartus_仿真
本文用 Verilog HDL 设计实现一个具有四组输入的, 能够显示抢 答倒计时时间和抢答组数等信息,并且对抢答后各组的成绩进行处理 并显示的抢答器。利用 Verilog HDL 硬件描述语言设计抢答器,使抢答 器 硬 件 电 路 更 加 简 单 ,抢 答 器 时 序 控 制 灵 活 ;利 用 FPGA I / O 端 口 可 自定义特点,在本文设计智能抢答器基础上,增加抢答器的按键阵列,
1 系统设计
1.1 抢答器系统的功能 抢答器具体功能如下:(1)可同时进行四组人的抢答。 (2)设置一个
抢答控制开关,只有按下开 始 按 钮 才 能 抢 答 ;(3)抢 答 器 具 有 抢 答 倒 计 时功能,一次抢答的倒计时时间为 60s。 (4)抢 答 器 具 有 锁 存 与 显 示 功 能。 即选手按动按钮 ,锁存相应的组号 ,显示组号 。 抢答实行优先锁存 , 优先抢答选手的相应组号和成绩一直保持到下一轮抢答开始 。(5)参赛 选手在设定的抢答有效时间内进行抢答,抢答有效,如果抢答延迟时 间已到,无人抢答,本次抢答无效,系统回到开始前的等待状态。 (6)当 抢答有效后,可以根据抢答选手回答问题正确与否对选手相应组数的 成绩进行加分操作。
中央空调系统是按天气最热、负荷最大设计的,并留有 10%-20% 的余量,根据负载变化随之增减,但冷冻水泵和冷却水泵不能随负载 变化作出相应的调节,冷冻水、冷却水几乎长期在大流量、小温差的状 态下运行,造成能量的极大浪费。
3 节能改造的可行性分析
变频调速性能好,调速范围大,静态稳定性好,运行效率高。 根据 冷却水温选择冷却塔开启的台数,容易造成能源浪费,冷却水的温度 由温度传感器传送信号至 PLC,由 PLC 计算后,对冷却塔风机开启,以 28℃为基数,温度每上 升 2℃开 启 两 台 散 热 风 机 ,每 下 降 2℃延 时 5 分 钟后停止 2 台风机,以达到节能效果。
基于Verilog HDL语言的新型抢答器设计
基于Verilog HDL语言的新型抢答器设计
周奇;王晓春;王立伟;王延群
【期刊名称】《现代仪器与医疗》
【年(卷),期】2008(014)005
【摘要】本文提出一种基于Verilog HDL语言的抢答器设计方法.该设计实现有三组输入,具有抢答倒计时功能,对各抢答小组成绩进行加减操作并显示的抢答器.文中介绍抢答器设计架构、硬件电路和控制程序的设计方法.该抢答器采用Verilog HDL语言模块化和层次化的思想,使设计十分简单,能够广泛应用于各种竞赛中.【总页数】4页(P43-46)
【作者】周奇;王晓春;王立伟;王延群
【作者单位】中国医学科学院生物医学工程研究所,天津,300192;中国医学科学院生物医学工程研究所,天津,300192;中国医学科学院生物医学工程研究所,天
津,300192;中国医学科学院生物医学工程研究所,天津,300192
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真 [J], 陈飞云
2.基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真 [J], 陈飞云;
3.基于Verilog HDL语言的CAN总线控制器设计及验证 [J], 许莉娅;段帅君;李传南
4.基于Verilog HDL语言的复杂交通指标灯设计与实现 [J], 杨杨
5.基于Verilog HDL语言的一种奇偶校验码与极化码级联的编码器设计与仿真 [J], 彭逸飞
因版权原因,仅展示原文概要,查看原文内容请购买。