用于集成电路设计的分布式并行最小代价流方法及装置的制作方法

文档序号:6335409阅读:333来源:国知局
专利名称:用于集成电路设计的分布式并行最小代价流方法及装置的制作方法
技术领域
本发明属于集成电路领域,涉及一种用于集成电路设计的分布式并行最小代价流方法及装置。
背景技术
随着CMOS集成电路工艺的缩小,现在超大规模集成电路(VLSI)设计自动化软件为了处理包含数十亿晶体管的设计,占用越来越多的计算资源。与此同时,由于功耗和散热的限制,处理器的频率上升趋于停滞,取而代之的是多核处理器。在目前的商用市场上,多核处理器已经成为一种主流产品(1)- )。在集成电路设计自动化领域,怎样借助多核计算机系统来提升集成电路设计性能和效率也成为了目前国际研究的热点(3)-(6)。集成电路设计自动化中的很多实际问题都可转化为最小代价流的问题,这些问题包括低功耗设计中的电压分配问题(8)、逻辑电路的尺寸调整问题(11)、时钟偏斜优化问题(9)、版图规划的面积最小化问题(7)以及布局中的线网长度最小化问题(12)等。最小代价流是集成电路设计自动化中的基本问题。对最小代价流问题求解的并行化,可以实现对一大类集成电路设计自动化问题地并行化。在文献(13)中,提出了一种基于多核的最小代价流方法,但其并行调度使用了中央队列存储有效任务,在处理器核比较多的情况下会出现中央队列访问冲突加剧,影响并行处理性能。因此,该方法不能有效地随着处理器核的数目进行加速,该方法的实用性会随着未来的多核数目增加而减小。与本发明相关的现有技术有如下参考文献
(1)J. F. et al. Design of the Power6 microprocessor. In ISSCCj 2007.
(2)U. G. et al. An 8-core 64-thread 64b power-efficient SPARC SoC. In ISSCCj 2007.
(3)B. Catanzaroj K. Keutzerj and B. Y. Su. Parallelizing CAD: A timely research agenda for EDA. In DACj 2008.
(4)W. Dong, P. Li,and X. Ye. Wavepipe: Parallel transient simulation of analog and digital circuits on multi-core shared-memory machines. In DACj 2008.
(5)T. Mattson and M. Wrinn. Parallel programming: Can we please get it right this time In DACj 2008.
(6)X. -J. Yej W. Dong, P. Li,and S. Nassif. MAPS: multi-algorithm parallel circuit simulation. In ICCADj 2008.
(7)C. Linj H. Zhou, and C. Chu. A revisit to floorplan optimization by lagrangian relaxation. In ICCADj 2006.
(8)Q. Ma and E. F. Y. Young. Network flow-based power optimization under timing constraints in MSV-driven floorplanning. In ICCADj 2008.
(9)C. Lin and H. Zhou. Clock skew scheduling with delay padding forprescribed skew domains. In ASPDAC, 2007.
(10)X. -P. Tang, R. -Q. Ti an, and D. F. Wong. Minimizing wire length in floorplanning. IEEE Trans, on CAD, 25(9):1744 - 1753, 2006.
(11)J. Wang, D. Das, and H. Zhou. Gate sizing by lagrangian relaxation revisited. In ICCAD, 2007.
(12)J. Wang and H. Zhou. An efficient incremental algorithm for min-area retiming. In DAC, 2008.
(13)Y. Lu, H. Zhou, L. Shang and X. Zeng. Multicore Parallel Min-Cost Flow for CAD Applications. In DAC, 2009.

