Apollo用法的研究

  • 格式:doc
  • 大小:54.00 KB
  • 文档页数:3

1 Apollo用法的研究

耿玲

无锡华润矽科微电子有限公司

摘要:随着现代科学技术的飞速发展,IC设计制程的日新月异,最初的设计手段越来越无法适应时代的要求。伴随这种情况的产生,各个EDA软件公司适时推出了各种自动布局布线的工具来解决这个问题。其中以Synopsys公司的Apollo-Ⅱ/Astro和Cadence公司的Encounter最为常用。本文以Apollo-Ⅱ软件为例来说明自动布局布线工具的一些应用。

关键词:Apollo-Ⅱ 连接pin 单元约束

1 引言

Apollo-Ⅱ为基于标准单元的物理层设计提供了先进的自动布局布线工具。有了Apollo-Ⅱ设计师可以根据计划源源不断地完成高性能的设计。Apollo-Ⅱ和Saturn优化工具有着完美的配合,它可以根据芯片底层的物理信息在标准单元放置和布线完成后通过自动调整单元的大小,插入缓冲器,逻辑单元重构等方法来达到时序的优化。Apollo-Ⅱ已经被完全整合到Milkyway的数据库中,而Milkyway是工业界中唯一针对深亚微米IC设计和分析的通用数据库。Apollo-Ⅱ同时具备以下特点:

 使设计师的生产能力最大化,且具有易上手的用户界面

 用已经取得专利的布局布线算法产生最紧凑的设计

 与Saturn和Mars完美地融为一体以提供先进地时序和功耗优化

 使用复杂的全路径时序驱动布线,时钟树综合算法和通用的时序引擎来迅速取得时序的收敛

 经过10000多个设计考验的技术将为计划中的产品取得更好的一致性

 与Synopsys DFT Compiler结合提高设计工程师的生产效率

 支持复杂的数百万门级设计的自动测试

 权衡使用先进的工艺技术,如天线、通孔规则

 有效的运作和先进的工艺保证产品迅速上市

2 同一单元内相同pin的连接

在实际应用中,我们很少采用Milkyway数据库中的单元,通常是根据需要自己建立标准单元。有时为了节约芯片面积,提高布线效率,标准单元的面积也尽可能的小,因此在一些触发器单元中常常出现下面的情况,即本该在单元里相连的同一个pin并未相连,只是标注了相同的名字。为了使其在布线时能连接上,可用下面任何一种方法进行处理:

1. 在Blockage,Pin&Via生成Fram后,将需要连接的版图单元各个独立打开后,在apollo命令窗口输入下面的命令即可:

dbSetCellMustJoinAllpin(geGetEditCell) “pinname”

2. 也可在布线完成后,再将需要修改的版图单元逐一打开执行上面的命令,然后再在布线库的top单元中执行Search&Repair即可。

3 单元约束

2 采用Apollo-Ⅱ自动布局布线,具有很大的随机性,若不加约束,在逻辑上紧密相关的器件也

有可能离得很远,而功能上又要求它们尽可能的相对集中时,可按照下面的步骤处理:

1. Design Setup - Add to Group by Names

先将逻辑上关系紧密的,需要布在一起的逻辑单元做成一个大模块,假设为I12,然后在图中Pattern中填入相应逻辑单元的instance Name,如图所示。I12.*表示I12下所有的内容均包含,再在Group Name中填入A1即可。

2. Design Setup - Create Region

在Group Name中填入group的Name(如A1),keep std cell Placement 不选,而其中Utilization的值表示group中所有CELL占region的百分比。

3. Place - Placement Common Options

在Placement Constraint 处选中region即可

依顺序执行上面三个步骤后,就可以进行下一步Place - Design Placement,然后再按照apollo布局布线的流程完成即可。

3

4 结论

Apollo-Ⅱ作为一种布线工具,还有很多的用法,在这儿不一一描述。但只要在布线的过程中,注意学习Apollo-Ⅱ的用户手册,慢慢的积累经验,就可以从中获得更多的知识,为解决问题提供更好的帮助,从而达到事半功倍的效果。另外一旦掌握了Apollo-Ⅱ,再学习和其相类似的工具也会变得很容易。

参考文献:

[1] Apollo用户手册