“几分欢喜几分愁”EDA供应商面对多核设计
试图使现有EDA软件线程化是一种“亏本行为”,因为它们最多只能与三或四个处理器一起工作,CLK公司的Katz表示。“确实需要一项全新的开发项目来建立线程化架构。”他指出,“这真的是件非常难的事。”但其回报很丰厚:CLK公司的Amber据称能利用多达64个处理器获得接近线性的加速。
Extreme DA公司的行销总监Graham Bell表示,在把EDA软件用到多核CPU上时,存储器和数据管理将是一项挑战。“采用全局变量、不区分数据和执行代码的编程风格,使得改写任务即使能实现也是极度困难。”他表示。
如果负载划分不合适,Nascentric公司的Croix指出,通信开销将抵消掉并行机制所带来的好处。
AuSim MT是为实现多线程处理而从头开始设计的工具。Nascentric公司使用了“几乎完全遵守编码指南的”面向对象的编程方法,Croix透露。
不仅仅针对新创企业
大型EDA供应商们承认多核带来挑战,但同时表示他们正在取得良好进展。事实上,Mentor Graphics公司相信它的Calibre是全球最早的多线程EDA产品之一。Calibre技术行销经理John Ferguson表示,“多核是市场的发展趋势,我们相信在部署能充分发挥多核架构优势的产品方面,Mentor公司走在了前列。”
“不做多核就会被淘汰。”Magma公司物理验证事业部总经理John Lee说道,“英特尔和AMD也不再继续提高时钟周期,而是增加更多的内核。如果你的产品不能充分发挥多核带来的优势,那么你只能用到芯片的一半或四分之一性能。”
Magma公司最新推出的物理验证工具Quartz DRC从一开始就支持分布式处理,但它并没有增加多线程功能,而是采用了称作“流式数据流”的架构。
“这种架构非常有利于多核应用,因为你可以使数据从一个内核流向另一个内核,而无需退到主存储器或磁盘。”Lee指出。EDA软件传统上是采用一种“数据库”架构把大量数据载入内存,这样做很不灵活,他解释道。
与Magma的数据流架构相比,多线程在细颗粒度并行处理方面的能力要稍弱些,Lee指出。尽管如此,Magma公司在具有多核功能的快速Spice仿真器FineSim中,还是采用了多线程技术。
Cadence公司支持多线程技术的工具有Encounter RTL Compiler全局综合、First Encounter、Space-Based Router、NanoRoute和Chip Optimizer。不管是在多CPU工作站还是在多核CPU上,这些工具都能正确运行,Vucurevich指出。其中大多数工具还能运行于分布式网络。
Chip Optimizer和Space-Based Router是最新的软件工具,完全根据多线程技术要求而设计。不过它们需要依赖于不具备线程安全性的OpenAccess数据库,Vucurevich 表示。Encounter RTL Compiler已经针对多线程进行了改写。虽然该工具只有特定部分能实现多线程,但是这倒不是什么大问题,Vucurevich补充道。
“最彻底、也最具风险性的方法,就是针对多核处理重构应用软件。”vucurevich表示,“人们都不愿意冒险,即使某款应用软件的市场反应很好。这也是为什么人们注重方法实效的原因。”
新思公司的Galaxy IC实现平台内的多种工具采用了多线程、分割、并行处理或分布式处理等方法,新思公司IT高级总监Hasmukh Ranjan指出。例如,PrimeTime时序分析仪可以使用跨越多个CPU的并行处理,来分析不同的时序和信号完整性。HSpice电路仿真器也具有多线程处理能力。
“新思公司的所有研发小组都在从事某种多核工作。”Ranjan说,“EDA工具肯定会向多核发展,因为未来摩尔定律的优势不是来自同质多核,就是来自具有特殊处理器的多核。”
不过Ranjan也指出,许多EDA工具要求访问存储器中的全芯片数据库。由于存储器访问带宽的限制,在多核处理器上运行软件可能导致性能下降。因此,对处理器供应商来说,改进总线架构、缓存容量和存储速度尤其重要。
“如果这些方面没有改进,数据瓶颈将抵消新增内核所带来的优势。”Ranjan表示。
评论