此抢答器用异步时序电路实现。异步时序电路,顾名思义就是电路的工作节奏不一致,不存在单一的主控时钟,主要是用于产生地址译码器、FIFO和异步RAM的读写控制信号脉冲。除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件;电路状态的改变由外部输入的变化直接引起。由于异步电路没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。
对应的verilog代码为:
module QiangDaQi(emcee, actor_1, actor_2, actor_3, actor_4, num);
input emcee;
input actor_1;
input actor_2;
input actor_3;
input actor_4;
output [2:0] num;
reg [2:0] num = 0;
reg [3:0] flag = 0;
reg enable = 0;
reg cnt = 0;
always @(emcee or actor_1 or actor_2 or actor_3 or actor_4) begin
if(!emcee) begin
enable = 1'b1;
cnt = 1'b1;
end
else begin
enable = cnt && actor_1 && actor_2 && actor_3 && actor_4;
cnt = 0;
end
end
always @(negedge emcee or negedge actor_1) begin
if(!emcee) begin
flag[0] <= 0;
end
else begin
if(enable)
flag[0] <= 1;
else
flag[0] <= flag[0];
end
end
always @(negedge emcee or negedge actor_2) begin
if(!emcee) begin
flag[1] <= 0;
end
else begin
if(enable)
flag[1] <= 1;
else
flag[1] <= flag[1];
end
end
always @(negedge emcee or negedge actor_3) begin
if(!emcee) begin
flag[2] <= 0;
end
else begin
if(enable)
flag[2] <= 1;
else
flag[2] <= flag[2];
end
end
always @(negedge emcee or negedge actor_4) begin
if(!emcee) begin
flag[3] <= 0;
end
else begin
if(enable)
flag[3] <= 1;
else
flag[3] <= flag[3];
end
end
always @(flag) begin
case(flag)
4'b0000: num = 3'b000;
4'b0001: num = 3'b001;
4'b0010: num = 3'b010;
4'b0100: num = 3'b011;
4'b1000: num = 3'b100;
endcase
end
endmodule
功能仿真如图:
- 大小: 6 KB
分享到:
相关推荐
1.设计用于竞赛抢答的四人抢答器。 (1)有多路抢答,抢答台数为4; (2)抢答开始后20秒倒计时,20秒倒计时后无人抢答显示...3.用Verilog HDL语言设计符合上述功能要求的四人抢答器,并用层次化设计方法设计该电路。
用verilog实现的抢答器程序,在Quartus II上编译通过并成功运行
1, 用了3个输入代表抢答按钮,如果想设置更过直接更改; 2, 初始时倒计时为10s; 3, 如果倒计时为10s没人抢答,按下复位键,重新开始抢答; 4, 在倒计时10s内有人抢答,则倒计时停止减一; ...
verilog实现抢答器毕业设计,pdf讲述整体设计及过程!详细描述!
1、设计一个可容纳4组参赛的数字式抢答器,每组设一个按钮,供抢答使用。 2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。 3、设置一个主持人“复位”按钮。 4、主持人复位后,开始抢答,第...
该文件包含了8人抢答器的各部分设计模块及整体的原理图设计。
4. 有的项目可能会有多个程序,因为用的代码有点差异,比如密码锁,就会分显示的数码管的显示个数的不同以及用的是verilog个vhdl 的差别: 5. 报告的话博客专栏里面只是展示了一小部分。链接:...
以Verilog HDL硬件描述语言作为平台,结合动手实验而完成的。它的特点是电路简单、制作方便、操作简单、方便、性能可靠,实用于多种智力竞赛活动。...这个抢答器设计基本上满足了实际比赛应用中的各种需要。
Verilog 编写的纯逻辑四路抢答器,一位主持人控制按钮与四位抢答者控制按钮协同工作
① 用EDA实训仪的I/O设备和PLD芯片实现电子抢答器的设计。 ② 电子抢答器具有1只主持人按钮和8只抢答选手按钮。 ③ 只有在主持人按钮按下后才开始抢答,当最先抢答的选手按钮按下后,其余选手的抢答按钮被封锁(无效...
verilog 代码,很简单,仅供初学者参考!
verilogHDL抢答器两个程序.doc
基于-verilog的抢答器设计.doc
程序分为两部分 1:4*4的矩阵按键 2:当开始按键按下,数码管30秒倒计时, 3:当其他8位按键被按下,数码管重新30秒倒计时,相应的按键的LED灯亮,而且其他按键再按下,无效, 等30秒答题时间结束,关闭LED,数码管...
用verilog编写的抢答器实验设计.rar
verilogHDL抢答器(两个程序).doc
以Verilog HDL硬件描述语言作为平台,结合动手实验而完成的。它的特点是电路简单、制作方便、操作简单、方便、性能可靠,实用于多种智力竞赛活动。
FPGA 的verlog抢答器
基于FPGA的竞赛抢答器设计,使用verilog语言实现,可以拿来直接当课设使用。货真价实!