一、CAD工具
考虑到性能和设计时间限制,利用计算机辅助设计(CAD)工具使设计过程的某些部分实现自动化的设计过程自动化是创建芯片的唯一实用方法。有效完成后,使用计算机自动化设计有助于解决所有三个问题:
计算机程序可以比人类更有效地分析成本权衡,因为在给定明确定义的任务时,它们比人类更有条理并且工作速度更快。当不全神贯注于特定设计步骤的细节时,处理多个抽象级别会更容易。
二、设计作品
根据它们管理的设计任务,可以对计算机辅助设计工具进行分组。最简单的CAD工具包含设计条目,例如交互式原理图绘制软件。虽然它们经常使修改设计变得更容易,但设计输入工具不执行任何设计工作;相反,他们为其他程序捕获机器可读形式的设计。
三、分析验证
分析和验证工具更加有效。例如,通过Spice电路模拟器求解控制电路如何随时间对输入波形作出反应的微分方程。尽管许多分析工作太具有挑战性而无法手动完成,但此类工具不会指导更改电路以使其按照的意愿运行。
四、合成
综合工具采用更高层次的描述并将其转化为较低抽象度的设计。一些用于版图综合的算法可以根据电路描述创建版图。计算机辅助设计并不是万灵药。营销手册无法转化为成品IC设计,预计它们将来也无法做到这一点。设计师将始终需要开发创新设计并完成算法无法处理的细微差别的设计工作。
最强大的综合和分析工具在某种程度上受限的设计模型下工作;因此,分层设计和设计抽象对CAD工具和对人同样重要。虽然CAD工具在设计过程的某些方面可能是有益的,但具有解决单一设计挑战所需的深入理解的算法通常缺乏平衡多个要求所需的信息广度。
五、辅助工具
为了发挥最大作用,人类设计师必须谨慎使用CAD工具。然而,由于它们是处理大规模集成电路设计所涉及的复杂性的唯一方法,因此CAD工具是未来IC设计的重要组成部分。在设计具有100,000个甚至1亿个晶体管的手动芯片时,选择的数量让设计人员不知所措。并非每个选项都同样重要;有些可能会稍微改变芯片的尺寸和速度,而另一些可能会显着改变其价格。
通过专注于错误的选择,设计师冒着产生事后难以解决的问题的风险。通过自动化特定的设计步骤,CAD工具使设计人员能够快速放弃不重要的选择,并专注于芯片的关键问题。
例如,长线路可能会导致过度延迟、消耗更多功率并使设备受到串扰。然而,在手动设计器件时,可能很容易错过这个单一连接,并且直到芯片从制造返回时才会发现故障。在研究一个问题的答案导致另一个问题的产生的复杂场景时,例如当缩短一根电线导致其他电线加长时,CAD工具是必不可少的。使用通过芯片分析延迟的计算机可以发现此类问题。当两个限制竞争时,问题可能没有直接的答案。
加快一个设计组件的速度可能会使另一部分变得过于庞大和缓慢。通过分析方法来评估选项的成本和综合方法,使能够快速开发出问题的候选解决方案,CAD工具可以帮助解决这些问题。设计满足多种成本的系统需要对候选设计进行评估,因为不能通过简单地提高每个组件的性能来优化完整的系统。使芯片的部分在隔离状态下尽可能快地运行并不能保证芯片会尽快运行。通过使用CAD工具来建议和分析解决方案,可以研究比手动研究更大的问题。