社区
硬件设计
帖子详情
Verilog中, if和else已经搭配了,还产生锁存器
guangshaqian
2018-06-08 11:16:08
这段代码画粉色线那句会产生锁存器,是因为加了一个定值。那有没有加一个定值,而又不产生锁存器的方法
...全文
1859
8
打赏
收藏
Verilog中, if和else已经搭配了,还产生锁存器
这段代码画粉色线那句会产生锁存器,是因为加了一个定值。那有没有加一个定值,而又不产生锁存器的方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
m0_37134265
2018-12-13
打赏
举报
回复
这个警告可以忽略
neoitachi
2018-08-20
打赏
举报
回复
本来,你这就是个锁存器,因为一直保持一个值,所以这个警告可以忽略。
liu_y_yun
2018-07-14
打赏
举报
回复
reg [31:0] Fword;
always @ (posedge clk or negedge rst_n)
begin
if(~rst_n)
Fword <= 32'h0;
else
Fword <= Fword + 32'h100000;
end
锁存器一般是组合逻辑条件不完备会产生,
你这完全是时序逻辑了,貌似也不应该产生锁存器才对。
如果你确定产生了锁存器,可以试试楼上的办法(有个位宽的笔误, 修改如下)
wire [31:0]
reg [11:0] Fword_tmp;
always @ (posedge clk or negedge rst_n)
begin
if(~rst_n)
Fword_tmp <= 12'h0;
else
Fword_tmp <= Fword_tmp + 1'b1;
end
assign Fword = {Fword_tmp, 20'd0};
莫弦
2018-07-10
打赏
举报
回复
试着这么写呢?
reg [3:0] Fword_tmp;
always @ (posedge clk or negedge rst_n)
begin
if(~rst_n)
Fword_tmp <= 4'd0;
else
Fword_tmp <= Fword_tmp + 1'b1;
end
assign Fword = {Fword_tmp, 28'd0};
之所以产生锁存器是因为你加的参数32'h10000000并不能对Fword的后面的28个bit产生数值上的变化,这样就会产生锁存器;
我是Trustintruth
2018-07-08
打赏
举报
回复
你这个应该是一个计算单元连一级存储器啊,本来描述的就有存储为什么还要消除锁存器呢
guangshaqian
2018-06-08
打赏
举报
回复
引用 1 楼 zgl7903 的回复:
<= 修改为 = 试试
还是无法消除警告
zgl7903
2018-06-08
打赏
举报
回复
<= 修改为 = 试试
Verilog
不完整if-else和case
产生
锁存latch
文章讲述了
锁存器
(Latch)的概念,指出在组合逻辑电路
中
,不完整的if-else结构、case语句分支不全、原信号赋值或判断以及敏感列表不全可能会
产生
锁存器
。
锁存器
的
产生
会导致不确定性和额外资源消耗,应尽量避免。解决方案包括完整编写if-else和case结构,避免信号自我赋值等。
Verilog
专题(三)如何在组合逻辑
中
避免latch的
产生
本文探讨了在
Verilog
中
如何防止在组合逻辑
中
产生
锁存器
,详细解释了
锁存器
产生
的原因,并提供了避免
锁存器
产生
的方法,包括正确使用if-else、case-default结构,以及在always@()块
中
完整列出敏感信号。同时,介绍了通过给信号赋初始值来消除
锁存器
的一种技巧。
verilog
case,if语句情况不全包含会生成
锁存器
本文介绍在数字电路设计
中
如何避免因if...else...结构不完整或case语句缺乏default而导致的
锁存器
生成问题。
Verilog
基础语法——条件语句if-else与case
本文介绍
Verilog
语法
中
常用的条件语句if-else与case。阐述了if-else语句的基本语法、嵌套使用、等价写法,指出其综合后电路无优先级关系,并行执行。还介绍了case、casez、casex语句的用法,强调case语句各条件无优先级,并行执行。
verilog
中
if....else语句以及case语句详细理解
博客主要介绍了
Verilog
中
if else语句的使用,包括语句形式,如if(表达式)语句等。同时强调条件语句须在initial、always引导的过程块
中
使用,还指出if语句使用不当可能综合出意想不到的
锁存器
。
硬件设计
6,172
社区成员
11,288
社区内容
发帖
与我相关
我的任务
硬件设计
硬件/嵌入开发 硬件设计
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 硬件设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章