Encounter使用入门教程_第1页
Encounter使用入门教程_第2页
Encounter使用入门教程_第3页
Encounter使用入门教程_第4页
Encounter使用入门教程_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

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

2、b,tpz973gwc.lib,tpz973gbc.lib物理库文件:tsmc18_6lm_cic.lef,tpz973g_5lm_cic.lef,tsmc18_6lm_antenna_cic.lef门级网表文件:pad_counter.sv时序约束文件:pad_counter.sdcIO位置放置文件:pad_counter.io /在设计导入Encounter中指定PAD的放置位置文件,不是必须文件还有其它一些文件在后面用到时进行介绍。一、网表中添加PAD、编写IO Assignment File这里,pad_counter.sv是加入PAD后综合得到的门级网表。工程项目中设计制作完成后的芯

3、片要进行封装,PAD就是芯片在封装时连接封装引线的地方。一般信号输入/输出PAD即I/O PAD要在综合前添加进入网表中,电源电压PAD可以在综合时添加也可以在综合后添加。接下来就先介绍一下如何在网表中加入PAD,其实给网表加入PAD就是一般的module例化,和Verilog中一般的module模块例化是一样的。这里介绍在综合时给设计中加入I/O PAD。十进制计数器的Verilog源程序如下:module Cnt10(reset_n,clk,in_ena,cnt,carry_ena); input clk; input reset_n; input in_ena; output 3:0 c

4、nt; output carry_ena; reg 3:0 cnt; reg carry_ena; always (posedge clk or negedge reset_n) begin if(!reset_n) cnt=4b0; else if(in_ena & cnt=4d10) cnt=4b0; else if(in_ena & cnt4d10) cnt=cnt+1b1; end always (posedge clk or negedge reset_n) begin if(!reset_n) carry_ena=1b0; else if(in_ena & cnt=4d10) ca

5、rry_ena=1b1; else carry_ena ./reports/pad_setup_rt.rptreport_timing -delay min ./reports/pad_hold_rt.rptreport_constraint -verbose ./reports/pad_rc.rptreport_qor ./reports/pad_rq.rptremove_unconnected_ports -blast_buses get_cells -hierarchical *set bus_inference_style %s%d set bus_naming_style %s%ds

6、et hdlout_internal_busses true change_names -hierarchy -rule verilogdefine_name_rules 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_i

7、nsensitivechange_names -hierarchy -rules name_rulewrite -format verilog -hier -o ./outputs/pad_counter.svwrite -format ddc -hier -o ./outputs/pad_counter.ddcwrite_sdc ./outputs/pad_counter.sdcwrite_sdf ./outputs/pad_counter.sdf设置好DC的启动文件.synopsys_dc.setup后,启动DC,在DC的命令行输入处运行命令:design_vision-xg-t sour

8、ce pad_run.con等待DC完成综合后就可以在指定的目录中看到输出文件pad_counter.sv、pad_counter.sdc等文件了。进行布局布线前,在pad_counter.sv网表中加入电源PAD和拐角连接PAD,如下图所示:图1 添加电源PAD和拐角PAD添加好后保存pad_counter.sv文件,到此就完成了给设计加入PAD了。一般在设计导入到Encounter时,为了实现既定的PAD位置放置,都会在设计导入的时候同时指定设计中各个PAD在Encounter中具体的位置,这可以通过在导入设计的同时导入分配PAD位置的文件pad.io来完成。如果不指定PAD的分配文件,则

9、设计在输入Encounter后PAD的具体位置是随机分配的。IO Assignment File可以自动产生或手动编写,本例的pad_counter.io文件内容如下: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_VDD2 Wpad: PAD_VSS1 Epad: PAD_VSS2 Epad: CORNER1 NW

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

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

12、cify 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,否则后面电源线连接时会出现连接不上的情况。设置完成后,点击OK完成设置,设置后在Core四周放置好了电源环如下:图10 Add Rings后的效果4、放置标

13、准单元设计导入Encounter后,数据都是存储在Memory中的,需要人为操作进行放置,当然最终还是软件根据特定算法自己自动放置的。在菜单栏中选择PlaceStandard Cells and Blocks打开Place设置框:图11 Place1在Basic Tab中取消选择Run Timing Driven Placement和Reorder Scan Connection项,转到Advanced Tab中,在Congestion Effort中选择Medium项,如图:图12 Place2设置好以上条件后,点击OK,Encounter执行Place命令,标准单元就被放入Core中了。5

14、、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处选择Under Module,然后在To Global Net:处填入VDD,之后点击Add to List后,在Conn

15、ection 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)项,其它的使用默认设置即可,然后点击OK完成设置,设置完成后的效果如下图所示:图15 SRoute后的效果7、时钟树综合选择Cloc

