ImageVerifierCode 换一换
格式:DOCX , 页数:82 ,大小:4.72MB ,
资源ID:6586476      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6586476.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Encounter使用入门教程.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Encounter使用入门教程.docx

1、Encounter使用入门教程Encounter使用入门教程本教程介绍一下自动布局布线工具Encounter的使用知识,开始以一个简单的十进制计数器版图的自动实现为例子,之后介绍包含block模块的复杂的版图自动实现。在Designer Compiler使用入门教程中,笔者设计了一个十进制计数器,并经过Design Compiler对其进行综合后获得了门级综合网表文件以及约束文件,根据这两个文件,我们就可以使用SOC Encounter实现十进制计数器的物理版图设计了。首先,我们要准备使用Encounter进行版图自动设计时所需要的数据:时序库文件:,物理库文件:,门级网表文件:时序约束文件:

2、IO位置放置文件: eset_n(top_reset),.clk(top_clk),.in_ena(top_in_ena),t(top_cnt),.carry_ena(top_carry_ena); AD(clk),.C(top_clk); PDIDGZ PAD_RESET(.PAD(reset_n),.C(top_reset); PDIDGZ PAD_IN_ENA(.PAD(in_ena),.C(top_in_ena);( PDO02CDG PAD_CARRY_ENA(.I(top_carry_ena),.PAD(carry_ena); PDO02CDG PAD_CNT_0(.I(top_c

3、nt0),.PAD(cnt0); PDO02CDG PAD_CNT_1(.I(top_cnt1),.PAD(cnt1); PDO02CDG PAD_CNT_2(.I(top_cnt2),.PAD(cnt2); PDO02CDG PAD_CNT_3(.I(top_cnt3),.PAD(cnt3);endmodule说明:关于PAD如何例化,首先要查看厂家提供的工艺库中的关于PAD的verilog文件,如本例子中使用tsmc18工艺库,描述PAD的verilog文件为973g,这个文件是PAD文件的verilog描述,包括输入输出的端口等信息。编写好加入PAD的十进制计数器网表后,从新使用DC对其

4、进行综合,关于综合这里就不做介绍了,下面把新的综合脚本给出,由于加入了PAD,所以在设计约束文件时,输入驱动和输出负载约束就不需要了,考虑到后面布局布线后还要进行LVS检查,在设计约束中加入了大小写敏感设置,详细的综合脚本内容如下:# Set the current_design #read_verilog current_design Cnt10_PAD;linkset_operating_conditions -max slow -max_library slow -min fast -min_library fastset_wire_load_mode enclosedset_wire_

5、load_model -name tsmc18_wl10 -library slowset_local_link_library set_max_area 0set_max_fanout 5 get_ports reset_nset_max_fanout 4 get_ports clkset_max_fanout 4 get_ports in_ena(set_max_transition get_ports reset_nset_max_transition get_ports clkset_max_transition get_ports in_enacreate_clock get_por

6、ts clk -period 10 -waveform 0 5set_clock_latency 1 get_clocks clkset_clock_latency -source 1 get_clocks clkset_clock_uncertainty -setup get_clocks clkset_clock_uncertainty -hold get_clocks clkset_dont_touch_network get_clocks clkset_clock_transition -fall get_clocks clkset_clock_transition -rise get

7、_clocks clkset_input_delay -clock clk -max 3 get_ports in_enaset_output_delay -clock clk -max 4 get_ports cntset_output_delay -clock clk -min get_ports cntset_output_delay -clock clk -max 4 get_ports carry_enaset_output_delay -clock clk -min get_ports carry_enacompilereport_timing -delay max ./repor

8、ts/report_timing -delay min ./reports/,report_constraint -verbose ./reports/report_qor ./reports/remove_unconnected_ports -blast_buses get_cells -hierarchical *set bus_inference_style %s%d set bus_naming_style %s%dset hdlout_internal_busses true change_names -hierarchy -rule verilogdefine_name_rules

9、 name_rule -allowed a-z A-Z 0-9 _ -max_length 255 -type celldefine_name_rules name_rule -allowed a-z A-Z 0-9 _ -max_length 255 -type netdefine_name_rules name_rule -map *cell* celldefine_name_rules name_rule -case_insensitivechange_names -hierarchy -rules name_rulewrite -format verilog -hier -o ./ou

10、tputs/write -format ddc -hier -o ./outputs/write_sdc ./outputs/write_sdf ./outputs/设置好DC的启动文件.后,启动DC,在DC的命令行输入处运行命令:design_vision-xg-t source 等待DC完成综合后就可以在指定的目录中看到输出文件、等文件了。进行布局布线前,在网表中加入电源PAD和拐角连接PAD,如下图所示:)图1 添加电源PAD和拐角PAD添加好后保存文件,到此就完成了给设计加入PAD了。一般在设计导入到Encounter时,为了实现既定的PAD位置放置,都会在设计导入的时候同时指定设计中

11、各个PAD在Encounter中具体的位置,这可以通过在导入设计的同时导入分配PAD位置的文件来完成。如果不指定PAD的分配文件,则设计在输入Encounter后PAD的具体位置是随机分配的。IO Assignment File可以自动产生或手动编写,本例的文件内容如下:Version: 1pad: PAD_CLK Npad: PAD_RESET Npad: PAD_IN_ENA Npad: PAD_CARRY_ENA Npad: PAD_CNT_0 Spad: PAD_CNT_1 Spad: PAD_CNT_2 Spad: PAD_CNT_3 Spad: PAD_VDD1 Wpad: PAD

12、_VDD2 Wpad: PAD_VSS1 Epad: PAD_VSS2 Epad: CORNER1 NWpad: CORNER2 NEpad: CORNER3 SEpad: CORNER4 SW其中S/N/W/E分别是PAD在Core的南/北/西/东,四个角分别是CORNER1、2、3、4。)二、十进制计数器的APR新建一个目录,将准备好的文件放入对应目录下面,启动Encounter。启动Encounter图形界面的方式如下,在终端中输入下面的命令:$ encounter然后按回车,Encounter软件将被打开,下图显示的是SOC Encounter软件正常启动显示的信息:图2 Encoun

13、ter软件的启动SOC Encounter软件正常启动后的界面如下图所示:图3 Encounter启动后的界面上图是对Encounter软件图形界面的介绍,图中介绍了Encounter软件图形界面的各部分的名称,先做一个初步的了解。1、导入设计文件在Encounter图形界面中选择DesignDesign Import打开导入设计对话框,如图:图4 Design Import对话框按照图示填好相应的设计文件,然后切换到Advanced项,如下图:图5 Advanced Tab选择Power选项,如图中所示填入VDD和VSS。设置好后,点击OK,设计被导入Encounter中,如下图所示:图6

14、设计导入到Encounter2、设计布局选择FloorplanSpecify Floorplan打开Specify Floorplan对话框,如下图:%图7 Specify Floorplan按图所示进行设置,完成后点击OK,指定布局后的效果如下:图8 Specify Floorplan后的效果3、添加电源环选择PowerPower PlanningAdd Rings打开Add Rings对话框:图9 Add Rings对话框在Net(s):处填入VSS VDD,其它要设置的地方如上图所示,Offset处要选择Center in channel,否则后面电源线连接时会出现连接不上的情况。设置完

15、成后,点击OK完成设置,设置后在Core四周放置好了电源环如下:(图10 Add Rings后的效果4、放置标准单元设计导入Encounter后,数据都是存储在Memory中的,需要人为操作进行放置,当然最终还是软件根据特定算法自己自动放置的。在菜单栏中选择PlaceStandard Cells and Blocks打开Place设置框:图11 Place1在Basic Tab中取消选择Run Timing Driven Placement和Reorder Scan Connection项,转到Advanced Tab中,在Congestion Effort中选择Medium项,如图:图12

16、Place2设置好以上条件后,点击OK,Encounter执行Place命令,标准单元就被放入Core中了。5、Global net connection下面要连接设计中所有的global net,包括所有标准单元的power/ground pin连接到VDD/VSS,以及把单元里连接1的连接到VDD,把和0连接的连接到VSS。选择FloorplanGlobal net connections项,打开Global Net Connections设置框,按下图所示进行设置:;图 13 Global Net ConnectionsConnect处选择Pins,里面填入VDD,Scope处选择Und

17、er Module,然后在To Global Net:处填入VDD,之后点击Add to List后,在Connection List中第一行就设置好了,其他进行类似操作,都设置完成后,先点击Apply按钮,然后点击Check,最后点击Close关闭Global Net Connections设置框,完成设置。6、Routing the power/ground Nets选择RouteSpecial Route,打开SRoute设置框,如下进行设置:图14 SRoute设置在Route处,去选Block pins、Pad rings、Stripes(unconnected)项,其它的使用默认设

18、置即可,然后点击OK完成设置,设置完成后的效果如下图所示:图15 SRoute后的效果7、时钟树综合!选择ClockCreate Clock Tree Spec打开Create Clock Tree Spec对话框,如下图:图16 Create Clock Tree Spec按图中所示进行设置,完成后点击OK。然后选择ClockSpecify Clock Tree选项打开Specify Clock Tree设置框,在Clock Tree File处选择我们刚才创建的文件,然后点击OK完成设置。最后选择ClockSynthesize Clock Tree命令进行时钟树综合。这一步完成后,检查设计

19、是否有时序问题,在终端中输入report_timing,查看显示信息,如果没有时序问题,就可以进行下一步的详细布线了。8、详细布线NanoRoute选择RouteNanoRouteRoute打开NanoRoute对话框,如下图所示:图17 NanoRoute设置按图中进行设置,完成点击OK,该项命令执行后的效果如下:图18 NanoRoute后的视图9、添加IO Filler在终端中执行如下命令:$ addIoFiller cell PFEED50 prefix IOFILLER$ addIoFiller cell PFEED35 prefix IOFILLER$ addIoFiller ce

20、ll PFEED20 prefix IOFILLER$ addIoFiller cell PFEED10 prefix IOFILLER$ addIoFiller cell PFEED5 prefix IOFILLER$ addIoFiller cell PFEED2 prefix IOFILLER$ addIoFiller cell PFEED1 prefix IOFILLER$ addIoFiller cell PFEED01 prefix IOFILLER fillAnyGap-$ redraw这样就在I/O PAD之间加入了IO Filler,可以拉看到原先PAD之间的缝隙被填充了,如

21、下图所示:图19 添加IO Filler后的效果10、保存设计选择DesignSave Design保存当前设计,这样在下次要进行其他操作时可以直接打开该设计,使其处于当前的设计状态。选择DesignSaveGDS导出版图设计为,保存设计如下所示:设置完成后点击OK,保存版图信息。保存用于后面LVS的网表文件。选择DesignSaveNetlist打开保存Netlist对话框,在保存的文件名处填入,然后点击OK保存版图对应的网表信息。三、版图后的DRC和LVS;1、版图导入到IC5141工具中需要的文件有Encounter输出文件的工艺文件、Virtuoso显示设置文件、DRC和LVS规则文件

22、:25a,Calibre-lvs-cur_soce,新建一个目录,将这些文件放入此目录下,从终端中打开IC5141:。$ icfb&启动IC5141后在CIW中,选择FileImportStream,在Stream In form里input file处点击Browse选择,Top Cell Name中填Cnt10_PAD,ASCII Technology File Name处点击Browse,选择文件: 图21 版图导入到Virtuoso中完成设置后,点击OK,这样就把版图导入到版图设计工具中了。如图所示:图22 版图成功导入在Library Manager中找到pad_counter,然后

23、在其中找到Cnt10_PAD,双击layout,打开设计的版图:图23 十进制版图刚打开的版图显示需要设置一下才会如上图所示,在视图中选择OptionsDisplay打开显示设置对话框,如图:图24 显示设置按照图中所示进行设置后就可以看到图23所示的显示效果。2、DRC检查选择CalibreRun DRC打开DRC设置框如下所示:图25 Rules设置在Rules项中设置DRC规则文件13a25a,然后点击Run DRC项,运行DRC检查,运行结果显示如下图:图26 DRC结果图中显示中大红叉的地方显示有7个Results,这7个Results是由于材料密度问题引起的,一般是有芯片制造商去解

24、决的,因此本设计DRC没有错误。2、LVS检查在做LVS检查时,可以不在IC5141里面做,我们这里在终端中通过执行命令来完成。首先需要把Encounter输出的文件转换为Calibre做LVS认识的文件文件,即是要先将.v文件转换为.spi文件。在终端中运行如下命令:$ v2lvs v l o s c cic_ -n这条命令执行完后,会在当前工作目录下生成文件,即hspice网表文件。然后打开Calibre-lvs-cur_soce文件修改里面的内容如下图所示:图27 修改Calibre-lvs-cur_soce文件修改后保存。在终端中运行如下命令:$ calibre lvs spice h

25、ier auto Calibre-lvs-cur_soce这条命令执行完后会在当前目录下生成LVS报告文件及其其他一些LVS报告文件,打开查看LVS报告:图28 查看LVS报告可以看到,报告结果显示LVS是CORRECT的,也就是版图与电路原理图是一致的。到此,一个以十进制计数器的版图自动设计就完成了,当然这是没有实际意义的,仅仅是为了介绍使用Encounter进行自动版图设计的流程。实际的版图设计中要经过很多其他的详细的操作,一个芯片版图的实现也远远不止这么容易。接下来将以一个复杂的包含IP模块的设计来进一步深入的学习一下Encounter在APR时可能要进行的步骤,也介绍一下一个版图应当进

26、行那些检查设计。四、使用Encounter进行包含Block核的版图设计文件准备:DTMF数据包文件,网上有下载,、设计文件和数据文件导入Encounter将输入文件导入到Encounter中如图所示:图在verilog netlist中指定DC输出的门级网表文件:所有的.v文件在Timing Libraries中指定相应的时序库: fast 、slow在LEF Files 中指定.lef文件在Timing Constraint file:指定.sdc文件在IO Assignment File中指定.io文件:点击advanced,进如如图所示界面,会出现11项设置,填其中的5项即可,图下一步

27、,完成Power Page 的填写,如图所示,填入电源、地的节点名称以便创建电源、地环。图下一步,完成RC Extraction 页的填写,如图所示。在Capacitance Table File 栏中指定cap table file文件,以便后面步骤中的信号完整性分析。图$图最后一步,完成SI Analysis page的填写,如上图所示。添加 the CeltIC DB (cdB) noise library,该库用于 CeltIC crosstalk analysis。到现在为止,我们已经对设计的输入、同时也指定了物理库、工艺规则文件、时序库、时序约束文件。将这些配置保存到文件中,下次操

28、作时,只须load 该文件,工具将自动进行以上配置。图完成以上步骤后点击OK键,出现如图所示的界面。图2、Floorplanning对窗口Specify Floorplan form进行设置,来指定 the core box ,IO box,die box 的尺寸大小。步骤如下:FloorplanEdit FloorplanSpecify Floorplan在Aspect Ratio中,使用默认值选项Core Margins选择Core to IO Boundary,键入 Core to Left: 100键入 Core to Right: 100键入 Core to Top: 100键入 C

29、ore to Bottom: 100Click “ Apply”按钮。完了后,IO PAD 自动调整到离the core box边界100微米处。(该距离根据设计要求决定)图在也可对the core box的高宽比率进行调整,在ratio(H/W)中将默认值:1设置成,则the core box的高是宽的2倍了。3、 Creating a floorplan with Relative Floorplan对于芯片版图的布局来说,block的布局起非常重要的作用。下面对四个blocks进行布局。FloorplanRelation FloorplanEdit Constraint.,首先对DTMF

30、_INST/ARB_INST/ROM_512x16_0_INST进行放置,完成如图所示的填写点击Apply。图图然后以同样的方法对DTMF_INST/RAM_256x16_TEST_INST/RAM_256x16_INST Block进行放置如图所示:图%然后以同样的方法对DTMF_INST/RAM_128x16_TEST_INST/RAM_128x16_INST Block进行放置如图所示:图然后以同样的方法对DTMF_INST/PLLCLK_INST Block进行放置如图所示:图注意:如果你不想这样方式对4个blocks进行布局,可以通过DesignLoadFloorplan, load文件。Encounter会根据该文件所定义的位置对4个blocks进行自动布局。也可将手动布局保存到该文件以便下次调用。布局完成后的效果如下:图如果不想显示黄色指示箭头,可以如上图进行设置。图4、 Creating block halos当对blocks进行布局后,接下来创建block halos。其目的为了在对标准单元进

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2