数字集成电路课程设计主讲:赵俊霞数字集成电路设计ZhaojunxiaHDL语言的优点基于语言的设计方法简便而且独立;能够通过基于语言的描述,对于正在进行设计的电路自动进行综合,而不用经历人工设计方法中那些费力的步骤。数字集成电路设计ZhaojunxiaVerilog和VHDL相同这两种语言都有IEEE(电气和电子工程师协会)标准,而且两种语言都得到了ASIC(专用集成电路)和FPGA(现场可编程门阵列综合工具的支持、模拟电路设计语言,如Spice,在验证、评价电路定时特性时扮演着重要角色。数字集成电路设计ZhaojunxiaVerilog和VHDL不同一般认为Verilog-HDL在系统级抽象方面比VHDL略差一些,而在门级开关描述方面比VHDL强。美国西海岸和亚洲倾向于采用Verilog-HDL,而美国东海岸和欧洲则常使用VHDL,但是工具的提供商目前都支持这两种设计语言。数字集成电路设计Zhaojunxia集成电路的设计方法用系统级行为描述表达一个包含输入输出的顶层模块,同时完成整个系统的模拟与性能分析自顶向下(TOP-DOWN)将系统划分为各功能模块,每个模块由更细化的行为描述表达由EDA综合工具完成到工艺的映射由基本门组成各个组合与时序逻辑单元自底向上(BOTTOM-UP)由逻辑单元组成各个独立的功能模块由各个功能模块连成完整系统进行系统的测试与性能分析数字集成电路设计ZhaojunxiaBOTTOM-UP自底向上的设计方法是从传统的手工设计发展而来的。在进行手工电路设计时,一个硬件系统的实现过程是从选择具体的元器件开始的。这种设计过程的优点是符合硬件设计工程师的传统习惯,缺点是在进行底层设计时,缺乏对整个系统总体性能的把握。如果在整个系统完成后发现性能还需改进,则修改起来就比较困难。随着系统规模与复杂度的提高,这种设计方法的缺点就越来越突出,因而逐渐被自顶向下的设计方法所取代。数字集成电路设计ZhaojunxiaTOP-DOWN自顶向下的设计方法是随着硬件描述语言(HDL)和EDA工具同步发展起来的。硬件描述语言可以在各个抽象层次上对电子系统进行描述,而且借助于EDA设计工具,可以自动实现从高层次到低层次的转换,这就使得自顶向下的设计过程得以实现。采用自顶向下的设计方法的优点是显而易见的。由于整个设计是从系统顶层开始的,结合模拟手段,可以从一开始就掌握所实现系统的性能状况,结合应用领域的具体要求,在此时就调整设计方案,进行性能优化或折衷取舍。随着设计层次向下进行,系统性能参数将得到进一步的细化与确认,并随时可以根据需要加以调整,从而保证了设计结果的正确性,缩短了设计周期,设计规模越大,这种设计方法的优势越明显。数字集成电路设计ZhaojunxiaTOP-DOWN数字集成电路设计Zhaojunxia设计输入HDL行为建模3设计规范1设计划分2仿真与功能验证4设计整合与验证5预综合结束6门级综合与工艺映射7后综合设计确认8后综合定时验证9测试生成与故障模拟10提取寄生参数13校验物理和电气设计规则12布局与布线11设计结束14待生成掩模数字集成电路设计Zhaojunxia设计规范设计流程从已写出的设计规范开始。设计规范文件是包括功能、定时、硅面积、功耗、可测试性、故障覆盖率以及决定设计的其他准则的一个详细说明书。设计规范起码要描述设计所要实现的功能特性。数字集成电路设计Zhaojunxia设计划分现今设计ASIC和FPGA电路的方法中,需要把大型电路划分形成一个构造体(architecture),也就是由许多相互关联的功能单元组成的一个配置,这样就可以用行为模型对每一个功能单元的功能特性进行描述。划分的过程就是把一个复杂设计逐渐划分成较小而且较为简单的功能单元。这样一个过程通常被称为自顶向下的设计方法,或者是分层设计法。数字集成电路设计Zhaojunxia设计输入设计输入是指编写一个基于语言的描述文件,并以电子格式存入计算机中。在现代设计中,它是通过用VerilogHDL这样的硬件描述语言来进行描述的。与诸如自底向上的人工输入等其他方式相比较,编写一个大型电路的HDL行为描述文件并实现门级电路综合所花费的时间要少得多。数字集成电路设计Zhaojunxia行为建模行为建模描述是工业界使用的描述方法,用它能够进行大规模的芯片设计,行为建膜是指在描述一个设计的功能特性时,仅指定所设计电路将要做什么,而不明确指出怎样来构建该硬件电路,也就是只需要详细描述逻辑电路的输入和输出模式,而没有必要对其物理层门级实现细节进行描述。数字集成电路设计Zhaojunxia仿真与功能验证设计的功能特性能够通过仿真或者正规方法(formalmethod)来进行验证;整个验证过程分三步进行:(1)测试方案的拟定;(2)测试平台的改进;(3)测试执行。数字集成电路设计Zhaojunxia测试方案拟定测试方案要认真组织、编写,以确定什么是要测试的功能特性,怎样进行测试。例如,测试方案指明一个算术逻辑单位(ALU)的指令集将在输入特定数据集时,通过对ALU行为的详尽仿真来校验。数字集成电路设计Zhaojunxia测试平台设计测试平台是一个VHDL模块,在这个模块中,要把待测试单元(UUT)连同仿真过程中模型输入所用到的图形发生器一起通过具体实例加以说明。数字集成电路设计Zhaojunxia测试执行和模型验证测试平台可根据测试方案进行试验,而且要对设计的原始指标对应的响应进行验证;例如响应是否与所描述ALU相匹配?这一步主要是想暴露设计中的错误,并为后续的综合工作消除障碍。数字集成电路设计Zhaojunxia设计整合与验证在对已划分设计的每个功能子单元进行验证,并确认其具有正确的功能特性之后,还必须把这些子单元重新整合成一个完整的结构,再验证其功能特性正确与否。这就需要对测试平台单独进行开发,使其激励发生器能够行使上一级模块的输入输出功能,监测端口以及穿越模块边界时总线的活动,并且观测每个预置状态机的状态活动情况。这一步骤在设计流程中是至关重要的,必须要完全地执行,以保证设计是在综合正确的情况下结束的。数字集成电路设计Zhaojunxia预综合结束测试平台要能够提供全部功能特性的验证实例,而且必须消除HDL行为模型的功能特性与设计规范之间存在的任何差异,并在所有的已知功能错误均被清除之后,发出预综合结束信号。数字集成电路设计Zhaojunxia门级综合与工艺映射在设计中,当所有的语法错误和功能错误均已消除,且已发出结束信号之后,可以用综合工具创建一个最优布尔描述,并且可利用一种有效工艺构建这个设计描述。一般来说,综合工具能够去除冗余逻辑,以寻求能实现功能特性并满足性能(速度)指标要求的最小面积的逻辑电路结构,这一步产生目标即FPGA的标准单元网表或数据库。数字集成电路设计Zhaojunxia后综合设计确认VHDL行为级描述逻辑综合门级描述激励发生器后综合设计确认测试平台响应比较器测试信号数字集成电路设计Zhaojunxia后综合定时验证综合过程用来生产能满足定时规范要求的电路,而检查电路的定时边界是为了验证关键信号通道上的速度是否达到要求(步骤9)。在设计流程进行到步骤13之后,还需要返回来执行步骤9,这是因为综合工具不能精确地估计布图过程中连接金属线导致的电容性延时效应。归根结底,还必须从金属材料的特性以及制造掩膜的几何形状等几个方面中提取延时信息,并根据所提取的延时信息,利用静态定时分析仪来验证最长的通道是否违反定时约束。或许还不得不通过重新综合电路或是重新布局布线来满足设计规范的要求数字集成电路设计Zhaojunxia重新进行综合需要重新设计晶体管的尺寸;改进或替换电路的结构;替换器件(速度越快面积开销越大)。数字集成电路设计Zhaojunxia测试生成与故障模拟集成电路在完成制造之后,必须进行测试,目的是检验它们有无缺陷,能否正常工作。净室中的污染物也会导致电路出现缺陷而使其不能使用。在设计流程的这个步骤中,要用一组测试向量来测量电路的响应。这种测试针对的是由流程引起的故障而不是设计错误,设计错误应该在预综合结束之前就被检测出来。数字集成电路设计Zhaojunxia布局与布线ASIC设计中的布局与布线(placementandrouting)就是将设计单元排放在晶片上,并且连接信号线。数字集成电路设计Zhaojunxia校验物理和电气设计规则对设计的物理布图进行校验或检查是为了验证设计是否满足金属线宽度及其相互间交叠与分离的限制。电气规则方面则需要检验设计是否满足扇出约束,以及电串扰和电源栅压降(power-griddrop)是否危及到信号的完整性等。检查噪声电平是为了确定电瞬变过程是否还存在问题。功率耗散也要在这一步骤中进行模拟和分析,以便确认芯片产生的热量不会对电路造成损坏。数字集成电路设计Zhaojunxia提取寄生参量布图所形成的寄生电容能够通过软件工具提取,并用所提取的参数对设计的电气特性和定时特性进行更精确的校验(步骤13)。利用提取步骤得到的结果来校正定时计算中所用到的装载模型,再次检查定时约束条件,以确保在特定的时钟速度下设计方案有效。数字集成电路设计Zhaojunxia设计结束在所有设计约束都已经满足,也达到了定时约束条件的情况下,就会发出最终设计结束信号。这时,可用于制造集成电路的掩模集已准备好了。掩膜集的描述是由几何数据(通常为GSD-II格式)构成的,这些数据决定了集成电路制造过程中的光掩膜步骤的顺序。在这一点上,耗费大量资源来保证所制造的芯片在功能和性能上满足设计规范的要求是值得的。数字集成电路设计ZhaojunxiaIC工艺选择PLDFPGA门列标准单元全定制IC可分摊成本的市场大小设计出原型所需时间非重复性工程成本工艺复杂度集成度,速度,复杂度数字集成电路设计Zhaojunxia设计的物理数据库高性能电路的全定制布图;标准单元结构;门阵列(现场或掩膜可编程)。数字集成电路设计Zhaojunxia用性价比来衡量全定制IC占据了高端部分,它需要有足够大的产量或者有足够大的用户群,以及充足的资源来保证生产最小面积和最高速度的全定制设计所需要的研发时间和投资。FPGA具有固定的、可实现适度规模设计的电可编程结构。设计者可以用支持这种工艺的工具在原型板上用几分钟的时间把一个VHDL描述编写并综合处理成为可以运行的物理电路,因此,设计修订能够用非常低的成本来完成。可编程逻辑器件和存储器件基于HDL的FPGA设计流程数字集成电路设计Zhaojunxia设计规范1设计输入VHDL行为建模3设计划分2仿真/功能验证4预综合确认6综合与实现7配置比特流下载8最终确认10原型功能测试与验证9硬件原型设计整合验证5