16、kCreate Clock Tree Spec打开Create Clock Tree Spec对话框,如下图:图16 Create Clock Tree Spec按图中所示进行设置,完成后点击OK。然后选择ClockSpecify Clock Tree选项打开Specify Clock Tree设置框,在Clock Tree File处选择我们刚才创建的Cnt10_PAD.ctstch文件,然后点击OK完成设置。最后选择ClockSynthesize Clock Tree命令进行时钟树综合。这一步完成后,检查设计是否有时序问题,在终端中输入report_timing,查看显示信息,如果没有时序

17、问题,就可以进行下一步的详细布线了。8、详细布线NanoRoute选择RouteNanoRouteRoute打开NanoRoute对话框,如下图所示:图17 NanoRoute设置按图中进行设置,完成点击OK,该项命令执行后的效果如下:图18 NanoRoute后的视图9、添加IO Filler在终端中执行如下命令:$ addIoFiller cell PFEED50 prefix IOFILLER$ addIoFiller cell PFEED35 prefix IOFILLER$ addIoFiller cell PFEED20 prefix IOFILLER$ addIoFiller c

18、ell 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之间的缝隙被填充了,如下图所示:图19 添加IO Filler后的效果10、保存设计选择DesignSav

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

20、T18drc_13_a25a.drc,0.18um_Vituoso4.4.tf,display.drf,Calibre-lvs-cur_soce,tsmc18_lvs.spi,tsmc18_lvs.v,pad_counter.gds,Cnt10_PAD.v新建一个目录,将这些文件放入此目录下,从终端中打开IC5141:$ icfb&启动IC5141后在CIW中,选择FileImportStream,在Stream In form里input file处点击Browse选择pad_counter.gds,Top Cell Name中填Cnt10_PAD,ASCII Technology File

21、 Name处点击Browse,选择0.18um_Vituoso4.4.tf文件: 图21 版图导入到Virtuoso中完成设置后,点击OK,这样就把版图导入到版图设计工具中了。如图所示:图22 版图成功导入在Library Manager中找到pad_counter,然后在其中找到Cnt10_PAD,双击layout,打开设计的版图:图23 十进制版图刚打开的版图显示需要设置一下才会如上图所示,在视图中选择OptionsDisplay打开显示设置对话框,如图:图24 显示设置按照图中所示进行设置后就可以看到图23所示的显示效果。2、DRC检查选择CalibreRun DRC打开DRC设置框如下

22、所示:图25 Rules设置在Rules项中设置DRC规则文件T18drc_13a25a.drc,然后点击Run DRC项,运行DRC检查,运行结果显示如下图:图26 DRC结果图中显示中大红叉的地方显示有7个Results,这7个Results是由于材料密度问题引起的,一般是有芯片制造商去解决的,因此本设计DRC没有错误。2、LVS检查在做LVS检查时,可以不在IC5141里面做,我们这里在终端中通过执行命令来完成。首先需要把Encounter输出的Cnt10_PAD.v文件转换为Calibre做LVS认识的文件pad_counter.spi文件,即是要先将.v文件转换为.spi文件。在终端

23、中运行如下命令:$ v2lvs v Cnt10_PAD.v l tsmc18_lvs.v o pad_counter.spi s tsmc18_lvs.spi c cic_ -n这条命令执行完后,会在当前工作目录下生成pad_counter.spi文件,即hspice网表文件。然后打开Calibre-lvs-cur_soce文件修改里面的内容如下图所示:图27 修改Calibre-lvs-cur_soce文件修改后保存。在终端中运行如下命令:$ calibre lvs spice layout.spi hier auto Calibre-lvs-cur_soce这条命令执行完后会在当前目录下生

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

25、的版图设计文件准备:DTMF数据包文件,网上有下载,workshoplab1.dtmf.pdf1、设计文件和数据文件导入Encounter将输入文件导入到Encounter中如图所示:图4.1在verilog netlist中指定DC输出的门级网表文件:所有的.v文件在Timing Libraries中指定相应的时序库: fast 、slow在LEF Files 中指定.lef文件在Timing Constraint file:指定.sdc文件在IO Assignment File中指定.io文件:点击advanced,进如如图所示界面,会出现11项设置,填其中的5项即可,图4.2下一步,完成

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

27、MF_CHIP.conf文件中,下次操作时,只须load 该文件,工具将自动进行以上配置。图4.6完成以上步骤后点击OK键,出现如图所示的界面。图4.72、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: 1

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

