Matlab是全球使用最广泛的算法开发产品之一,它长期服务于自己的领域,与EDA和硬件实现相距甚远。但随着它的开发商MathWorks公司与第三方供应商携手合作将Matlab带入FPGA和ASIC设计领域,这种状况将发生改变。
MathWorks声称,它将携SystemC建模工具、行为级综合和高层验证工具进军电子系统级(ESL)设计市场。
如果时机合适,Matlab将迅速成为该市场的重磅炸弹,因为作为DSP算法的首选开发工具,它拥有很大的用户群。
Matlab提供了一种用于各种算法应用的过程语言,据称其部署量已经达到几十万。另外,与Matlab相关的Simulink仿真工具的部署数量也达到数万。Matlab和Simulink服务于各种不同的应用,包括生物科技、财务建模和飞行动态等。但MathWorks公司DSP和通信产品行销总监Ken Karnofsky估计,在近100万的Matlab用户中有三分之一到一半的人涉及电子系统设计。
其中,大多数又在为嵌入式软件设计DSP算法或控制系统。但Matlab和Simulink正越来越多地被用于基于DSP的FPGA设计,特别是因为赛灵思和Altera公司的工具提供了通往实现的直接途径。
目前为止,通往ASIC设计的途径还没有开发,通常要求以手工方式将Matlab语言转换成SystemC、VHDL或Verilog。“虽然一些FPGA设计师正在直接使用Matlab和Simulink,但ASIC设计师一般不会这样做,而是使用从Matlab转换过来的系统架构,”Karnofsky表示。
“对我们来说,电子设计领域是一个不断增长的巨大市场。”Karnofsky说,“我不会把我们定位成传统意义上的EDA工具供应商,但随着EDA领域的扩张,这里将有更多的重叠。”
不久前,三家EDA供应商同意并创建了与Matlab和Simulink的新链接。新兴企业Catalytic公司推出了一款工具,可以方便地将浮点Matlab模型转换成定点模型;CoWare公司增强了它的信号处理工作系统(SPW)与Matlab之间的链接;AccelChip公司将Matlab模型综合成RTL Verilog,并扩展了它的IP库。
这三家公司并不是最先与Matlab建立链接的公司。较早前,明导资讯公司与MatWorks签署协议,将Matlab和Simulink与ModelSim HDL仿真器链接,从而允许设计师在Matlab中创建测试平台,然后把HDL模型返回Simulink。最近,Cadence设计系统公司发布了其PSpice模拟仿真器与Matlab之间的接口。
在美国加州举办的EDA业界研讨会上,从主题为“Matlab-另一种系统设计语言”的小组讨论会中可以发现,EDA业界与Matlab之间的链接将越来越多。
“Matlab是从事算法开发的工程师的首选语言。”Catalytic公司首席执行官Randy Allen说,“他们在Matlab中进行仿真,然后用其它工具进行实现。真正的关键是得到有效的综合。”
“DSP算法开发似乎都是从Matlab开始的。”明导公司建模技术部战略业务发展总监Dennis Brophy表示。不过,他指出,Matlab最适合用于FPGA原型设计。“Matlab可能无法解决SoC(系统级芯片)ASIC问题,因为最小的片上功耗对它们是非常重要的。”Brophy说,“在这方面,我们用C/C++也许能获得更好的结果。”
CoWare公司SPW行销总监Johannes Stahl对Matlab持有更怀疑的观点:“Matlab在早期阶段的设计流程中非常成功,但当你增加完成设计所需的所有细节后,设计师将提出更多的要求。”他还怀疑Matlab能否表达所有设计意图,并产生良好的质量结果。
MathWorks公司的Karnofsky表示,SPW是Matlab的重要补充,尽管SPW是Simulink的直接竞争产品。“对于AccelChip和Catalytic公司,我们之间有一些重叠,但也有互相补充的机会,”他说。
他指出,Matlab包含一个定点工具盒,可以提供Catalytic的第三方定点DSP Studio产品的一些功能。不过,双方互有利弊。“Catalytic的转换技术没有被平滑地集成,但它的编译器技术提供了我们无法达到的执行速度,”Karnofsky表示。
此外,Karnofsky透露,MathWorks最近推出一款能够综合VHDL和Verilog代码的滤波器设计工具。这是该公司第一款直接HDL产品。不过,他也承认,AccelChip公司能提供更广泛的综合功能,而不只限于滤波器。
对于FPGA设计,赛灵思的System Generator和Altera的DSP Builder允许用户建立位真实、周期精确的IP模型,将浮点模型调整为定点模型并在FPGA模块上实现这些模型。然后,所得的HDL将直接进入后序的综合流程。 “FPGA对我们的工具能否自动编程提出了挑战。”Karnofsky说,“在ASIC领域很难做到这一点。”
在小组讨论会上,有人曾提出这样的问题:MathWorks今后是否会开放Matlab语言。与会者强调,专有语言在EDA领域没有太好的表现。
“看看Verilog,”AccelChip公司总裁兼首席执行官Vin Ratford表示,“只要它是专有的,它的发展就受到限制。如果MathWorks能够开放Matlab,那么它将能占领更大的市场。”
“我们将保持开放的思想,但目前还没有计划这样做,”Karnofsky回应道。MathWorks是一家私有企业,年收入约为2.5亿美元,共有1,100名雇员。