过去几年中,SoC还是个让业界摸索其定义和作法的阶段,然而,这个阶段很显然已经跨越,没有多少人怀疑今日的芯片设计必须有系统化的架构与能力了。现阶段IC设计业者所关注的问题已经转向:如何以又快又好的方式来发展SoC芯片。

Tensilica总裁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及芯片设计者还是得先在各别的领域好好下工夫才行。