My title page contents

VIVADO数字式秒表设计Basys3开发板Verilog代码

名称:VIVADO数字式秒表设计Basys3开发板Verilog代码(代码在文末下载)

软件:VIVADO

语言:Verilog

代码功能:

数字式秒表

设计一个数字秒表电路。设计要求: 

(1)计时范围0:00.0~9:59.9″,分辨率为0.1s,用数码管显示计时值 

(2)秒表设有一个功能按键开关 ButtonIn。

    当电路处于“初始”状态时,第一次按键,开始自动计时,再次按键,停止计时,第三次按键,计数器自动复位为0:00.0,即电路回到初始状态


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在Basys3开发板验证,开发板如下,其他开发板可以修改管脚适配:

basys3开发板.png


演示视频:

工程文件:

6ddfd95d-3032-4c7a-862c-0191ae09eff4.png

程序文件:

efc0aba8-80ef-4e39-8315-f229014fc770.png

程序编译:

1e09ec6a-c052-41ee-9f1b-6e126593895e.png

RTL图:

1e73c773-42e9-4dba-be95-2101dd4b715a.png

管脚分配:

0f97384f-4bff-4264-a90d-1a05847ddae3.png


部分代码展示:

`timescale 1ns / 1ps
//控制模块
module control(clk,in,reset,clr,count);
// Inputs
input clk;
input in;//按键输入
input reset;//复位输入
// Outputs
output clr;
output count;
reg clr=1;
reg count=0;
reg [1:0] state=2'd0;
parameter s_RESET=2'd0;
parameter s_TIMING=2'd1;
parameter s_STOP=2'd2;
always@(posedge clk or posedge reset)
if(reset==1)//复位
state<=s_RESET;
else
case(state)
s_RESET://初始状态
if(in==1)//按键输入
state<=s_TIMING;//计时状态
else
state<=s_RESET;//初始状态
s_TIMING://计时状态
if(in==1)//按键输入
state<=s_STOP;//停止状态
else
state<=s_TIMING;//计时状态
s_STOP://停止状态
if(in==1)//按键输入
state<=s_RESET;//初始状态
else
state<=s_STOP;//停止状态
default:;
endcase
always@(*)
if(reset==1)//复位
begin
clr=1;
count=0;
end
else
case(state)
s_RESET://初始状态
begin
clr=1;
count=0;
end
s_TIMING://计时状态
begin
clr=0;
count=1;
end
s_STOP://停止状态
begin
clr=0;
count=0;
end
default:;
endcase
endmodule

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » VIVADO数字式秒表设计Basys3开发板Verilog代码

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员