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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: guozheng

[求助] 这样也算是锁存器吗?

[复制链接]
 楼主| 发表于 2013-5-21 16:50:48 | 显示全部楼层
回复 8# wat__fir


   非常感谢~我一直 =有一个问题,挺多人强调在时序逻辑中使用非阻塞型的赋值,但是我觉得这个得根据实际情况来看吧。如果在一个always语句中只对一个reg型变量进行赋值,那么无所谓是阻塞还是非阻塞。   另外我是这个认为的:在时序电路中,一般而言使用非阻塞赋值是错不了的;在组合电路中,无所谓使用哪种。
   不知您如何看待。
发表于 2013-5-21 17:08:39 | 显示全部楼层
推荐时序非阻塞、组合阻塞的一个原因在于,这样做可以使仿真行为和实际动作行为最大可能的一致

减少因为语言、语法带来的人为影响

P.S. verilog虽然相对要求灵活,但是基本的语法还是要遵守的,要不然会编译告错的
 楼主| 发表于 2013-5-21 17:16:21 | 显示全部楼层
回复 4# everhappy


是否可以如此理解:1、在时序逻辑电路中,是不存在锁存器的,因为触发器本身就带有使能端,因此在if else语句中可以语句不充分;
2、在组合逻辑电路中,需要避免锁存器,但是有一个问题我一直不解:
   



  1. module latch1(cnt,a,b,c);
  2. input [1:0] cnt;
  3. input a,b;

  4. output reg c;

  5. always @(cnt or a or b)
  6. begin
  7. case(cnt)
  8. 2'b00:c=a;
  9. 2'b01:c=b;2‘b10:c=1;
  10. endcase
  11. end
  12. endmodule


复制代码


在以上的程序中,当cnt为2’b11时,c不改变原值,但是这种情况下如何才能使综合后的结果中不会出现锁存器呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 16:31 , Processed in 0.020629 second(s), 6 queries , Gzip On, Redis On.

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