专题一 SOC设计方法学
片上系统 SOC的优势
高性能
低功耗
体积小
重量轻
成本低
SOC对 EDA技术的挑战
? SOC可集成,processors,embedded memories,
programmable logic,and various application-specific
circuit components designed by multiple teams for
multiple projects,
? 芯片规模呈指数增长
? 设计复杂性呈指数增长
? 设计领域中挑战与机会并存
设计复杂性呈双指数倍增长
? C1,complexity due to exponential increase of chip
capacity
---- More devices
---- More power
---- Heterogeneous integration
? C2,complexity due to exponential decrease of
feature size
---- Interconnect delay
---- Coupling noise
---- EMI(Electro Magnetic Interference)
? Design Complexity ? C1 x C2
Productivity Gap
Chip Capacity and Designer Productivity
Log
ic T
ran
sis
tor
s/C
hip(
K)
Tr
an
sis
tor
s/S
taf
f-M
on
th
1
10
100
1000
10000
100000
1000000
10000000
10
100
1000
10000
100000
1000000
10000000
100000000
2010 1982 1990 2000
58%/Yr,Complexity
growth rate
21%/Yr,
Productivity growth rate
系统集成芯片的内涵及外延
特性, 实现复杂系统功能的超大规模集成电
路;采用超深亚微米工艺技术;使用一个或数
个嵌入式 CPU或数字信号处理器;具有外部对
芯片进行编程的功能;主要采用第三方的 IP核
进行设计。
这样的定义决定了 SOC的设计必须采用与现在
的集成电路设计十分不同的方法 。
? 首先,一个 SOC必须是实现复杂功能的超大规
模集成电路,它的规模决定了芯片设计不仅需
要设计者具备集成电路的知识,更要具备系统
的知识,也要对芯片的应用有透彻的了解。
? 其次,深亚微米工艺提出的诸多挑战至今尚未
的到彻底解决,互连延迟主导系统性能的问题
随着工艺技术的不断进步将变得越来越突出。
在人们彻底实现面向逻辑的设计方法向面向互
连的设计方法的转变之前,这个问题将一直存
在并长期困扰整个集成电路设计业。
? 第三,单个芯片要处理的信息量核信息复杂度
要求芯片必须具备强大的数据处理能力,嵌入
式 CPU或数字信号处理器的使用将是 SOC的一
个重要标志。
? 第四,既然采用了嵌入式的 CPU,微处理器或
数字信号处理器芯片就具备了编程能力。
? 最后,采用第三方的 IP核是 SOC设计的必然。
高度复杂的系统功能核愈来愈高的产品进入市
场的时间要求不允许芯片设计者一切从零开始,
必须借鉴和使用已经成熟的设计为自己的产品
开发服务。
IP模块的应用
è? ?ò רó? ?ˉ ±é μ? ?·?ê ?ú ê? ?? £¨μ¥ ?? £o ê? òú ?à ?a £?
0
2
4
6
8
10
12
14
16
1994 1995 1996 1997 1998 1999 2000
o? óD IPo ?
μ? רó? ?ˉ
±é μ? ?·
°? o? IPo ?
μ? רó? ?ˉ
±é μ? ?·
( 一) SOC设计方法学的主要内容
? 软 /硬件协同设计( Software/Hardware Co-Design)
? 具有知识产权的内核( Intellectual Property Core,
简称 IP 核)及其复用( Reuse)
? 超深亚微米( Very Deep Sub-Micron,简称 VDSM)
技术
系统集成
芯片技术
设 计 重
用技术
软硬件协同
设计技术
纳米级电路
设计技术
基于 IP 的系统设计技术
多 IP 系统的验证与测试技术
IP 设计技术
接口综合技术
软硬件协同设计与验证技术
基于硬件的软件结构生成
面向软件的多处理单元硬件
结构设计
时延驱动逻辑设计技术
时序综合技术
低压低功耗设计技术
面向设计重用
的设计技术
容错设计
可靠性设计
可测性设计
软硬件划分
形式验证技术
综合技术
( 二) SOC设计方法学的内容
? SOC设计方法学正是围绕 SOC的上述内容展开
的新一轮理论研究。这一理论根植于过去几十
年计算机辅助设计、计算机辅助工程和电子设
计自动化理论的土壤之中,将借鉴已有的理论
并在其基础上创新。
? SOC设计方法学包含的第一个内容
软硬件协同设计方法, 在 SOC设计当中, 设
计者必须面对一个新的挑战, 那就是他不仅要
面对复杂的逻辑设计, 而且要考虑软件, 特别
是那些可以改变芯片功能的外部应用软件的设
计 。 尽管软件的加入在某种程度上加大了系统
设计的工作量, 但是软件的引入也会对系统代
价的减少产生积极的作用 。 如何在软件和硬件
设计中取得平衡, 获得最优的设计结果是我们
要认真探讨的课题 。
? SOC设计方法学包含的第二个内容
IP核的设计和使用,IP核的使用绝不等同于
集成电路设计中的单元库的使用, 它所涉及的
内容几乎覆盖了集成电路设计中的所有经典课
题, 包括测试, 验证, 模拟, 低功耗等等 。 IP
核的生成也绝非是简单的设计抽取和整理, 它
所涉及的设计思路, 时序要求, 性能要求等均
需要重新审视我们已经熟知的设计方法 。
? SOC设计方法学包含的第三个内容
深亚微米集成电路设计,尽管这个课题的
提出已经有了相当长的时间,但是研究的思路
和方法仍然在面向逻辑的设计思路中徘徊。深
亚微米集成电路设计方法的根本性突破显然是
SOC设计方法学当中最具挑战性的。
? SOC设计方法学的研究所影响的不仅仅是集成
电路领域,事实上由于集成电路的基础作用,
它还会对集成电路以外的领域产生深远的影响。
它改变的也不仅仅是集成电路的设计方法和设
计思路,同时也会对电子整机和系统的发展带
来革命性的变化。随着整机与芯片的日益融合,
SOC设计方法也必然深入到整机的设计当中去,
对电子整机的设计产生积极的影响,同时电子
整机的发展也必然会对 SOC设计方法学的丰富
和完善作出贡献。
(三)软 /硬件协同设计
? 早期的软 /硬件协同设计
针对一个特定的硬件进行的软件开发问题 ——
经典的软件开发问题。
根据一个已有的软件实现具体的硬件结构 ——
软件固化的问题。
早期的软硬件协同设计方法研究还是一种面向
目标的( Object Oriented) 软硬件设计方法,
研究的内容和结果与所要实现的目标和已具备
的条件密切相关,形不成具有普遍适用性的理
论体系。
? 面向 SOC的软 /硬件协同设计方法
面向 SOC的软硬件协同设计理论应该是从一个
给定的系统任务描述着手,通过有效地分析系
统任务和所需的资源,采用一系列变换方法并
遵循特定的准则自动生成符合系统功能要求的,
符合实现代价约束的硬件和软件架构 。
? 软 /硬件协同设计方法需要解决的问题
? 首先,是系统的描述方法。目前广泛采用的
硬件描述语言是否仍然有效?如何来定义一
个系统级的软件功能描述或硬件功能描述?
等等。到今天为止,尚没有一个大家公认的
且可以使用的系统功能描述语言可供设计者
使用。
? 其次,是这一全新的设计理论与已有的集成电
路设计理论之间的接口。可以预见,这种全新
的设计理论应该是现有集成电路设计理论的完
善,是建筑在现有理论之上的一个更高层次的
设计理论,它与现有理论一起组成了更为完善
的理论体系。在这种假设下,这种设计理论的
输出就应该是现有理论的输入。
第三,这种全新的软硬件协同设计理论将如何
确定最优性原则。显然,延用以往的最优性准
则是不够的。除了芯片设计师们已经熟知的速
度、面积等硬件优化指标外,与软件相关的如
代码长度、资源利用率、稳定性等指标也必须
由设计者认真地加以考虑。
? 第四,如何对这样的一个包含软件和硬件的系
统功能进行验证。除了验证所必须的环境之外,
确认设计错误发生的地方和机理将是一个不得
不面对的课题。
? 最后,功耗问题。传统的集成电路在功耗的分
析和估计方面已有一套理论和方法。但是,要
用这些现成的理论来分析和估计含有软件和硬
件两部分的 SOC将是远远不够的。简单地对一
个硬件设计进行功耗分析是可以的,但是由于
软件运行引起的动态功耗则只能通过软硬件的
联合运行才能知道。
(四 ) IP 核的生成及复用
在单个芯片上已经可以集成上千万乃至上亿只
晶体管 。 芯片变得如此复杂, 它实现了以前需
要许多块印刷电路板甚至机架才能完成的功能 。
在这样高的集成度下, 设计的难度已变得非常
高, 设计代价事实上主导了芯片的代价 。 这不
仅要求设计者必须具备系统和芯片两方面的知
识, 同时必须充分考虑市场竞争的压力, 最大
限度地缩短设计周期 。 凡事从零做起的思路显
然不能适应这种新情况, 而采用前人成功的设
计经验和设计资料是解决这个问题的明智选择 。
所谓设计重用实际上包含两个方面的内容,设
计资料的重用和如何生成可被他人重用的设计
资料 。
? IP核,IP核具备比较复杂的功能,且经过验
证。设计资料内不仅仅包含一些物理功能和技
术特性,更重要的是包含了设计者的创造性思
维,具有很强的知识内涵。这些资料因而也被
称为具有知识产权的内核( Intellectual
Property Core),简称 IP核。
? IP核的种类
IP核实际上是一个经过验证的集成电路设计,
从其实现的形式和应用层次上看, IP核可以有
三种不同的表现形式:软核 ( Soft-Core), 固
核 ( Firm-Core) 和硬核 ( Hard-Core) 。
? 软核,以硬件描述语言的方式提交,其性能
通过时序模拟进行验证。 由于软核不依赖于任
何实现工艺或实现技术具有很大的灵活性。使
用者可以方便地将其映射到自己所使用地工艺
上去,可复用性很强。软核地另一个重要地优
点是使用者拥有全部源代码。使用者可以通过
修改源代码,方便地生成同样功能且有版权的
新软核,从而避免向原有软核地作者支付版税。
同时聪明的软核使用者还可以通过增加自己的
知识和经验,产生出远比原始软核广泛得多的
新软核。
? 但是软核也有自身的弱点。由于软核的载体是
硬件描述语言且与实际的工艺无关,使用者在
最终将其嵌入自己的设计时就要对从描述语言
到版图的转换的全过程负责。显然这要涉及经
典的集成电路设计的全部内容,集成电路设计
人员必须具备相当的风险意识。另外,工艺映
射和系统的性能有着一定的内在关系,是否可
以不加修改地将一个软核映射到任何一个工艺
上仍然是需要探讨的一个问题。
优点,可复用性很强 。
使用者拥有全部源代码 。
缺点,对 从描述语言到版图的转换的全过
程负责 。
工艺映射和系统的性能的一致性。
价格不菲。
? 硬核,以集成电路版图( Layout) 的形式提交,
并经过实际工艺流片验证。 显然,硬核强烈地
依赖于某一个特定地实现工艺,而且在具体的
物理尺寸,物理形态及性能上具有不可更改性。
这些特点对使用者来说有喜有忧。喜的是硬核
已经经过验证并具有最优的面积代价和性能设
计,使用者不需要考虑与此相关的优化问题。
? 忧的是硬核与工艺的强相关性迫使使用者也只
能使用该工艺完成电路其它部分的设计,而且
要在布局布线( Place Route) 遵守注意硬核的
物理限制。显然,硬核的特点决定了使用者进
行电路设计时的灵活性很小,希望通过获得硬
核以生成其它硬核的可能基本上没有。
特点,硬核强烈地依赖于某一个特定地
实现工艺,而且在具体的物理尺寸,物
理形态及性能上具有不可更改性。
优点,不需优化工作、价格便宜
缺点,灵活性小、不能更改。
? 固核,以电路网表( Netlist) 的形式提交并通
常采用硬件进行验证。 固核往往对应于某一个
特定的实现工艺,在该实现工艺的条件下固核
具有最优的面积和性能的特性。对于使用者来
说不需要对固核的功能给于过多的关注,可以
减少许多相关的设计工作,同时由于固核的时
序特性是经过严格检验的,设计者只要保证在
布局布线过程中关键路径的分布参数不会引起
时序混乱就可以保证芯片的设计成功。
? 但是固核也有其自身的缺点,那就是它与实现
工艺的相关性及网表的难读性。与实现工艺的
相关性限制了固核的使用范围,网表的难读性
则使得布局、布线后发生时序违反的排除变得
比较困难。由于固核在使用的方便程度上和开
放程度上均介于软核和硬核之间,其价格也处
于它们的价格之间。
优点,固核往往对应于某一个特定的实
现工艺,在该实现工艺的条件下固核具
有最优的面积和性能的特性。
缺点,与实现工艺的相关性及网表的难
读性 。
? IP核的生成
IP核的生成具有与常规的集成电路设计不同的
特点。例如时序、测试和低功耗等虽然是集成
电路设计中的经典问题,但是直接将已有的设
计方法应用到 IP核 的设计中就会出现许多意想
不到的困难。
? IP核的复用
IP核的使用也面临许多新问题。由于 IP核的特
殊性和集成电路开发的高风险性,IP核的使用
决不是这些 IP核的简单堆砌,使用过程中不仅
仅要考虑它们的功能,更要使它们, 溶入, 芯
片。以为有了 IP核就可以进行 SOC设计的想法
过于天真。
? 可测性设计的例子
IP 核
(五)超深亚微米集成电路设计
超深亚微米集成电路设计技术又称纳米级电路
设计技术。超深亚微米集成电路设计技术是深
亚微米集成电路设计技术的延伸。除了传统的
连线延迟问题之外,集成电路设计人员还要考
虑信号的完整性等其它问题。人们在跨入超深
亚微米时代的时候,实际上尚未解决深亚微米
阶段的关键课题。连线延迟大于单元延迟引起
的一系列问题仍然在困扰着设计人员。所以要
探讨超深亚微米集成电路的设计,就有必要对
这个经典问题作一个仔细分析。
? 连线延迟
以布尔代数为基本理论的现代数字集成电路设
计技术面向的是系统的功能设计( Logic
Oriented)。 理论工作的贡献在布尔代数上得
到了巨大的体现。如果没有布尔代数,今天我
们赖以生存的集成电路工业也就失去了它的理
论基础。但是这一高度抽象并在过去几十年中
为集成电路技术的发展作出关键作用的理论,
在集成电路工艺跨入深亚微米之后显出明显的
不足,因为它无法描述连线延迟对电路功能的
影响。
? 连线延迟在深亚微米集成电路中对信号的传输
起主导作用,这意味着一个逻辑概念上正确的
电子器件网络会由于连线延迟的影响而变得不
正确了。在实际工作中,这种连线延迟主导系
统延迟的现象导致了设计迭代的出现。所谓设
计迭代( Design Iteration) 就是指集成电路的
逻辑设计完成之后由于布局布线带来的连线延
迟导致逻辑功能失常,从而需要对电路的逻辑
功能重新进行设计的活动。设计迭代会引起设
计工作的不收敛,导致设计周期长,所设计的
产品错过市场窗口,丧失市场机遇,从而使整
个工作失败。
? 希望在设计的初期或尽可能早的时候就设法获
得有关互连线的信息。由于现行的设计方法所
依赖的理论基础是布尔代数,而布尔代数又无
法描述有关互连线的特性,所以设计者只能在
现行的逻辑设计之外去寻找其它的方法。一个
典型的作法就是采用所谓布图规划
( Floorplanning)。
? 布图规划技术的核心是, 先定系统布局,再做
逻辑设计,,显然布图规划在理论上与现行的
逻辑设计思路不是一个统一体,是一种补救的
措施。尽管如此,在集成电路尚未进入超深亚
微米之前,它是一个有效的方法。采用布图规
划很大程度上降低了出现设计迭代的风险,减
少了设计迭代的次数。
? 弱点,
? 首先,系统设计的优化程度有赖于系统划分。
在系统设计的初期缺乏足够的可用信息的条件
下要进行系统划分,所依赖的只能是设计人员
对系统功能的有限了解和在以前工作中积累的
经验。影响系统划分质量好坏的主观因素将大
于客观因素。
? 其次,子系统的设计由于受到了具体的物理
限制,等于设计过程多了一些约束。当约束
的选取不那麽合理的时候,要找到一个符合
约束条件的优化设计结果是费力的且不容易
的。这也意味着设计迭代仍然存在于设计活
动当中,只不过表现在比较高的层次、表现
形式不同罢了 。
? 第三,布图规划要涉及的内容虽然是一些矩形
几何图形在一个有限空间的排列组合,但实际
上,在考虑了众多的边界参数后,可以被归结
成为一个, NP完全, ( NP-Complete) 的数学
难题。这意味着获得一个最优结果所需付出的
代价将以指数方式增长。
? 最后,布图规划虽然在深亚微米集成电路设计
中被广泛采用,但是在理论上是先天不足、有
缺陷的。既然基本理论有缺陷和不完善的地方,
那麽就不应该期望按照现行的思路会取得突破
性或革命性的进展。也可以这样认为:在基本
理论没有重大突破或出现新的相关数学理论之
前,深亚微米集成电路设计将一直是设计人员
必须面对的挑战。
? 信号完整性
在超深亚微米集成电路设计技术的研究中,除
了要克服由于连线延迟引起的设计迭代之外,
设计人员还要克服由于特征尺寸缩小后,信号
延迟变小,工作频率提高带来的所谓信号完整
性的问题。
特征尺寸与芯片内部工作频率
150M H z
0.8 μ 0.5 μ 0.35 μ 0.25 μ 0.18 μ 0.12 μ 0,08 μ
10G H z
4G H z
1G H z
500M H z
350M H z
200M H z
线间信
号干扰
? 在芯片内部工作频率提高的同时,由于集成度
的大幅度上升,单个芯片中连线长度也随之大
幅度升高。当连线长度达到波长的几倍时,连
线将成为向外界发射电磁波的天线,同样这些
连线也会成为接收电磁波的天线。信号的完整
性将成为设计者面对的另外一个严重的挑战。
所以传统的基于布尔代数的数字集成电路设计
理论必须要从简单的面向逻辑,转向吸引其它
相关领域的理论,形成新的理论体系。
( 六) SOC设计中的低功耗设计问题
SOC的低功耗设计包含两方面的内容,硬件的
低功耗和软件的低功耗设计。
硬件低功耗设计两条途径,对一个已有的电路
系统进行功耗分析,找出功耗的分布情况并采
取必要的手段,如关断时钟( Clock Gating)
等,以降低系统的开关功耗。在电路系统的设
计过程中避免生成高功耗的电路架构。
软件的低功耗设计,是 SOC设计的一个重
要的新课题,由于软件的运行要依赖于硬件系
统。软件的无效运行将导致硬件的无效动作,
从而引起功耗的无谓增加。虽然可以通过在硬
件系统中根据需要设计必要的休眠( Standby)
装置并由软件加以控制以减少这些功耗,但是
如果一个 SOC需要片上操作系统( Chip
Operating System,简称 COS) 时,就要平衡
COS,应用程序( Application Program) 和硬件
三者之间对功耗的影响,其复杂度显然较之单
纯的考虑硬件的功耗要高得多。
系统集成芯片设计方法学发展方向
系统集成芯片设计方法学在深度和广度上比前
面几十年出现的其它集成电路设计方法学,如
计算机辅助设计( Computer Aided Design,简
称 CAD),计算机辅助工程( Computer Aided
Engineering,简称 CAE) 及电子设计自动化
( Electronic Design Automation,简称 EDA) 都
要大得多。
? 首先,是理论问题。尽管在 CAD和 EDA诞生的
时候都曾遇到过理论问题并产生了理论创新。
但是集成电路,特别是数字电路的基础理论已
经存在很长时间。换句话说,没有根本数学理
论上的困难。今天则不同,SOC的设计者实际
上面临着基础理论的危机。更严重的是面对这
个危机无论是学术界还是工业界尚无有效的对
策,前景不容乐观。
? 其次,SOC的主要特征是在单个芯片上集成一
个系统。对系统知识的要求和对系统的了解和
把握成为设计人员要克服的众多难题中最困难
的一个。即懂芯片设计又拥有系统知识的复合
型人才的培养不仅需要大量的资金,更需要时
间和实际的锻炼。
? 第三,产品形态发生了很大的变化。传统的集
成电路产品在形态上比较单一,无论对产品的
开发者还是对使用者来说都比较简单。一个
SOC产品要提供的不仅是芯片本身,还是提供
与其配套的软件开发系统,更重要的是提供服
务。
? 最后,SOC已不再是一个简单的技术问题,而
且成为一个社会问题。它引发的也不再仅仅是
经济上的纠纷,而且涉及知识产权保护,社会
伦理道德和意识形态等一系列课题。所以不应
该简单地从技术的角度去考虑 SOC技术的发展,
更应从经济和社会等上层建筑领域去探索。