发明内容
本发明的目的是克服现有技术的缺陷和不足,提供一种用于集成电路设计的分布式并行最小代价流方法及装置;具体而言,本发明提供的方法实现集成电路设计自动化中低功耗设计的电压分配、逻辑电路的尺寸调整、时钟偏斜优化、版图规划的面积最小化以及布局设计的线网长度最小化等一大类问题的并行化;不同于Y. Lu, H. Zhou, L. Shang and X. Zeng ^Λ IEEE/ACM Design Automation Conference 2009 ^R^i^JC "Multicore Parallel Min-Cost Flow for CAD Applications”提出的中央队列调度在处理器核比较多的情况下会出现中央队列访问冲突加剧,影响并行处理性能,本发明提供的方法使用分布式任务调度管理,能够有些解决中央调度的数据冲突问题以及随之带来的性能降低。本发明提供的方法是一种分布式并行最小代价流方法,如图2所示,该方法步骤如下
步骤1 将集成电路设计自动化问题转化为最小代价流问题; 步骤2 初始化每个处理器核上的任务信息; 步骤3 对于每个处理器核利用并行最小代价流从处理网络图; 分步骤31 从该处理器的任务队列顶部中抓取一定的数量的过剩流节点;如果自身任务队列为空,尝试随机从其他处理器队列的底部获取一个任务进行处理; 分步骤32 对于每一个过剩流节点进行二次检测确定其需要处理; 分步骤33 对需要处理的过剩流节点进行推流或重标记操作;将新产生的过剩流节点放入自身任务队列的顶部;
分步骤34 与其他处理器核进行同步;
分步骤35 同步成功时,减小收缩因子;否则返回分步骤1 ;
步骤4 后处理最小代价流的结果得到集成电路设计自动化问题的解。本发明中所述的步骤采用C、C++或FORTRAN等编程语言编译得到多核并行最小代价流求解程序。本发明提供的一种采用上述分布式并行最小代价流方法工作的装置(212)包括输入单元(202)、输出单元(203)、程序存储单元(205)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、多核处理器(209)、外部总线(210)和系统总线(211)。所述的输入单元(202)、输出单元(203)和程序存储单元(205)直接连接到所述的外部总线(210);外部总线(210)通过输入输出桥接单元(208)与所述的系统总线(211)相连;所述的内存(206)通过存储管理单元(207)连接到系统总线(211);所述的多核处理器 (209)中的η个处理器核直接连接到系统总线(211),所述的η个处理器核可以属于一个 CPU或属于多个CPU ;在程序存储单元(205)中存储有多核并行最小代价流求解程序(204)。所述的多核处理器(209 )的η个处理器核共享使用相同的内存(206 )并通过共享内存来进行通信。所述的分布式并行最小代价流求解装置(212)通过输入单元(202)输入集成电路设计自动化问题(201)至内存(206);同时,多核并行最小代价流求解程序(204)也被载入内存(206);多核处理器(209)执行分布式并行最小代价流求解程序(204)对集成电路设计自动化问题进行处理,求解结果以图形或文本的形式经过输出单元(203)提供给用户。所述的输入单元(202)可以是键盘、外部存储设备或网络连接。本发明的一种用于集成电路设计的分布式并行最小代价流方法及装置具有如下优点
1.本发明的分布式并行最小代价流方法可以很好地利用现有的多核处理器计算机来提升最小代价流的解决时间。实验表明本发明的方法在拥有8个处理器核的计算机上相对于传统串行方法可以达到5倍的速度提升。2.本发明提出的分布式并行最小代价流方法可以应用于任何数目的多核处理器, 程序本身不需要重新修改或编译。这样的方可以很好地跟进目前主流处理器核数目的增加。3.相比于基于中央队列调度的并行最小代价流方法,本发明提出的分布式并行最小代价流方法能够有效减小任务队列访问冲突。在更多处理器核的情况下,能够得到更好的加速比。本发明随着处理电路规模的扩大,速度提升快;本发明可应用于求解一大类集成电路设计自动化问题的多核并行实现,应用前景良好。为了便于理解,下面通过附图和具体实施例对本发明进行详细的描述。需要特别指出的是,具体实施例和附图仅是为了说明,显然本领域的技术人员可以根据本文说明,对本发明进行各种修正或改变,这些修正和改变也将纳入本发明范围之内。


