erilog 脉冲发生器程序
/*************************************************************************************** 实现功能简述
本模块主要功能是产生一个确定时钟周期长度(最长为256个时钟周期)的脉冲信号,可以自己设定脉冲长度,输出的脉冲信号与时钟上升沿同步 脉冲宽度 = pulsewide + 1 时钟周期;
输入一个启动信号后,可以产生一个固定时钟周期长度的脉冲信号,与启动信号的长短无关!脉冲宽度可调!
1、可以调整输出脉冲宽度
2、只要输入一个启动信号,不论启动信号宽度——需要能够触发设计,就输出脉冲 3、再输出一个完整的脉冲过程中,不论输入多少个启动信号,都只会输出一个脉冲 4、不论启动脉冲的宽度多大,输出的脉冲宽度恒定
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
***************************************************************************************/
module confirmpulse ( clk, reset, start, pulse, pulsewide );
input clk, reset, start; input [7:0] pulsewide; output pulse;
reg pulse;
reg counten; reg [7:0] count;
//计数器启动标记,表示一次延时计数开始 always @ ( posedge clk ) begin
if ( reset == ‘b0 ) counten 《= ’b0; else begin
if ( start == ‘b1 ) counten 《= ’b1;
else if ( start == ‘b0 && count 》 pulsewide ) counten 《= ’b0; end
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !