1 / 6
文档名称:

秒脉冲产生电路模块设计.pdf

格式:pdf   大小:319KB   页数:6页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

秒脉冲产生电路模块设计.pdf

上传人:陈潇睡不醒 2021/4/6 文件大小:319 KB

下载得到文件列表

秒脉冲产生电路模块设计.pdf

文档介绍

文档介绍:秒脉冲产生电路模块设计
电路模块的作用
该模块的作用是将 10kHz 时钟信号经过 10000 分频得到 1Hz 的秒脉冲时钟信号,做为
秒计数电路模块的输入时钟信号。因此,该模块有 2 个端口,输入端口为 clk_10kHz,输出
端口为 clk_1Hz。
设计思路
输入的时钟信号频率为 10kHz,周期为 ;输出的时钟信号频率为 1Hz,周期为
1s;由此可看出,输出信号的频率比输入信号的频率降低了 10000 倍,因此周期提高了 10000
倍;因此在编写程序代码时,设计一个中间计数器 jsq,目的是对输入信号进行计数;当计
数器 jsq 从 0 计数到 4999 时,计数了 5000 次,输出信号持续为高电平;而当计数器 jsq 从
5000 计数到 9999 时,同样也计数了 5000 次,然后输出信号持续为低电平;由此可以得知
输出的信号周期为输入信号的 10000 倍,从而实现了 10000 分频的目的,并使得输出信号的
占空比为 50%。
程序代码及代码解析
1. 模块声明
module FDIV(clk_1Hz,clk_10kHz); /*模块声明*/
。。。。。。
endmodule
模块名:FDIV; 两个端口:clk_1Hz 和 clk_10kHz
2. 端口定义:注意输入信号和输出信号的位宽
input clk_10kHz; /*输入端口定义*/
output clk_1Hz; /*输出端口定义*/
3. 数据类型说明
reg clk_1Hz; /* clk_1Hz 为寄存器型变量*/
reg[13:0] jsq; /*jsq 为中间计数器变量*/
由于电路中需要一个计数器来计数,因此定义了一个中间变量 jsq,且数据类型为寄存
器型(reg 型),该计数器能从 0 计数到 9999(10000 次),故位宽为 14 位。
4. 逻辑功能描述
(1)代码一:
always @(posedge clk_10kHz)
begin
if(jsq<4999)
begin jsq<=jsq+1;clk_1Hz<=1; end
else if(jsq==9999)
begin jsq<=0; clk_1Hz<= 0; end