图1是本发明基于多处理器核并行的分布式最小代价流求解方法流程图2是本发明基于多处理器核并行的分布式最小代价流求解装置的结构示意图;其中,201是集成电路设计自动化问题,202是输入单元,203是输出单元,204是多核并行最小代价流求解程序,205是程序存储单元,206是内存,207是存储管理单元,208是输入输出桥接单元,209是多核处理器,210是外部总线,211是系统总线,212是分布式并行最小代价流求解装置。图3是本发明的版图规划阶段的电压分配示意图。图4是本发明分布式调度示意图。图5是本发明提出的分布式并行电压分配方法和Y. Lu, H. Zhou, L. Shang andX. Zeng ^Λ IEEE/ACM Design Automation Conference 2009 ^^"Multicore Parallel Min-Cost Flow for CAD Applications”中的基于多核的中央调度并行电压分配方法的加速性能比较图。
具体实施例方式实施例1
如图2所示,本发明基于多处理器核并行的分布式最小代价流求解装置(212),包括输入单元(202)、输出单元(203)、程序存储单元(205)、外部总线(210)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、系统总线(211)和包含η个处理器核的CPU ( 209), 所述的η个处理器核可以属于一个CPU或属于多个CPU,多个处理器核共享使用相同的内存单元(206)并通过共享内存来进行通信。所述的装置求解集成电路设计自动化问题时,首先通过输入单元(202)输入集成电路设计自动化问题(201)至内存(206),输入单元可以是键盘、外部存储设备或网络连接;同时,多核并行最小代价流求解程序(204)也被载入内存;多核处理器(209)执行多核并行最小代价流求解程序(204)对集成电路设计自动化问题进行求解,求解结果经过输出单元以图形或文本的形式通过输出单元(203)提供给用户。本发明所述装置的典型实例为一台包含4GB内存、带有两个htel Xeon双核 3. OGHz CPU以及硬盘驱动器的工作站,处理器(209)利用Linux操作系统来执行程序存储单元(205)所存储的本发明所提出的多核并行最小代价流求解程序(204)。以下通过集成电路设计中的版图规划阶段的最优电压分配问题,说明本发明的具体实施方式
。在现代电路设计中,电路功耗成为了一个很大的问题。对于电路中的每个功能宏模块分配不同的电源电压可以使设计者在功耗和性能之间做出权衡,对于性能要求不高的模块可以降低供电电压以减小功耗,对于性能要求较高的模块则以较高的供电电压供电以保证其性能。在图3给出了电压分配的示意图。求解电压分配问题的多核分布式并行最小代价流方法步骤如下
步骤1 将电压分配问题转化为最小代价流问题。具体步骤如下 分步骤11 读取电路宏模块网表和供电选择方案。电路宏模块网表表示了电路宏模块之间的连接关系。电路的供电选择方案包括
每一个宏模块可选的供电电压itL ^5L vB},以及在这些供电电压下宏模块对应的功耗 {power (V1) ,L ,power (ν,),L power (νκ)}及延时(S(V1),L ^ (Vi)1L (νκ))。宏模块的功耗、
延时和供电电压一一对应,为单调函数关系。分步骤12 建立基本时序约束图。电路网表可以表示为一个有向无环图(DAG),每个宏模块的输入和输出形成两个节点,这些节点的集合记为K。每个宏模块输入和输出两个节点由有向边相连,这些有向边
构成的集合记为禺,而每个模块之间也有有向边连接表示电路的拓扑关系,这些有向边构成的集合记为马。所有的有向边构成的集合为S =玛U馬。从而,这一有向无环图可表示为G=(r,s)。在有向无环图σ = (Γ,5)中,每个宏模块可以用其输入节点i到输出节点j
的有向边仏λ)来表示。本发明的优化目标是在满足时序约束的情况下最小化整个电路的功耗。这个优化问题可以被写下面的凸规划问题 Mn 2 Powsrii(ViiJ))
权利要求
1.一种用于集成电路设计的分布式并行最小代价流方法,其特征在于,其包括如下步骤步骤1 将集成电路设计自动化问题转化为最小代价流问题; 步骤2 初始化每个处理器核上的任务信息; 步骤3 对于每个处理器核利用并行最小代价流从处理网络图; 分步骤31 从该处理器的任务队列顶部中抓取一定的数量的过剩流节点;如果自身任务队列为空,尝试随机从其他处理器队列的底部获取一个任务进行处理; 分步骤32 对于每一个过剩流节点进行二次检测确定其需要处理; 分步骤33 对需要处理的过剩流节点进行推流或重标记操作;将新产生的过剩流节点放入自身任务队列的顶部;分步骤34 与其他处理器核进行同步;分步骤35 同步成功时,减小收缩因子;否则返回分步骤1 ;步骤4 后处理最小代价流的结果得到集成电路设计自动化问题的解。
2.按权利要求1所述的用于集成电路设计的分布式并行最小代价流方法,其特征在于,所述的方法采用C、C++或FORTRAN等编程语言编译得到多核并行最小代价流求解程序。
3.一种采用权利要求1所述的分布式并行最小代价流方法工作的装置(212),其特征在于,包括输入单元(202)、输出单元(203)、程序存储单元(205)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、多核处理器(209)、外部总线(210)和系统总线(211);其中,所述输入单元(202 )、输出单元(203 )和程序存储单元(205 )直接连接到所述外部总线 (210);外部总线(210)通过输入输出桥接单元(208)与所述系统总线(211)相连;所述内存(206 )通过存储管理单元(207 )连接到系统总线(211);所述多核处理器(209 )中的η个处理器核直接连接到系统总线(211),所述η个处理器核属于一个CPU或属于多个CPU ;在程序存储单元(205)中存储有多核并行最小代价流求解程序(204);所述的多核处理器(209 )的η个处理器核共享使用相同的内存(206 )并通过共享内存来进行通信;所述的最小代价流求解装置(212)通过输入单元(202 )输入集成电路设计自动化问题 (201)至内存(206);同时,多核并行最小代价流求解程序(204 )也被载入内存(206 );多核处理器(209)执行并行多核并行最小代价流求解程序(204)对集成电路设计自动化问题进行处理,求解结果以图形或文本的形式经过输出单元(203)提供给用户。
全文摘要
本发明属于集成电路领域,涉及一种用于集成电路设计的分布式并行最小代价流方法及装置。本发明的方法为每个处理器维持一个任务队列进行分布式的调度,能够有效减小任务队列访问冲突,在更多处理器核的情况下,能够得到更好的加速比。应用本发明方法的装置包括输入单元、输出单元、程序存储单元、外部总线、内存、存储管理单元、输入输出桥接单元、系统总线和多核处理器。本发明的分布式并行最小代价流方法相比中央队列调度的并行最小代价流方法可以获得更高的加速比。本发明可应用于求解一大类集成电路设计自动化问题的多核并行实现。
文档编号G06F17/50GK102467586SQ20101053529
公开日2012年5月23日 申请日期2010年11月8日 优先权日2010年11月8日
发明者周海, 曾璇, 杨帆, 陆瀛海 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1