新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > “几分欢喜几分愁”EDA供应商面对多核设计

“几分欢喜几分愁”EDA供应商面对多核设计

作者: 时间:2016-09-12 来源:网络 收藏

对现有EDA供应商来说,多核处理器的出现为他们平添了“几分欢喜几分愁”。

本文引用地址:https://www.eepw.com.cn/article/201609/304727.htm

欢喜之处在于,随着晶体管数量在65nm及更小工艺下飙增,多核平台能提供更多必需的计算能力。但是,传统的应用软件很难、甚至根本无法实现并行处理,所以这些公司必须投入大手笔对软件进行重写,而这样做直接导致了65和45nm节点工具的推迟上市。也正因为如此,当前的市场天平开始向新一代EDA初创公司倾斜。

在近日于美国圣地亚哥举行的设计自动化会议(DAC)上,对多处理和多核平台的支持是一个被反复讨论的话题。特别地,DAC上的多线程和多核支持重点针对静态时序分析、模拟/混合信号仿真和设计规则检查(DRC)。而事实上,本次会议上也出现了数家EDA新创公司的面孔。

新创公司CLK设计自动化公司推出的Amber,是一款多线程增量时序和信号完整性分析工具,据称在多核平台上几乎能获得呈线性的加速。统计时序分析方面的新兴公司Extreme DA,推出的则是多线程静态和统计时序分析器GoldTime。而Averant公司最新的Solidify 5.0,则为该公司的形式分析工具增添了多CPU处理能力。

Nascentric公司在DAC上预展了AuSim MT,即一款针对多核平台的多线程快速Spice仿真器;新创企业Xoomsys公司展出的是一款即将推出的、可运行在联网计算机或多核CPU上的快速 Spice仿真器——XoomCKT;而Tanner EDA公司则演示了其T-Spice电路仿真器的多线程功能。

大型EDA供应商自然也不能忽视。Magma设计自动化公司已经为其Quartz DRC工具套件推出一种“基于流式数据流的架构”,据称可优化Quartz DRC在多核CPU和多处理方面的性能。

对65nm和45nm设计工具来说,多核/多处理器运行是必需的,Gary Smith EDA公司首席分析师Gary Smith指出。“如果EDA工具本身就具有并行机制,”他说,“那么通常情况下增加多核功能只要直接升级就可以了;否则,就要进行大量的改写,这通常要花三年左右的时间。现在有许多工具都处在改写进程进行了一半的状态,这也就解释了为何我们在65/45nm工具方面落后了两年。事实上,这是EDA产业界的大问题。”

“几分欢喜几分愁”EDA供应商面对多核设计

F1:AuSim MT在两个SRAM供应商的设计中进行测量比较,证明多线程速度取决于电路结构。

“对下一代物理实现工具来说,如果要跟上摩尔定律,多线程绝对是个关键。”CLK总裁兼首席执行官Isadore Katz表示,“与用户设计步伐保持一致的唯一途径,就是利用所有可用的内核。下一代实现工具必须‘从头开始’建立在真正的多线程架构上。”

Cadence、新思、Mentor Graphics和Magma等大型EDA供应商都承认,未来对多核的支持是基本要求。这四家公司都声称目前可提供多线程和多核功能。

一些近日发布的工具已经可以直接支持多线程处理。Sierra设计自动化公司去年所推出的网表到GDSII套件Opympus-SoC,就完全采用多线程架构,并且支持目前基于Linux的多核CPU。

联网CPU还是多内核?

在EDA领域,采用多个CPU并不是什么新鲜事。一些应用软件,特别是在进行功能验证和物理验证时,就会在联网的工作站集群上使用分布式处理,充分发挥数十甚至数百个CPU的威力。其中,有些工具还采用了多线程处理,从而充分利用拥有多个CPU工作站的优势。

一些多线程工具,例如得到广泛使用的Mentor Graphics公司的Calibre DRC物理验证工具,声称同样能在分布式网络、多CPU工作站和多核CPU上很好地工作。Calibre DRC产品经理Michael White指出,用户正在“计算集群”中部署双核和四核CPU工作站,并结合分布式网络和多核CPU。

如果负载很容易划分,那么分布式网络就可胜任,Cadence公司首席技术官Ted Vucurevich说道,但如果时间响应很重要,那就需要一个耦合更紧密的、多核的环境。

“分布式处理的难点在于:处理器之间的延迟很大。”Nascentric公司首席技术官John Croix说,“可以利用包含多个单CPU芯片的工作站来减小延迟,但这里总线是一项限制因素。虽然从软件实现角度来看,多CPU架构和多核架构之间只有很小的差异,但是相比较,位于同一颗裸片上的多核处理器具有最大的速度。”

由于其公司的产品既支持分布式网络CPU,也支持多核CPU,所以Xoomsys公司首席执行官Raul Camposano的观点比较中立。他认为,多核CPU通信速度很快,但用于存储器访问的带宽非常有限;而联网CPU通信速度虽然较慢,延迟也比较大,但它们有自己的存储器和缓存,因此有更大的带宽进行存储器访问。目前,多核CPU受限于只能包括少量处理器,而联网CPU可以拓展到数百甚至上千个。

Tanner EDA公司首席科学家Massimo Sivilotti指出,随着AMD的Opteron和英特尔的Core Duo工作站的推出,业界已经有“负担得起”的多核平台可用。对于模拟电路仿真等紧密耦合的数值问题,多核处理器比分布式联网CPU更合适,他补充道。

目前只有特定的工具支持分布式处理,而对多核的支持最终会得到普及。“计算范例正在从单核向多核转变。你会看到EDA软件产业也在向这个方向发展。”Cadence公司副总裁Eric Filseth指出。

问题是为多核架构编程非常困难,而且试图借助原有应用软件的做法可能被证明是徒劳无功的。多核编程通常包含了利用线程来分配任务和协调响应。“从软件角度来看,特别是在EDA中,许多算法本身是有顺序的,因此即便使用了多线程,所获的的性能改善也微乎其微。所以,它们需要被重新编写。”Xoomsys公司的Camposano指出。

“可能是个灾难”

“任何想清楚明白地创建用到线程概念复杂软件的企图,都有可能酿成一场灾难,而大多数EDA软件程序正深陷其中。”Calypto设计系统公司首席架构师 Ammol Mathur说,“从调试器到工具,它们对线程的支持度都很差,而这种很明确的多线程处理会引起极度难以调试的竞态状态和非确定行为。”


上一页 1 2 下一页

关键词:

评论


相关推荐

技术专区

关闭