29、oorplanEdit Constraint.,首先对DTMF_INST/ARB_INST/ROM_512x16_0_INST进行放置,完成如图所示的填写点击Apply。图4.9图4.10然后以同样的方法对DTMF_INST/RAM_256x16_TEST_INST/RAM_256x16_INST Block进行放置如图所示:图4.11然后以同样的方法对DTMF_INST/RAM_128x16_TEST_INST/RAM_128x16_INST Block进行放置如图所示:图4.12然后以同样的方法对DTMF_INST/PLLCLK_INST Block进行放置如图所示:图4.13注意:如果你

30、不想这样方式对4个blocks进行布局,可以通过DesignLoadFloorplan, load文件DTMF.sample.fp。Encounter会根据该文件所定义的位置对4个blocks进行自动布局。也可将手动布局保存到该文件以便下次调用。布局完成后的效果如下:图4.14如果不想显示黄色指示箭头,可以如上图进行设置。图4.154、 Creating block halos当对blocks进行布局后,接下来创建block halos。其目的为了在对标准单元进行布局时,能保证晕内不被放置标准单元,以利于其他走线。首先对前面3个blocks进行操作,按住shift 选中前3个blocks(DT

31、MF_INST/PLLCLK_INST, DTMF_INST/ARB_INST/ROM_512x16_0_INST,DTMF_INST/RAM_128x16_TEST_INST/RAM_128x16_INST blocks.)再选择FloorplanEdit FloorplanEdit Halos选中,Selected Blocks,Placement Halo,Add/Update Block Halo。键入 Top: 20键入 Bottom: 20键入 Left: 20键入 Right: 20Click“ Apply”按钮。图4.16图4.17再对最后一个block进行操作,步骤同上,键入

32、 Top: 20键入 Bottom: 34键入 Left: 20键入 Right: 20Click the OK button when ready.图4.18图4.195、Global net connection 接下来,我们要连接所有的global Net,包括所有单元的power/ground pin连接到VDD/GND,以及把单元里连接到1的连到VDD,把连接到0的连接到GND。执行FloorplanGlobal Net Connections 图4.20在Global Net Connections form里,Pins 栏填如VDD,To Global Net 栏位填入VDD,然

33、后按Add To List,你会看到左边Connection List里多一份记录:图4.21整个设置需要六步,完成后的设置如下:图4.22到目前为止,左边的Connection List 里有了六份记录,按Apply,然后按Check,最后按CLOSE 关闭此窗口。在Check时,你会看到很多Warning,说IO PAD及CORNER PAD 没有连接到SPECIAL NET,这是正常的,因为PAD用的POWER和Core Cell用的本来就不一样。6、Creating Power and Ground Rings执行FloorplanPower planningAdd Rings,在Ne

34、ts的栏位只留下VSS VDD,Ring Configuration部分Top和Bomttom的LAYER 改成Metal6,Width设成8,Left和Right的LAYER 改成Metal5,WIDTH也是设成8,Spacing中都统一设置间距为1,其他如图中进行设置:图4.23图4.24另一种方法:采用模板文件第一步,对pllclk block布电源环Power-Power Planning-Synthesize power plan出现图2所示的对话框,在total Average Power(mW)拦,填入6.0,选择Use template to create power plan

35、与IP选项:图4.25然后点击New template图标,打开一个Power Plan Template 对话框。在对话框中选择IP Block tab选项:图4.26在IP Block List选中pllclk,然后在Block Ring选项卡中选择Require Block Ring, Offset 中填入1.0;去除Allow sharing with others选项;在layout选项卡中,选择M5/M6,宽度设为8.0;pllclk block并无要求布power stripes, 所以Stripe 选项卡可以跳过;点击set 按钮,IP Block List栏中,pllclk字

36、体变粗,颜色变为兰色; 点击Save As 按钮,打开the Specify Template Name对话框,在the Template Name: block. 该文件保存了the power planning template的信息,以后会用到;点击OK按钮,保存pllclk block template work。第二步,对整个设计进行电源ring 和stripes布线不要关闭Synthesize Power Plan对话框,接下来会反复用到,以方便设置。在该对话框中,选择Design选项,点击New template icon(blank sheet icon),打开Edit Pow

37、er Plan Template窗口:图4.27选择Ring选项卡,再选中M6/M5 ,再选择Stripe选项卡,选中M6;该窗口是针对整个设计进行设置,在Region Name中填入chip,在IP Library Template填入block,点击Add/Modify按钮,设置好ring和stripe的参数信息;最后点击Save As按钮,打开the specify Template Name对话框,在Template Name中填入chip;点击OK,保存模板(注意:这是一个针对整个设计包括block在内的power planning template)。图4.28第三步,先不要关闭S

