FPGA自学:周期方波上升沿产生短脉冲信号

本文介绍了如何在FPGA中利用时钟计数产生周期信号,并通过计数器生成与周期方波上升沿对齐的短脉冲信号。详细讲述了代码实现及修正过程,以确保触发信号的准确对齐。
摘要由CSDN通过智能技术生成

问题:如何在低频率的周期信号产生一个短脉冲信号?

1)首先利用时钟计数产生一个周期信号;

2)其次利用计数器产生一个短脉冲信号。

代码如下:

module Adv(clk_5m,rst,clk_25hz,trigger);

input clk_5m;
input rst;
output clk_25hz;
output trigger;

reg [17:0]cnt;
reg clk_25hz;
//reg trigger;
wire trigger;

always @(posedge clk_5m or negedge rst)
	if(!rst) 
		cnt <= 0;
	else if(cnt<199999)
		cnt <= cnt+1;
	else 
		cnt <= 0;
  

always @(posedge clk_5m or negedge rst)
	if(!rst)
		clk_25hz <= 0;
	else if(cnt<99999)
		clk_25hz <= 1;
	else 
        clk_25hz <= 0;
		

assign trigger = ((cnt>=0)&&(cnt<10))?1:0;
  
  

endmodule

仿真代码如下:

`timescale 1ns/1ns
`define clk_period 200   //200ns=5Mhz

//定义模块
module Adv_tb;

//定义激励接口(信号发生器接口)
reg clk_5m_tb;
reg rst_tb;
wire clk_25hz_tb;
wire trigger_tb;

//连线(信号发生器信号接入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值