9.6常用的设计工具1.硬件描述语言HDL进人20世纪90年代,芯片的复杂度越来超大,数万门以至数十万门电路的设计需求越来越多,单是依靠原理图输入方式来获得设计已难于满足要求,因此采用硬件描述语言HDL的设计方法就应运而生。广义而言.硬件描述语言是指用于描述电子实体一—硬件——的一种高级计算机语有。但我们现在所说的硬件描述语言是持指芯片高层次设计阶段中所采用的高级描述语言,目前世界上广泛流行的硬件描述语言有两种,一是VHDL语言,另一种是VerilogHDL语言。对于硬件的描述可以有两种形式:一是行为描述.它描述设计的输人与输出数据之间的关系及其时序关系;另一是结构描述,它是描述设计中的各个功能块、模块、单元、门以及它们之间的连接关系。第30页,共42页,星期日,2025年,2月5日第1页,共42页,星期日,2025年,2月5日9.1设计要求一个好的、有效的集成电路设计成果是一种创新性劳动的结晶,它应该满足一下几个方面的要求:(1)功能正确,并在第一次投片流水后就能达到设计要求;(2)电学性能经过优化,特别是在速度和功耗方面达到原订指标;(3)芯片而积尽可能小,以降低制造成本;(4)设计的可靠性,在工艺制造允许的容差范围内仍能正确工作;(5)在制造过程中和完成后能全而和快速地进行测试。第2页,共42页,星期日,2025年,2月5日9.1设计要求由于集成电路具有高度复杂性这一特点,这对设计工作带来一系列问题。第一,设计的时效性。对于一个有上百万个品体管的集成电路来说,我们不能一个一个地去设计每个晶体管,否则会使设计时间难以忍受。设计时问的增长不仅会显著地增加芯片的成本,也会延迟产品的推出而丧失商机.对于ASIC电路就更为突出。为此必须找到一种较好的设计方法和工具来处理设计的复杂性。第二,设计的无误性。设计的正确无误对于集成电路特别突出,因为一个版图上的微小错误会使整个芯片无法工作。即使对于只有5000门的电路,其版图就会包含100000个线条和图形,对规模大的电路,其线条和图形的数量会更大。而错误有可能潜伏在设计的各个阶段中且难以发现,设计者不要轻易地说设计巳100%的正确无误,而要小心反复地验证每一细节。第3页,共42页,星期日,2025年,2月5日9.1设计要求第三,设计的可测性。集成电路是整体集成的,我们不可能像测面包板(bread-board)上每个元件那样测试集成电路巾的菜一部分,即使可能,也要因增加测试块而设计特殊的芯片,这会增加成本,因而在设计时要考虑如何进行测试。第四,与制造商之间的接口。在设计者和制造商之间要有一明确定义的数据交换格式以交换设计信息。此外,对于半定制(门阵列)和定制(标准单元)电路的设计,制造商必须提供设计者一个完整的门阵列或标准单元库;对十全定制设计,制造商需提供设计规则和晶体管的电学参数。第4页,共42页,星期日,2025年,2月5日9.2层次化设计方法采用有条理性的、层次化的设计方法有助于解决设计工作中的上述问题。层次化是把整个设计分解为若干层次,在完成前一层次设计任务后再进行下一层次的工作。对于复杂的数字集成电路来讲,我们可以设定以下几个层次:(1)整体规范设计(specificationdesign),包括确定功能和件能的要求、允许的芯片面积和制造成本等;(2)功能级设计(functionalleveldesign),包括算法的确定和功能框图的设计;(3)寄存器级设计(registerleveldesign),把功能块划分(partitioning)为寄存器级模块,对于较小规模的电路,功能级设计可直接从寄存器级模块开始,因而上两步可合并;(4)逻辑设计(logicdesign),利用各种门和单元进行逻辑设计;(5)电路设计(circuitdesign),对每一单元进行电路设计;(6)版图设计(layoutdesign),将电路图转换成硅片上的几何图形。第5页,共42页,星期日,2025年,2月5日9.2层次化设计方法图9-1表示了层次化设计方法以及以比较器为例的设计过程。第6页,共42页,星期日,2025年,2月5日第7页,共42页,星期日,2025年,2月5日9.2层次化设计方法由于集成电路不是终端产品,它只是电子设备中的一个部件。通常总是有若干块集成电路安装在一个印刷电路板上形成一个子系统或系统,因此在进行层次化设计第一步时,设计者必须清楚该芯片在于系统或系统中的应用要求,以及与其他芯片之间的关系,同时也应了解该于系统或系统的最终应用功能。此外,层次化设计的低端涉及到晶体管的设计以及制造工艺,这两者又与半导体的基本物