SoC设计方法与实现第三章SoC设计与EDA工具郭炜魏继增郭筝谢憬内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势电子系统级设计与工具•SoC的设计趋势正从RTL向电子系统级(ESL,ElectronicSystemLevel)转移•ESL可以帮助设计者从更高层次进行电路设计•能协助工程师进行系统级设计、结构定义、算法开发、软硬件分割和协同设计、建立虚拟原型机,以及验证不同架构方案的可行性等•目前的ESL工具通常采用工业标准语言进行建模,如C/C++、SystemC、SystemVerilog等,常用的软硬件协同设计验证工具有Mentor公司的Seamless和CarbonDesignSystems公司的SoCDesigner。Mentor的Catapult可实现C++到RTL级的综合设计流程•首先是功能设计,在这一步需要建立并且验证所开发产品的功能模型•其次是基于应用的结构设计,此时需要描述整个系统平台,将功能模型映射到平台上,并进行验证,找到最理想的情况•最后是基于平台的结构设计,这一步需要对平台进行低层次的描述,建立合理的硬件结构内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势验证的分类•动态验证动态验证也叫仿真,是指从电路的描述提取模型,然后将外部激励信号或数据施加于此模型,通过观察该模型在外部的激励信号作用下的实时响应来判断该电路系统是否实现了预期的功能•静态验证静态验证是指采用分析电路的某些特性是否满足设计要求的方法,来验证电路的正确与否优劣比较•动态仿真主要是模拟电路的功能行为,必须给出适当的激励信号,然而很难选择激励来达到覆盖电路所有功能的目的•动态仿真很耗费时间•静态验证是针对模拟电路所有的工作环境,检查电路是否满足正常的性能指标,此类验证只限于数字逻辑电路,其准确性低于动态仿真,偶尔还会提供错误信息动态验证及相关工具动态验证流程相关工具——电路级仿真工具•SPICESPICE作为一种通用的电路描述与仿真语言,最早由加州大学伯克利分校于1972年发明。是20世纪80年代世界上应用最广的电路设计软件•NanoSimNanoSim是Synopsys公司开发的,一个针对模拟、数字和混合信号设计验证的晶体管级仿真工具NanoSim结合了TimeMill和PowerMill中最先进的仿真技术,在单独的一个工具里就可以同时完成时序分析和功耗分析相关工具——逻辑仿真工具•基于事件的仿真器仿真器捕获事件(在时钟内部或在时钟的边界上),并通过设计进行传播,直到实现一个稳定状态为止•基于周期的仿真器仿真器完全不理会时钟内部发生的事件,而是在每个周期中进行一次信号评估。由于执行时间较短,这类仿真器的运行速度往往较快相关工具——逻辑仿真工具•VCSSynopsys的VCS是编译型Verilog模拟器,它完全支持标准的VerilogHDL语言和SDFVCS结合了周期算法和事件驱动算法,具有高性能、大规模和高精度的特点,适用于从行为级、RTL到带反标的门级电路仿真•ModelSimMentor的ModelSim仿真器采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真,支持VHDL和Verilog混合仿真静态验证及相关工具静态验证流程相关工具——形式验证工具形式验证流程相关工具——形式验证工具•等效性检查(EquivalenceCheck)是目前形式验证的主流,用于比较两个电路逻辑功能的一致性•通过采用匹配点并比较这些点之间的逻辑来完成等效性检查的•Synopsys公司的Formality及Cadence公司的EncounterConformalEquivalentChecker等相关工具——静态时序分析工具•静态时序分析技术通过输入一定的设计约束来静态地检查设计的时序功能,而不需要加入相应的测试向量进行逻辑功能仿真•静态时序分析工具通过路径计算延迟的总和,并比较相对于预定义时钟的延迟,它仅关注时序间的相对关系而不是评估逻辑功能•静态时序分析工具可识别的时序故障数要比仿真多得多,包括建立/保持时间、最小和最大跳变延时、时钟脉冲宽度和时钟畸变、门级时钟的瞬时脉冲检测、总线竞争与总线悬浮错误、不受约束的逻辑通道•Synopsys公司的Primetime是业界普遍作为Sign-off的静态时序分析工具内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势EDA工具的综合流程综合流程EDA工具的综合策略•以速度为目标的综合策略•成本尽可能低的综合策略•速度和成本折中的综合策略优化策略•器件复用•时序重排•状态机重新编译常用的逻辑综合工具•Synopsys的RTL综合工具DesignCompiler自从1987年以来在全球范围内使用,它也是当前90%以上ASIC设计人员广泛使用的软件•使用DesignCompiler系列软件仅有1%的设计风险,它可以快速生成面积有效的ASIC设计•几乎所有的硅片供应商、IP供应商和库的供应商都支持DesignCompiler内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势测试和验证的区别•验证的目的是用来检查电路的功能是否正确,对设计负责•测试的目的则主要是检查芯片制造过程中的缺陷,对器件的质量负责•验证基于事件或时钟驱动•测试则是基于故障模型的常用的可测性设计——内部扫描测试设计扫描测试电路常用的可测性设计——自动测试矢量生成•ATPG采用故障模型,通过分析芯片的结构生成测试向量,进行结构测试,筛选出不合格的芯片•通常ATPG工具和扫描测试工具配合使用,可以同时完成测试矢量的生成和故障仿真•支持产生ATPG的工具有Mentor的Fastscan和Synopsys的TetraMAX常用的可测性设计——存储器内建自测试•内建自测试是广泛应用的存储器可测性设计方法,它的基本思想是电路自己生成测试向量,而不是要求外部施加测试向量,它依靠自身来决定所得到的测试结果是否正确•支持BIST的工具有Mentor的mBISTArchitect和Synopsys的SoCBISTBIST的基本结构常用的可测性设计——边界扫描测试•边界扫描的原理是在核心逻辑电路的输入和输出端口都增加一个寄存器,通过将这些I/O上的寄存器连接起来,可以将数据串行输入被测单元,并且从相应端口串行读出•支持边界扫描的自动设计工具有Mentor的BSDArchitect和Synopsys的BSDCompilerIEEE1149.1结构内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势EDA工具的布局布线流程•布局规划(Floorplan)布局规划工具帮助设计者从宏观上根据模块的功能将各个模块放置在芯片相应的位置上,其本身具有一定的约束条件•布局、器件放置(Placement)当模块宏观的位置确定后,就在相应的区域内放置标准单元级的电路•时钟树综合(ClockTreeSynthesis)为了满足时序收敛的要求(TimingClosure),保证每个模块及每个寄存器的时钟输入的相位误差最小,必须在时钟源到寄存器最短的通路上插放延时单元,使得所有的路径在延时上都与最长路径相同•布线(Routing)把所有需要连线的地方用一层或多层金属进行连接,它会自动发现在两个给定点之间的可行的布线路径内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势物理验证的分类•设计规则检查(DRC,DesignRuleCheck)设计规则检查,就是根据设计规则所规定的版图中各掩膜层图形的最小尺寸、最小间距等几何参数,对版图数据进行检查,找出不满足设计规则的偏差和错误,并提供有关信息,为设计者修改版图提供依据•电气规则检查(ERC,ElectronicRuleCheck)ERC的主要目的不在于检测能不能在工艺中实现相应的几何尺寸,而是检查版图中存在的一些违反基本电气规则的点•版图电路图同一性比较(LVS,LayoutVersusSchematic)用于比较版图和原理图在晶体管级的连接是否正确,并用报告的形式列出其差异之处参数提取•参数提取是指布局布线,再经过版图设计之后,根据工艺特点与参数,提取出包含描述各种线上电阻、电容及寄生电阻的网表文件。•提取出的网表文件既可以作为LVS检查中的版图信息文件,也可以用来进行后仿真(Post-layoutSimulation)。参数提取的分类•1-D提取参数提取的分类•2-D提取参数提取的分类•3-D提取内容大纲•电子系统级设计与工具•验证的分类及相关工具•逻辑综合及综合工具•可测性设计与工具•布局布线与工具•物理验证及参数提取与相关的工具•EDA工具的发展趋势EDA工具的发展趋势•支持软硬件协同设计的ESL工具•支持良率设计的DFM工具•提高EDA工具本身的性能Q&A