基于umc18工艺的SOC Encounter数字版图设计流程 000_第1页
基于umc18工艺的SOC Encounter数字版图设计流程 000_第2页
基于umc18工艺的SOC Encounter数字版图设计流程 000_第3页
基于umc18工艺的SOC Encounter数字版图设计流程 000_第4页
基于umc18工艺的SOC Encounter数字版图设计流程 000_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于umc18工艺的SOC Encounter数字版图设计流程 V1.0 2014-02-28 记录:张亮目录一、文件的准备31.1库文件的准备31.2根据设计准备所需文件3二、运行软件3三、版图设计流程43.1 Design_import43.2 Global Net Connection63.3 FloorPlan73.4 Add Power Rings83.5 Add Stripes93.6 Placement Blockage113.7 Placement113.8 IO Filling133.9 Special Route (SRoute)133.10 PreCTS Optimiza

2、tion153.11 Creat clock tree spec163.12 Clock Tree Synthesis183.13 PostCTS Optimization183.14 Trail Routing203.15 Nano Routing213.16 Add Filling223.17 PostRoute Optimization243.18 生成 SDF 时序文件243.19 Verify connectivity243.20 Verify Geometry253.21 Export Files26四、 DRC校验274.1库文件的准备274.2 根据设计准备所需文件284.3

3、修改库文件路径284.4 启动calibre294.5 encourage 打开查看报告29五、 LVS校验315.1库文件的准备315.2 根据设计准备所需文件325.3 生成.spi文件325.4 启动LVS325.5 查看报告32一、文件的准备 1.1库文件的准备 对于SOC Encounter而言,后端设计所需的主要有由Foundry厂所提供的标准单元和I/O Pad的库文件,它包括物理库、时序库,分别以.lef、.tlf(或者.lib)的形式给出,其中I/O Pad的相关库文件只有在做有Pad的版图时才需要。 说明:(1) 这里的时序库文件用的是.lib 文件,如果没有.lib 文件

4、,用.tlf 文件也可以,建议用.lib 文件,信息比较全。(2) 库的网表库(verilog 文件)这里不需要。只在后仿真的时候需要。1.2根据设计准备所需文件 完整的时序电路数字版图设计所包括的文件有:Verilog网单,sdc时序文件,def电源pad声明文件,io 位置说明文件。对该设计包括:Verilog网单:aes_core.vsdc时序文件:safe_all_post.sdc,safe_all.sdc hejian.08工艺库:UMC_018这里分别对其进行简单的说明,本次实验只需用到DC综合后的门级网单。(1)DC综合后的网单文件(.v 格式) 对于有Pad的请况,还需要在网单

5、里面加入输入输出的IO Pad。Pad可以在综合前加入也可以在综合后加入,如果在综合之前加入,综合工具可以优化驱动和负载,需要在综合的时候把时钟信号和Pad设置成不可综合,因为时钟树在布局布线时处理,而Pad没有逻辑功能,仅提供输入输出负载。 (2)时序约束.sdc 文件,由DC产生提供设计的时序约束信息(详细见design_Vision指导用书)。 (3)def文件,此文件对版图中用到的电源Pad和IO Pad进行声明。设计中有Pad时def文件才需要。 (4)IO位置说明文件二、运行软件准备好库文件以及设计文件,就可以进行版图设计了。在自己设定的目录下键入“encounter”命令,运行E

6、ncounter,注意不要加“&”,服务器上的版本不支持后台运行。 准备好DC综合后的门级网单。 三、版图设计流程3.1 Design_import目的:读入设计所需要的库文件和设计文件 菜单操作:Design > design import,如下图所示。 Basic模式: 导入准备好的设计网单.v 文件,Common Timing Libraries,lef文件,Timing Consrtaint File。注:顶层模块可以自己手动添加,也可自动添加。注意,该项目包括:1) aes_core.v;2) UMC_018GENERIC_COREFrontEndsynopsys fs

