从MATLAB看SoC设计途径
过去几年中,SoC还是个让业界摸索其定义和作法的阶段,然而,这个阶段很显然已经跨越,没有多少人怀疑今日的晶片设计必须有系统化的架构与能力了。现阶段IC设计业者所关注的问题已经转向:如何以又快又好的方式来发展SoC晶片。
本文引用地址:http://www.amcfsurvey.com/article/182540.htmTensilica总裁Chris Rowen在今年的电子产业高峰会(Electronics Summit 2005)中提出SoC设计的六项新架构原则,相当具有叁考价值:
(1)普遍性:可用在所有的嵌入式应用设计上;
(2)系统性:整个设计流程要涵盖从架构规范到最後的软硬体整合;
(3)低成本:设计投资和制程成本要低;
(4)低风险:设计上的错误可以避免或容易修正;
(5)可程式性:产生的平台能很容易地因应市场对新功能的需求;
(6)自动化:一般的工作团队就能完成高复杂度的任务。
在这样的架构需求下,SoC的设计方法学上已面临大幅改变的临界点。目前电子业界议论沸腾的方向是发展更高抽象层级、系统导向的硬体描述语言,也就是SystemC、SystemVerilog和Verilog 2005、VHDL 200x等统称电子系统级(ESL)的语言。透过这种较高层级的语言,希??让晶片设计师能把更多时间用在专案开始时的品规划、定义和划分上。
然而,要做到这一步并非一蹴可及的。就现实面来看,晶片设计者眼前更迫切需要的是一些好用的工具,以帮助他们整合现有的设计流程。MathWorks的MATLAB是一个很好的例子,它为讯号处理的设计者提供了高度模组化环境,也就是透过很直觉化的介面、功能成熟的资料以及强大的图形和视觉化能力来帮助设计者对讯号处理演算进行分析和除错。
即使已做到这样的地步,MATLAB离下一代ESL语言的境界仍有一段距离。它的M语言是功能强大的模组化语言,但还无法进一步过渡到提供适合建置及验证的环境。不过,如果有更多的辅助工具,比方说让MATLAB具有将浮点演算(floating-point algorithm)更容易转换成定点(fixed-point)的能力,及快速、有效率的应用层级模拟能力,和高效率地从M语言产生C程式码,那设计者就能针对系统级的要求进行反覆的测试确认,而且能很快地将他们的演算要求转换到ASIC或FPGA的验证流程中,以及DSP的建置上头。
若能实现这样的工作环境,M语言已离ESL语言企求的境界不远,而这也是比较务实和容易做到的途径。这样的概念并不限於DSP的开发,也同样适用於其他的建置目标,包括ASIC、FPGA或可程式处理器。看来,在一统江湖的系统级语言成形前,EDA及晶片设计者还是得先在各别的领域好好下工夫才行。
本文由 CTIMES 同意转载,原文链接:http://www.ctimes.com.tw/DispCols/cn/0504111944WS.shtmll
评论