[verilog] 关于编码规范里不允许用锁存器

[复制链接]
2243|3
 楼主| liu_yi_xf 发表于 2014-6-27 12:22 | 显示全部楼层 |阅读模式
我最近读神州龙芯编码规范里面,有一条要求:不允许使用锁存器。(商用综合器可帮助执行这项规范,如使用了锁存器,综合结果会出现Latch inferred)。
这条该怎么理解呢,程序如果需要锁存信号该怎么办呢?
luyaker 发表于 2014-6-28 11:06 | 显示全部楼层
可以使用的,现在system verilog为了避免人为的latch出现警告,从always扩展出always_latch了

评分

参与人数 1威望 +1 收起 理由
liu_yi_xf + 1 赞一个!

查看全部评分

haitaox 发表于 2014-6-28 18:14 | 显示全部楼层
latch会产生时序问题,最好不要用latch
luyaker 发表于 2014-6-30 18:28 | 显示全部楼层
我回去又查了一下,大概是这个意思:(1)由于FPGA的架构,使用锁存器并不比使用寄存器所用的资源少(2)锁存器不利于时序分析,因为锁存器里有一个回路,而FPGA里的延时不像asic那样容易估算(3)锁存器是电平敏感的,增加了被干扰的风险。
所以不建议使用锁存器,但是仍然是可以使用的,在某些情形下不得不使用锁存器。另外,后面带DFF的锁存器不会产生警告。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

24

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部