7、a0a_c_generic_core_tt1p8v25c.lib3) LEF文件注意顺序:header6_V55.lef(顺序1)fsa0a_c_generic_core.lef(顺序2)FSA0A_C_GENERIC_CORE_ANT_V55.6.lef(顺序3)4) Safe_all_post.sdcadvance模式: Power:填入版图里电源和地的线名。补充说明:(1)Power Nets和Ground Nets的名字最好和库里面的标准单元的电源和地的pin名(可在库文件里查)一致,这样后面做映射会比较方便。(2)做到这里可以保存一下,直接点 design_import 菜单里的 S

8、AVE 保存,后缀是.conf,下次直接 Load 进来,再进行修改,不用每次都这么麻烦地设置这么多选项。3.2 Global Net Connection 目的:把标准单元,电源pad等版图中用到的cell的pin和电源的net一一对应起来。 在 encounter 的工具列 , 按 Floorplan -> Connections Global Net操作步骤如下: (1)Power Ground Connection Connect Pins: VDD (2)Scope 选中 Under Module (3)To Global Nets: VDD (4)选中Override pri

9、or connection 和Verbose Output (5)Add to List (6)把VDD改成GND,重做(1)到(5)步 (7)选中Tie High,To Global Nets: VDD ,Add to List,表示VDD是电源高电平 (8)选中Tie Low,To Global Nets: GND ,Add to List,表示GND是电源地 (9)点击Apply 补充说明:(1) 关于pin的名字不同的工艺要去工艺库文件查看cell的pin的名字(2) Global Net 即前面 design import 的 Advance 模式 Power 菜单里声明的电源 ne

10、t 名。(3) 如果有 PAD 的话,要注意看一下工艺库文件里的 PAD 的 pin 名,可能会和标准单元的不一样,比如 hejian 工艺库的给 core 供电的电源 Pad 的 pin 是 VDD 和 VSS,这样的话就要多做一步(1)至(5),把 pin VSS 和 net GND 连接起来3.3 FloorPlan 目的:对整个版图进行布局规划 菜单操作:选择FloorPlanÆSpecify FloorPlan,在弹出的对话框中对将要进行的设计进行一个整体的规划。 对该设计,根据面积大小进行规划,宽是0.5,高是0.4。以下对设定内容进行几点解释: (1)Size by C

11、ore Size by Aspect Ratio 选择Ratio(H/W)将给出一个整个布局区域的宽长比,一般是一个长方形; (2)Core Utilization 用Size by Core Size by Aspect RatioCore Utilization 选项确定芯片面积的大小, Core Utilization表示core面积的利用率,面积允许的话,其数值越低,则芯片面积越大,用于布线的面积越宽松,布线越容易通过,一般选择0.7左右。这是决定芯片面积大小,能否布局布线成功关键的一步。 如果事先大致知道芯片的面积规划,可以直接选择 width and height 进行布局规划 (

12、3)Core Margins by: 选择Core to IO Boundary, 设置core 和芯片边缘的间隔,这个间隔是用来放置Core的电源环的。所以需要根据后面的电源环,电源环间距等参数综合来决定。 这里选择20(因为我后面的电源环宽度是7,电源环间距是2,电源环距边缘的offset是2)。 这个位置同样会用来走输出pin的连线,间距最好尽量大,以保证走线没有问题 (4)Standard Cell Rows Æ Doubleback rows 图示选择表示隔行row将进行翻转,以保证靠在一起的部分同为power或ground。 (5)Row Spacing: 表示行与行之间

13、的间距,这里选择默认的0; (6)Row hight:表示行的高度。这里选择默认的5.04。 点击OK 。实时保存步骤过程,便于退回操作,如下图所示。3.4 Add Power Rings 目的:添加core的电源环和地环,在数字标准单元区域的周围放置power ring,用于提供数字部分的电源和地。 菜单操作:按 Power > Power Planning > Add Rings相关设置如下: 在弹出的选单中,Ring Configuration里面需要填写Power Ring的宽度、间距,金属层等数据信息,一般要视实际需求而定 Layer:表示电源环所在的金属层,一般选择金属

14、3和金属4。 Width表示电源环的线宽,尽量宽一些,这里选择7。 Spacing表示两根电源环的间距,这里选择2。 Offset表示电源环和core之间的距离,选择2,或者也可以选择Center in channel。 点击apply,电源环和地环出现在core的周围,如下图所示。最外围的虚线定义了芯片的大小。3.5 Add Stripes 目的:用于在芯片中插入一些横的竖的电源线,保证供电。 菜单操作:Power > Power Planning > Add Stripes, 注意:Layer: metal 4With: 4Spacing:0.5Set-to-set dista

