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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2753|回复: 7

[求助] 请大牛们帮我看看计数器设计的问题!感谢!

[复制链接]
发表于 2019-1-22 15:28:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我写了两个计数器,一个用来分频,一个用来定时。但是定时这边的计数器怎么都不工作,我是用SigalTap在板子上跑的,情况如下图所示,请问各位是怎么回事呢?首先是分频部分的代码

module Trig_10us(
output clk_100k,
input trig_en,clk,rst_p
);

reg [7:0] cnt_t;

always@(posedge clk or negedge rst_p)

if(!rst_p) cnt_t <= 0;

else if(trig_en) begin

if(cnt_t<8'd249) cnt_t <= cnt_t + 1;

else cnt_t <= 0;

end

else;


assign clk_100k = (cnt_t==8'd249)?1'b1:1'b0;

endmodule


后面是定时部分的代码
module Trig_500ms(
output trig,
input trig_en,clk_100k,clk,rst_p
);

reg [15:0] cnt;

always@(posedge clk or negedge rst_p)

if(!rst_p) cnt <= 0;

else if(trig_en&&clk_100k) begin

if(cnt<16'd49_999) cnt <= cnt + 1;

else cnt <= 0;end

else;

assign trig = (cnt==16'd1)?1'b1:1'b0;

endmodule

下面是SignalTap中的图片

SignalTap

SignalTap
发表于 2019-1-22 16:55:42 | 显示全部楼层
clk_100是否需要一直使能
 楼主| 发表于 2019-1-22 23:11:08 | 显示全部楼层
回复 2# lhw123


   您好,clk_100k是分频计数器里面出来的信号。我用来控制定时器每10us记一次数。clk时钟是25M
发表于 2019-1-23 14:45:55 | 显示全部楼层
trig_en=1,clk_100k=1,但是cnt还是0,说明rst_p=0
发表于 2019-1-23 15:16:51 | 显示全部楼层
题主还是没有说清楚,clk_100k是否一直为1,如果它是跳变的,那么每变成0一次,定时器就清零一次,根本没法计数。
发表于 2019-1-23 19:15:11 | 显示全部楼层
两个模块例化的地方拿来看看?这两个clk_100是不是连在一起的?复位信号两边用的如果是同一个,应该不是复位问题。
发表于 2019-1-29 18:59:01 | 显示全部楼层
最好能看到整个工程。
发表于 2019-1-29 19:54:00 | 显示全部楼层
dingiexian
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 08:29 , Processed in 0.021419 second(s), 8 queries , Gzip On, Redis On.

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