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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3487|回复: 11

[求助] verilog问题求助

[复制链接]
发表于 2013-11-20 23:51:38 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 fl_5588 于 2013-11-21 08:43 编辑

always @(*) begin
   if (rst==0) a=b;
   else a=a;
end
这句话是把b赋值给a,应该怎么改,还是组合逻辑,但是不会综合出来latch?谢谢
发表于 2013-11-21 07:43:46 | 显示全部楼层
会产生latch.  另外rst不是一般用在寄存器的复位吗。直接assign  a  =  b ; 应该可以吧
 楼主| 发表于 2013-11-21 08:39:26 | 显示全部楼层
回复 2# tjuyfb

    嗯,我随便写的控制信号,这段话想在rst信号为高的时候a信号保持不变。这样写的话是一根线
发表于 2013-11-21 09:14:41 | 显示全部楼层
组合逻辑在不生成latch的情况下,应该做不到这个功能。能否考虑结合寄存器实现?
发表于 2013-11-21 09:26:59 | 显示全部楼层
回复 3# fl_5588


   你这个不就是描述的latch的功能吗?
发表于 2013-11-21 09:29:13 | 显示全部楼层
比较赞同二楼的说法,像二楼说的那样,直接assign不行么,assign a = (rst_n == 1'b0) ? b : a;

我试过了,用quartus综合的话,always写法有latch,assign写法没有latch;但是比较奇怪的是综合结果都是一个带使能的锁存器,为什么一个有latch一个没有,求高手解答
 楼主| 发表于 2013-11-21 15:04:19 | 显示全部楼层
回复 4# tjuyfb


    嗯,十分感谢
 楼主| 发表于 2013-11-21 15:05:37 | 显示全部楼层
回复 5# HADIST


    嗯,没有其他解决方案吗
 楼主| 发表于 2013-11-21 15:06:43 | 显示全部楼层
回复 6# txwm8905


    我也试过了,warning里面是没有latch警告的,但是综合之后都是latch的
发表于 2013-11-21 18:54:45 | 显示全部楼层
有latch有什么坏处吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-5 20:36 , Processed in 0.026010 second(s), 8 queries , Gzip On, Redis On.

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