近期项目需要做一个双脉冲输出实验,利用Verilog的PLL产生40MHz时钟信号,利用此信号产生脉宽为25ns,间隔75ns(两上升沿相隔100ns)的双脉冲,周期为20微秒,如下图:
模块输入为系统时钟clk,复位rst_n,输出信号pulse_out,系统时钟40MHz,则周期T=1/40MHz=25ns.
20微秒计数:(20*10^-6)*40000000-1=799
25ns:1
100ns:4
125ns:5
`timescale 1ns / 1ps
// Module Name: clk_div
//产生25ns,间隔75ns的双脉冲,周期为20微秒
module clk_div(
clk,
rst_n,
pulse_out
);
// PORT declarations //==========================================
input clk;
input rst_n;
outpu