ldpack工作日记-2016/4/21

1. 今天和似飞讨论了一下SLICE和LUT的density map互相不能影响移动的问题,这个问题得到了解决。首先阐述一下这个问题:

    假设有一种SLICE中只有两个LUT(未塞满的状态),将其定义为0.25x0.5的大小,那么在SLICE的density map上,在一个SLICE的面积(0.5x0.5)上可以放置两个这种SLICE,此时在该点相当于放置了4个LUT,LUT的密度为2(塞满为1),此时从SLICE的density map看,SLICE的密度合适,所以不会将这两个SLICE推开,而从LUT的density map看,LUT密度过高,需要将LUT推开,但是在该点上只有SLICE,所以无法降低该点的密度。

解决方案:

    在计算某一点SLICE的密度梯度的时候,同时计算该点LUT的密度梯度并相加,作用到SLICE上,此时,LUT密度过高的状态会传递给SLICE,从而将SLICE推开,直到将LUT的密度降低到正常水平为止,SLICE对LUT的梯度传递也同理可得。


2. 发现了一个预布局中时序分析方面的错误:

    预布局要同时处理Group和LUT,预布局会将它们都转换成cluster的结构,同时构建cnet、cpin等网表信息,从cluster层看,在group中存在一些net和pin处于不可见的状态(inpin和outpin都在group内部),所以我自然的将这些pin的delay置为0,然后timing-driven的global placement需要做STA,而STA针对的是LUT层(没有group的概念)的,group内部pin的delay也是需要的,这就导致STA所分析的路径会缺少一些内部net的delay,使存在group的path的slack偏大,加大了group少的path成为critical path的概率,影响布局结果。

解决方案:计算内部pin的delay并赋值。(不确定DataModel中的t_node delay有没有赋值,明天还要再检查一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值