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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 我这样理解latch对吗?

[复制链接]
发表于 2011-6-16 00:08:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 pengjunjun0807 于 2011-6-16 11:09 编辑

always@(*)
begin
    if(en==1)
        a = b;
end

这个锁存器到底是当en = 1的时候a锁存b的值,还是en = 1的时候b赋值给a,然后en = 0的时候a再锁存啊?

我写了个这样的锁存器,mcu中按以下顺序发送信号

en = 1;
b   = 0;
en = 0;
b  = 1;

发现a并没有锁存b的值,a还是等于最后的1;

而如果按以下顺序发送的话就可以锁存
en = 0;
b = 0;
en = 1;
b = 1;
发现a并不是等于最后的1,而是等于0,说明锁存有效了。
发表于 2011-6-16 01:08:08 | 显示全部楼层
我觉得赋值顺序出现了问题    应该先赋值b,再来领en=1,之后再变化b
而且代码有点问题   没有else分支
发表于 2011-6-16 09:03:24 | 显示全部楼层
没有分支默认相当于
else
     a= a;
这样就是锁存器了。
发表于 2011-6-16 12:44:39 | 显示全部楼层
你的这种写法,可以理解成,只有在en有效时,a的值才发生变化,被赋予b的值,当en无效时,a的值就不再变化,上一次是赋的什么值,就保持什么值。
发表于 2011-6-16 14:43:51 | 显示全部楼层
敏感信号列表那么写是什么意思 *
发表于 2011-6-16 15:34:02 | 显示全部楼层
发表于 2011-6-16 21:59:13 | 显示全部楼层
回复 2# shawnelee88


    LZ说的不是触发器。锁存器不是边沿触发,是电平触发,所以先将en=1没有错。
    没有else,正好构成锁存
发表于 2011-6-16 22:58:18 | 显示全部楼层
en = 1的时候,a=b,即透明传输;
en由1变0的时候,a将b的值锁下,即锁存
发表于 2011-6-17 10:18:08 | 显示全部楼层
试试先数据,后使能
发表于 2011-6-18 18:53:31 | 显示全部楼层
电平敏感,同时综合会去掉某些逻辑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-1-31 22:59 , Processed in 0.030384 second(s), 7 queries , Gzip On, Redis On.

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