首页 理论教育 采用Astro进行D508项目的布局布线优化

采用Astro进行D508项目的布局布线优化

时间:2023-06-27 理论教育 版权反馈
【摘要】:接下来具体介绍一下D508项目采用以上流程进行布局布线的每一个重要步骤。

采用Astro进行D508项目的布局布线优化

接下来具体介绍一下D508项目采用以上流程进行布局布线的每一个重要步骤。

1.前期逻辑准备

前面已经提到在正式布局布线前需要对逻辑进行修改,以满足布局布线的要求,因此为D508项目准备了一个可以进行布局布线的逻辑,单元名为V2028A_apo。该模块中包含了宏单元(MACRO)与数字模块的布线单元digitalA;其中digitalA为真正需要布线部分。MACRO逻辑可以为一个黑匣子(BLACK BOX),因为布线的时候不需要知道内部逻辑是什么,只关心与数字部分的接口端口(PIN)。

2.布线网表的获取

打开V2028A_apo这个单元的schematic,然后采用Cadence设计系统中的verilog-XL工具进行转换,得到以下布线网表文本文件D508.v(这里只列出了该文件的一部分):

978-7-111-48526-1-Chapter05-17.jpg

978-7-111-48526-1-Chapter05-18.jpg

3.版图数据准备

(1)标准单元数据

标准单元数据是4.3节中所介绍的D508项目标准单元的设计,在一个版图库中以allcell作为顶层单元,调用所建的所有单元,并写出GDS数据。

(2)宏模块数据

宏模块数据是3.2节中所介绍的D508项目模拟部分的整体版图,即宏模块的版图,名称为MACRO,写出该单元的GDS数据。

4.启动ASTRO工具

在/home/angel/cds/astro_2目录下键入命令astro_shell&,即可启动astro,出现图5-17所示的界面。

978-7-111-48526-1-Chapter05-19.jpg

图5-17 ASTRO主界面

5.标准单元库的准备

单击图5-17中“Tools菜单”下的“Data Prep”选项,然后单击“Library”菜单下的“Create”选项,弹出图5-18所示的界面。在弹出的界面中,分别在对应的项中填入库名std,tf文件csmcd8.tf(D508项目所采用的华润上华0.8μm工艺的工艺文件,其实就是第2章中所提到的csmc08.tf,这里换了一个名字而已),选中Set Case Sensitive;目的是使字母的大、小写敏感,然后单击“OK”按钮

978-7-111-48526-1-Chapter05-20.jpg

图5-18 新建std库(www.xing528.com)

然后导入前面准备的标准单元版图数据,再进行相关的单元抽取。所谓抽取就是指抽取.FRAM格式,它才是布线工具所需要的图形。图5-19是示例的aoi21单元的抽取格式。

978-7-111-48526-1-Chapter05-21.jpg

图5-19 aoi21单元的抽取格式

6.新建宏模块单元库

与建立标准单元库相同的方法新建宏模块单元库,并读入版图GDS数据,然后进行单元的抽取,结果如图5-20所示。

978-7-111-48526-1-Chapter05-22.jpg

图5-20 宏单元的抽取结果

7.新建逻辑库单元

单击Netlist in菜单下的Verilog in选项,导入网表数据D508.v。

8.新建布线库

把前面建的std、mac和sch三个库作为参考库,图5-21举的是mac作为apo库的参库的例子。

978-7-111-48526-1-Chapter05-23.jpg

图5-21 mac作为apo库的参考库

9.布局

接下来真正进入布局布线过程,需要经过预布局、节点连接和标准单元放置等步骤,图5-22为标准单元放置完成后的版图。

978-7-111-48526-1-Chapter05-24.jpg

图5-22 标准单元放置完成后的版图

10.布线

首先要连接单元条的电源地,然后准备自动布线,采用Route菜单中的Auto Route选项。经过多次的布线,如果提示没有错误,表示整个布局布线就完成了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