数字电路自动化设计.ppt
《数字电路自动化设计.ppt》由会员分享,可在线阅读,更多相关《数字电路自动化设计.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字电路自动化设计数字电路自动化设计Design FlowLEDAVCSDC,ISEFMPTICC,AstroPrimeRailDFT CompilerStarRCVirtuoso,Cadence2综合的定义n逻辑综合:决定设计电路逻辑门的相互连接。n逻辑综合的目的:决定电路门级结构、寻求时序和与面积的平衡、寻求功耗与时序的平衡、增强电路的测试性。n逻辑综合的过程:首先,综合工具分析HDL代码,用一种模型(GTECH),对HDL进行映射,这个模型是与技术库无关的;然后,在设计者的控制下,对这个模型进行逻辑优化;最后一步,进行逻辑映射和门级优化,将逻辑根据约束,映射为专门的技术目标单元库(tar
2、get cell library)中的cell,形成了综合后的网表。ASIC design flow Verified RTLDesignConstraintsIP and LibraryModelsLogic Synthesis optimization&scan insertionStatic Timing AnalysisFormal verification Floorplan placement,CT Insertion&Global routingTransfer clock tree to DCPost global routeStatic Timing AnalysisDeta
3、il routingPost-layout Optimization(in-place optimization(IPO)Static Timing AnalysisTape outTime ok?Time ok?nonoTime ok?noASIC design flown设计举例,tap控制器,已完成代码编写及功能仿真:nTap_controller.vnTap_bypass.vnTap_instruction.vnTap_state.vn完成全部设计还需经过如下几个步骤:nPre_layoutnSynthesisnSTA using PrimeTimenSDF generationnVe
4、rificationnFloorolanning and RoutingnPost_layoutn反标来自layout tool的信息,STA using PrimeTimenPost-layout OptimizationnFix Hold-Time ViolationASIC design flow nInitial Setup:建立设计环境,技术库文件及其它设计环境设置。DC.synopsys_dc.setup 文件 company =“zte corporation”;designer =“name”;technology=“0.25 micron”search_path=search
5、_path+“.”“/usr/golden/library/std_cells”“/usr/golden/library/pads”target_library=std_cells_lib.db link_library =“*”,std_cells_lib.db,pad_lib.db symbol_library=std_cells.sdb,pad_lib.sdbASIC design flownSynthesis:利用约束完成设计的门及实现及扫描插入nConstrain scripts /*Create real clock if clock port is found*/if(find(
6、port,clk)=clk)clk_name=clk create_clock-period clk_period clk /*Create virtual clock if clock port is not found*/if(find(port,clk)=)clk_name=vclk create_clock-period clk_period-name vclkASIC design flownConstrain scripts(续)/*Apply default drive strengths and typical loads for I/O ports*/set_load 1.5
7、 all_outputs()set_driving_cell-cell IV all_inputs()/*If real clock,set infinite drive strength*/if(find(port,clk)=clk)set_drive 0 clk /*Apply default timing constraints for modules*/set_input_delay 1.2 all_inputs()-clock clk_name set_output_delay 1.5 all_outputs()-clock clk_name set_clock_skew-minus
8、_uncertainty 0.45 clk_name /*Set operating conditions*/set_operating_conditions WCCOM /*Turn on Auto Wireload selection Library must support this feature*/auto_wire_load_selection=trueASIC design flownCompile and scan insert的scripts,采用bottom_up的编译方法 set_fix_multiple_port_net buffer_constants all com
9、pile scan check_test create_test_pattern sample 10 preview_scan insert_scan check_test 如果模块内的子模块具有dont_touch 属性需添加如下命令,因要插入扫描 remove_attribute find(-hierarchy design,”*”)dont_touchnWrite netlist remove_unconnected_ports find(-hierarchy cell,”*”)change_names hierarchy rules BORG set_dont_touch curren
10、t_design write herarchy output active_design+”.db”write format verilog hierarchy output active_design+”.sv”ASIC design flownPre_layout 的 STA:用DC的静态时序分析引擎做block的STA,用PrimeTime做full_chip的STA。nSetup_time分析nHold_time分析 其时序约束和提供给DC做逻辑综合的约束相同。静态时序分析同综合一样,是一个迭代的过程,和cell的位置及布线关系密切,通常都执行多次,直到满足需要。ASIC design
11、 flownSDF generation,pre_layout的SDF文件,用于pre_layout timing仿真,同时还需提供时序约束文件(SDF格式)给layout tool做布局布线。script文件如下:active_design=tap_controller read active_design current_design active_design link Create_clock period 33 waveform 0 16.5 tck Set_dont_touch_network tck trst set_clock_skew delay 2.0 minus_unce
12、rtainty 3.0 tck set_driving_cell cell BUFF1X pin Z all_inputs()set_drive 0 tck trst set_input_delay 20.0 clock tck max all_inputs()set_output_delay 10.0 clock tck max all_outputs()write_timing format sdf-v2.1 -output active_design+”.sdf”write_constraints format sdf cover_design -output constraints.s
13、dfASIC design flownVerificationn利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件n形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真少,验证全面。在这里验证RTL描述与gate_level网表的逻辑等效性。nFloorolanning and global Routing;nEstimated 寄生电容和RC delay的抽取;n利用抽取的参数静态时序分析,若时序不满足要求,生成custom wire_load 做incremental synthesis即post_layout的优化,
14、采用reoptimize_design in_place命令,其script文件需反标抽取的参数到设计;nDetail routing;nreal寄生电容和RC delay的抽取;n利用抽取的参数静态时序分析,修正hold_time如需要做post_layout的优化;n生成post_layout的SDF文件,做gate_level仿真验证;ASIC design flownECOnEngineering change order,不属于正常的ASIC流程,一般只有在ASIC设计的后期,需要改变网表,可利用ECO,例如,在tape-out(sign-off)以后,遇见设计的硬件bug。采用EC
15、O可仅对设计的一小部分重新布线不影响chip其他部分的位置及时序,通常,修改不能大于10%。n最新版本的DC提供由ECO compiler,可使设计者手工修改网表,节省时间。n一些layout工具也具有ECO功能。DC介绍nSynopsys Design Compiler,是一个基于UNIX系统,通过命令行进行交互的综合工具,除了综合之外,它还含有一个静态时序分析引擎及FPGA和LTL(links-to-layout)的解决方案。我们就以下几个方面对DC做以介绍:nscript文件:由DC的命令构成,可使DC自动完成综合的整个过程。nDC支持的对象、变量、属性nDC支持的文件格式及类型nDC在
16、HDL代码中的编译开关,控制综合过程nTranslate_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。nfull_case:阻止case语句在不完全条件下生成latch。综合环境建立n在综合之前必须用setup文件配置综合的环境,下面,我们就以下几个方面对setup文件进行介绍:nsetup文件的位置nsetup文件的内容nsetup文件举例综合环境建立nsetup文件的位置:由一个setup文件提供,文件名必须为“.synopsys_dc.setup”,通过向相关环境变量赋值,定义技术库的位置及综合需要参数。nsetup文件的位置如下:nSynops
17、ys installation directory:它用于卸载Synopsys 技术独立库及别的参数,不包含设计相关的数据。nUsers home director:用的setup信息。nProject working directory:设计的setup信息 DC按以上顺序依次读取setup文件,最后一个读取的setup文件将覆盖前面读取的setup文件。n将设计相关的startup文件放于Project working directory下。综合环境建立nStartup文件必须定义如下变量:nSearch_path:指明库文件的位置nTarget_library:既技术库,由生产厂家提供,
18、该库中的cells,被 DC用于逻辑映射。Target library的文件名应包含在Link library的文件清单中,用于DC读取门级网表。nLink_ library:该库中的cells,DC无法进行映射,例如:RAM,ROM及Pad,在RTL设计中,这些cells以实例化的方式引用。nSymbol_library:该库文件包含技术库中cells的图形表示,用于DA生成门级示意图。Target_library和Link _library为设计者提供了将门级网表从一种技术在映射 到另一种技术的方法,将旧的Target library文件名包含在Link_library的文件清单中,而Ta
19、rget_library包含新的Target library文件名,利用translate命令实现。综合环境建立n设计相关的startup 文件的例子:.synopsys_dc.setup 文件 company =“zte corporation”;designer =“name”;technology=“0.25 micron”search_path=search_path+“.”“/usr/golden/library/std_cells”“/usr/golden/library/pads”target_library=std_cells_lib.db link_library =“*”,
20、std_cells_lib.db,pad_lib.db symbol_library=std_cells.sdb,pad_lib.sdb 其它的环境变量的设置参看DC的操作手册。逻辑综合的过程nDC通过Script文件,自动完成模块的综合过程,其内容如下:nRTL design entrynEnvironment constraintsnDesign and clock constraintsnCompile design into mapped gatesnOptimizing designnanalyze the synthesis results and debug potential
21、problems.nSave design netlistnReport constraints n(Optional)Apply critical path constraints n(Optional)Second compile to improve critical paths n(Optional)Second path compile constraint report Environment constraintsn功能:定义设计的工艺参数,I/O端口属性,统计wire-load模型。下图解释了描述设计环境约束的DC命令:set_max_capacitance set_max_t
22、ransition&set_max_fanout on input&output ports or current_design;Block BClockDividerLogicBlock Aset_load on output set_operating_conditions on the whole designclkset_drive on Clock set_driving_cell on input signals set_load on inputs set_wire_load for each block,including top level Top levelEnvironm
23、ent constraintsnSet_operating_conditions 用于描述操作条件:process,voltage,temperature,cell和wire 的delay和操作条件呈线性关系。如:Set_operating_conditions WORST(或TYPICAL、BEST)命令set_operating_conditions min BEST max WORST 用于指示DC对设计的WORST和BEST条件,同时优化。Environment constraintsnSet_wire_load -mode 向DC提供wire_load信息,通常技术库里包含许多负载模
24、型,每一种wire-load模型都代表一定模块的尺寸,模拟模块内部nets的delay,用户也可以创建自己的wire_load模型去模拟各设计模块的net loading。这有三种wire-load mode:top,enclosed,segmented,用于模拟各设计层次的net wire_load的关系。nTop:所有层次子模块的wire_load和top-level相同,如果用户计划flatten设计去layout可选择此模式编译子模块;nEnclosed:子模块net的wire_load和enclosed 它的最小模块相同,推荐用于在layout后logical and physica
25、l hierarchy相似的设计;nSegmented:子模块之间net的wire_load和enclosed该net的模块相同,需技术库提供Segmented wire_load,一般不常用;wire_load模型的选择很重要,太悲观或太乐观的模型都将产生综合的迭带,在 pre-layout的综合中应选用悲观的模型。命令格式如下:dc_shellset_wire_load MEDIUM mode topEnvironment constraintsEnvironment constraints nSet_load 定义nets或ports的电容负载,为了保证输出路径的时序,例如:Enviro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 自动化 设计
限制150内