论文部分内容阅读
超大规模集成电路的规模不断增加,面对设计规模的急剧膨胀,对于计算机辅助设计软件来说,除了必须首要保证的正确性之外,效率成为一个非常重要的因素。
集成电路(IC)的开发流程包括逻辑描述,逻辑综合,工艺映射,布局,布线,无力版图的生成,验证,硬件仿真等阶段。要提高整个流程的效率,加快设计的速度,就必须对设计流程中消耗资源较多的部分进行优化。版图的验证,作为在投片前确保设计符合要求的一道关卡,要对各种各样的工艺参数进行验证,无疑,它是非常耗时的过程。
今天的集成电路设计,不仅在规模上扩大,在互连的复杂性上也大大增加,从而使验证工具的运行时效越来越低下。为了改善这一状况,人们提出了各种各样的方法,在软件上通过对算法的改进来提高这一过程的效率,这些算法包括层次化的版图设计与提取,增量式版图设计与提取;另一方面,则试图通过对硬件体系结构的改进来探索加速这一过程的可能性。
专用的硬件加速器,即所谓的固件,它可以用来实现算法中的某一部分软件的功能,它利用的是算法中所蕴含的并行特性。这样的一类算法往往非常耗时,所以为了加速运行,将原来由软件实现的功能交给硬件实现。设计这样的一个硬件来完成原有的软件的功能,在性能上可能会获得很好的结果,但是为某一算法专门设计的硬件必然是缺乏灵活性的,这就走向了一个极端。与之对应的极端则是通用的计算机,虽然性能不一定最佳,但是灵活性是由软件实现,比之前者,优越性是明显的。大规模的可编程器件(FPGA,CPLD)的出现使硬件无论是在可容纳的电路大小,还是灵活性方面都有所增加。然而,由于自身语言的限制,实现相应算法相当复杂,虽然针对个别算法能够加速DRC运算,但仍然没有充分结合通用计算机高级语言软件实现的灵活性。最重要的一点是,由于要以PC机接口卡的方式实现,系统的成本仍然高居不下。近年来,图形处理器(GPU)得到极大发展。2001年,GPU的功能历史性的增强和完善,在片段级和顶点级上开始支持可编程性,加之与生俱来的超强计算能力,GPU的应用向通用计算领域拓宽。GPU和CPU结合使用,并在二者间进行合理分工,避免算法的全盘固化,从而大大增加了系统的灵活性。最关键的一点,由于GPU的价格持续走低,现在很多设计人员使用的显卡已经具备了不可忽视的可编程能力,这使我们无须另外添加硬件,从而大大降低了成本。
本文的工作是针对这一困扰验证工具的时效问题,分析了线扫描算法的流程,提出新的GPU结合CPU结构将线扫描算法实现,并在NVIDIA GPU上进行了实验。系统在Intel P4环境下运行,结果可对现有的DRC加速4倍和5倍。