您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 11_设计流程工具方法120527
第8章设计方法、流程和工具集成电路设计系列庄奕琪主讲本章概要设计方法设计流程验证方法设计工具1IC设计方法制造能力与设计能力的差距1101001,00010,000100,0001,000,00010,000,000200319811983198519871989199119931995199719992001200520072009101001,00010,000100,0001,000,00010,000,000100,000,000xxxxxxxx10,0001,0001001010.10.010.0010.010.11101001,00010,000100,00010,000100,0001,000,00010,000,000100,0001,000,00010,000,000100,000,000集成规模(每个数字IC芯片上的晶体管数)(M)设计能力(每个设计人员每月设计的晶体管数(K)μm25.0μm35.0μm10.0集成规模每年增长48%设计能力每年增长21%设计能力的增加跟不上芯片规模的提升1K-5K10K-100K100K-1M1M-10M19911993199519971999200120032005EquationsSchematicsRTLBehavioralVHDL/VerilogIntellectualProperty(IP)ApplicationCompilers(FIR)Hardware/SoftwareCo-Design1UsableGates1IC设计方法设计方法的发展1IC设计方法设计策略层次化(Hierarchy)按芯片结构层次化按抽象程度层次化按设计域层次化规则化(Regularity)尽量使管子的尺寸相同(管级)尽量使门的结构相同(逻辑级)尽量减少使用的管子、门、模块的种类模块化(Modularity)每个模块具有相对独立的功能及通用的接口可使多个设计者同时工作多个设计可使用同一模块局域化(Locality)模块只与其附近的模块有关系避免长线互连造成的延迟等问题1IC设计方法层次化设计:按设计内容层次化顶层模块模块A模块B模块CA1A2A3B1B2C1C2简化复杂系统多个设计者并行工作(某些)模块可重用,基于单元库的设计易于实现计算机辅助设计1IC设计方法层次化设计:按设计域层次化结构域行为域物理域系统级:系统技术规格和体系结构,C,FORTRAN,MATLAB行为级:功能算法,数学模型(算法级,功能级),HDLRTL(RegisterTransferLevel)级:寄存器+组合逻辑描述,HDL门级:基本逻辑门级组件描述,网表开关级:晶体管级,如CMOS倒相器由一个pMOS管和一个nMOS管构成,与非门/或非门则由2个nMOS管和一个pMOS管构成,电原理图物理级:物理结构,纵向结构实现工艺,横向结构版图,工艺流程与版图1IC设计方法层次化设计:按抽象程度层次化1IC设计方法RTL级下一个层次可以调用上一个层次的单元,但不能够修改上一个层次单元的内容1IC设计方法层次化设计:上下层次的关系1IC设计方法实例1:4bit2:1MUX(1)1IC设计方法实例1:4bit2:1MUX(1)基本门级实现求和及进位电路1位加法器4位加法器4位加法器在结构域的层次化设计1IC设计方法实例2:加法器(1)4位加法器在物理域的层次化设计4位加法器1位加法器1IC设计方法实例2:加法器(2)16位加法器完整版图带曼彻斯特进位链的4位加法器进位产生与传播电路曼彻斯特进位电路输出缓冲及防闩锁电路1IC设计方法实例2:加法器(3)1IC设计方法实例3:三角波发生器(1)逻辑的层次化设计实例3:三角波发生器(2)版图的层次化设计单元版图简单单元复杂单元1IC设计方法版图的层次化设计层次化结构层次消失不可逆flatten1IC设计方法版图的展平操作2选1MUX(由反相器构成)D触发器(由三个2选1MUX构成)1bit全加器(由二个2选1MUX构成)1IC设计方法模块化设计示例1IC设计方法可用性设计目标加快设计、验证和调试的过程减少编码到验证之间的迭代次数要求完整的设计文档规范的编码详细的解释完备的验证环境和方法强壮的脚本1IC设计方法可重用设计:必要性必要性加快研发时间降低研发成本提升系统集成能力实例一个好的设计师每天大约可设计100个逻辑门或30行RTL代码(2005年前)100K门的设计大约需要1人工作1000天或者5人工作100年10M门的设计大约需要1人工作10万天或者500人工作1年1IC设计方法可重用设计:要求面向一般用途:IP核具有通用性或者可配置性,适于多种应用支持多种工艺库:软核可面向不同的工艺库进行综合,硬核可通过有效策略映射到别的工艺上兼容多种设计环境:如可同时支持Verilog和VHDL代码,可在多种主流EDA仿真器上运行使用标准接口:仅在特殊情形下才设计一些特殊、定制的接口通过独立且可靠的验证:IP核本身可独立进行并完全通过了全面、严格的测试和验证核的适用范围必须限定:包括核的参数、配置方法、接口要求等1IC设计方法IP核的来源公司历史研发的积累优点:费用低缺点:不能满足大多数SoC设计的需要公司内部专门研发优点:针对性强缺点:需要专门的可重用设计团队,需要花费比一般设计更多的时间购买第三方IP优点:速度快,选择范围大缺点:费用高,需对第三方IP的规范性和质量进行判断或验证2IC设计流程IC开发流程n+n+SGD+C,MATLAB系统技术规格和体系结构功能算法,数学模型HDL(行为级)HDL(门级)/网表HDL(开关级)/电原理图基本逻辑门,RTL晶体管电路物理描述(版图,工艺)Bottom-up设计Top-Down设计逻辑综合物理综合描述仿真验证综合物理器件HDL的作用2IC设计流程IC设计流程2IC设计流程由底向上设计流程基本门(电路与版图)逻辑组合功能模块子系统系统总成基于原理图,与实现工艺有关,要求设计者有微电子背景特点优点:底层优化程度高,设计中大规模集成电路时的经济性好缺点:整体把握性差,修改困难,工作量大,设计周期长,自动化程度低,资料不可重用,难以设计超大规模系统流程系统设计行为设计RTL级设计逻辑综合(依赖EDA工具完成)门级网表工艺实现(依赖工艺库完成,ASIC和FPGA)基于HDL语言,RTL之前与实现工艺无关,顶层设计可无微电子背景特点优点:整体把握好,顶层优化程度高,逐级仿真,及时修正,设计周期短,自动化程度高,资料可重用,适合超大规模系统设计(10万门)缺点:依赖EDA工具,依赖底层工艺库,设计中大规模经济性不好2IC设计流程自顶向下设计2IC设计流程基于标准单元的设计流程HardwareDesignSpecification:确定芯片总体结构、规格参数、模块划分、总线选用等ModuleDesign&IPReuse:完成需自行开发模块的设计,或/和选用可复用IP模块ToplevelIntegration:整合所有功能模块,基于HDL,形成完整设计Pre-layoutSimulation:完成基于HDL的RTL级功能仿真,前仿真没有时序信息LogicSynthesis:将HDL描述的电路转换成特定工艺约束条件的网表Floorplan:确定各个模块在版图上的位置,包括I/O端口的布置、供电网络的分布等PowerAnalysis:确定电源引脚的位置、电源线的分布、电源线宽度等Placement&Optimization:根据时序收敛要求,对单元的布局进行优化调整2IC设计流程基于标准单元的设计流程(续1)DesignforTest:插入可测试结构,以提高电路的可控性和可观测性ClockTreeSynthesis:形成全局或局部的时钟分布网络,保证时钟的同步Routing:完成所有节点的连接,全局布线→静态时序分析→详细布线StaticTimingAnalysis(STA):计算所有路径上的延迟,看时序是否收敛SignalIntegrity:判断有无因时序、串扰等引入的信号完整性问题ParasiticExtraction:提取版图上内部互连所产生的寄生电阻&寄生电容,转换成延迟后供STA和后仿真使用Post-layoutSimulation:利用布局布线完成后获得的精确延迟参数和网表进行仿真,验证功能和时序的正确性形式验证FormalVerification:判断当前设计与正确设计的逻辑功能是否相同StandardDelayFormat:用于输入延时信息的数据文件2IC设计流程基于标准单元的设计流程(续2)EngineeringChangeOrder:发现个别路径有时序或逻辑错误时,对设计进行小范围的修改PhysicalVerification:对版图进行设计规则检查和网表-版图一致性检查等TapeOut:将设计数据交付芯片制造厂能力与需求的折中人力、研发成本、制造成本、周期、工具、灵活性等性能与成本的折中集成度、工艺、封装、测试、可靠性、速度、芯片尺寸、功耗等不同层次的规格必须统一层次:系统、子系统、板级、模块级、芯片级规则:下层定义需服从上层定义,否则会导致严重的设计延误顶层规格定义必须经过系统仿真2IC设计流程规格的确定2IC设计流程规格定义的重要性集成电路的规格制定并不如想象的那么简单2IC设计流程综合的作用与分类综合的作用自动将上一个设计层次的数据转换成下一个层次的设计数据可大大减少人工消耗,提高设计效率综合的分类逻辑综合:将电路的HDL行为描述自动转换为门级网表物理综合:将门级网表自动转换为版图数据regen_clk_eight;always@(posedgeclk_sysornegedgereset)beginif(!reset)FM0_enable_reg=1'b0;elseFM0_enable_reg=FM0_enable;end逻辑综合实例作用将基于HDL描述的RTL级代码自动转换成特定约束条件下的门级网表约束条件包括时序、面积、功耗等,其中时序最关键流程翻译(展平):RTL描述→门级布尔描述优化:化简布尔方程映射:基于相应的工艺库,将优化的布尔描述映射为实际的逻辑电路2IC设计流程逻辑综合:作用与流程逻辑综合流程2IC设计流程逻辑综合:优化策略及工具优化目标以速度为第一目标,先不考虑成本以成本为第一目标,先不考虑速度以速度和成本折中为目标,综合考虑两个指标优化策略器件复用:不同的电路尽可能使用相同的器件,以减少芯片的面积,但可能会降低速度时序重排:重排延时不同的逻辑单元的前后位置,以减少关键路径的延时状态机重新编译:寻找是电路性能更高、资源更省的实现方式常用的EDA工具:Synopsys的DesignCompiler,市场占有率90%2IC设计流程时序收敛(TimeClosure)问题初步设计中间阶段设计最终完成设计白线表示违反时序的网点反复修改,直至时序全部满足要求,称之为时序收敛。2IC设计流程物理综合PhysicalSynthesisRTL(Timing)ConstraintsPlace-and-RouteOptimizationArtworkNetlistwithPlace-and-RouteInfoMacromodulesFixednetlists3IC验证方法验证的目的验证的目的原始描述是否正确?逻辑功能是否正确?时序及其相关性能指标是否正确?是否完全符合物理设计规则?验证的要点所有设计层次都要进行仿真验证不同的设计层次用不同的仿真验证工具:管、门、逻辑、HDL、系统,数字、模拟、混合所有功能都要通过仿真验证仿真验证必须考虑最差情况:Worst、Typical、Best动态验证方法:输入外部激励输入信号到所设计的电路模型,判断它所产生的输出响应是否符合预期
本文标题:11_设计流程工具方法120527
链接地址:https://www.777doc.com/doc-631264 .html