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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chen.terry

[讨论] 讨论一下这条verilog语句!高手请进!!!

[复制链接]
发表于 2012-2-26 16:14:10 | 显示全部楼层
发表于 2012-2-26 17:13:57 | 显示全部楼层
回复 11# remnant
我没说设计有没有问题,我只是说这种代码本身并没错,只是需要避免.
发表于 2012-2-27 12:30:22 | 显示全部楼层
这个就是一个latch啊,要避免的。这个跟在组合逻辑里面if-else语句,只写if不写else是雷同的。
发表于 2012-2-27 13:54:18 | 显示全部楼层
回复 13# catcat_2


    要看是时序逻辑还是组合逻辑吧,如果是时序逻辑没问题的。
发表于 2012-2-27 15:19:57 | 显示全部楼层
本帖最后由 dreamylife 于 2012-2-27 15:28 编辑

回复 9# digitalimage

我也仔细的看了一下,也在Quartus里面试了一下,如果像如下方式描述就可以过
module test (input b,c,output a);
wire    b;
assign d = (b == 1'b1) ? (a) : (c);
assign a = d;
endmodule
  像这样的方式写,就能生成一个只有mux的环路而没有锁存器产生。
我觉得之所以有锁存器产生是因为ram21_pmf_i 并没有初值,而在选择端选择了ram21_pmf_i时仿真器并不知道应该用什么样的值来代替,所以才会有锁存器产生。
而像上面所描述的,在第二句中a的值有理可查,就把d的值立即取过来就好了,所以这是个仿真器的原理问题~~哈哈哈
发表于 2012-2-27 15:29:06 | 显示全部楼层
回复 11# remnant

我也仔细的看了一下,也在Quartus里面试了一下,如果像如下方式描述就可以过
module test (input b,c,output a);
wire    b;
assign d = (b == 1'b1) ? (a) : (c);
assign a = d;
endmodule
  像这样的方式写,就能生成一个只有mux的环路而没有锁存器产生。
我觉得之所以有锁存器产生是因为ram21_pmf_i 并没有初值,而在选择端选择了ram21_pmf_i时仿真器并不知道应该用什么样的值来代替,所以才会有锁存器产生。
而像上面所描述的,在第二句中a的值有理可查,就把d的值立即取过来就好了,所以这是个仿真器的原理问题~~哈哈哈
发表于 2012-2-27 15:31:43 | 显示全部楼层
回复 8# 挂在天边的鱼

我也仔细的看了一下,也在Quartus里面试了一下,如果像如下方式描述就可以过
module test (input b,c,output a);
wire    b;
assign d = (b == 1'b1) ? (a) : (c);
assign a = d;
endmodule
  像这样的方式写,就能生成一个只有mux的环路而没有锁存器产生。
我觉得之所以有锁存器产生是因为ram21_pmf_i 并没有初值,而在选择端选择了ram21_pmf_i时仿真器并不知道应该用什么样的值来代替,所以才会有锁存器产生。
而像上面所描述的,在第二句中a的值有理可查,就把d的值立即取过来就好了,所以这是个仿真器的原理问题~~哈哈哈
发表于 2012-2-27 16:05:43 | 显示全部楼层


回复  remnant
我没说设计有没有问题,我只是说这种代码本身并没错,只是需要避免.
digitalimage 发表于 2012-2-26 17:13




请问你写的是代码还是电路?如果是代码,那没啥话说。如果是电路,那就是你嘴硬了。
发表于 2012-2-27 19:22:16 | 显示全部楼层
回复 18# remnant
我说的是代码,我用综合器综合了,得到了一个latch.这就是整个过程.我当然反对这样写,但是这样的电路确实客观存在.又不是物理上无法实现的.
"嘴硬"这样的话听着不舒服.
发表于 2012-2-27 19:27:04 | 显示全部楼层
补充一句,回路loop(不是latch)是有实际价值的.不要因为我们尽量避免就否定了它的存在,就像latch我们一再避免,但是它也是实际存在的电路,是有用的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-26 03:53 , Processed in 0.023219 second(s), 6 queries , Gzip On, Redis On.

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