在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: zlgy2

[求助] 询问一个输出延时的问题,VERILOG的

[复制链接]
 楼主| 发表于 2010-11-4 23:51:42 | 显示全部楼层
回复 10# lq4080


   非常感谢 我好好看下
发表于 2010-11-5 09:25:04 | 显示全部楼层
学习一下
发表于 2010-11-5 09:29:29 | 显示全部楼层
感谢分享
发表于 2010-11-5 16:36:34 | 显示全部楼层
回复 11# zlgy2


    不用客气,呵呵。
 楼主| 发表于 2010-11-6 01:38:51 | 显示全部楼层
回复 14# lq4080


    tu.jpg
见图,firen2 firen3 `波形 第一个周期的时间大于后面的周期  ··后面的周期都为20ms 占空比也都为1:2

但是第一周期就比较大  ··

根据您的代码,counter2  在 counter1计数小于1666的时候也在计数 这时候firen输出也为1

counter3相对于counter2也类似

能够让脉冲第一个周期的时间也一样?
 楼主| 发表于 2010-11-6 02:09:40 | 显示全部楼层
module firen2(clk,rst,firen,firen1);

input clk;
input rst;

output firen;
output firen1;


reg [14:0]count;
reg firen;
reg firen1;



always@(posedge clk or posedge rst )
if (rst)
count<=15'D0;

else if(count<20000)
count<=count+15'D1;

else
count<=15'D0;




always@(posedge clk or posedge rst)
if (rst)
firen<=0;
else if(count<6666)
firen<=1;
else
firen<=0;

always@(posedge clk or posedge rst)
if (rst)
firen1<=0;
else if((count>1666)&&(count<8333))
firen1<=1;
else
firen1<=0;

endmodule

在时间的取值上好像不是很准确 这是用纯粹计数器计算的··那样第一个周期也会延时

LQ4080 这样是否可以?
发表于 2010-11-6 08:57:38 | 显示全部楼层
回复 16# zlgy2


    只要你在Reset之后,不要都复位,counter3 <= 15'D0;counter2 <= 15'D1667;counter3 <= 15'D3334就行了,第一个周期也能满足。
发表于 2010-11-7 09:20:45 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 23:59 , Processed in 0.019170 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表