- 2
- 0
- 约4千字
- 约 11页
- 2023-10-12 发布于湖北
- 举报
电子科技大学
基于FPGA的电子秒表的设计
指导教师:刘 曦
班 级 学 号:2905104016
姓 名:孙 烨
1
目录
设计要求及实验板资料……………………………………………………………………..3
模块设计…………………………………………………………………………………………….4
电路图…………………………………………………………………………………………….….7
设计心得…………………………………………………………………………………….……..11
2
设计要求及实验板资料
1.1设计要求
(1)、题目:
基于FPGA的电子秒表的设计
(2)、设计目的:
通过对基于FPGA实验底板的秒表的设计,学会ISE软件的基本使用方法,学会使用Verilog语言描述电路。
实现计时范围为00-00-00到59-59-99的秒表,计时结果用8只数码管显示;并且用两个按键开关控制,一个按键使秒表复位(只在暂停按下的时候起作用),另一个按键控制秒表的启动和暂停。
(3)、方案:
1、要实现秒表的百分秒,需要100赫兹的频率。根据实验板资料显示,实验板的晶振频率为48兆赫兹,所以需要设计一个分频器。
2、要实现秒表的动态显示,需要设计位选信号,此处用一个138的
译码器实现。同时,也需要设计一个扫描信号,在此次实验,我选择的扫描信号为1000赫兹。
3、除了以上的器件以外,还需要一个显示电路和一个计数电路。
1.2实验板资料:
3
模块设计
一、用Verilog语言描述秒表电路:
module sysy(ncs,clk,duanxuan,weixuan,zanting,fuwei);
input clk;(电路板晶振频率48兆)
input zanting;(按键输入“启动/暂停”)
input fuwei;(按键输入“复位”)
output wire ncs;(38译码器使能输入)
output reg [6:0] duanxuan;(数码管段选输出)
output reg [2:0] weixuan;(38译码器位选输出)
reg zt,fw;
reg [3:0]muxout;
reg [15:0] count1 ;
reg [ 3:0] count2 ;
reg [ 3:1] count3;
4
reg [ 3:0] cnt1,cnt2,cnt4,cnt5,cnt7,cnt8;
wire clk_1k,clk_100;
初值定义:
initial begin
count3=7;
weixuan=0;
zt=1;(启动/暂停按键定义初始值)
end
译码器使能:
assign ncs=0;
分频器将48兆的频率分出1000赫兹的和100赫兹的信号:
always@(posedge clk)
if (count1==47999)
count1=0;
else
count1=count1+1;
assign clk_1k=count1[15];
always@(posedge clk_1k)begin
if (count2==9)
count2=0;
else
count2=count2+1;end
assign clk_100=count2[3];
用触发器实现复位按键的延迟:
always@(posedge clk_1k) fw=fuwei;
用取反的方法实现启动/暂停按键(按一次取一次反):
always@(negedge zanting ) zt=~zt;
以0.01秒的频率实现计数(cnt1,cnt2,cnt4,cnt5,cnt7,cnt8分别存放从左到右的第1,2,4,5,7,8个数码管显示的数字):
always@(posedge clk_100)
case (zt)
0: begin(如果第奇数次按下启动/暂停按键,表示开始计数)
if (cnt1==
原创力文档

文档评论(0)