15、nce:250X from left:250单击OK。3.6 Placement Blockage 目的:在电源的Stripes 和Routing的blockage的地方放置一些blockage,防止在这些地方place标准单元。(个人理解供参考)菜单操作:Place-> Specify -> Placement Blockage,金属层M1-M6全选。说明:这一步可选。本实验中设置该项为M1-M4。单击OK。3.7 Placement 目的:放置标准单元。 菜单操作:Place > Standard Cells and Blockages 设置如下图所示:可以设置CPU个数

16、,如下所示:两次单击OK,标准单元已经放置到core中,如下图。补充说明:(1)做完这一步,可以用 Place check Placement 菜单操作查看标准单元放置情况。(2)Design Save Place,保存 Place 这一单步,后缀是.fp;或者直接 Design Save Design,保存当前整个版图,后缀是.enc,自己取名字。(4) 因为Place的时候会同时做时序优化,所以确保在第4步design import里面已经指定好IPO的footprint,否则没法做优化。3.8 IO Filling目的:设置IO引脚位置。 菜单操作:save-io file,修改文件,导

17、入io file。补充说明:(1) 如果没有 IO 文件,版图会自动摆放 pan 或 pin;可以先不加此文件,从版图中导出一个,再修改。(2) 如果没有 PAD,就是定义 PIN 的位置。把“pad”改成“pin”即可。(3) IO 文件 Offset 指的是偏离左下角的平移(水平或者垂直)距离(3) IO文件Orient指的是PAD的方向。这个很重要,万一写错了那PAD的位置也就放反了,这样是会出错的。所以放完PAD之后可注意看一下PAD的方向,万一不对旋转一下方向即可。方法是鼠标左键双击pad,出来如下菜单,选择其中的Orientation,可以转动方向,R180指转动180度,必须转动

18、至是PAD的pin朝core的方向(因为方便和core内部的单元连线)。3.9 Special Route (SRoute) 目的:把标准单元的电源以及给core供电的电源pad和core电源环连接起来。 菜单操作:Route -> Special Route对该设计,Top Layer :4相关设置:(1)Route ÆPAD pins: 把给core供电的电源pad的pin和core电源环连接起来。本次实验该项不用设置,因为没有定义Pad。(2)Route ÆStandard Cell pins: 把标准单元的电源pad的pin和core电源环连接起来。由于软件已

19、经自动生成,只需点击OK即可。从上图中可以看到此时pin已经被自动放置好了,如果需要重新布局,可以保存现有设置,再对其进行修改。3.10 PreCTS Optimization目的:进行时序检查,若不满足要求则进行时序优化。菜单操作: Timing Optimization,选择 PreCTSOptimization Type: 选择 Setup 或 Hold 来对 Setup 或 Hold 时间进行时序优化。单击OK。3.11 Creat clock tree spec目的:生成时钟树所需的.ctstch 文件。操作:Clock->Design Clock->Gen Spec补充

20、说明:(1) 这里填的 Buffer footprint 和 Inverter footprint 是插入 buf 和 inv 的 Footprint 以供时钟树生成时用。一般工艺库里会有专门的时钟 buffer,可以去工艺库文件查看名字,若库中没有只能用普通 buffer 代替。 注意:对该设计,选择除P开头以外的所有单元。(2)这一步会在当前目录下生成时钟树文件ctstch,其中包含了设计对于时钟的要求。(3)可以根据设计需要修改. Ctstch文件单击OK。Advance: Load Post CTS Timing Constraint: safe_all_post.sdc3.12 Cl

21、ock Tree Synthesis目的: 综合生成时钟树菜单操作:第一步: Clock- specify clock tree spec说明:这一步指定上一步产生的.ctstch 文件,encounter 按照这个文件设定的时钟特性自动产生时钟树的布局布线,插入 buffer 提高时钟树的驱动能力,改善时钟信号延时特性。第二步: Synthesize Clock Tree点击 OK 即开始时钟树综合,这一步运行时间相对较长。补充说明:(1)做完这一步可以查看时钟树生成情况。菜单操作: Clock clock tree browser。-在specified clock list 里选 clk

