Lock-up latch在哪些方面使用广?
陌上风骑驴看IC 2023-06-07

目前,在基于寄存器的同步设计中,除了ICG cell, 不期望设计中有其他latch ,所以在RTL 质量检查或综合阶段要对Latch 报警。


但Latch 在以下两个方面被广泛应用:

  • DFT: 插scan chain 如果做了clock mix 或clock edge mix 需要插入Lock-up latch;

  • 修hold: 在某些情况下,setup margin 足够,如果用buffer 或delay cell 修hold 则需要插入大量cell,可以考虑插入一颗Latch 来修hold. 


插scan chain 时插入lock-up latch 为了两个目的:

  • 插scan chain 时如果做了clock mix,为了hold 好meet 需要在跨clock domain 处插一颗lock-up latch.

  • 插scan chain 时如果做了clock edge mix, 且在链上正沿触发器在前负沿触发器在后,则需要在跨clock edge 处插一颗latch.


clock mix scan chain insertion:

在function 模式,异步clock 之间是不做balance 的,如果插scan chain 时要把不同clock domain 的寄存器串到同一条chain 上,在shift 模式:通常shift clock是慢速clock 且scan shift 路径上没太多逻辑,setup 通常没问题,但是hold 就比较难修,通常的做法是插一颗lock-up latch 将数据延迟半个cycle. 

注意

  • 如果跨时钟域前后都是正沿寄存器,则需要插入一颗低电平有效的latch;

  • 如果跨时钟域前后都是负沿寄存器,则需要插入一颗高电平有效的latch;


clock edge mix scan chain insertion:

通常插chain 的时候都会尽量将负沿寄存器放在前头,正沿寄存器放在后头,在夸时钟沿时不需要插入latch。

但是如果不得已或非要把正沿寄存器放在负沿寄存器之前,则必须在跨时钟沿处插一颗latch, 否则在shift 模式,一个cycle 之内会同时穿过正沿寄存器再穿过负沿寄存器,所以会丢掉一个值,故此处的lock-up latch 是必须的。

注意

  • 为了修hold 插入lock-up latch 跟clock mix scan chain insertion 的情况一样;

  • 在DFT 模式下插入的lock-up latch 不应该影响function 逻辑;

  • 插了lock-up latch 之后scan chain 会被打断成不同的scan segment, 影响scan reorder. <至于原因请翻阅:《论DFT | 一文读懂 ScanDEF 相关的一切》《Innovus 小技巧 | ScanChain reorder》>。

  • lock-up latch 会影响形式验证。


Lock-up Latch 对形式验证的影响

  • 如果lock-up latch 只在revised 中存在,且scan 相关的约束没有正确设上,那这些lock up latch 会被当做not-mapped DLAT, 并导致NoN-EQ.

  • 如果lock-up latch 同时存在于Golden 跟Revised 中,且没有做scan reorder, 则工具会对lock up latch 做map 且compare, 结果应该Pass.

  • 如果lock-up latch 同时存在于Golden 跟Revised 中,且做了scan reorder, 如让工具对lock up latch 做map 且compare, 则会导致NoN-EQ.

  • 通常DFT 插入的lock-up latch 不应该被当做compare point, 需要在LEC 中将scan 相关的约束设上,且加-latch_transparent 的modeling, 如:

add pin constraints 0 SCAN_MODE –both

set flatten model -latch_transparent

  • 如果设了"set flatten model -latch_transparen", 工具会判断latch 的enable 是否一直有效,如果是则会将对应的latch modeling 成buffer. 通常在DFT 阶段插入的lock-up Latch, 在function 模式下enable 应该是一直有效的。

  • 但是某些特殊case 在function 模式通过设Scan 相关的约束也不能使得所有lock-up latch 的enable 一直有效。

  • 对于在function 模式通过Scan 约束无法使latch 的enable 一直有效的情况,通常可以通过以下两种方式解决:


驴说IC

本文源自微信公众号:陌上风骑驴看IC,不代表用户或本站观点,如有侵权,请联系nick.zong@aspencore.com 删除!

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 硬件
  • 原理图
  • 信号完整性
  • EMI
下载排行榜
更多
评测报告
更多
广告