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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3147|回复: 15

[求助] 求助可综合的异步复位计数器Verilog设计

[复制链接]
发表于 2019-5-17 18:05:29 | 显示全部楼层 |阅读模式

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

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

x
源码如下:

module S_counter_new(clk_in, rst, s_cnt, mod);
input  clk_in, rst;
input [2:0] s_cnt;
output mod;

reg [2:0] cnt = 0;
reg mod = 1;

always @ (negedge rst)
begin
        cnt <= 0;

end

always @ (posedge clk_in)
begin
        if (cnt < s_cnt) begin
                mod <= 1;
                cnt <= cnt + 1;
        end else begin
                mod <= 0;
        end
end

endmodule


现在我想实现rst信号出现下降沿的时候,cnt被清零。但是用于DC综合不能再两个always块中同时对cnt进行赋值操作。那怎么处理呢?

注意是要rst异步清零,各位大佬求帮忙!
发表于 2019-5-17 18:27:47 | 显示全部楼层
always @ (posedge clk_in or negedge rst) 放一起
 楼主| 发表于 2019-5-17 18:51:19 | 显示全部楼层


IC.Michael 发表于 2019-5-17 18:27
always @ (posedge clk_in or negedge rst) 放一起


嗯   问题解决了    其实是always里面if语句规范性问题    但是还有一个问题一直没懂     对于一个变量需要在两个always中赋值的情况怎么解决    因为可能一个变量需要在不同的条件的时候做不同的判断并赋予不同的值。。。。
发表于 2019-5-18 08:51:59 | 显示全部楼层


lwhlwh612 发表于 2019-5-17 18:51
嗯   问题解决了    其实是always里面if语句规范性问题    但是还有一个问题一直没懂     对于一个变量需 ...


不太理解你说的规范性问题,能指点一下吗。另外,为何不考虑把clk rst放在一个always块中呢?我没记错的话,语法规定,不能在两个或以上的always块中对同一个变量赋值吧。
 楼主| 发表于 2019-5-18 15:56:41 | 显示全部楼层


IC.Michael 发表于 2019-5-18 08:51
不太理解你说的规范性问题,能指点一下吗。另外,为何不考虑把clk rst放在一个always块中呢?我没记错的 ...


对的    综合不能在两个不同的always块中对同一变量赋值     但往往我需要这样的功能操作的时候    我怎么办呢?     比如同时受到时钟和另外一个信号A的控制    来改变同一个变量的时候     我该怎么处理这样的情况呢?
发表于 2019-5-18 21:47:07 | 显示全部楼层
如果有个信号既受控于时钟,又受控于一个A。先确定A受不受控于该时钟。如果答案是YES,就放到一个always里面去。如果不是那就涉及到异步处理,先把A同步到该时钟域,然后再放到同一个always里面。
发表于 2019-5-18 21:48:08 | 显示全部楼层


IC.Michael 发表于 2019-5-18 08:51
不太理解你说的规范性问题,能指点一下吗。另外,为何不考虑把clk rst放在一个always块中呢?我没记错的 ...


我理解他说的规范性问题,就是可综合代码的 规范。
 楼主| 发表于 2019-5-19 16:21:57 | 显示全部楼层


gaurson 发表于 2019-5-18 21:47
如果有个信号既受控于时钟,又受控于一个A。先确定A受不受控于该时钟。如果答案是YES,就放到一个always里 ...


谢谢你    大概明白意思了   
发表于 2019-5-19 18:58:56 | 显示全部楼层


lwhlwh612 发表于 2019-5-19 16:21
谢谢你    大概明白意思了


归根结底,你的构思要有底层硬件结构支持才行。
发表于 2019-5-19 22:13:44 | 显示全部楼层


gaurson 发表于 2019-5-18 21:47
如果有个信号既受控于时钟,又受控于一个A。先确定A受不受控于该时钟。如果答案是YES,就放到一个always里 ...


赞同你的说法~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-26 21:02 , Processed in 0.026436 second(s), 5 queries , Gzip On, Redis On.

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