您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子论文-利用Catapult LB 创建高层次综合工艺库
利用CatapultLB创建高层次综合工艺库中芯国际集成电路制造有限公司设计服务处夏克国[摘要]随着半导体制造工艺的持续缩小,在90纳米及以下的工艺中,时序、面积、功耗以及可制造性的问题都日趋复杂。设计者希望在电子系统级(ESL)设计阶段,就能知道他们的设计在目标工艺下能否达到预期要求。MentorGraphics公司的CatapultLibraryBuilder(以下简称CatapultLB),可以帮助半导体供应商提取高层次综合(highlevelsynthesis)所需要的工艺库。该工艺库能让客户把C/C++设计直接映射到特定的半导体工艺库,进行性能和面积的预估分析,尽早对设计进行优化和检验,增加设计成功的机会,同时该工艺库的建立也有利于半导体代工厂商对新的先进工艺的推广。本文以中芯国际集成电路制造有限公司(SMIC)90纳米的逻辑工艺库为例,介绍如何使用CatapultLB为半导体供应商的特定工艺建库,帮助客户实现从C/C++到GDSII的先进设计流程。文章首先介绍CatapultLB的建库流程,然后介绍CatapultLB针对ASIC工艺库不同的元件如标准单元、存储单元等建库的具体方法,最后介绍如何验证元件库并加快建库过程。一、概述随着当代科技的发展,人们需要能支持无线宽带通信、日趋复杂的多媒体功能和海量存储的电子产品。这就要求电子工程师们设计出日益强大的系统级芯片(SOC)来满足这些需求。而随着芯片设计复杂度的不断增加,传统的人工编写并验证RTL代码所需的时间变得越来越长,容易引入各种错误;而且使用人工方法无法尝试所有可能的微架构和接口设计,无法得到面积和速度都最佳的设计。Mentor公司的CatapultC综合工具能很好的解决该问题,利用非定时的ANSIC++语言和ASIC供应商提供的工艺元件库,设计者能进行自动高层次综合,生成高品质RTL代码,速度最快可达到人工方式的20倍。这些优点特别适合那些需要快速开发新一代复杂设计的客户,特别是从事开发下一代运算密集型应用的ASIC,例如无线通讯、图象处理和高清数字电视等。半导体制造工艺的持续缩小,使得时序、面积和功耗的问题都比以前复杂得多,特别是在90纳米及以下的工艺中,需要在设计的最前端对硬件设计架构能否在特定工艺条件下得到最好的实现加以评估和优化。使用CatapultLB为ASIC供应商的特定工艺建立高层次综合所需要的元件库,从而可以让ASIC供应商、半导体代工厂商能在他们的标准ASIC设计套件(DesignKit)中提供能高层次综合设计套件,把设计流程从RTL提升到C/C++。高级综合工具必须为目标工艺和RTL综合工具的关键值建立精确模型,让设计人员在各种微架构之间做出有效的取舍。利用CatapultLB工具,可以从带有特定工艺库的后续RTL综合工具里收集详细的特性数据,使得Catapult综合器能够准确分配硬件资源,迅速提供精确的面积、延时和吞吐量评估,不必花费许多时间和精力去执行整个RTL综合,结果是在更少时间内得到更高品质的设计。通过这种方法把设计的物理实现特征带到最前端的系统级代码设计C/C++中,能从源头上消除系统隐患,找到最佳实现方案,降低设计失败风险。二、元件库特征提取流程CatapultLB是一个单独的工具,提供了一个易用直观的环境,用于产生和分析Catapult综合所需用的元件库。这些元件库包含特定工艺下的运算单元库和IP库。特定工艺下的运算单元也称为标准元件,例如加法器、乘法器等,用于为Catapult综合提供算法实现。CatapultLB通过调用下游综合工具如DesignCompiler、BlastCreate得到这些运算单元在特定工艺下的时序和面积方面的数据,也称为提取特征参数(Characterization)。因为这些运算单元的特征参数提取是基于特定的目标工艺,所以Catapult综合器可以使用它们来有效地构建您的算法,并得到可预见的时序收敛。当使用Synopsys公司的DesignComplier作为RTL综合工具时,需要读取标准单元设计套件中的db文件,从而得到时序和面积的信息。在使用Magma公司的BlastCreate为RTL综合工具时,需要读取已经准备好的volcano数据库,得到其中各个标准元件的时序和面积的信息。除了基本的运算元件库以外,CatapultLB还可以为您的定制的IP元件建库,如存储器接口,寄存器接口等,对于RAM单元可以使用预先定义的模板,您也可以为已有的定制RTL软核IP建库。完整的提取流程大致如下:1,启动LibraryBuilder,在工具内建立工作目录。2,根据不同的元件库种类(ASIC标准元件库,RAM/ROM)和不同的下游RTL综合工具(Synopsys公司的DesignCompiler、Magma公司的BlastCreate),工具中已有现成的不同的模板用来指导特征提取过程。3,在元件库浏览器内元件库进行特征提取。这是主要的步骤,根据CPU的计算能力和元件库大小,提取一个PVTcorner的标准元件库约为20~60小时之间。4,特征提取完毕后,保存新产生的元件库。并对该元件库进行验证。三、常用元件库的提取使用CatapultLB提供的ASIC元件库模板(template),可以方便地为元件进行建库和特征提取,用于Catapult综合。本文中采用IP厂商Artisan为SMIC90纳米的逻辑工艺定制的标准单元库(standardcelllibrary)和存储编译器(memorycompiler)产生的存储器元件库为例,介绍如何使用CatapultLB对常用元件库进行特征参数提取的具体过程。在正确安装CatapultLibraryBuilder(本案安装路径:/data/mentor/)以后,按照如下方法在.cshrc中设置环境变量:setenvCatapult_Home\/data/mentor/Catapult_Synthesis_2007a.164/Mgc_homesetenvLM_LICENSE_FILE/data/mentor/license/license.datCreateandCharacterizeLibraryRefineComponentArea/DelayAnalyzeandOptimizeLibrariesCreate/ModifyMemoryTemplatesValidateLibrariesandIncludesasCatapultRegressionTestsCreateCustomInterfacesCreateCustomIPsetpath=(${Catapult_Home}/bin$path)aliascatapult_lbcatapult-product-library_builder设置好环境变量后,在Linux中键入命令catapult_lb可以启动CatapultLB的图形界面(GUI)。可以使用菜单操作,或键入TCL语言进行命令行操作。3.1提取ASIC标准单元库3.1.1基于DesignCompiler流程提取标准单元库启动CatapultLB以后,在GUI中左边的工具菜单LibraryTask下面点击NewLibrary,会弹出如下一个LibraryCreation界面,在DesignComplier下面点击BaseASICLibrary,然后按照如下方式填好各项参数:创建好新的library目录以后,可以点击LibraryTask下面的Characterize,CatapultLB就会自动运行特征参数提取的过程。在大约一天到三天的时间里,就能完成。提取完成后,保存完整的Catapult库文件以备使用,或者可以使用如下的TCL脚本命令也可以完成上述过程:optionssetFlows/DesignCompilerPath\/linux/synopsys/syn_2006.06-SP4/linux/syn/binoptionssetGeneralNetlistFormatVerilogsetlib_nameSMIC90G_hvt_slowsetlib_path/libmgr/artisan/009G/aci/sc-x/hvt_sc/synopsyssetlib_file[glob$lib_path/*40*db]flowrun/DesignCompiler/libraryaddbase-libname$lib_name\-libtitle$lib_name-vendorSMIC-technology90G\-link_library$lib_file-target_library$lib_file\librarycharacterize/LIBS/$lib_namelibrarysave3.1.2基于BlastCreate流程提取标准单元库和上面DesignCompiler的流程类似,在GUI左边的工具菜单LibraryTask下面点击NewLibrary,弹出一个LibraryCreation界面,在MagmaBlastCreate下面点击BaseASICLibrary,然后按照如下方式填好各项参数:然后同样点击LibraryTask下面的Characterize,让CatapultLB自动运行特征参数提取的过程,也可以使用如下的TCL脚本命令也可以完成上述过程:optionssetGeneralNetlistFormatVerilogsetlibrary_nameSMIC90G_hvtflowrun/BlastCreate/libraryaddbase-libnameSMIC90G_hvt\-libtitleSMIC90G_hvt-vendorSMIC-technology90G\-db../../library/smic90g.volcano-libpath/smic90ll\-utilization0.1-outputload0.008-inputtransition0.6librarycharacterize/LIBS/$library_namelibrarysave3.2RAM/ROM存储单元库的映射(mapping)对于存储单元RAM/ROM/RegisterFile来说,情况有些不同。对这些存储单元不需要进行特征提取,只需要把它们映射到Catapult综合器所能识别的模板上去,就可以生成所需要的库文件用来实现在C/C++中定义的存储器。CatapultLB可以支持不同类型的存储器,如单端口RAM/RegisterFile、双端口RAM/RegisterFile、ROM。目前CatapultLB要求所有的RAM/RegisterFile必须有同步时钟触发。本文以单端口RAM(综合工具为SynopsysDesignCompiler)为例,介绍映射方法。启动CatapultLB以后,在LibraryTask下面点击NewLibrary,然后在LibraryCreation界面下,展开DesignComplier文件夹,点击CustomRAM–Syncw/SingleRWPort,然后按照如下方式填好各项参数:也可以使用如下的TCL脚本命令也可以进行一个完整的映射:#CreateablankLibrary#VendorandTechnologymustmatchthebaselibraryflowrun/DesignCompiler/libraryaddblank\-libnameSMIC90nm_fast_rf_sp\-libtitle{SinglePortSRAM}\-vendorSMIC-technology90nm_fast#ImportVerilogHDLlibraryimport-verilog-modulesram_sp_metro_wrapper-mod_typeram\-libnameSMIC90nm_fast_sram_sp\sram_sp_metro.vsram_sp_metro_wrapper.v……l
本文标题:电子论文-利用Catapult LB 创建高层次综合工艺库
链接地址:https://www.777doc.com/doc-76944 .html