EDA如何实现并行化?如何迈向更好的应用方向?
扫描二维码
随时随地手机看文章
EDA的出现和发展与半导体技术的发展密切相关。20世纪50年代,随着半导体技术的发展,电路设计变得越来越复杂,手工设计已经无法满足设计需求。在20世纪60年代初期,计算机开始被用于电路设计中。最初的电路设计软件是由电子工程师们自己编写的,这些软件主要用于计算电路元件的参数和特性。20世纪70年代,EDA开始成为一个独立的领域,电路设计软件开始向通用化和自动化的方向发展。20世纪80年代,EDA技术得到了迅速的发展,出现了许多EDA软件,如原理图编辑器、布局编辑器、模拟器、综合器、静态和动态时序分析器等。20世纪90年代,EDA技术进一步发展,出现了更加高级的EDA工具和技术,如高级综合、逻辑合成、形式验证、物理设计自动化等。
在IC设计中,并行化指的是利用并行处理技术来加速设计过程的方法。具体来说,IC设计的并行化可以通过以下几种方式实现:数据并行,将不同的数据处理任务分配给不同的处理单元或线程,同时进行处理。这种方式可以利用多核CPU或多线程处理器的优势,提高整体数据处理效率。控制并行,在IC设计中,控制并行指的是利用不同的控制信号并行控制不同的处理单元或线程,以加速数据处理过程。数据流并行,将设计中的各个阶段进行并行处理,尽可能减少串行步骤,从而缩短整个设计流程的时间。例如,在数字前端设计流程中,可以将综合、布局和布线等步骤进行并行处理,以加快整体设计速度。并行仿真和验证,在设计和测试阶段,可以利用多线程、多进程等技术将仿真和验证过程并行化,从而减少整体测试时间。
在过去的几年中,诸如“多线程”,“多处理”和由此衍生出的市场术语等术语已开始作为现有电子设计自动化(EDA)软件的功能出现。同时,廉价的计算资源的可用性(最好地体现在当今可用的多核中央处理器(CPU)中)可以提供一种经济有效的方式来减少EDA软件的运行时间。
物理设计和物理验证软件是需要此类技术的计算密集型EDA应用程序的示例。一个示例是典型的蒙版,其中可能包含数十亿个物理几何形状。必须创建掩模布局中的每个几何图形,设计自定义库,然后放置和布线,并将其组装成完整的芯片。每种几何形状都必须经过验证,以符合铸造厂的制造要求,同时还要面对越来越多的复杂设计规则。对于现代设计,单CPU运行时间很容易超过数百小时。显然需要并行处理。
EDA(电子设计自动化)的并行化可以通过以下几种方式实现:
1.进程语句:EDA语言中最具特色的语句是进程语句,它提供了一种用算法描述硬件行为的方法。进程语句可以并行执行,因为它们是相互独立的,可以在不同的CPU核心上同时运行。
2.并行信号赋值语句:在EDA语言中,信号赋值语句也可以并行执行。这是因为这些语句的功能是同时对多个信号进行赋值操作,而这些操作可以同时执行。
3.元件例化语句:元件例化语句可以在不同的CPU核心上同时运行,实现并行化处理。
4.生成语句:生成语句可以在不同的CPU核心上同时运行,实现并行化处理。这是因为生成语句的功能是根据一组条件生成一组操作,而这些操作可以同时执行。
随着多核CPU的普及,使用并行化EDA工具可以显著缩短设计时间。例如,在芯片物理设计和物理验证阶段,需要进行大量的计算和模拟,使用并行化EDA工具可以大大加快这些过程。此外,在数字前端设计流程中,可以将综合、布局和布线等步骤进行并行处理,以加快整体设计速度。使用并行化EDA工具可以提高设计效率和质量,缩短设计周期。