22、,-在route selection里选clock route only,-点OK,则会弹出clock tree browser:clk,里面显示了时钟树综合后的电路的时钟网络布局情况。-可以通过edit和display进行编辑和显示更多的时钟树信息(2)可以通过这一步生成的.ctsrpt文件查看时钟网络结构和延时以及skew情况(3)Clock -> Display可以查看时钟树在设计电路中的分布情况。单击OK。3.13 PostCTS Optimization目的:进行时序检查,若不满足要求则进行时序优化。菜单操作:第一步: Timing Timing AnalysisDesign

23、Stage: 选择 Post CTSAnalysis Type:分别选择Setup和Hold进行时序分析,通过查看生文件里面的时序报告文件来查看设计的时序。如果存在Violation,要进行下一步的时序优化,否则反标sdf的后仿可能会出错。第二步:Timing OptimizationDesign Stage: 选择 Post CTSOptimization Type: 选择 Setup 或 Hold 来对 Setup 或 Hold 时间进行时序优化。补充说明:(1)如果Violation path不是很多,也可以先进行下一步布线(Nano route),因为布线本身会进行一定优化,而且布完线

24、后还可以进行Post-Rout Optimization。一般布线后Violation path后减少很多。(3)确保在第4步design import里面已经指定好IPO的footprint,否则没法做优化,或者也可以优化前先执行脚本:Set Buf FootPrint buf。3.14 Trail Routing 目的:进行初步的布线。 菜单操作:Routing - trial route注意:max.route layer:4单击OK。3.15 Nano Routing 目的:完成细致的布线。 菜单操作:Route - Nano Route -Route3.16 PostRoute Op

25、timization目的:布线后再次检查时序,若有violation,再次进行优化。补充说明:(1)方法和时钟树后的 post CTS 的 optimization 一样,这里不再赘述。(2)必须优化至没有 violation 为止(Slack 全为正)。()做时序优化和分析会先自动进行参数提取3.17 Add Filling 目的:放置Filler,使得所有的row上各个cell的电源连通、地连通 菜单操作:Place Physical cell - Add Filler注意:FILLER 64 32 16 8 4 2 1的顺序问题,由大到小。3.18 生成 SDF 时序文件目的: 产生 s

26、df 时序文件作后仿反标时序用。补充说明:如果是第一次做这个,需要先计算提取 RC 参数。(或者先做 Timing Analysis)(1) Timing Specify Analysis onditionSpecify RC xtraction ode 设置RC参数提取模式(2) Timing Extract RC这一步生成了.cap文件,包含提取的RC参数(3)Timing specify analysis conditionspecify delay calculation mode(default设置)()Timing Calculation Delay3.19 Verify conn

27、ectivity 目的:对整个版图的连接进行粗略的检查 菜单操作: Verify Verify connectivity。这一步一般不会出什么问题,若有问题一定要解决,否则DRC不能通过。3.20 Verify Geometry 目的:对整个版图的线宽,间距,短路等情况进行检查,类似于DRC的功能。 菜单操作:Verify Verify Geometry(1)这一步类似于DRC,一般这一步检查出错没有排除的话DRC也会有类似的错误。 (2)这一步必须在nano route之后做。 (3)如果有错的话,版图上会出现白色的小叉,一般core中出现的错可以通过优化排除。方法如下: Route >

28、; Nano Route > Route,选中弹出菜单中的Area Route选项,然后用鼠标单击Select Area and Route,然后带着鼠标回到版图,按着鼠标左键选中有白色叉的周围一小块,放开鼠标。此时Encounter就会对这一小块电路重新进行布线优化,大多数情况下会将错误排除。3.21 Export Files 导出文件类型: GDSII文件可以在模拟版图中作为一个完整单元进行调用 Verilog文件LVS,以及版图级仿真过程中都要用到 菜单操作:Design Save Netlist菜单操作:Design Save GDS Output Stream File :给gds文件命名,后缀是.gd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论