38、ynthesize Power Plan对话框,接下来还会用到,点击Power-Power Planning-Edit Power Plan Options,打开对话框,点击Stripe按钮,在option窗口选择Stripe Breaking,示意图展示在窗口的右边,在示意图的下面选择Omit stripes inside block rings选项,在示意图上方点击Add/Modify按钮;然后在power planning option set填入breaking,点击Save按钮,关闭窗口。图4.29第四步,给整个芯片模板指定ring和stripes在Synthesize Power

39、Plan 对话框,确保template selection 为Design,template name为chip。图4.30点击Open template icon,编辑the Edit Power Plan Template form;在Power Planning Option Set,填入breaking,点击Add/Modify按钮;点击Save按钮保存最后the power planning template的设置。图4.31第五步,在Specify Template Parameter 对话框中指定ring和stripe的宽度和间隔。首先确保Specify Template Par

40、ameter 对话框中template selection :Design和the template name: chip被选中;点击Specify Template Parameter图标,打开对话框,在左边栏中,选中DTMF_CHIP:chip,在Ring选项卡中其他保持不变,做以下修改:M6-M5:Width设为8.0,Spacing设为1.0,offset设为center。图4.32在stripe 选项卡中,Wire Group 不选,因为只要用到一组电源stripe,做一些修改:Metal6,Width设为8.0,Spacing设为1.0,offset设为auto,选中Pitch,C

41、ount/Pitch设为100。在Configure Template section,Total power设为6.0mW。最后点击OK。最后一步,在指定了power plan templates的参数后,针对整个设计产生Ring和stripes。在Synthesize Power Plan 对话框中,确保Total Average Power entry为6mW,Design被选中.Template name 为chip,点击Apply或OK。图4.337、Routing the power/ground structuresSroute 将电源与地连接到Block Pins Pad Pi

42、ns 和Standard Cell Pins。步骤如下: RouteSpecialRoute在The Basic Page上做些修改如下在Basic page去选Pad rings,其余设置保持不变。图4.34在Advance tab中点击Extension control,做以下两个修改:在the Primary Connection for、Standard Cell Pins,stripe section下选择None,the Secondary Connection/stop,选择last cell in the row:图4.35Via Generation栏不需要设置,点击Ok按钮

43、,此时,所有的block pins,power rings,standard cell follow pins被连接起来:图4.368、Verifying connectivity and geometry在设计完电源与地后,应进行Connections和Geometries验证(DRC),分两步进行:1 Verifying connectivity点击Verify-Verify Connectivity,在Net Type选项卡中选择special only,去选Antenna;其余采用默认值,点击Ok按钮,如果有一些关于天线效应的警告,可以忽略:图4.37查看违规信息,点击Verify-V

44、iolation Browser图4.38去除标记,Verify-Clear Violation。2、Verifying geometry点击Verify-Verify Geometry,设置使用默认值,这并不对天线几何尺寸检查,点击OK。图4.399、Place Standard Cells and BlocksRunning NanoPlace Placement放置一些标准单元,点击Place-Standard Cells and Blocks,在Basic栏中,去选Run Timing Driven Placement ,Reorder Scan Connection。在Advance

45、d page中,选择Medium Effort.点击OK按钮:图4.40此时可以看到许多标准单元已布置到CORE中:图4.4110、Loading scan chain information and reordering the scan chain通过load一个.def文件载入Scan Chain 的信息,具体步骤如下:点击Place-Load-DEF,打开Load DEF File对话框,选中dtmf.scan.def 点击Open:图4.42点击Place-Display-Display Scan,点击OK,此时能看到很多扫描连接飞线;图4.43扫描链排序:Place-Reorder

46、 Scan,选中skip two pin cell点击OK图4.44再次使用Display Scan Chain对话框观看优化后的scan connections图4.45Place-Display-Clear Scan Display,去清除CORE区域:图4.4611、Running Trial Route and viewing congestionTrial Route要进行两次操作,第一次,将金属层限制为3层,执行一次;第二次,将金属层限制为6层执行一次;初步完成设计。点击Route-Trial Route,设置最大的Route Layer to 3,点击OK,或者可以在终端中键入t

47、rialRoute maxRouteLayer 3,然后执行:图4.47Trial Route to 3执行后的结果如下:图4.48在图中Core区域,放大后可以看到有很多菱形红框,表示有Congestion,包括水平布线拥塞和垂直方向布线拥塞。点击Route-Trial Route,将最大的Route Layer设置为6层,点击OK,或者在终端键入trialRoute maxRouteLayer 6,命令执行后的结果如下:图4.4912、Extracting RC and generating simulation and wire load files整个设计的所有节点电容都能通过Extract RC:设置RC extract

温馨提示

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

评论

0/150

提交评论