SOC 与芯片设计方法
The Methodology of SOC
杨刚、杨晞、汪道辉
摘 要:本文介绍了以超深亚微米技术为支撑的 SOC 的定义以及芯片设计方法,并阐述了软硬件协同设计理论、IP 核生成
及复用技术、超深亚微米 IC 设计面对的难题以及 SOC 测试与验证技术。
关键词:SOC,芯片设计方法,IC,IP 核
Abstract: This paper gives a definition to SOC which supports by ultra deep submicron technology, and introduces
the methodology of SOC. at the same time, describes the software and hardware design collaboration theory、IP
core extract and reuse technology、ultra deep submicron IC design puzzle 、SOC testing & verifying technology.
Keywords: SOC , methodology, IC,IP core
引言: 随着信息产业的飞速发展,为了追求更高性能,更短面市时间和更低制造成本,适应科技发展和市
场竞争的需要,系统设计人员正在将完整的系统功能集成到单芯片中,从而导致集成电路 IC 技术发生了
翻天覆地的变化。以软硬件协同设计、IP(知识产权)核、超深亚微米技术为支撑的 SOC(systems-on-chip)
则是超大规模集成电路的发展趋势和主流技术。
一、SOC 的定义
SOC 有多种不同的定义,一般说来,SOC 是一种处理器基 IC,含有一个或数个嵌入式计算引擎(微
处理器,微控制器或数字信号处理器);采用超深亚微米工艺技术;主要采用第三方的 IP 核进行设计;内
置嵌入式存储器和可编程逻辑;具备外部对芯片进行编程的功能;具有完整系统所必备的全部或大部外设。
在某些场合,它还包括模拟前端,在同一芯片上含集成模拟和数字技术,增加了系统的复杂性。
二、SOC 系统设计方法
传统设计流程可分为逻辑设计与物理实现两个相互独立阶段,包含以下几个步骤:系统规划、功能设
计、逻辑设计、电路设计、设计验证、生产制作、测试调试,芯片的设计考虑较简单。设计人员要做的只
是前端设计,如系统结构设计,进行前端模拟仿真并且向硅片供应商(SIC)提供网表。硅片供应商则负责后
端设计,包括芯片的物理设计、封装、测试和成品率管理。
然而随着系统集成度的不断提高以及终端用户需求的多样化,系统功能愈来愈复杂,如何确定系统结
构并完成软硬件的划分,传统的系统设计方法已经不能很好的满足设计的需求。为了提高芯片的设计效率,
缩短设计周期,系统设计需要新的设计理论体系和设计方法,以克服传统设计方法中前端设计和后端设计
相互分离的弊病。这一新的设计理论和设计方法是以软硬件协同设计理论、IP 核生成及复用技术和超深亚
微米技术等为支撑的。
三、软硬件协同设计理论
面向 SOC 的软硬件协同设计理论是指从给定的系统任务描述出发,通过有效分析系统任务和所需资
源,采用一系列变换方法并遵循特定准则自动生成符合系统功能要求、符合代价约束的软件和硬件架构。
这一理论体系包括系统设计描述、软硬件划分、软硬件协同设计、软硬件协同验证等内容。其中系统设计
描述语言是这一理论体系研究的核心问题之一。
一个系统设计描述语言应该能将系统设计、系统测试、系统验证所需的各种信息,如功能、硬件、软
件、延迟、代价和技术规范等,用一种语言集中、正确和完整地描述出来。
现在系统设计人员通常采用 C/C++语言或则 HDL 语言进行系统设计、测试和验证。C 语言可以较好
的平衡软件和硬件两个方面的设计需求。同时由于 C/C++语言支持面向对象的设计方法,相对于传统的编
码方式,面向对象有着不可比拟的生产率方面的优势。但是,C 语言也有其弱势的地方。系统级设计需要
复用很多的组件,还要包括测试基准,由于 C 语言不是专门为硬件开发而设计的,因此一些硬件的要求还
不适合用 C 语言来表达。对于硬件设计而言,C 语言也没有能够提供一个硬件设计库。这也需要业界继续为
1
之努力,提供一个可以扩充的 C 语言的子集。HDL 语言虽然在硬件描述方面占优,但却不能与系统的软
件部分很好的协同工作。鉴于此,一些系统设计人员开始用 Unified Modeling Language(UML)或 Rosetta
语言来描述软件系统和描述硬件的技术规范,这种精确定义的规范语言与严格规定硬件结构和工作行为的
形式验证技术结合,使系统设计人员能够自动而可靠地得到完整、精确的测试程序包,同时产品文档和验
证将变得更加精确,从而大大降低系统开发费用。
四、IP 核生成及复用技术
1.IP 核生成: 传统的 ASIC 设计方法的核心在于以客户调试好的大量的标准单元和硬宏为基础进行大规
模集成电路的设计,但是随着工艺水平的不断进步,器件的特征尺寸和工艺参数都发生了变化,虽然从理
论上来说,可以更新工艺库,但是将数以百万计的单元移植到新的工艺尺寸上带来的工作量无疑是巨大的,
而且要求设计者必须具备系统和芯片两方面的知识。这样做的直接后果就是极大的延长了开发时间, 并加
大了开发成本。为了提高系统的设计效率,缩短设计周期,最简捷也是必须的方法就是要能够充分利用前
人的设计经验和设计资料。因此以 IP 核技术为依托的自底向上的设计方法重新受到欢迎。
所谓的 IP 核,实际上是一个经过验证的 IC 设计。IP 核有三种不同的表现形式:软核、固核和硬核。
软核用 HDL 方式提交,其性能通过时序验证模拟进行验证。由于软核不依赖于任何实现工艺和实现
技术,具有很大的灵活性。使用者可以方便地将其映射到自己所使用的工艺上,可复用性很高。软核的弱
点在于,要求系统设计人员从系统描述、IP 核嵌入以及版图的转换全过程负责,必须具备风险意识,因为
不加修改而将一个软核映射到任何一个工艺具有很大风险。
硬核以 IC 版图的形式提交,并经过实际工艺流片验证。硬核强烈地依赖于某一个特定的实现工艺,
而且在具体的物理尺寸,物理形态及性能上具有不可更改性。由于硬核已经过验证并具有最优的面积代价
核性能设计,可以拿来就用。但由于硬核与工艺的强相关性,迫使使用者也必须用同样的工艺完成电路的
其它部分设计,而且在布局布线时必须遵守硬核的物理限制。
固核时由软核发展而来,以电路网表的形式提交,通常还经过硬件验证或硬件仿真器验证。由于固核
的时序特性是经过严格检验的,设计着只要保证在布局布线过程中电路关键路径的分布参数不会引起时序
混乱就可以保证芯片的设计成功。固核的缺点在于固核仍对应于某个特定的实现工艺,限制了固核的使用
范围。
上述划分不是唯一的,业界在 IP 核的划分上尚有争议,由于固核和软核在设计时相对于硬核有较大的
灵活性,一些厂商将固核和软核统称为广义的软核(下面简称软核),因而 IP 核又可分为软核和硬核两大
类。
系统设计者设计 SOC 时必须考虑的问题是采用软核还是硬核。
如果采用硬核,那么需要权衡设计目标和硬核已有功能,因为要么得为不需要的外设支付费用,要么
得用功能很强大的外设完成特定的工作。若采用可配置硬核,则配置硬核的外设功能是通过系统引导启动
时,对寄存器进行编程来完成的,称为运行可配置性,这种方法依然会浪费许多硬件资源和金钱。另外有
时硬核无法提供设计所需的所有功能。
而采用软核,设计者可以根据需求购买和付费,不必为不使用的功能付费从而节省金钱和硬件资源。
另一方面,软核的可配置性是在编译时进行,可以很容易地进行修改和变更,从而大大地缩短 SOC 的设
计周期。
2.IP 核复用标准和流程: IP 核复用有几个不同的层次,包括以前做过的设计用到新的项目上,也包括向
第三方供货商购买设计。一方面,产商已经开发了你所需要的内核,能够节省你的开发成本。而且,产商
通常提供一整个综合套件,测试平台和文档。当你不想自行开发这些东西,它可以大大地加快开发进度。
例如,软核模型没有互连寄生延迟信息,所有也没有精确的时限信息。当你购买软核时,产商会提供参考
时限数据。有些产商也提供总线功能(bus-functional)的模式,仿真内核和外部电路之间管脚的内核的状
态,而无需建造内核内部配置。另一个考虑采用第三方产商软核的原因是确保符合工业标准。符合标准会
减少行为建模、时序分析以及产品布局和布线的费用。
IP 核复用涉及各个方面,如法律和商业方面的问题、IP 核标准、设计和程序、测试策略、设计的存储
2
和检索以及设计方法等。如果购买第三方的 IP 核,则必须充分了解总成本和 IP 核的实际可用性。IP 核厂
商提供了从处理简单功能到整个微处理器的大量不同种类的元件。如加法器、乘法器、解码器、先进先出
(FIFO)、数字信号处理、控制器、处理器以及协议处理器。然而面向 SOC 的 IP 核复用决不是简单的堆
砌,在使用过程中不但要考虑它们的功能,更要使它们溶入芯片。系统设计者在选择 IP 核时,不仅要考虑
IP 核的功能,考虑它在设计中的信号完整性、功率耗散、电磁辐射和可制造性,而且还要考虑它作为系统
整体部件时是如何工作的,并设计内部总线结构把所选的外设及其接头或其它定制的外设胶合在一起。
IP 核复用也存在的风险,可能导致 IP 核复用失败。例如,所设计 IP 核本可以工作在 400MHZ,然而
嵌入 SOC 后却只能达到 250MHZ 或者 300MHZ 等等。
五、超深亚微米 IC 设计技术
IC 的绝对尺寸大约每年增长 16%,现在,多数 IC 产品的芯片面积在 80~100mm2。晶体管尺寸继续
缩小,目前的领先产品水平是 0.18mm,实验室水平是 0.13mm,根据预测,在今后几年中, 将达到 0.10mm, 即
100nm。相对于这些变化,基于 IP 核的 SOC 设计无法摆脱超深亚微米 IC 设计难题带来的困扰,如连线延
迟、设计迭代、信号的完整性、功耗问题等,与此同时也产生了新的设计技术和标准,如片上总线技术等。
1.连线延迟: 随着晶体管尺寸的降低,门的速度越来越快,限制电路性能提高的主要因素不再是开关速
度,而是互连延迟。时钟频率越高,连线作为扇出负载引起的延迟在整个时序预算中所占的比例越大。深
亚微米设计范围中连线延迟占总延迟的 60%~70%,因此精确地计算这部分延迟在芯片设计中是十分重要
的。同时高性能电路使得所有时序的容差都非常小,也对精确定位电路各部分的延迟模型提出了更高的要
求。另一方面,连线延迟信息只有在物理实现后才能得到,因而对 EDA 工具提出了更高要求。
2. 设计迭代: 一种设计模式区别于另一种设计模式的根本表现在其设计流程。目前,随着制造业的飞速
发展,许多新的设计流程被不断的提出。这些设计流程总的趋势就是要使得设计能够用尽可能少的迭代次
数来完成。通过仔细分析设计目标,让分析和设计创建紧密结合,然后自动执行许多原本依次处理的任务,
同时做出选择以便使设计收敛在要求的各个目标上,如何保证设计能够一次成功而无须反复的迭代是超深
亚微米 IC 设计难题之一。
3.信号的完整性: 随着器件特征尺寸缩小,工作频率不断提高,信号延迟变小,而边沿速度越来越快。
信号质量问题是边沿速度,而不是时钟速度的函数。边沿速度比以往快得多,在某些场合,甚至比需要的
速度还快(即使时钟速度不快,但边沿速度却很快)。由于边沿速度(或叫上升时间)代表的是数字信号的频率
分量,频率提高后,电路模型极大地复杂化了。如何确保信号的完整性是超深亚微米 IC 设计另一难题。
4.功耗问题: 在过去,由于 CMOS 电路中器件仅仅在开关状态下才耗散功耗,静态功耗可以忽略不计,
另一方面,器件的阀值电压很低,由于动态功耗与电源电压的平方成正比,所以功耗很小。然而在超深亚
微米 IC 设计中,SOC 芯片包含上亿个晶体管,在静态情况下的泄漏电流已经成为一个不可忽略的因素,
所以 SOC 的功耗急剧增大,目前 SOC 的最大功耗已经达到 50~100W,这将成为限制 SOC 复杂性的主要
因素。
5.片上总线技术: 众多使用广泛的 RISC 处理器和 DSP 本身具有复杂的和独特的总线结构,但它们缺乏
相互直接集成的先天能力,也缺乏支持逻辑设计。多芯核 SOC 的一个关键要求是通过总线以统一的方式
来连接积木块,让多个主控总线快速传送大数据块,支持高速数据传输 IP 核复用阻力之一来自于 IP 核和
标准总线系统之间的接口问题。这些要求推动芯片内标准总线的产生。领先的半导体公司日益采用
OCB(on-chip bus,片上总线)标准化集成技术。OCB 标准化有利于大量 SOC 问题的解决,包括便于 IP 核
生成和设计复用, 提供 SOC 的框架和总线,简化处理器、PLD、RF、胶合逻辑(glue logic)、外设之间接
口设计,最大限度地减少互连,改进设计验证技术,以及更容易设计出符合行业标准的产品,从而减少将
来 SOC 中集成到 ASIC 的设计工作量。目前符合 OCB 标准的总线有 IBM 公司的 CoreConnect 总线和 ARM
公司的 AMBA 总线(先进微控制器总线结构)。
六、SOC 测试与验证技术
SOC 开发中最具挑战性的是设计验证。开发一个或一套带有相应测试向量的测试台是很费时的。按要
求对结果进行的仿真和分析不仅需要相当数量的计算资源,而且要对该设计行为有相当深入的了解。统计
3
资料显示,验证是产品开发中最耗时的一个方面,它需要的资源最多。提供 IP 核的厂商和系统设计者都面
临着严重的验证问题。厂商不仅要通过彻底检查内核的工作性能与物理特性以确保产品质量,而且还要预
先考虑到系统级的功能。设计师必须开发功能级的测试方法,对器件的正确使用和错误使用两方面都进行
仿真。开发仿真错误使用的有效测试方法更难,因为要预测误解和偶然错误需要仔细研究技术规范。
除了验证,SOC 的测试也特别困难。需要新的测量功能和测试方法,以确保产品有足够的设计容限。
这样就需要采用内建自测试(BIST)和边界扫描链结构。许多 IP 公司提供 BIST 结构和边界扫描 IP 以及
自动软件工具以支持设计者采用这些技术。对于 BIST 方法,最大的优点是整体测试覆盖率,测试价格和
测试时间。
七、结束语
本文讨论了以软硬件协同设计理论、IP核生成及复用技术、超深亚微米 IC 设计和 SOC 测试与验证技
术。 随着数百万门以上的高密度 SOC 芯片的出现,SOC 芯片设计面临着诸多挑战和机遇,加强这方面的研
究,必将促进我国的超大规模集成电路的发展。
主要参考文献:
1. 《SOC 设计方法学》 魏少军 《电子产品世界》 2001.6A
2. 《现成内核与具体设计相结合问题》Gabe Moretti 《EDN CHINA》2002.1.30
(610065 四川大学电气信息学院电子学教研室) 杨 刚、汪道辉
(545005 广西柳州市第 25 中学) 杨晞
作者简介:杨刚,男,1969 年生,汉族,讲师,控制理论与控制工程硕士,主要从事智能故障诊断、计算
机控制、现代电子技术和 DSP 等方面的教学和科研工作。
联系电话:028-85408530 email: robbyjoin@163.com
4