SoC应用处理

来源:百度文库 编辑:神马文学网 时间:2024/04/27 13:55:27
深入介绍一下CPU的原理
作者:未知   时间:2006-02-27 21:19:01  来自:  浏览次数:903  文字大小:【www.ednchina.com  浏览次数:903  文字大小:【www.ednchina.com  浏览次数:903  文字大小:【www.ednchina.com  浏览次数:903  文字大小:【www.ednchina.com  浏览次数:903  文字大小:【大】【大】【中】【小】
随着去年AMD Athlon的推出,两大CPU厂商Intel和AMD之间的竞争愈演愈烈,几乎每个月都有新的CPU推出,各个媒体和网上也充斥着各种各样的评测性文章。
但是,现在我要问一句:“什么是CPU?”我相信大多数人并不知道什么是CPU。当然,你可以回答CPU是中央处理器,或者来一句英文:Central Processing Unit。是的,没错。但,RISC和CISC是什么?什么是“9路超标量设计”、“20级流水线”?什么是“解码”,为什么Athlon和PIII的解码过程需要的时钟周期大大大于其他的RISC处理器?这些都不是一句“中央处理器”所能够回答的。
本文希望以比较通俗的语言深入介绍一下CPU的原理。
一、 指令系统
要讲CPU,就必须先讲一下指令系统。指令系统指的是一个CPU所能够处理的全部指
令的集合,是一个CPU的根本属性。比如我们现在所用的CPU都是采用x86指令集的,他们都是同一类型的CPU,不管是PIII、Athlon或Joshua。我们也知道,世界上还有比PIII和Athlon快得多的CPU,比如Alpha,但它们不是用x86指令集,不能使用数量庞大的基于x86指令集的程序,如Windows98。之所以说指令系统是一个CPU的根本属性,是因为指令系统决定了一个CPU能够运行什么样的程序。
所有采用高级语言编出的程序,都需要翻译(编译或解释)成为机器语言后才能运行,这些机器语言中所包含的就是一条条的指令。
1、 指令的格式
一条指令一般包括两个部分:操作码和地址码。操作码其实就是指令序列号,用来告诉CPU需要执行的是那一条指令。地址码则复杂一些,主要包括源操作数地址、目的地址和下一条指令的地址。在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。
举个例子吧,某个指令系统的指令长度为32位,操作码长度为8位,地址长度也为8位,且第一条指令是加,第二条指令是减。当它收到一个“00000010000001000000000100000110”的指令时,先取出它的前8位操作码,即00000010,分析得出这是一个减法操作,有3个地址,分别是两个源操作数地址和一个目的地址。于是,CPU就到内存地址00000100处取出被减数,到00000001处取出减数,送到ALU中进行减法运算,然后把结果送到00000110处。
这只是一个相当简单化的例子,实际情况要复杂的多。
2、 指令的分类与寻址方式
一般说来,现在的指令系统有以下几种类型的指令:
(1)算术逻辑运算指令
算术逻辑运算指令包括加减乘除等算术运算指令,以及与或非异或等逻辑运算指令。现在的指令系统还加入了一些十进制运算指令以及字符串运算指令等。
(2)浮点运算指令
用于对浮点数进行运算。浮点运算要大大复杂于整数运算,所以CPU中一般还会有专门负责浮点运算的浮点运算单元。现在的浮点指令中一般还加入了向量指令,用于直接对矩阵进行运算,对于现在的多媒体和3D处理很有用。
(3)位操作指令
学过C的人应该都知道C语言中有一组位操作语句,相对应的,指令系统中也有一组位操作指令,如左移一位右移一位等。对于计算机内部以二进制不码表示的数据来说,这种操作是非常简单快捷的。
(4)其他指令
上面三种都是运算型指令,除此之外还有许多非运算的其他指令。这些指令包括:数据传送指令、堆栈操作指令、转移类指令、输入输出指令和一些比较特殊的指令,如特权指令、多处理器控制指令和等待、停机、空操作等指令。
对于指令中的地址码,也会有许多不同的寻址(编址)方式,主要有直接寻址,间接寻址,寄存器寻址,基址寻址,变址寻址等,某些复杂的指令系统会有几十种甚至更多的寻址方式。
3、 CISC与RISC
CISC,Complex Instruction Set Computer,复杂指令系统计算机。RISC,Reduced Instruction Set Computer,精简指令系统计算机。虽然这两个名词是针对计算机的,但下文我们仍然只对指令集进行研究。
(1)CISC的产生、发展和现状
一开始,计算机的指令系统只有很少一些基本指令,而其他的复杂指令全靠软件编译时通过简单指令的组合来实现。举个最简单的例子,一个a乘以b的操作就可以转换为a个b相加来做,这样就用不着乘法指令了。当然,最早的指令系统就已经有乘法指令了,这是为什么呢?因为用硬件实现乘法比加法组合来得快得多。
由于那时的计算机部件相当昂贵,而且速度很慢,为了提高速度,越来越多的复杂指令被加入了指令系统中。但是,很快又有一个问题:一个指令系统的指令数是受指令操作码的位数所限制的,如果操作码为8位,那么指令数最多为256条(2的8次方)。
那么怎么办呢?指令的宽度是很难增加的,聪明的设计师们又想出了一种方案:操作码扩展。前面说过,操作码的后面跟的是地址码,而有些指令是用不着地址码或只用少量的地址码的。那么,就可以把操作码扩展到这些位置。
举个简单的例子,如果一个指令系统的操作码为2位,那么可以有00、01、10、11四条不同的指令。现在把11作为保留,把操作码扩展到4位,那么就可以有00、01、10、1100、1101、1110、1111七条指令。其中1100、1101、1110、1111这四条指令的地址码必须少两位。
然后,为了达到操作码扩展的先决条件:减少地址码,设计师们又动足了脑筋,发明了各种各样的寻址方式,如基址寻址、相对寻址等,用以最大限度的压缩地址码长度,为操作码留出空间。
就这样,慢慢地,CISC指令系统就形成了,大量的复杂指令、可变的指令长度、多种的寻址方式是CISC的特点,也是CISC的缺点:因为这些都大大增加了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升早已不及在解码上浪费点的时间。除了个人PC市场还在用x86指令集外,服务器以及更大的系统都早已不用CISC了。x86仍然存在的唯一理由就是为了兼容大量的x86平台上的软件。
(2)RISC的产生、发展和现状
1975年,IBM的设计师John Cocke研究了当时的IBM370CISC系统,发现其中占总指令数仅20%的简单指令却在程序调用中占了80%,而占指令数80%的复杂指令却只有20%的机会用到。由此,他提出了RISC的概念。
事实证明,RISC是成功的。80年代末,各公司的RISC CPU如雨后春笋般大量出现,占据了大量的市场。到了90年代,x86的CPU如pentium和k5也开始使用先进的RISC核心。
RISC的最大特点是指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。由于下文所讲的CPU核心大部分是讲RISC核心,所以这里就不多介绍了,对于RISC核心的设计下面会详细谈到。
RISC目前正如日中天,Intel的Itanium也将最终抛弃x86而转向RISC结构。
二、CPU内核结构
好吧,下面来看看CPU。CPU内核主要分为两部分:运算器和控制器。
(一) 运算器
1、 算术逻辑运算单元ALU(Arithmetic and Logic Unit)
ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。
通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(Integer Execution Unit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。
2、 浮点运算单元FPU(Floating Point Unit)
FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。
3、通用寄存器组
通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。
在通用寄存器的设计上,RISC与CISC有着很大的不同。CISC的寄存器通常很少,主要是受了当时硬件成本所限。比如x86指令集只有8个通用寄存器。所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。而RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。
对于x86指令集只支持8个通用寄存器的缺点,Intel和AMD的最新CPU都采用了一种叫做“寄存器重命名”的技术,这种技术使x86CPU的寄存器可以突破8个的限制,达到32个甚至更多。不过,相对于RISC来说,这种技术的寄存器操作要多出一个时钟周期,用来对寄存器进行重命名。
4、 专用寄存器
专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。
(二) 控制器
运算器只能完成运算,而控制器用于控制着整个CPU的工作。
1、 指令控制器
指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU或FPU)来执行,同时还要形成下一条指令的地址。
2、 时序控制器
时序控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是CPU的主频;而倍频定义单元则定义了CPU主频是存储器频率(总线频率)的几倍。
3、 总线控制器
总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等等。
4、中断控制器
中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。
(三) CPU核心的设计
CPU的性能是由什么决定的呢?单纯的一个ALU速度在一个CPU中并不起决定性作用,因为ALU的速度都差不多。而一个CPU的性能表现的决定性因素就在于CPU内核的设计。
1、超标量(Superscalar)
既然无法大幅提高ALU的速度,有什么替代的方法呢?并行处理的方法又一次产生了强大的作用。所谓的超标量CPU,就是只集成了多个ALU、多个FPU、多个译码器和多条流水线的CPU,以并行处理的方式来提高性能。
超标量技术应该是很容易理解的,不过有一点需要注意,就是不要去管“超标量”之前的那个数字,比如“9路超标量”,不同的厂商对于这个数字有着不同的定义,更多的这只是一种商业上的宣传手段。
2、流水线(Pipeline)
流水线是现代RISC核心的一个重要设计,它极大地提高了性能。
对于一条具体的指令执行过程,通常可以分为五个部分:取指令,指令译码,取操作数,运算(ALU),写结果。其中前三步一般由指令控制器完成,后两步则由运算器完成。按照传统的方式,所有指令顺序执行,那么先是指令控制器工作,完成第一条指令的前三步,然后运算器工作,完成后两步,在指令控制器工作,完成第二条指令的前三步,在是运算器,完成第二条指令的后两部……很明显,当指令控制器工作是运算器基本上在休息,而当运算器在工作时指令控制器却在休息,造成了相当大的资源浪费。解决方法很容易想到,当指令控制器完成了第一条指令的前三步后,直接开始第二条指令的操作,运算单元也是。这样就形成了流水线系统,这是一条2级流水线。
如果是一个超标量系统,假设有三个指令控制单元和两个运算单元,那么就可以在完成了第一条指令的取址工作后直接开始第二条指令的取址,这时第一条指令在进行译码,然后第三条指令取址,第二条指令译码,第一条指令取操作数……这样就是一个5级流水线。很显然,5级流水线的平均理论速度是不用流水线的4倍。
流水线系统最大限度地利用了CPU资源,使每个部件在每个时钟周期都工作,大大提高了效率。但是,流水线有两个非常大的问题:相关和转移。
在一个流水线系统中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关。以上面哪个5级流水线为例,当第二条指令需要取操作数时,第一条指令的运算还没有完成,如果这时第二条指令就去取操作数,就会得到错误的结果。所以,这时整条流水线不得不停顿下来,等待第一条指令的完成。这是很讨厌的问题,特别是对于比较长的流水线,比如20级,这种停顿通常要损失十几个时钟周期。目前解决这个问题的方法是乱序执行。乱序执行的原理是在两条相关指令中插入不相关的指令,使整条流水线顺畅。比如上面的例子中,开始执行第一条指令后直接开始执行第三条指令(假设第三条指令不相关),然后才开始执行第二条指令,这样当第二条指令需要取操作数时第一条指令刚好完成,而且第三条指令也快要完成了,整条流水线不会停顿。当然,流水线的阻塞现象还是不能完全避免的,尤其是当相关指令非常多的时候。
另一个大问题是条件转移。在上面的例子中,如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行那一条指令?这时就必须等第一条指令的判断结果出来才能执行第二条指令。条件转移所造成的流水线停顿甚至比相关还要严重的多。所以,现在采用分支预测技术来处理转移问题。虽然我们的程序中充满着分支,而且哪一条分支都是有可能的,但大多数情况下总是选择某一分支。比如一个循环的末尾是一个分支,除了最后一次我们需要跳出循环外,其他的时候我们总是选择继续循环这条分支。根据这些原理,分支预测技术可以在没有得到结果之前预测下一条指令是什么,并执行它。现在的分支预测技术能够达到90%以上的正确率,但是,一旦预测错误,CPU仍然不得不清理整条流水线并回到分支点。这将损失大量的时钟周期。所以,进一步提高分支预测的准确率也是正在研究的一个课题。
越是长的流水线,相关和转移两大问题也越严重,所以,流水线并不是越长越好,超标量也不是越多越好,找到一个速度与效率的平衡点才是最重要的。
三、CPU的外核
1、解码器(Decode Unit)
这是x86CPU才有的东西,它的作用是把长度不定的x86指令转换为长度固定的类似于RISC的指令,并交给RISC内核。解码分为硬件解码和微解码,对于简单的x86指令只要硬件解码即可,速度较快,而遇到复杂的x86指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。好在这些复杂指令很少会用到。
Athlon也好,PIII也好,老式的CISC的x86指令集严重制约了他们的性能表现。
2、一级缓存和二级缓存(Cache)
以及缓存和二级缓存是为了缓解较快的CPU与较慢的存储器之间的矛盾而产生的,以及缓存通常集成在CPU内核,而二级缓存则是以OnDie或OnBoard的方式以较快于存储器的速度运行。对于一些大数据交换量的工作,CPU的Cache显得尤为重要。
好了,看到了吧,CPU其实也就这样,并不是很神秘。这篇文章的所有内容都不针对某一种CPU,而是适合于任何CPU,是一些最基本的CPU原理,希望能够对你有所帮助。
SoC片上总线综述
作者:田泽,张怡浩   时间:2006-01-16 22:25:37  来自:  浏览次数:904  文字大小:【网上转载  浏览次数:904  文字大小:【网上转载  浏览次数:904  文字大小:【网上转载  浏览次数:904  文字大小:【网上转载  浏览次数:904  文字大小:【大】【大】【中】【小】
简   介:随着以IP核复用为基础的SoC设计技术的发展,工业界及研究组织积极从事相关IP互联标准方案的制定工作,从目前的研究和发展看,影响力较大的有IBM公司的CoreConnect、ARM公司的AMBA 和Silicore Corp公司的Wishbone。基于现有IP互联接口标准技术的发展现状,本文对这三种SoC总线技术进行了详细介绍。
1 引言
传统的IC设计方法已无法适应新的SoC设计要求,需要根本的变革,即从以功能设计为基础的传统IC设计流程转变到以功能整合为基础的SoC设计全新流程。SoC设计以IP的设计复用和功能组装、整合来完成。SoC设计的重点为系统功能的分析与划分、软硬件功能的划分、IP的选择与使用、多层次验证环境和外界设计咨询服务等。
随着以IP核复用为基础的SoC设计技术的发展,如何有效地对众多IP供应商提供IP核,在实际设计时进行有效互联的问题日益受到重视。为了使IP核集成更快速、更方便,缩短进入市场的时间,迫切需要一种标准的互联方案。
在这一背景下产生的片上总线OCB(on-chip bus)技术,基于IP核互联标准技术的发展,目前已形成较有影响力的三种总线标准为:IBM公司的CoreConnect,ARM公司的AMBA(Advanced Microcontroller Bus Architecture)和Silicore Corp公司的Wishbone。本文对这三种总线标准进行了详细介绍。
2 CoreConnect总线
CoreConnect拥有完备的一整套技术文档,在技术上可行性较强。IBM 公司的CoreConnect连接总线还提供了三种基本类型连接功能块,即处理器内部总线PLB(Processor Local Bus)、片上外围总线OPB(On-ChipPeripheral Bus)和设备控制总线DCR(Device Control Register)。CoreConnect总线的逻辑结构如图1所示,它清楚地定义了所有的系统构成部件以及它们是如何连接的,下面分别介绍PLB、DCR和OPB的主要技术特征。

2.1 PLB
PLB标准是为总线传输的主要发出者和接受者之间提供高带宽、低延迟的连接。其主要特征为:
● 高性能处理器内部总线;
● 交叠的读和写功能(最快每周期两次传输);
● 支持分段传输;
● 地址流水(减少延迟);
● 读和写分开;
● 32~64位数据总线;
● 32位地址空间;
● 支持16~64字节突发传输模式;
● 支持字节使能(非对准和3字节传输);
● 支持仲裁、REQ、GNT和LOCK;
● 延迟和隐藏仲裁(减少延迟);
● 4级仲裁优先权;
● 特殊DMA(Direct Memory Access)模式,如快速的从内存到内存;
● 地址和数据状态扼制(Address and data phase throttling);
● 延迟计数器(保证保持延迟到预想的程度)。
2.2 OPB
OPB标准为连接具有不同的总线宽度及时序要求的外设和内存提供了一条途径,并尽量减小对PLB性能的影响。其主要特性如下:
● 片上外围总线;
● 多个主设备;
● 32位地址空间;
● 读和写数据总线分开;
● 8~32位数据总线;
● 动态总线宽度;
● 支持重试模式(如果主设备要求的从设备忙,主设备隔一段时间再次请求);
● 支持突发(burst)传输模式;
● 支持DMA;
● 设备可以是内存映射(支持DMA);
● 检测总线超时功能(在仲裁器中);
● 支持仲裁、REQ、GNT和LOCK。
2.3 DCR
设备控制寄存器总线DCR是用来规范CPU通用寄存器设备,控制寄存器之间传输数据。DCR总线在内存地址映射中取消了配置寄存器,减少取操作,增加处理器内部总线的带宽。其主要特征如下:
● 10位地址总线;
● 32位数据总线;
● 同步和异步的传输;
● 分布式结构。
CoreConnect是一套精心设计和构造完整、通用的解决方案,可以应用在类似于工作站这样的高性能系统的连接,对于简单的嵌入式应用来说可能有点太复杂,提供的许多特性无法用到,但可以适应于未来更庞大、更复杂的系统连接。
3 AMBA总线
先进的微控制器总线体系结构AMBA规范定义了三种总线:
(1)AHB(Advanced High-performance Bus):用于连接高性能系统模块。它支持突发数据传输方式及单个数据传输方式,所有时序参考同一个时钟沿;
(2)ASB(Advanced System Bus):用于连接高性能系统模块,它支持突发数据传输模式;
(3)APB(Advance Peripheral Bus):是一个简单接口支持低性能的外围接口。
一个典型的基于AMBA的微控制器同时集成 AHB(或ASB)和APB接口,如图2所示。ASB总线是旧版的系统的总线,而新版的AHB总线增强了对性能、综合及时序验证的支持。APB总线通常用作的局部的第二总线,作为AHB或ASB上的单个从属模块。

根据AMBA的规范,连接AHB/ASP和APB的APB桥的唯一功能是提供更简单的接口。任何由低性能外围设备产生的延迟会由连接高性能(AHB/ASP)总线的桥反映出来。桥本身仿佛是一个简单APB总线的主设备,它访问与之相连的从设备,并且通过高性能总线上控制信号的子集控制它们。下面给出AHB、ASP和APB的主要特征。
3.1 AHB
AHB是先进的系统总线。它主要的目的就是连接共性能、高吞吐率的设备,例如CPU、DMA和DSP。它的主要特性:
● 高性能新一代总线;
● 多控制器;
● 分段传输;
● 单周期总线控制权移交;
● 没有三态实现方式;
● 32~128位总线宽;
● 包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等;
● 突发传输模式最大为16节;
● 访问空间限制在32位;
● 提供为较慢设备使用而扼制数据流的机制;
● 支持仲裁、REQ、GNT和LOCK;
● 支持字节、半字和字传输。
AHB总线和ASB总线有下列不同的特点:
● AHB总线支持分开处理。有很长响应延迟的从机在准备传输的数据时让出总线从事其它传送操作;
● 使用单一时钟沿控制所有操作,有利于综合和设计验证(通过使用静态时序分析和其他相似工具);
● 使用中心多路器总线方案而不是三态驱动的双向总线;
● 支持更宽的64位或128位数据总线配置。
3.2 ASP
ASP是通用系统总线,是一种微处理器和系统外设的高性能互连,主要特征如下:
● 多控制器;
● 突发数据传输方式;
● 流水线传送;
● 32-128位总线宽度;
● 包含一种访问保护机制,用来区别特权访问和无特权访问模式,或指令和数据提取等;
● 双向数据总线;
● 提供为较慢设备使用而扼制数据流的机制;
● 仲裁支持REQ、GNT和LOCK。
3.3 APB
APB是外围互联总线,重点是最小功耗和易于使用,主要特征如下:
● 低性能、低功率外围总线;
● 单控制器;
● 非常简单,只有4个控制信号(加上时钟和复位);
● 32位地址空间;
● 多达32位数据总线;
● 分开读和写数据总线。
AMBA是一种基本的SoC总线,它分成三种总线。根据需要,系统设计者必须选择对接三种总线中的哪一种。一个高性能设备可能选择AHB或 ASP总线,这将给IP核集成者带来困难,因为两种总线都试图访问同一类型的设备。还没有明确的办法将设备与AHB和ASP总线集成。APB桥似乎不但不会提供任何好处,而且会限制连接在上面的高性能总线。所有三种总线都包含一个地址状态和一个或多个数据状态。
4 Wishbone总线
Wishbone总线是Silicore公司推出的片上总线协议。它的结构极其简单、灵活,又完全公开、完全免费,获得众多支持。图3给出了Wishbone 总线的逻辑结构:

Wishbone总线的主要特征概括如下:
● 所有应用使用一个总线体系结构;
● 简单、紧凑的体系结构;
● 支持多控制器;
● 64位地址空间;
● 8~64位数据总线(可扩展);
● 单周期读和写;
● RMW(READ-MODIFY-WRITE)周期;
● 事件周期;
● 支持重试;
● 支持内存映射,FIFO(FISRT IN FIRST OUT)和十字互连接口;
● 提供为较慢设备使用而扼制数据流的机制;
● 使用者定义标志为,确定数据传输类型;
● 由终端用户定义仲裁方式。
Wishbone总线采用握手协议。当MASTER准备好传输数据时置STB_O为高,STB_O将保持高状态直到SLAVE将ACK_I、ERR_I或RTY_I之一置为高,数据传输周期结束。这种机制下,MASTER和SLAVE均可控制数据传输速率。其握手时序如图4。

Wishbone总线有四种将MASTER与SLAVE连接在一起方式,分别为点对点、数据流、共享总线和十字互连。其中点对点方式可以最简单地将一个MASTER与一个SLAVE相连;数据流方式可以实现数据传输的流水;共享总线方式将多个MAS TER和SLAVE相连,不过任何时刻只能有一个MASTER占据总线;十字互连则可实现多个MAS TER和多个SLAVE之间同时传输数据。图5给出了采用点对点互联方式的Wishbone总线主从接口。

Wishbone有三种数据传输方式,分别为单读写、块读写和RMW(READ-MODIFY-WRITE)。其中单读写为最简单。图6给出了单读周期的时序。
为了更直观地了解Wishbone总线接口连接如何简单、灵活,图7给出了8位SLAVE的输出端口图。

Wishbone只定义了一种高速总线,在既需要高速总线又需要低速总线的系统中,提供了两Wishbone接口,比起设计两个不同的接口要简单得多。
5 总结
在以上介绍的三种总线中,CoreConnect虽免费不过需要IBM公司许可,ARM没有明确的正式说法,可能也会免费,而Wishbone是绝对免费的。三种总线都是同步的总线,使用时钟上升沿驱动和采样信号。总线的基本操作几乎没有区别,最大的区别在于提供的特性和规范的完整性。
CoreConnect和AMBA都给设计者提供了一种系统总线的选择。系统集成设计者当试图连接为不同连接设计的设备时会遇到问题,在建立全面完整的系统时需要桥。而在Wishbone中,所有的IP核都连接在同一标准接口上。系统设计者可以选择在一个微处理器核上实现两个接口,一个给高速低延迟设备,一个给低速低性能设备。
综上所述,我们认为采取Wishbone作为IP核的基本互联的接口标准更便于设计,它的信号十分直接,如果需要可以很容易被其它接口所采用。 Wishbone总线完全公开、完全免费,易于推广,当然一个规范能否成为行业标准,除了本身的技术特性外,还要看是否被业界接受。
Wishbone已被OPENCORE联盟采用,并且有可能成为IEEE标准。因此,Wishbone总线从技术上讲简单、灵活、功能强大及易于移植,从经济角度考虑又全部免费,易于全面推广。我们认为它极有可能成为未来SoC片上总线的通用标准,其前景看好。
片上系统的总线结构发展现状及前景
作者:未知   时间:2006-01-16 22:22:23  来自:  浏览次数:625  文字大小:【单片机及嵌入式系统应用  浏览次数:625  文字大小:【单片机及嵌入式系统应用  浏览次数:625  文字大小:【单片机及嵌入式系统应用  浏览次数:625  文字大小:【单片机及嵌入式系统应用  浏览次数:625  文字大小:【大】【大】【中】【小】
简   介:片上系统已经成为半导体工业的热点,而开放知识产权的片上系统设计正在走向实用阶段。本文简要介绍开放知识产权的总线设计结构,对比它们之间的异同;说明现在各总线结构存在的问题并对发展前景进行了展望。
引 言
片上系统是在单芯片上实现全部电子系统的集成,通过使多个设备集成在一个芯片上,实现系统级的功能,减少甚至不再需要外部器件的使用,达到应用功能的快速实现、灵活修改及方便升级。进行片上系统设计时,首先要考虑的问题是系统的体系结构。为了提高开发模块的重复利用率,降低开发成本,用户采用了片上系统(芯片内部)总线。与芯片间总线(如SPI、I2C、UART、并行总线)、板卡间总线(ISA、PCI、VME)、设备间总线(USB、1394、RS232)不同的是,片上系统总线为用户提供了一个堪称“理想”的环境:片上系统模块间不会面临干扰、匹配等传统问题;但是片上系统的时序要求异常严格。
由于OpenCore和其它致力于开放知识产权(Open Intellectual Property)的组织的大力推广(开发设计了大量基于标准化片上总线的免费模块),用户在片上系统总线的选择上更倾向于采用那些标准化、开放化的方案。目前,业界采用比较多的标准化、开放化的总线方案包括:IBM 公司的CoreConnect、ARM的AMBA和Silicore公司的Wishbone。
1 三种总线的逻辑结构图及描述
1.1 IBM CoreConnect综述
图1是CoreConnect的逻辑总线结构图。

从图1可以看到CoreConnect定义了一个清晰的结构,囊括了所有系统组件和它们之间的连接。它一共设计了3种总线和1个高性能总线与低性能总线连接的桥,分别是OPB、PLB、DCR总线和OPB桥。OPB总线连接外部设备;PLB总线连接处理器、外部高速缓存和高速存储器,是解决处理器运算瓶颈的总线;DCR总线将所有连接在PLB上的模块通过雏菊花环的方式进行互联配置,通过它来分配配置信息,减少对OPB和PLB总线的带宽占用;OPB桥实现了PLB总线和OPB总线的互联。因为PLB和OPB的性能差异,所以设计中OPB桥在OPB总线端相当于一个主OPB设备,而在PLB总线端则相当于一个从PLB设备。这样在从PLB设备发出信号时,主OPB设备就根据它的可接收情况进行分拆、重发等等。
1.2 ARM的AMBA综述
图2是AMBA的逻辑总线结构图。

从图2可以看到,AMBA也设计了3种总线结构和1个总线之间的桥。不同的是,AHB/ASB总线是并列的关系。AHB/ASB总线都是系统总线,都可以实现与高性能设备的高速连接。ASB总线是ARM的第一代系统总线,但是ARM还是建议在新的设计中使用AHB总线。这不仅因为AHB可以实现更高性能的连接,而且由于AHB在使用ASIC开发的自动设计工具中整合起来更容易。APB桥的功能只是减少低性能总线对高性能总线造成的延迟。
1.3 Silicore的Wishbone综述
图3是Wishbone的逻辑总线结构图。

图3中Wishbone的逻辑结构是这三种总线结构中最简单的一种,而且它只定义了一种总线结构——高速总线。如果一个系统既需要高速,也需要低速外部设备总线,则可以提供两个不同的Wishbone接口。这样要比设计两个不同的总线接口简单。Wishbone的用户必须根据具体情况对协议标准进行扩展和详细设计,定义数据顺序和标签的意义。其它的特性和函数同样也可以由用户自行添加。从这个意义上说,Wishbone更像是给出了一个框架,等待用户提出具体的实现方法和规范。
2 分析和对比
所有这三种总线都采用完全同步的方式,以时钟信号为参考,在时钟信号上升沿进行数据驱动或采样。此外,它们在总线操作方式上也基本相同。三种总线最显著的不同之处在于它们具体的性能参数、提供协议的完整性以及对协议应用的严格性。

表1主要对CoreConnect的PLB总线和AMBA的ASP总线结构作一对比,以便更清楚地看到这两个系统的性能差别。
还有一个很重要的问题是如何使用。虽然三种总线都声明是免费使用的,但是IBM的CoreConnect和ARM的AMBA都要求用户注册,使用中要标明原公司出处。更重要的是,对IBM和ARM来说总线是免费的,但是连接这些总线的IP不是免费的。当然可以自己设计符合以上两种总线标准的IP,并免费提供给别人使用,但是IBM和ARM可没有这样做。相反,开放知识产权模块组织(OpenCoreS.ORG)将Wishbone作为自己开发SoC系统采用的总线结构。这在其网站上可以看到。
3 结 论
从这三种结构上我们可以看到,它们的设计程度是重、中、轻三个等级。IBM的CoreConnect是重度设计,适合复杂和高端的应用,需要遵守严格的操作协议;AMR的AMBA 是中度设计,适合较复杂的应用,需要遵守较简单的操作协议;而Wishbone是轻度设计,适合较简单、灵活、增加自己定义部分的应用,使用是完全免费的。
IBM的先天优势使得CoreConnect能在业界长期存在,即便它不被广泛接受。由于ARM的大力推广和AMBA自身的技术特性,这种总线协议会在大多数应用领域被更多的设计者采用;而由于OpenCoreS组织的大力支持,Wishbone总线也将在比较长的时间内,在自由设计者和中小型EDA企业中占据主导地位。
参考文献
1 ARM Corp. AMBA. http://www.arm.com/sitearchitek/armtech.ns4/html/amba?OpenDocument&style=SoC_Customization
2 IBM Corp. CoreConnect. http://www.chips.ibm.com/products/coreconnect/
3 Silicore Corp. WISHBONE. http://www.silicore.net/pdfiles/wishbone.pdf
4 OpenCores.http://www.opencores.org
SoC系统中实时总线模块的设计理念与应用
作者:张聿   时间:2006-01-06 20:41:45  来自:电子工程专辑  浏览次数:389  文字大小:【大】【中】【小】
简   介:SoC中CPU总线一般采用应答机制,是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,因此需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。作者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。
在芯片设计中,芯片内部总线的设计往往决定了芯片的性能、功耗与各模块设计的复杂度。我们设计总线往往会依据两方面的原则:一是芯片设计流程其内在的需求,二是所针对的应用对交换宽带、延时、效率、灵活性的需求。
针对芯片总线设计流程内在的需求,高效总线结构设计通常遵循的基本原则包括:同步设计、可综合、无三态信号、低延时、单触发延、支持多主控及总线仲裁(支持DMA及多CPU核)、高时钟频率独立性、支持突发(高效率)和低门数。遵循这些基本原则可以帮助我们规避很多设计上的风险,提高总线效率与IP复用度。当然,实际上述有些原则如“三态总线”,可以而且应当在某些应用中使用,只是不建议芯片及设计工程师轻易地突破这些规范,增加风险。南山之桥微电子公司在高端芯片设计中使用了三态总线技术来解决超宽总线的布线聚集与时序匹配问题。
应用的需求往往会决定总线的形式,如SoC芯片中往往会采用嵌入式CPU的总线结构。反过来说,我们选用哪一款CPU,除了成本、性能、功耗、快速精确的时序仿真模型、编译环境和可用IP外,还有重要的一点就是其总线设计是否简单、高效与有利于发挥其它设计模块的效率。
图1:帧结构TDM形式时序图。
以现在较流行的ARM处理器来说,采用AMBA总线标准,其中高速芯片通常采用的AHB??B总线有以下几个特质:流水线式、非三态总线、支持多主控、总线仲裁与集中地址译码、应答响应机制(非实时)、支持突发。
总之,AHB总线适宜于发挥CPU的效率,符合高效总线设计的原则,但是其本身也有总线位宽限制(主要是指令集位宽)与SPLIT(切分)选项支持的复杂度。在笔者参与的设计中有一半以上不支持SPLIT选项以降低设计与验证开销,限于篇幅在此不展开阐述。最主要的问题是SoC中CPU总线一般采用应答机制,也就是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,那么就需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。笔者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。例子中实时数据传递采用TDM总线形式(Time Division Multiplexed,时分复用),我们称此模式为TDM模块。
TDM模块设计
TDM模块一端的界面是多路音频信号的输入与输出,另一端是AHB总线,音频数据的输入/输出,通常采用帧结构TDM形式(见图1)。其中,sp_io_xclk代表音频数据采样时钟,sp_io_xfs代表帧同步头,下面两行分别是输出与输入数据。可见,这是一个含帧格式的多通道时分实时数据传输格式。关于AMBA总线,有大量介绍资料,此处不赘述。
在这个模块的设计中,我们考虑了以下几个原则:平滑匹配数据传输速度、低延时与低资源占用(逻辑与存储资源)、高效使用AHB总线宽带、提高CPU处理效率、可靠性与错误处理、可控性与可观性。最基本的思路是:采用FIFO(先入先出)技术暨队列来缓冲数据传输,同时要尽量少缓存数据在队列中,以满足低延时与低资源的占用;同时采用AHB burst模式提高总线利用带宽;最后,还要提供寄存器读写来控制传输参数与状态存储,采用AHB从控模式(Slave)。初步的设计结构如图2。
DMA技术的使用时机
在这个初步设计中,缓存队列的长度计算主要取决于AHB burst的速度与频率。要少缓存数据,就要频繁进行AHB传递,也就是频繁中断CPU,这降低了CPU的处理效率。
图2:TDM模块的初步设计结构。
这看起来是无解的矛盾,我们可以采用DMA(Direct Memory Access,直接存储读写)技术解决。一般SoC芯片都有外接DDR/SDRAM作为最终的数据与程序缓存,TDM模块可以直接向DRAM传输实时数据,而不用频繁地中断CPU,实质上是把片内缓存的需求转移到了片外(假设总线带宽足够),既降低了队列长度又降低了中断CPU的频率,从而解决了这一对矛盾。
DMA技术实质上也是模块主动掌握总线主动权,要求采用AHB总线主控模式,最终框架结构会变成图3所示。
延时与DMA应用的矛盾
细心的读者会发现DMA的采用增加了处理延时,这不是与我们的原则矛盾吗?这里牵涉到对嵌入式CPU中音频处理算法的理解,大多数是音频压缩算法,一般都要求有一定的音频片断长度以保障压缩率与减少CPU中RTOS的调度开销。另外一些音频处理程序如回响消减DSP算法,经常采用64拍有限滤波器处理大于16ms的回响拖尾。另一些高度压缩算法(如以有限激励参数模型为基础的算法)要求对更长的音频片断做处理。所以从算法的角度,SoC系统的音频处理延时理论下限为多算法处理单元的最大值。我们只要保证DMA的传输数据延时小于这个下限就可以了,这样就充分利用了SoC系统的最小延时,进而计算DMA片断的长度也有了依据。
回到队列长度的计算上,我们现在只需要考虑TDM模块得到AHB总线使用权之间的间隙与TDM数据输入的速度差的最坏值就可以了。
图3:最终框架结构图。
队列深度=最长AHB总线获得间隔×TDM输入速率
AHB总线轮询(poll)间隙取决于总线上有几个主控模式模块与仲裁的优先级策略。一般建议实时模块享有较高优先级,当然随之而来的要求是总线申请的频度不能太高。平衡这一对矛盾的解决办法超越本文论述的范畴,读者可以从“固定权重加优先级竞争”的仲裁机制入手来设计AHB总线仲裁器。
动态切换时机与影子寄存器的使用
在实际应用中,我们常常发现帧格式中很多时分信道并没有音频数据,这时就要采用时分掩码来屏蔽这些信道以阻止无效数据占用带宽。问题是时分信通中是否有数据是动态变化的,动态变化的数据要求时分掩码参数也要动态分配。但是怎么切换呢?这里采用“影子寄存器”技术,原理是两套寄存器,一套参数应用于当前帧,另一套应用于下一帧。利用帧同步头的一个时钟周期实时切换。而SoC中的CPU只看到一套寄存器地址,同时配置行为本身放宽了实时要求的限制,实时切换由TDM模块完成,具体图形见图4。
错误的处理--最后一根救命稻草
如大家深知,芯片设计是没有下一次机会的,那么错误的处理就成为了“救命的稻草”。假设TDM模块很久没有得到总线的控制,出现underrun(速率过低)与overrun(速率过高)情况。要采用队列中“high-watermark(高水线)”与“low-watermark(低水线)”技术,在队列接近满与空状态发生前提前预警。预警通常反映了芯片系统中的一些设计问题与当时电压波动、干扰、局部高温等瞬间问题,这时预警信号通常用最高/次高优先级中断发生。ARM CPU本身支持高优先级中断,而我们的队列长度计算现在要重新计算,加上高优先级处理这一段时间,具体的响应时钟周期,读者请查阅相应CPU手册,这也是评价嵌入式CPU与实时操作系统(RTOS)的一项指标。
图4:由TDM模块实现两套寄存器的动态切换时序图。
队列深度=最长AHB总线获得间隔×TDM输入速率+ARM最长中断响应时间×TDM输入速率
本文小结
我们在TDM模块简要设计中,阐述了结合各种基本技术,如从缓存队列到DMA到影子寄存器到动态分配到watermark与利用DSP算法特性,AHB总线特性、帧同步特性以及RTOS特性解决非实时与实时交换、CPU效率与资源占用、延时与DMA配置与动态切换的矛盾,追求最优解决方案的过程与设计思路。
本文并没有给出最初方案的队列计算公式,是因为要考虑的因素过多,从另一个侧面反映了它不是最优方案。好的设计应该是把复杂的需求简单化、模块化,当然实际设计中比这种简化设计要复杂,例如还要解决实时数据传输中双方时钟不同步等问题。但读者只要掌握了基本思路与技术,理解应用特性、CPU特性及RTOS特性与算法,就可举一反三,做出最优的设计。
存储器类型综述及DDR接口设计的实现
作者:Laxmi Vishwanathan   时间:2006-01-16 22:47:28  来自:EDN  浏览次数:740  文字大小:【大】【中】【小】
存储器综述
在过去的数年里,电子市场,确切地说是存储器市场,经历了巨大的变化。在2000年电子工业低迷时期之前,电子系统设计师很少考虑他们下一个设计中元器件的成本,而更关注它们能够达到的最高性能。
今天,竞争的加剧以及利润率的下降迫使系统设计师在降低下一代产品成本的同时,保持、甚至提高系统的性能。作为这种转变的结果,有一个工业部门经历了实质性的增长,它就是DRAM存储器,尤其是双倍数据速率(DDR) SDRAM存储器。
DDR存储器最初是一种高性能、低成本的存储器解决方案,主要用于个人计算机和其它成本敏感的消费品市场。近来,由于施加在整个电子工业上的经济压力,非消费产品也开始采用DDR存储器了(图 1)。

图 1 来源:IC Insights
DDR是一种基于SDRAM的革命性的存储器技术。DDR SDRAM的存取速度是SDRAM的两倍,因为DDR的数据传送发生在时钟的所有两个边沿。而SDRAM仅在时钟的上升沿传送数据。因此,DDR能够传送数据的速度高达2133MB/s。与传统的SDRAM相比,DDR还具有更低的功耗。它的工作电压是直流2.5V,而SDRAM是直流3.3V。
市场分析表明,在当今所有的电子系统中,超过50%采用了DDR存储器,并且预计在接下来的几年中将增长到80%。DDR不是,并且永远也不会是一种针对所有设计的技术。DDR存储器非常适用于那些高读写比率的设计。而诸如四倍数据速率存储器,适用于50%读写比率的应用。图2确定了多种顶尖的存储器技术以及它门各自所属的读/写曲线。

图 2
不同存储器类型的读/写率的比较
如上所述,每个系统有各自独特的存储器要求。在服务器应用的例子中,读写趋于较高的比率,表示需要DDR。在网络处理器与支持大数据包的MAC的接口例子中,在处理之前,这些数据包需要进行缓冲和存储,接近1:1的读写比率,表明QDR是一个合适的存储器结构。
图3展示了一个通用通信线卡印刷电路板的例子。基于系统设计者的要求,这张结构图上指出了在哪里一些通用存储器类型可以被采用。在很多系统中采用了相似的决策过程,从而选择合适的存储器结构。

图 3
下面的目录指出了针对不同的系统和功能的合适的存储器结构。这些选择基于系统结构和各自的性能/成本综合要求。
·查找-快速的开关/访问时间
-临界延时,以读取为导向,较小的总线宽度(32/64位)
-存储器选择:ZBT (<10Gb/s) -> QDR/DDR (>10Gb/s)
-操作: 地址转换
·查找-大型、高吞吐量(核心路由器)
-需要奇偶的:宽的I/O(>64)
-带宽和精度的要求是最重要的
-存储器选择:SDR (<10Gb/s) -> DDR/FCRAM (10Gb/s) -> RLDRAM/DDR II (10Gb/s-40Gb/s)
-操作: 地址转换
·队列/包的管理
-延时 #1,随机读和写-无法预测的数据模式
-存储器选择:ZBT -> QDR
-操作:队列管理和流程控制
·流量整形/管理
-以突发为导向、窄的 I/O总线 (x18/x36)
-存储器选择:ZBT -> QDR
-操作:基于管理的路由表
·统计
-随机读/写,读操作占优势的,窄的 I/O总线 (x18/x36)
-存储器选择:ZBT -> QDR
-操作:为信息包跟踪数据,流量统计
·信息包单元缓冲器
-大的间隔尺度,宽的I/O总线 (>64bit)
-带宽为首要目标
-成本敏感的
-存储器选择:SDR -> DDR/FCRAM->RLDRAM/DDR II
-操作:处理不同尺寸的IP包(128B)
DDR接口设计的实现
至此,我们讨论了不同的存储器结构以及它们适用于系统中的哪些部分。由于DDR在增长着的多种的数字设计中相对较高的认可率,本文剩余的部分将致力于DDR存储器,以及在FPGA中的DDR接口的实现。
在许多系统设计中,工程师将选用FPGA作为存储控制器(图 4)。选用FPGA的优势在于它固有的灵活性。不考虑协议和微处理器,FPGA结构通常能够提供DDR存储控制及其所需的电气接口。采用FPGA作为存储控制器时,一个常见的挑战是高速接口的需求,如同DDR所要求的一样。由于许多FPGA布线资源的不确定性和有限的I/O速度,因此所要求的I/O速度和相关的时钟经常是设计的挑战。当DDR速度高于200Mbps时,诸如温度和电压等环境因素也将影响必需的I/O性能。DDR存储器双倍于标准SDRAM数据率的数据传送能力并不总是福音。DDR I/O的高速度和非常短的DDR数据窗口,形成了重要的挑战。存储控制器可靠地工作所需的速度(200MHz通过FR-4 PCB走线)使得PCB布局成为挑战。而且,将一个DDR接口置入一个灵活的FPGA结构,使得设计者在一个固有的不确定的布线结构中满足极为临界和紧绷的时序的工作变得相对复杂。当试图在FPGA中实现一个高速的DDR接口时,习惯于FPGA的高速和灵活性的设计者经常会惊讶地发现他们有可能遇到了困难。这些困难不是来自功能性的问题,而是来自在FR4和FPGA布线中信号传播速度的数量级下和数据窗口打交道的自然结果。由工艺、温度和电压引起的不同逻辑速度使得这些时序要求更为复杂。与通用时钟信号相比,需要对选通信号进行控制和预处理使得DDR设计的实现进一步复杂化。设计工程师不能再指望简单地将数据和地址线连接起来得到一个可靠的高速存储器接口了。

图4
每一个FPGA供应商都已着手用自己的方法处理DDR存储器接口的问题。一方面,由于I/O块中的资源是有限的,数据多路分解和/或时钟转换逻辑必须在FPGA核心逻辑中实现,设计者可能不得不对接口逻辑进行手工布线以确保临界时序。而另一方面,莱迪思半导体公司最近推出的EC和ECP系列在I/O块中提供了纯粹的硬线接口来处理与DDR接口有关的所有功能和时序问题(包括温度和电压补偿),避免了在FPGA核心布线资源中满足时序要求的问题。后一种方法确保了设计的成功。
鉴于DDR存储器设计的复杂性,详细地考虑这种接口的某些方面是很有裨益的。
DDR SDRAM接口综述
在一个典型的非DDR系统中,无论控制器还是存储器,都用一个单一的系统时钟来发送和捕捉数据(图 5)。设计者渐渐熟悉了这些系统中的时序约束。随着时间的推移,伴随时钟速度的提高,这些约束变得更为苛刻。

图5
下述的同步公共时钟系统的典型时序预算包括:
·存储器访问时间(tAC)
·数据传播延时(tPROP)
·从控制器到存储器的时钟歪斜(tSKEW)
·温度、电压下的数据至时钟的时间
当设计者在这些系统中改用双倍数据速率实现时,系统的位速率增加到了两倍。这实实在在地将数据窗口减小了一半。尽管在老的公共时钟系统中数据窗口有6ns或更长一些,在DDR系统中设计者将面临3ns或更短的数据窗口。速度增加的改进,通常是由设计者所依赖的、来改善性能的、更小尺寸的工艺来取得的,但是它现在已经不足以补偿减半的数据窗口了。更为复杂的是,现在这些时间已经接近信号在FR4和FPGA走线中的传播时间。另外,一个存储周期的时序预算实际上被物理板走线的延时所占用,并且随温度和电压的不同而不同,这个现象没有因硅片尺寸的减小而得到改进。

图6
图6是一个典型的DDR传送过程中的3ns窗口的紧迫的时序。显然当今的存储器访问和传播时间使得在单一时钟控制的数据传送和捕捉系统中的DDR传送成为可能。要一个DDR系统工作,存储器件在同一时刻发送数据使之成为一个有效数据信号的能力是必需的。这将有效地在时序预算中消除存储器访问时间和数据传播时间(选通和数据信号将有相同的传播时间),并极大地拓展有效数据窗口。在拥有同时(tALIGN)发送数据选通和数据的能力下,这种方法仅有的歪斜将是细小而差异有限的(图7)。

图7
一个替代的方法
要实现这种数据传送的方法,DDR SDRAM接口得依靠采用一个叫做DQS的数据选通信号。DQS由一个送入DDR存储器的差分时钟产生,且使用DDR存储器中的一个DLL生成DQS,并使之与输出数据对齐。虽然DDR存储器不用差分输入时钟来发送或捕捉数据,但是所用的DQS信号与输入时钟的频率有关。图8举例说明了基于DQS读的数据窗口的新的时序参数。如上所述,DQS开始与下一个数据(DQ)变为有效之间有一个有限的歪斜。这个"数据有效至数据"对齐的误差称为tDQSQ。这个延时缩小了数据有效窗口。在此系统中,还有一个有限的第一个数据线有效和最后一个数据线有效之间的对齐延时。这个参数称为tQH。通过计算实际的数据有效窗口后,我们得到:
tValid = tQH-tDQSQ

图8 读操作的接口时序要求
但一个读操作实施后,DDR存储器输出互相对齐了的数据和DQS。为了控制器(FPGA)输入寄存器能够以正确的建立和保持时间来捕捉数据,来自存储器的DQS需要移相90度。其结果是DQS的边沿对准数据窗口的中心,提供了最大限度的建立和保持时间。图9说明了所需的DQS相对于数据的移相。

图9
很显然,现在有一个合理的数据窗口用以捕捉数据。
此DQS信号有几个特性:
·DQS是双向的
·产生的一根DQS线用于8根来自DDR存储器的数据线
·DQS相对于数据的相位取决于实施的操作(读或写)
·DQS不可以自由地工作
·在存储器件中,DQS由DLL产生以使其和数据之间的歪斜最小化
·当信号结束三态后,DQS有一个前同步状态,其变为低。
·当返回三态前,DQS有一个后同步状态,其变为低。
图10描述了一个DDR存储器和FPGA控制器及其相关的数据和控制线。请再次注意DQS是双向的。注意提供给存储器的时钟信号是差分的(CLKP和CLKN),以使得工作周期之间的差异最小。理解用于捕捉/发送数据到/来自存储器的并非时钟信号,这一点很重要。DDR存储器还需要一个数据屏蔽(DM)信号,用来在写周期时屏蔽数据位。这样仅允许用一个周期中的两个DQS边沿中的一个来写存储器。

图10 典型的DDR接口
图 11显示了一个DDR接口的写时序。在此,我们关注离开FPGA控制器时的信号。注意FPGA控制器发送与数据窗口中心对齐的DQS。这与前面所提到的来自存储器的边沿对齐的情形不同。还得注意一个要求:所有数据(用于DDR333)必须满足相对于所有DQS边沿的0.45ns的建立和保持时间。

图11 写过程中的DQ-DQS
典型的SDRAM接口实现方式是每个DQS信号控制8、16或32位。注意DQS和数据位的比率独立于存储器总的位宽。一个8位接口将有一个DQS信号。
用FPGA器件实现DDR存储器接口
现在我们已经详细说明了一个典型的DDR接口的要求,我们能够转而在一个FPGA中实现这一DDR存储器接口了。
存储器读的实现
在这里我们将检查一下设计一个读接口要遇到的挑战以及可获取的解决方案。
在存储器读时FPGA遇到的挑战
1.DQS-DQ 的对齐 - 在狭窄的数据有效窗口中,DQS必须重新对齐(移相90度)来捕捉数据。系统歪斜和多个DQ线之间的歪斜必须得到处理。
2.数据多路合成和多路分解 - 在读期间,DDR输入数据必须多路分解成两个SDR流。
时钟域转换 - 数据经多路分解后,它必须和一个公共时钟边沿对齐,然后和一个无关的FPGA系统时钟同步。这个到FPGA时钟域的转换必须考虑DQS选通信号和FPGA系统时钟间的相对相位以避免建立和保持时间的冲突。
解决方案
FPGA包含简化DDR接口的读部分实现的特点。它们包括:
·经DLL补偿的DQS延时单元
·DDR输入寄存器
·半时钟传送寄存器
·自动的DQS到系统时钟域的转换电路
DDR输入电路
一个完整的DDR收发器或者输入接口的实现需要所有上述所列的部件。 图12描述了将所有这些部件连接在一起实现DDR存储器接口读的一个FPGA的实现。

图12 DDR输入电路
DQS延时块接收来自存储器的、经边沿对齐的DQS信号,并且将它移相90度。这个经过移相的DQS信号现在可以被FPGA输入寄存器用来捕捉和多路分解上升和下降沿的数据。注意接下来捕捉上升沿数据的寄存器是一个下降沿触发器。这个半时钟传输寄存器用DQS的下降沿传送来自第一个寄存器的上升沿数据,以使得数据的上升和下降沿部分现在用相同的DQS的下降沿被送到下一级寄存器。最终,最后一级寄存器现在能够用同一个FPGA系统时钟边沿来驱动这两组半个的数据。然而,为了在数据从DQS域转换到FPGA系统时钟域的传送过程中获得最佳的建立和保持时间,这个边沿必须经过仔细的选择。这就是上面所示的时钟边沿多路选择器的用途。这种时钟极性选择的方法在后面详细说明。
最糟糕的细节
这是很重要的一点:请注意与一个高速DDR恢复模块的输入部分中的5个寄存器相关的时序是非常紧迫的。在3纳秒(甚至更小)的建立和保持时间的数据窗口情况下,设计者通常的布线和逻辑延时会压垮系统的时序要求。如果设计要在高速的情况下工作,许多FPGA结构要求设计者手工地对这些寄存器进行布局和布线。即便如此,在工作温度和电压下,设计者仍然难以达到DDR333的速度。
现在莱迪思半导体公司提供在一个硬I/O块(IOB)中集成了所有5个输入寄存器和相关布线的FPGA。这样保证了设计的性能和成功。设计者只需简单地把I/O块和DQS子模块连接起来而得到确保可以工作的接口。
片上的DLL校准
由于时序非常紧迫, DQS延时模块的歪斜和实际的延时必须得到仔细地控制。一个低成本的解决方案可能为DQS延时采用一个开环的固定延时块。然而,这种方案的性能将随温度和电压的变化而变化。这将限制最高可达到的DDR接口速度。在一个更加完整的解决方案中,用一个闭环方法来补偿影响DQS延时块的温度、电压和工艺的差异。该方法采用FPGA中专用的DLL单元,将校准数据(6位总线)送到每个延时单元。更进一步,一个系统有两个DLL,每一个位于器件相对的一边,能够提供相关延时块的更为精准的补偿数据。图13说明了这类系统的DLL补偿方法。这个对齐后的DQS被分配到输入寄存器。每个DQS支持多达8个DQ。

图13 采用片上DLL的DQS对齐
自动的时钟极性控制
在一个典型的DDR存储器接口设计中,经延时的输入DQS选通信号和内部系统时钟(在读周期中)之间的相位关系是未知的。许多FPGA器件将这个问题留给用户解决。LatticeEC系列拥有专用电路来决定这个必要的系统时钟的极性,实现这个选者并且实施这些域之间的数据传送。为了防止在DQS(经延时的)和系统时钟域间转换时建立和保持时间的冲突,采用了一个时钟极性选择器。这需要在每个读周期开始时进行计算来确定正确的FPGA系统时钟极性(图14)。DDR存储器中读操作之前,DQS是三态的(由终端决定)。三态之后,在前同步状态中DDR存储器间把DQS置为低电平。一个专用的电路来检测这种变化并产生一个信号指出FPGA系统时钟所需的极性(DDRCLKPOL)。这个信号用来控制送到同步寄存器的时钟的极性。

图14 自动的时钟极性选择
读时序波形
图15和16展示了基于时钟极性选择逻辑的两种情况下的读数据的传送。

图15 当DDRCLKPOL=0时读数据的传送

图16 当DDRCLKPOL=1时读数据的传送
存储器写的实现
要实现DDR存储器接口的写的部分,两个单数据率的数据流必须先多路合成为一个用两个时钟边沿传送的数据流。而且,FPGA控制器必须发送与输出数据DQ中心对齐的DQS信号。在写周期中还使用了数据屏蔽信号(DM)。
将DDR输出信号(ADDRCMD, DQS, 但不是 DQ, DM)与输出的差分时钟(CLKP/CLKN)的上升沿对齐是FPGA输出控制的职责。
在存储器写时FPGA遇到的挑战:
1.DQS需要与输出的DDR数据DQ实现中心对齐
2.FPGA需要产生差分时钟信号(CLKP和CLKN)。CLKP需要与地址和控制信号对齐。
3.FPGA控制器必须满足DDR接口标准的tDSS和tDSH参数,它们的定义是DQS下降到CLKP上升的建立和保持时间。
4.DDR输出数据必须由两个SDR流多路合成为一个输出DDR数据流。
解决方案
一个具有完整特性的FPGA解决方案包括一对DDR输出寄存器,输出多路选择器和三态寄存器,以及用于在DDR存储器接口写的部分中方便地实现必需的不同相位的输出时钟的PLL。
DDR输出逻辑
DDR输出寄存器块能够把两个SDR数据流合成为一个DDR数据流。这个DDR三态寄存器简化了双向信号的实现(图17)。

图17 DDR输出逻辑
写控制电路必须产生多个相位的系统时钟以便适当地发送来自FPGA的各自的控制信号:
1.一个PLL用来产生一个90度相移的时钟。这个90度相移的时钟用来产生送入存储器的DQS、地址、控制信号和差分时钟。注意ADDRESS和CMD仅在时钟速率(SDR)下变化。然后地址和数据与DQS和CLKP/N信号边沿对齐。这就要求满足tDSS和tDSH的规范。
2.通过将"0"和"1"赋值到DDR输出寄存器对的输入端可以产生DDR时钟。然后它被送入一个SSTL25的差分输出缓冲器来产生CLKP和CLKN差分时钟。用这种方式产生的CLKN可以防止这两个信号间的任何歪斜。
3.由于在内部采用FGPA主时钟产生DQS和ADD/CMD信号,用户将需要实现一个从核心逻辑到DDR存储器的?时钟转换。这个时序很难达到,因此建议用户先用反向时钟寄存这些信号,这样从核心逻辑到I/O寄存器的转换将只要一个?时钟的转换。
4.当数据DQ和DM离开FPGA时需要被延时90度。这是为了当DQS到达DDR存储器时,数据和数据屏蔽信号与DQS中心对齐。这可以通过将CLK相对于DQ和DM数据反向来实现。DM信号采用与DQ数据引脚所用的相同的时钟来产生。如果DM引脚置为高电平,存储器将屏蔽掉DQ信号。
图18说明了DDR写接口信号的产生。

图18 存储器写接口信号的产生
写时序波形
图19显示了DDR写操作的DQ数据节点和DQS选通节点的数据传送时序。当写入DDR存储器件时,DM(数据选通)和ADDR/CMD(地址和控制)信号还会随同数据和选通信号一起被送至存储器件。

图19 存储器写数据传送波形
总结
如通篇所述,系统设计者有许多不同的存储器可选方案。当对于一个特殊的应用评估一种存储器时,细致的思考是绝对必要的。我们还总结出了DDR正日渐成为大多数系统的存储器选择。与其它存储器选择相比,DDR的优势是很明显的。然而,DDR是一个高速、复杂的接口,要正确的实现需要非常细致的工作。幸运的是FPGA厂商开始实施一条龙的解决方案,在提供设计灵活性的同时确保了性能和可靠性。
The why, where and what of low-power SoC design
作者:Pete Bennett   时间:2005-12-19 22:07:18  来自:  浏览次数:709  文字大小:【www.EEdesign.com  浏览次数:709  文字大小:【www.EEdesign.com  浏览次数:709  文字大小:【www.EEdesign.com  浏览次数:709  文字大小:【大】【中】【小】
Reducing on-chip power consumption has become a critical challenge for the nanotechnology era. The traditional trade-offs between performance and area are now being compounded by the addition of power into the equation.
Problems relating to power consumption are not only applicable to the battery powered, handheld and mobile applications, but everything targeting 90nm and beyond, where the power influences designs not only in terms of time to market, but also for cost and reliability.Why low power
Before going into the details of analyzing and reducing power consumption, we should first look at why it is so critical in today‘s designs.The continuing trend in applications for ever increasing functionality, performance and integration within SoCs is leading to designs with power dissipations in the hundreds of Watts. This can be seen from the latest processor variants from Intel, with the Itanium2, for example, approaching 130 Watts [1]. This class of device requires expensive packaging, heat sinks and a cooling environment.This leads to a number of additional issues that need to be addressed to maintain the feasibility of future applications. The increased integration of mobile applications puts greater demands on the battery lifetime of the product over previous generations. While the advances in CMOS technology have seen a doubling in transistor density roughly every 18 months, the equivalent advancement in battery technology is greater than every five years.Having high current on-chip decreases the life time and reliability of the product. With increasing frequencies, the average on-chip current required to charge (and discharge) total load capacitance also increases, while the time during which the current surges results in power fluctuations across the power distribution network of the device.These dynamic voltage drops are a concern in creating delay uncertainty, leading to possible functional problems and eventually to a shortened product life through complete device failure [2]. Finally, the issue of how to address the power dissipated from the device as heat becomes ever more expensive to handle as part of the overall system design.Where power is consumed
Power dissipation within a device can be broken down into two basic types — dynamic power consumption based on the switching activity and the static power consumption based on leakage. The dynamic power consumption can be broken down into the switch power due to the charging and discharging of capacitive loads driven by the circuit (including net capacitance and input loads), and short circuit power occurring momentarily during switching when pairs of PMOS and NMOS transistors are conducting simultaneously.The leakage power can also be broken down into a number of key contributors. One is the current flowing through the reverse biased diode formed between the diffusion regions and the substrate (Idiode). Another is the current flowing through transistors that are not conducting, tunneling through the gate oxide (Isubthreshold). Note the leakage of the device is dramatically impacted by the operating temperature. Therefore, as the chip heats up, the static power dissipation increases exponentially.
Figure 1 — CMOS power dissipation
Leakage current within a 130nm process with a 0.7V threshold gives approximately 10-20 pA per transistor; reduce the threshold to 0.3V in the same process and the leakage current rockets to 10-20 nA per transistor, increasing exponentially in smaller geometries.It can be seen, therefore, that leakage is affected by how close Vth is with respect to Vdd, transistor size and temperature. The effects of varying and optimizing Vdd and Vth are discussed in depth in the papers by David J. Frank [3] and Tadahiro Kuroda [4].The following equations define the power within the device:Ptotal = Pdynamic + Pshort + Pleakage
Pswitch = A * C * V2 * F
Pshort = A (B/12) (V-2Vth)3 * F * T
Pleakage = (Idiode + Isubthreshold) * V
A = Switching Activity
C = Total Load Capacitance
V = Supply Voltage
F = Target Frequency
B = Gain Factor
T = Rise/Fall Time (gate inputs)
Vth = Voltage Threshold
Note, consumption is not constant and peak power is an important concern for failure due to electromigration and voltage drops even if average power consumption is low.
What we can do to minimize power
In targeting an SoC architecture for low power application, we must first fully understand the requirements that will define the power budget. These may be derived from some form of standards-based requirements limiting current draw under certain conditions, or alternately to prolong the life of the battery in the case of a mobile application. The solution for the target applications will differ in how the device is controlled and architected.
Once the requirements are clearly defined, we can start to explore various architectures and determine potential trade offs. By starting at the highest level of abstraction, where the potential for maximum savings are, and further refining this through the levels of design abstraction, we can continually drive the power savings downwards toward the target budget.

Figure 2 — Diminishing returns through levels of abstraction
In finalizing the SoC architecture, a number of considerations and decisions will need to be made at various stages of the design abstraction to reach the optimal solution. These will include such requirements as system performance, processor and other IP selection, new modules to be designed, target technology, the number of power domains to be considered, target clock frequencies, clock distribution and structure, I/O requirements, memory requirements, analog features and voltage regulation. All of these are contributors to the power budget and therefore can be targeted for power minimization to achieve the low power goal.
In bringing all the pieces of the architecture together we need to next look at the global control and clock features that can be used to reduce the overall power of the system. A design is likely to have many modes of operation for various application demands, such as startup, active, standby, idle, and power down.
In some cases multiple levels of these modes will be used to achieve the best overall power management strategy. These modes tend to be generally controlled by a combination of software and hardware features, and need to be planned into the system development from a very early stage of the design process.
From the previously described equations, it can be seen that the best way to save as much power as possible is to scale the voltage to the optimal levels for the required performance. The impact of reducing voltage levels, however, is to increase the gate delay, and beyond a certain level that becomes unfeasible.
The ideal solution is to have varying modes of operation, with the target to power down as much of the design as possible for the given application, reducing both dynamic and leakage power. In standby mode, for example, the minimum amount of logic required should be maintained on a low voltage domain to bring the device out of this state on demand from some external event, then moving through the modes of operation to the required performance level.
While this solution provides the maximum saving, it also carries the largest overhead in terms of complexity. These range through the considerations for on or off chip switching regulation, power domain isolation, performance impact of delays associated with the switching and resumption of stable power, and potential loss of state for flip-flops and memory requiring save and restore routines, along with all the additional associated test and verification requirements.
In developing this type of implementation, consideration needs to be given to all of the above items and the feasibility of the management of the periods of time where this can be realistically achieved.

Figure 3 — Example of multiple-domain structure
Simpler implementations containing multiple domains, but no switching or scaling, will carry some of the associated benefits from the quadratic voltage effect. In these cases consideration needs to be given for the partitioning of the design into high performance/higher voltages and low performance/lower voltages.
The next level of consideration, after defining the voltage partitioning and scaling, should be the system level clock architecture and methods of controlling frequency and associated switching levels. While it doesn‘t address power consumption through leakage, this method goes a long way towards reducing the dynamic power consumption of the device.
It is not uncommon for a design to have the clock distribution and clocked elements consume over 50% of the total power consumption of the device [5]. Note the scaling of frequency may be directly proportional to any voltage scaling if implemented to meet the required system level performance.
In a given idle or sleep mode, all the non dependent modules can be gated off completely from the route of the tree, eliminating the switching in both the clock distribution and logic within these parts of the design. The use of multiple clock domains, frequency scaling and frequency phasing to reduce peak power can all be managed from the central level of distribution.

Figure 4 — Clock phasing
The control for the clock architecture is generally controlled through the software interface available via the processor. However, dynamic hardware controlled switching for on-demand activation can also be implemented — for example, in the case of some decoder function that is required to support bursts of data traffic. These types of features reduce the total software sequence support and system latency.
In all the above aspects of implementation for the defined system clock architecture, detailed consideration is required to avoid all forms of clock glitching, the additional overheads associated with multiple domains in terms of functional test, skew control, design for test considerations and timing closure implications.
Once the design architecture has been captured, the RTL code can now be targeted towards a low power synthesis flow, automatically trading power alongside the generally accepted performance and area constraints. The main features targeted by the tools include multiple threshold leakage optimization, multiple supply voltage domains, local latch based clock gating, de-clone and re-clone restructuring, operand isolation, and gate level power optimization.
For multiple threshold leakage optimizations, generally up to three versions of the targeted library are used: Low Vth (fast, high leakage), Standard Vth, and High Vth (slower, low leakage). The tool will target to use as many of the high threshold cells as possible, while maintaining the timing constraints, only utilizing the low threshold cells for critical paths. Obviously, selecting and targeting the appropriate library and characterization for the application performance requirements are a key consideration that should be addressed early on in the design process.

Figure 5 — Multiple voltage threshold leakage optimization
To support multiple voltage domains, additional characterized libraries for the targeted voltages are required. These may also include multiple threshold variants within them. The savings in costs in terms of power will obviously relate to the quadratic voltage scaling effect. Along with a consistent and supporting tool flow, managing the domain partitioning requires careful design consideration in the early stages of development, and close integration between front end design and layout processing to support all of the above methodology.
If enabled, local latch based clock gating will generally insert library specific clock gating latches wherever possible before groups or banks of associated flops. The effect of this is to reduce unnecessary clock toggles to the associated flops.
The user can generally define the range of flops to be driven from a single clock gate to avoid any unnecessary imbalance in the clock distribution network. Each clock gating cell provides a functional and a test-activated enable for the clock path, with the optional addition of observability automatically generated if required to reach required target ATPG coverage.

Figure 6 — Clock gating implementation
In relation to clock gating, an additional step can be added using physical data to restructure the clock gating, further reducing power and area. This is achieved from relative placement of the registers and gating cells, reducing fragmentation and replication. Where possible, the original logical partitioning of the clock gating cells to flops will be restructured to provide a more physical layout friendly structure.

Figure 7 — Clock gate restructuring
The complete process has a number of steps. In the pre-layout design the local clock gating is de-cloned to a higher common level, reducing area and creating a cleaner starting point for clock tree synthesis (CTS). Then during the detailed placement/CTS phase, local clock gating cells can be re-cloned to provide the optimal required clock tree.
The operand isolation step automatically identifies and shuts down data path elements and hierarchical combinatorial modules with a common control signal. The tool only partially commits to the restructuring, to allow optimal timing and power tradeoffs.

Figure 8 — Operand isolation
Classical gate level optimization resizes cells, performs pin swapping, removes unnecessary buffering, merges gates, adds buffers to reduce slew and restructures logic to provide the best possible power optimization. However, the majority of these steps are also rehashed in the physical domain with real placement and wire length constraints.

Figure 9 — Gate-level optimization
Comparative numbers between a base line flow and that of a low power synthesis flow employing the above techniques show that an embedded processor device in a 90 nm technology of approximately 650K gates can achieve savings of greater than 40% for both dynamic switching power and leakage power [6].
Summary
The trends outlined in this paper clearly show that the on-chip power related challenges associated with designing at the latest technology nodes are here to stay. The available data indicates that the factors impacting low power design considerations will become an overriding concern for architects and designers of the next generation of SoCs. This will require a proportional incremental step in the design tools and methodologies needed to exploit the full potential of the future technology.
In line with proposed silicon technology advances, engineering productivity needs to increase to further resolve and reduce the on-chip power challenge. This can only be achieved through new methodologies, tools and design concepts. These may involve a move to more power conservative clock structures, such as low swing flip-flops, double edge triggered flip-flops or conditional flip-flops, giving clock on demand where the internal clock is only activated when the input data will have the effect of changing the output data [7].
Alternately, moves to more radical approaches such as complete asynchronous design techniques, or more intelligent clocking structures, will be required to support the more traditional concepts. Tools to support these new methodologies will be required, fully integrating the process from high to low level abstracts of design and analysis.
References
1. Intel web sourced data, http://www.intel/research
2. Kevin T. Tang and Eby G. Friedman, University of Rochester, Estimation of On-Chip Simultaneous Switching Noise on Signal Delay in Synchronous CMOS integrated Circuits.
3. David J. Frank, CMOS Device Technology Trends for Power Constrained Applications, IBM T. J. Watson research center.
4. Tadahiro Kuroda, Keio University, Low-Power Digital Circuit Design
5. Vojin G. Okobdzija, Digital System Clocking; high performance and low-power aspects.
6. George Kuo, Cadence Design Systems, 90nm Low Power Implementation of ARM1136JF-S Test Chip.
7. Chulwoo Kim, IBM Microelectronics and Sung-Mo Kang, University of California, Low Power Flip-Flop and Clock Network Design Methodologies in High-Performance System-on-a-Chip.
8. Anand Krishnamoorthy, Cadence Design Systems, Designing for Low Power.
Peter Bennett is a Chief Consulting Engineer for Cadence Engineering Services, responsible for all technical aspects associated with customer design engagements, specifically targeting designs involving complex SoCs intended for low power applications. He was previously with the Mainframe Design Group of International Computers Ltd (ICL) for over 18 years.
SoC测试的概念及实例详解
作者:Martin Schrader, Roderick McCo   时间:2006-03-01 20:58:43  来自:电子工程专辑  浏览次数:870  文字大小:【大】【中】【小】
本文主要介绍了一个具有可测性设计和可制造性设计的新型单片系统,该系统由硬盘控制器(HDC)、16位微控制器、微控制器使用的程序和数据SRAM以及用8M位DRAM实现的片上缓存组成,再加上时钟综合PLL、带外部旁路晶体管的稳压器使用的片上控制电路组成一个完整的系统。该器件采用的是0.18μm的铜工艺,与前几代技术相比增加了性能、降低了功耗。另外,DRAM也采用了深亚微米技术,因此在一个器件中可以包含进一个完整的系统缓存(1MB)以及自动刷新逻辑,而且使用的硅片面积还比以前小。本文还讨论了DFT和DFM所采取的对策,包括为了实现更快的良品率学习曲线而采用面向分析工具的设计、为减少测试成本而采取的并行测试方法。DFT和分析存取是通过IEEE 1149.1的JTAG控制器实现的。除了专门的存储器测试和ATPG扫描外,JTAG控制器还能为组成完整SoC的各个不同单元提供各种测试模式配置。所采用的设计对策决不是只有唯一一种可能性。由于存储器在器件中占了45%的硅片面积和86%的晶体管数量,因此需要对存储器加以重点关注。存储器测试是重点考虑和努力开发的对象。
图1:扫描模式配置。
SRAM有两种测试方法,具体取决于SRAM在系统中的用途:CPU存储器(代码和数据)是通过微控制器进行测试的,需要特殊硬件配置和测试模式的支持;与HDC相关的SRAM采用存储器BIST电路进行测试。DRAM则通过BIST控制器进行测试,而DRAM BIST自身利用扫描和ATPG进行测试。大多数数字逻辑是完全综合过的,而所有数字逻辑都要经过ATPG扫描测试。另外,象PLL和稳压器控制等模拟电路则采用特殊编制的程序在特殊测试模式下进行测试。本文首先介绍系统级芯片本身,包括SRAM和嵌入式DRAM,然后简要讨论用于指导DFT和DFM开发工作的分析与生产测试对象,最后阐述了SoC中采取的分析和生产测试对策。系统级芯片概要为了有助于了解生产测试与分析所采取的对策,首先让我们看一下SoC的一些细节,当然本文提到的所有性能都需要进行测试。这款SoC的主要系统组件有:16位微控制器、ASIC逻辑(硬盘控制器或HDC)、微控制器使用的SRAM、片上缓冲DRAM、时钟综合PLL、硅工艺-电压-温度(PVT)传感器以及带外部旁路晶体管的稳压器用的片上控制电路。1.微控制器
这款SoC中的微控制器是C173系列处理器的衍生产品,是专门为控制应用设计的16位器件。除了16位的C163内核外,它还有一个乘法累加单元(MAC)、外围通用定时器(GPT)、异步和同步串行控制器(ASC,SSC)和脉宽调制器(PWM)。整个微控制器是由综合过的逻辑实现的,可以很方便地在应用之间移植。2.ASIC
硬盘控制器(HDC)是用大约25万个NAND等效逻辑门实现的。该HDC的主要特点之一是能够提供功能强大的节电模式。微控制器、HDC部件、存储器和PLL等各自所实现的节电模式是不同的。微控制器可以被切换到空闲或睡眠模式。在空闲模式下控制器内核停止工作,但通用定时器和PEC控制器等外围设备仍在正常运转。只有进入睡眠模式后外围设备才被切断电源,此时只有中断控制器能唤醒微控制器,并使其返回到正常的工作模式,中间过程不会丢失任何数据。中断控制器是由相应的硬件信号驱动的。针对HDC的操作特殊性,HDC还提供另外一种电源关闭模式。每个模块的电源都可以被独立关断,或者时钟系统速度可以降低8倍。这些节电模式的灵活组合就形成了活动、空闲模式1、空闲模式2、等待、睡眠等各种符合ATA规范的节电模式。通过这些措施可以使SoC的功耗从270mW降到54mW。
图2:MSIST配置。
3. CPU SRAM
上述这款SoC集成了80KB的程序SRAM、8KB的数据SRAM以及直接与微控制器相连的2KB双端口SRAM。4. 缓存DRAM
一个完整系统的集成中心是嵌入式DRAM,在本例中即是1MB或8Mb的片上存储器。DRAM可以在没有离开芯片的总线条件下提供程序和数据存储,所有这些的功耗在全负荷情况下也只有0.1瓦。内部256位的数据总线宽度允许全速访问DRAM,而片上缓存还可以优化CPU对程序存储器的访问。DRAM本身在发生页面改变这种最坏情况下(随机存取)的存取时间是20ns,在页面突发时的存取时间是7ns。5. 系统单元:PLL、PVT、稳压器
PLL所需频率的时钟产生都是靠片上的500MHz PLL实现的。这个PLL是一个全定制的宏,由JTAG控制器控制其测试模式。工艺-电压-温度(PVT)单元用于向SoC报告环境状况。SoC负责通过一个标准的ATA接口建立与主计算机之间的通信。为了充分满足信号完整性要求,系统必须对各种操作状态作出反应,如电缆和主机接口特性等静态环境条件、不稳定的温度和电压等动态变化等。另外,给定器件的工艺参数会在制造用的工艺窗口范围内变化。SoC包含PVT单元就是为了及时对这些因素作出响应。PVT单元能够监视动态/变化中的环境,HDC中的相关逻辑可以自动调整ATA衬垫处的性能参数。PVT单元是一个全定制宏,这个单元的测试模式受JTAG控制器的控制。6. 稳压器:
作为完整系统功能的一部分,这款SoC配备了用于稳压器的控制电路。该稳压器可以将3.3V的I/O供电电压转换成1.8V的内核电压。外部旁路晶体管用于控制供给所有内核逻辑所需的电流。SoC包含单个驱动外部旁路晶体管所需的稳压控制电路。稳压器也是一个全定制的宏,其测试模式也受JTAG控制器的控制。7. DFT和DFM目标
上面简要介绍了这款SoC的设计细节,下面将讨论包括成本模型在内的测试目标,以及通过可测性设计和可制造性设计达到这一目标的主要途径。SoC器件在测试成本方面将面临艰巨的挑战,因为器件相对较小,人们希望不需要花很长的ATE(自动测试设备)时间就能完成所有的测试步骤。但嵌入式DRAM测试具有很大的挑战性,因为与DRAM测试相关的典型测试时间就很长。然而,象晶振和PLL这样的模拟单元也应该在理想的时间内完成测试。除了成本外,还必须包含适当的分析工具,但这些分析工具不受时间约束。DFT和DFM的测试实现本文讨论的器件有许多测试性能,将在不同的测试配置中被激活。下面将详细讨论主要的一些配置。通过JTAG[IEEE1149.1]访问的控制器是DFT和DFM的核心,可用来设置和控制所有的测试模式。在用户应用中,控制器通过OCDS(片上调试系统)提供连接到微控制器内核的串行调试接口。在测试中,许多功能模式也可以通过这个接口进行控制。为了推进测试程序开发,可以使用特殊器件IEEE1149.1指令激活多种生产模式。其它的控制产生自器件的串行JTAG测试寄存器。1. 扫描ATPG测试
图3:MBIST配置。
扫描配置如图1所示。需要注意的是,扫描链的输入边沿正好是相对的,因此在测试仪上可以对多个器件进行并行扫描测试。本文用到的器件比较特殊,因为它整合了层敏感扫描和复合扫描。DRAM的BIST控制器是一家技术合伙公司的某个硬宏中的一部分,具有LSSD扫描功能。设计的剩余部分尽可能地采用了标准的复合扫描触发器。在LSSD扫描电路与内核(复合扫描)逻辑之间没有插入任何隔离逻辑。LSSD和复合扫描的整合存在一定的问题,因为由于时序问题可能会导致某些触发器捕捉值的不确定性,从而失去故障覆盖。LSSD和复合扫描之间的不同时序概念使得很难做到时序匹配,不过借鉴其它设计的经验可以解决这些问题。考虑到扫描期间某些不想要的模式可能会被激活,可能导致设计的某些部分不会被扫描到,而逻辑部分只占整个硅片面积的很小部分,因此逻辑故障覆盖率的降低是可以容忍的,它不会降低器件的总体故障覆盖率。逻辑部分的单次扫描故障覆盖率大约是95%,而总的单次扫描故障覆盖率将超过98%。2. SRAM测试SoC中包含有不同尺寸和类型的多个SRAM模块和DRAM。先来看看SRAM,它们被组合成与微处理器(数据、代码存储器)紧密相连的CPU SRAM以及主要由硬盘控制器逻辑使用的HDC SRAM。有些组是微控制器可以访问的,有些组则不能被微控制器访问。下文将讨论专门用于存储器测试的测试配置,包括通过BIST完成的CPU SRAM测试和HDC SRAM测试以及DRAM测试。a) 基于CPU的SRAM测试策略较大的SRAM宏被实现为密集SRAM,其版图经手工优化后将技术用至极限以节省空间和功耗。为了达到更高的良品率,在密集SRAM中还需增加一些冗余单元。为了减少测试成本,测试插入应尽可能少。大多数测试流程是由运行于存储器测试系统中的eDRAM存储器测试驱动的,因此要求也能在存储器测试仪上进行SRAM测试。由于这样的原因,用于微控制器可存取存储器模块的SRAM测试算法需要被存储在ROM中,因此也被称为MSIST(存储器软件实现的自测试)。很容易在存储器测试仪上对该程序加以控制,也可以经过简单的掩模重设计对它进行修改。测试配置如图2所示。微控制器内核无法测试HDC内部的小模块,这些模块必须通过如图3所示的MBIST(存储器内置自检)结构进行测试。因此在一个专用的存储器测试仪上用单个测试插入就可以执行所有的存储器测试,第二步完成冗余单元的融接。b) 用于双端口SRAM的软件BIST通过下载软件和使用处理器实现BIST算法完成对设计中双端口SRAM的测试。并不是SoC器件中的所有SRAM都可以直接被处理器读写,因此可能还需要额外的逻辑,如FIFO。虽然一般情况下BIST算法不是太复杂,但仍需要为这种方法在准备软件测试式样方面作出一些努力。然而还需十分小心以确保创建片上MBIST逻辑时考虑了RAM的硬件版图(图3)。软件方法的优点在于,至少对于大多数SRAM来说,MBIST执行访问的方式和速度与功能访问完全相同。c) DFM所有SRAM测试都能创建位故障图(BFM),一般通过CPU的数据总线输出BFM。这些BFM就是基本的DFM,可以为工艺工程师学习和改善良品率提供必要的信息。DRAM测试
图4:DRAM测试配置。
在过去几年中,嵌入式DRAM测试一直是重点开发对象,在这个SoC器件中已经实现了相关文献中提及的一些想法。DRAM BIST能够进行内置冗余计算(也被称为BISR(内置自修)),但该功能一般不用。BIST逻辑本身是利用ATPG模式和LSSD扫描寄存器进行测试的。DRAM配置用于高度并行的测试。DRAM测试时间一般要比逻辑测试时间长得多,因此我们需要重点关注高度并行的测试以减少每个器件的有效测试时间。嵌入式DRAM预融接测试是在专门的存储器测试仪上使用直通模式下的BIST完成的(图4)。采用这种方法的原因是可以通过减少冗余修补计算时间和高度并行测试缩短测试时间。专用存储器测试仪具有一些典型的优势:为存储器测试算法提供硬件支持,为整个数兆存储器提供存储和分析故障位信息的容量,可以为高度并行测试提供大量充足的电源。为了方便与存储器ATE一起使用,对本文提及的SoC器件做了适当的修改。为了配置成存储器,该器件需要最小的测试模式输入(预备序列)。一旦配置好后,就能提供典型的包括可访问冗余数据输入和输出的存储器接口。通过限制地址和数据输入的数量以及在裸模的二个相向边沿物理定位所有必须的衬垫实现高度并行的测试(图4)。利用BIST完成DRAM测试如前所述,DRAM模块内含一个BIST控制器,可以利用一条IEEE1149.1指令对芯片作出适当配置后激活该控制器(图4)。当融接完成后,可以不用专门考虑存储器修复即可在标准逻辑ATE上进行DRAM测试。所需的连接数量也有大幅下降,因为BIST可以产生地址和片上控制信号,并产生单次通过/失败结果。DFM原理可以用来指导DRAM结构的开发。重点不是限制衬垫的数量和位置,而是使嵌入式存储器具有最大的可控制性和可观察性,并可以通过JTAG控制器选择最小测试模式入口序列。然而,实际使用的是更宽的控制和数据总线访问,包括裸片各边沿上的衬垫。这种模式适用于故障分析,在生产测试过程中并不使用,因为SRAM测试同样会创建位故障图,并将它传送给ATE用于进一步分析。上述SoC器件中包含有二个环形振荡器,主要用于生产期间的速度测试。这二个环形振荡器的固有周期约为2ns,并各自连接32分频逻辑电路。因此典型的外部周期是64ns,由此产生的速度就可以用标准的ATE进行测量。为了方便比较走线和门延时效应,通常使用一个具有密集版图的环形振荡器和一个具有人工分布版图的环形振荡器。环形振荡器的测试结果表明了硅片速度,从而允许用户跟踪工艺变化,并排除速度太慢或太快的器件。本文小结本文主要讨论了一个具有可测性设计和可制造性设计的新型单片系统,同时提出了这样一个集成了嵌入式DRAM和模拟模块以及较常见的数字逻辑和静态RAM的系统在生产测试中所面临的挑战。为了满足测试要求,需要采取各种不同的策略,同时利用单个标准的IEEE1149.1接口将被测器件配置成各种相应的模式。将来设计师必须了解更多的测试信息。随着技术和密度的提高,制造商可以在单个芯片中集成更多的单元,设计师只具备扫描和BIST技术的基本知识是远远不够的。为了针对任何特殊器件选出最适合的测试策略,设计师必须通晓各种可能的器件生产测试方法。作者:Roderick McConnell博士,业务开发高级经理,Infineon Technologies AG,Martin Schrader,数字设计工程师,Infineon Technologies AG
寄存器传输级的低功耗设计方法
作者:周江瑜,赵育新   时间:2005-12-19 21:54:52  来自:  浏览次数:427  文字大小:【电子工程专辑  浏览次数:427  文字大小:【电子工程专辑  浏览次数:427  文字大小:【电子工程专辑  浏览次数:427  文字大小:【大】【中】【小】
简   介:除了芯片的速度和面积等,人们对低功耗的期望也越来越高,因而在IC设计中加入低功耗设计非常必要。寄存器传输级的低功耗设计对降低整个芯片的功耗作用非常显著,本文讨论的三种寄存器传输级低功耗设计方法,经验证对动态功耗的降低很有效。
自集成电路问世以来,设计者在单个芯片上集成的晶体管的数量呈现出令人惊讶的增长速度。近30年,集成电路的发展一直遵循着“摩尔定律”:集成在芯片上的晶体管的数量每18个月就翻一番,芯片成本也相应下降。
图1:CMOS电路功耗的主要来源是动态功耗,由开关电流和短路电流造成。
在半导体工艺水平不断进步的同时,以电池供电的手持设备和膝上电脑也迅速普及,系统的功耗有时已经成为系统设计首要考虑的因素,因此,低功耗设计成为发展移动系统必然要解决的问题。集成电路的低功耗设计分为系统级、寄存器传输级、门级、电路级四个层次,而在这其中,寄存器传输级的低功耗设计对优化整个系统功耗的贡献达到20%-50%,这是非常巨大的比例。因而,在寄存器传输级进行低功耗设计是非常值得,也是很有必要的。集成电路中功耗的来源目前,CMOS工艺在集成电路特别是数字IC中应用得很普遍。由于CMOS电路在输入稳定的时候总有一个管子截止,所以它的静态功耗在理想情况下应该是零,但这并不代表静态功耗真的为零,实际上CMOS电路的静态功耗就是指电路中的漏电流(这里不考虑亚阈值电流)。CMOS电路功耗的主要来源是动态功耗,它由两部分组成:开关电流和短路电流。所以,整个CMOS电路的功耗为:P=PTurn+Pleakage+Pshort其中,PTurn是开关电流ITurn产生的动态功耗;Pshort是动态情况下P管和N管同时导通时的短路电流Ishort产生的动态功耗;而Pleakage 是由扩散区和衬底之间的反向偏置漏电流Ileakage产生的静态功耗。如图1所示。
图2a:传统的设计。    图2b:增加了门控时钟的设计。
在这三项中PTurn大约占电路功耗的80% ,因而这里就只考虑开关电流ITurn所产生的动态功耗PTurn。ITurn是这样产生的:在CMOS电路,当输入为“0”时,PMOS导通,电源通过PMOS向负载电容充电;而当电路输入为“1” 时,负载电容又会通过NMOS向地放电。ITurn就是不断对负载电容充放电所产生的开关电流。一个CMOS反相器由开关电流引起的平均动态功耗是:PTurn=CLVDD2f其中,CL是负载电容,VDD是电路的电压,f是时钟频率。所以,要想降低电路的功耗就应该降低电路的电压和频率。寄存器传输级的低功耗设计
图3a:最基本的加法器设计。  图3b:采用操作数隔离方法设计的加法器。
寄存器传输级的低功耗设计方法有很多种,本文只列举三种最为常用的设计方法:门时钟、操作数隔离及存储器分区访问。1.门控时钟从上面的讨论知道,CMOS电路的功耗是和频率有着密切关系的,因此动态的关闭处于空闲状态的时钟具有明显的节电效果。图2a是传统的设计:系统的时钟直接接到D触发器的时钟输入端,不管什么情况,只要输入的Clock翻转,触发器就会工作,整个系统也一直不断的运行。而图2b是增加了门控时钟的设计:当系统正常工作时,译码出来的En信号为高,则触发器可以正常锁存数据;当系统处于空闲状态时,把En信号清零,这样,由于给触发器的Clock一直保持零,不会发生翻转,所以触发器不会锁存新的数据,整个系统被挂起,系统将进入低功耗模式。在电路中加入门控时钟很容易,可以用Verilog直接在描述中加入,也可以通过Synopsys的工具PowerCompile自动加入。通过加入门控时钟,系统可以有选择的停止不相关模块的时钟,以最大程度的节省动态功耗。2.操作数隔离这种方法主要是对系统中的算术、逻辑运算模块进行低功耗设计,其主要思想就是:在不进行算术、逻辑运算的时候,使这些模块的输入保持“0”,不让操作数进来,输出结果不会翻转;而如果进行这方面的运算时,再将它们打开。
图4:存储器分块访问实例。
这种方法在很多人看来是理所当然的,认为就应该是这样设计。然而在实际中,设计者一方面关心模块的功能,另一方面迫于设计时间的压力,所以很多设计中的细节没有考虑。如图3a,一个加法器的两个输入端没有经过任何逻辑直接进入加法器,系统不管是否需要加法运算,加法器都一直工作着,输出不断翻转着,这对系统的动态功耗是很大的浪费,而且数据总线越宽浪费的功耗越多;图3b 则用操作数隔离的方法进行设计:当系统不需要加法运算的时候,Adder_en信号为“0”,则加法器的两个输入端都保持“0”, 其输出不会发生任何翻转,不会产生动态功耗,而如果需要进行加法运算时,Adder_en变成“1”,加法器正常工作。当对系统里所有的算术、逻辑运算单元都用上这种方法必然会对系统的动态功耗有很大的优化,在芯片面积方面,如图3b所示的,所增加的逻辑仅仅是几个多路器而已。3.存储器分块访问一个系统里少不了存储器,存储器的功耗在整个系统里所占的比例不可忽视。因而降低存储器的功耗,对于整个芯片系统的功耗优化很有帮助。这里提出一种叫做存储器分块访问的方法来降低存储器的功耗。主要思想是:将系统所需要一定容量的存储器分成两块,然后用高位地址线进行片选译码。结合下面的实例:假设一个系统需要128K的RAM,如图4所示,我们选用两块64KB的RAM。CPU给出了17位地址线,其中低16位地址线直接提供给两个RAM,最高位地址线接到下面RAM的片选端CS,而这根地址线经过一个反相器接到另一个RAM的片选端。通过这种方法,不管从CPU 出来的什么样的地址,则每次只会选中一个64KB的RAM。如果采用单块128KB的RAM,则每次都要选中一块128KB的RAM。众所周知,一块64KB RAM的功耗要远小于一块128KB RAM的功耗。这样从存储器这一方面,又为系统节省了功耗。
表1:一款SIM卡芯片设计优化前后功耗及芯片面积的对比。
功耗和面积永远是相矛盾的,如果想要降低系统的功耗,必然要加上一些控制逻辑来进行功耗优化,而这部分逻辑会增加芯片的面积,所以在功耗和面积之间就要有个折衷。上面的三种寄存器传输级的低功耗设计,不会增加很多逻辑,因而对芯片面积的影响不大。而经过了这三种低功耗设计,使整个系统动态功耗的改善很明显。例如,使用功耗仿真工具powermill对一款SIM卡芯片设计进行管级功耗仿真,这里采用的是华杰的0.25um的标准单元库,表1是优化前后功耗及芯片面积的对比。从表1可以看到,经过低功耗设计后的芯片平均动态电流比优化前降了16%,然而优化前后芯片的面积没有发生改变,因而,上面的三种设计方法对于降低系统动态功耗是非常有效的。本文小结本文首先分析了CMOS电路功耗的来源,基于这个理论基础介绍了三种寄存器传输级的低功耗设计方法,最后,通过一款手机SIM卡芯片的功耗优化并进行仿真,得出结论:这三种方法对降低系统功耗有很大的帮助,而且几乎没有增加芯片的面积。作者:周江瑜,赵育新
北京中电华大电子设计有限责任公司
IP供应商Virage Logic借IIC宣布建立中国桥头堡
文章类型:行业动态   发布者:小刘   新闻来源:因特网   发布时间:2007-3-28
字体大小:[大][中][小]
为了给自己现有的中国客户和中国快速增长的无晶圆半导体市场提供更好的服务,业界知名的Silicon Aware IP公司Virage Logic在IIC-2007展览会上宣布已指定上海至益电子技术有限公司(Hyperform Technologies)和微通益友电子科技有限公司(OnePass Solutions)为其第一批中国代理商。Virage此举的目的是在中国建立一个直接的销售和支持渠道,以为IP业务快速增长的中国无晶圆半导体市场打下一个坚实的基础。
Virage Logic公司业务拓展总监Mary Ann E. White表示:“初期的销售和支持服务对象将主要侧重于北京、深圳和上海等地的消费电子类和政府资助的大型公司。我们的目标是,到2010年,在我们主攻的市场上,Virage的IP能够设计进每一块半导体SoC。”自2000年首次上市以来,Virage Logic的年收入增长了3倍,去年的年收入达到了5千9百万美元。
“作为拥有300多家客户的半导体设计界值得信赖的IP合作伙伴,我们最直接地发现IC设计行业正在向一个更加专业的无晶圆模式发展,而且它也正带动对已经过验证的技术独特的半导体IP需求的迅猛增长,”Virage Logic公司资深战略商业解决方案总监Brani Buric说,“中国代表着快速增长的无晶圆半导体市场,我们期待和该区域的专业公司上海至益电子和微通益友一起合作,以更好地服务这一市场。”
上海至益电子技术有限公司成立于2003年7月,它的目标是成为中国本土的EDA工具、IP和集成电路设计方法服务的主要提供商,同时成为推动中国集成电路设计业发展的主要参与者。
该公司CEO刘建军表示:“Virage Logic公司丰富的已经过硅验证的IP非常适合满足中国设计工程师追求高集成度、高性能和低功耗的需求,特别是快速增长的消费电子和图形应用市场。”
微通益友是一家专业的EDA工具和IP提供商,该公司成为于2002年7月,在北京、海和深圳设有办事处。公司的愿景是把国外先进的EDA工具和IP引入中国市场,同时和中国客户一起努力推动中国IC产业的发展。
该公司主席王丙丰也说:“Virage Logic高度差异化的IP产品和获得行业组织嘉奖的技术非常适合中国设计公司对产品快速上市和产品性能的需求。我们期待着与Virage Logic公司的广泛和深入合作。”
Virage Logic公司成立于1996年,随后很快确立了在先进的嵌入式存储器IP技术和市场上的领导地位。今天,该公司已经在包含嵌入式存储器、逻辑单元库和I/O的IP平台方面成为一个全球领先的供应商,并已在开发新一代被称为Silicon Aware IP方面成为业界的先锋。
Silicon Aware IP把物理IP(存储器、逻辑单元库和I/O)和嵌入式的测试、诊断和修复功能IP无缝地整合在一起,以保证产品在先进工艺节点上的可制造性并大大提升良率。Virage Logic公司高度差异化的IP产品将带给晶圆代工厂、IDM和无晶圆设计公司的价值是:高性能、低功耗、高集成度和高良率,它适合的目标应用主要是消费电子、通信与网络、手持和便携式产品、以及计算机和图形产品等。
Virage Logic的Iprima家族半导体IP平台提供针对特定市场应用和工艺节点而优化的IP。其IPrima Foundation产品线提供针对目标技术节点和代工厂工艺而优化的多个IP平台,每个IPrima Foundation平台由ASAP(尺寸、速度和功耗均衡优化) Memory高密度(HD)存储器、ASAP Logic HD标准单元库和基础I/O库构成。IPrima Foundation平台中的许多130nm IP是可以免费使用的,有兴趣的用户可以很方便地从Virage Logic的网站自由下载使用。
Mary Ann E. White说:“不过,这些免费130nm IP主要是为以下四家代工厂(Dongbu、SilTerra、中国SMIC和Tower)的工艺线而开发的。”IPrima Foundation平台的用户还可随意访问Virage Logic丰富的高度差异化的专用IP。
Virage Logic的IPrima Mobile是业界首个针对特定终端市场应用而优化的IP平台,它可以满足便携式和手持式应用的低功耗要求。IPrima Mobile平台包括单口和双口STAR(自我测试和修复)SRAM、超低功耗(ULP) ASAP存储器、ASAP逻辑标准单元库和基础I/O单元。
除了这些基本IP以外,Virage Logic还提供很多增值IP,如高速/高密度金属可编程ASAP逻辑、高速/超高密度/超低功耗标准单元ASAP逻辑、STAR Memory System、高速/超低功耗ASAP存储器、NOVeA非易失性存储器、特殊I/O(如SSTL-2、HSTL-2、PCI & PCI-X、USB1.1)。
STAR Memory System为内嵌片上自测试和修复功能的存储器提供了业内集成度最高和性价比最好的解决方案。高速、高密度、超低功耗STAR和ASAP存储器可以作为STAR Memory System的一部分集成进去,以满足广泛的SoC设计要求。
STAR Memory System是一个完整的解决方案,它允许用户选择和自动集成所有与该系统相关的组件。STAR Shared Fuse Processor允许用户减小路由复杂性,并大幅降低融丝面积,与此同时,STAR Builder自动集成工具使得用户能够更好地满足富有挑战性的上市要求。由于已有STAR Memory System的客户把良率提高了250%,因此它能够为客户节省数百万美元的硅片成本,从本质上降低测试成本和实现更短的量产周期。
Agere Systems公司工程总监Craig Garen表示:“Virage Logic的STAR Memory System的全面测试和修复能力使得我们能够降低测试成本,并大幅改善我们的良率和量产周期。”
ARM工程执行副总裁Simon Segars说:“嵌入式存储器在SoC设计中起着越来越重要的作用,Virage Logic的嵌入式存储器可以在尺寸、速度和功耗等方面提供各种组合解决方案,这使得ARM能够利用它来满足我们客户的不同需求。”
Virage Logic的合作伙伴遍布设计服务公司、EDA/测试供应商、代工厂和IP供应商四大领域,但主要分布在北美和英国。其主要的VIP合作伙伴包括:ARM、TSMC、UMC、中芯国际(SMIC)、和舰科技、特许半导体、MIPS、Synopsys、Mentor Graphics、Magma、CoWare、Synplicity、Sequence Design、Alchip Technologies、Cadence Design Systems、Faraday Technology、Arcadia Design Systems、eSilicon、AutoESL Design Technologies、Crest Microsystems。
目前,Virage Logic的主要客户包括:AVAGO、NEC、NXP、Infineon、ST、Freescale、Sony、PMC-Sierra、nVidia、Cisco Systems、Broadcom、LSI Logic、Sandisk、TSMC、Tower、UMC、Dongbu Electronics、Charted Semi.、SMIC、IBM、Grace Semi.、Silterra。
Virage Logic现已拥有23家90nm IP客户,包括ADI、ST、Freescale和Infineon,65nm IP客户也已拥有3家,它们是Freescale、IKANOS Communications和Infineon。
MIPS科技与Virage Logic扩展联盟
出处:天极网 作者: 2005-09-21 19:12评论
字体大小:大 |中 |小
MIPS 科技与Virage Logic扩展联盟,为SoC设计人员提供便捷的MIPS®32位内核及Virage Logic IP单一授权。
为数字消费和商业应用提供工业标准处理器架构与内核的领先供货商 MIPS 科技(美普思科技,Nasdaq:MIPS)与Silicon Aware [w1] IP™领域先驱及半导体IP平台提供商Virage Logic公司 (纳斯达克交易代码:VIRL)今天宣布,推出一个简化的授权模式,使片上系统(SoC)的设计人员能够利用MIPS科技的单一授权,得到MIPS科技的32位处理器内核及Virage Logic 的半导体知识产权(IP)的授权。
新协议生效后的首个MIPS科技的内核产品为MIPS32® 4Kec®硬核。MIPS32® 4Kec®硬核与Virage Logic的面积、速度和功率(ASAP)Memory ™及ASAP Logic™半导体IP一起,可为初创公司、无工厂半导体公司和系统OEM厂商提供一个易用的、高性价比、低风险的设计方式,使他们快速开发一系列32位嵌入式消费电子产品。
MIPS科技市场副总裁Russ Bell表示:“SoC设计者需要简便而高效地为成本敏感且竞争激烈的市场提供产品,这一改进的授权协议使他们能够做到这一点。通过一个简便的手续,我们的用户就能够获得Virage Logic技术领先的存储器和逻辑IP的授权,这些已经直接融入了MIPS科技的硬核产品中。对我们的客户来讲,这是便利和性能方面的重大收益,并且加强了我们与Virage Logic之间的长期合作关系。”
Virage Logic市场及业务拓展副总裁Jim Ensell表示:“我们与MIPS科技的合作使新一代产品的成功部署更为简便。多年来,我们共同努力,帮助厂商在缩短设计时间和芯片面积的同时,最大限度地提高性能和产量。我们非常高兴,通过发布使用这一新授权协议的第一个硬核扩展我们的合作关系。该协议为设计人员提供了巨大的性价比优势和便利性。”
关于MIPS32 4KEc 硬核
MIPS32 4KEc TSMC 130 nm G硬核可为设计人员提供强有力的性能和极大的灵活性,从而在控制芯片成本的同时达到更高的系统吞吐量。其灵活性和可编程能力可在协议规范和市场需求发生变化时,使软件能够进行升级。4KEc在最差情况下的频率为233 赫兹,包括8KB/8KB缓存的核心尺寸为2.5 mm2。它是针对多种对成本敏感的嵌入式应用的理想解决方案。
关于Virage Logic的ASAP存储器和ASAP逻辑产品系列
ASAP存储器 – ASAP存储器产品系列可为经过验证的嵌入式存储器提供最大的选择范围,这些存储器具有易测和易生产的特点。ASAP存储器产品系列由三个独立的系列组成。高密度(HD)系列由面积优化的内存编译器组成。高速(HS)系列包括为高速应用内优化的内存编译器。超低功率(ULP)产品系列由为电池供电和便携式应用优化的内存编译器组成。
ASAP逻辑 - the ASAP逻辑产品线是由几个独特的部分组成。金属可编程单元库只需对几个掩膜进行重新编程,可节省配置成本。标准单元库与传统的标准单元相比可节省高达30%的面积。ECO单元库可提供一个基于Virage Logic拥有的金属可编程技术的独特的解决方案,可以在标准单元设计的变化过程中提供高水平的灵活性。
Virage Logic 和MIPS科技:
多年来,MIPS可合成内核及MIPS32和MIPS64® 的授权均包括Virage Logic的ASAP存储器产品系列的使用权。去年,ASAP存储器HS成为高度成功的NUOS32 24K® 内核系列的一部分,它有助于确保内核达到高性能,并继续使用户更好地使用产品达到其设计目标。此次关于MIPS32 4KEc硬核的最新的协议涵盖了Virage Logic的ASAP存储器和ASAP逻辑产品。
MIPS科技也是Virage Logic的VIP合作伙伴项目成员。该项目旨在整合与合作公司的技术和业务联盟,为SoC设计提供广泛的补充解决方案,包括设计服务、电子设计自动化(EDA)或测试、晶元制造和知识产权(IP)。VIP 合作伙伴项目有助于增加协作性及对完整解决方案的使用,使共有的客户能够通过减少设计时间和改善生产能力加快芯片的成功。
上市时间
融合了Virage Logic半导体IP的MIPS32 4KEc硬核现在已由MIPS科技授权给全球的半导体和系统公司。其提供的设计套件包括:完整的产品文件、设计数据、验证和仿真模型,还包括支持和培训。更多有关信息可以与MIPS科技联系,电话: +1 650 567 5000, 或浏览http://www.mips.com/content/Products/Cores/HardIPCores
Virage Logic公司选定中国代理商,扩展在华业务
上网时间:2007年03月07日
Virage Logic日前宣布指定Hyperform Technologies和OnePass Solutions为其中国代理商。此举将建立一个直接的销售和支持渠道以更好的服务Virage Logic公司的老客户并为服务快速增长的中国无晶圆半导体市场打下一个坚实的基础。初期的销售和支持服务对象将主要侧重于北京、深圳、上海等地的消费类和政府资助的大型公司。
“作为拥有300多家客户的半导体界值得信赖的IP合作伙伴,我们最直接地发现行业正在向一个更加专业的无晶圆模式发展,从而也带来对已经过硅验证的技术独特的半导体IP需求的迅猛增长,”Virage Logic公司资深战略商业解决方案总监Brani Buric先生说,“中国代表着快速增长的无晶圆半导体市场,我们期待和该区域的专业公司Hyperform和OnePass一起合作以更好地服务这个重要的市场。”
“Virage Logic公司丰富的已经过硅验证的IP非常适合满足中国设计工程师追求高集成度、高性能和低功耗的需求,特别是快速增长的消费类电子和图形应用市场。”Hyperform Technologies公司CEO刘建军先生说道。
“Virage Logic高度差异化的IP和获得行业组织嘉奖的技术支持非常适合中国设计公司的对产品快速上市和产品性能的需求,我们期待与Virage Logic公司的合作。”OnePass公司主席王丙丰说。
十多年来,Virage Logic公司已经过硅验证的半导体IP是全球设计工程师的首选。公司的IPrima Foundation半导体IP平台包含嵌入式存储器、逻辑单元库和I/O,该平台能使日益复杂的IP选型和验证工作简单化从而加速新产品的开发。Virage Logic公司的产品和支持服务能帮助SoC设计工程师达到各种苛刻的设计需求,如缩短设计时间、减小芯片面积、降低设计风险和提高产品性能和良率等。
手机多媒体应用处理器(Multimedia Application Processor)
手机进入3G之后传输速度大幅增加,更丰富的多媒体应用也变得更为可能;在图形、音乐之后,包括Camcorder、视频会议等的视讯娱乐功能,和行动电视、卫星导航、3D游戏等,成为新一波多媒体应用,处理器的功效也就相当重要。
手机目前较受期待的新应用尤其是在行动电视,尤其2008年北京奥运可望促使除了市场已经颇有规模的日本和韩国之外的其他市场,也开始启动行动电视服务。提供中的多家厂商以行动电视市场为诉求,也有多家厂商将基频处理器整合进多媒体处理器成为单芯片。
手机平台则持续朝向更多功能的整合和处理速度提升、功耗降低而努力,整合的功能包括显示器分辨率更高、数字相机画素更大、链接装置:蓝牙、USB2.0、WiFi的整合、外接记忆卡如Mini MMC等。
此外也包括,Camcorder需要支持QVGA、25fps、MPEG-4、H.264,音乐播放则需要时间更久和可以比拟iPhone的功能,另外也需整合蓝牙耳机、视讯电话、行动电视、视讯播放和早期3D的游戏功能等。
TI OMAP1610

NXP PNX4103

3G iPhone BOM单曝光 成本估计为173美元
[日期: 2008-06-26 ] [来源:  作者: ] [字体:大 中 小]  (投递新闻) 专栏作家请登录后投递
苹果首席执行官乔布斯6月9日宣布推出市场期盼的新款iPhone。新版iPhone将从7月11日开始在包括美国在内的22个国家上市。
根据初步“虚拟拆机”分析结果,苹果公司的第二代iPhone的初期硬件材料成本(BOM)与制造成本估计为173美元.
苹果首席执行官乔布斯6月9日宣布推出市场期盼的新款iPhone。新版iPhone将从7月11日开始在包括美国在内的22个国家上市。据iSuppli公司的初步“虚拟拆机”分析结果,苹果公司的第二代iPhone的初期硬件材料成本(BOM)与制造成本估计为173美元。
在iPhone开始发货之前,iSuppli利用内部分析人员的洞察力进行了一次虚拟拆机分析,对iPhone内容、供应商和成本作出了估计。分析团队由iSuppli公司的在拆机分析、半导体、显示器、手机、消费电子和无线基础设施方面的主要专家组成。
iSuppli公司曾计划在对产品进行实际的物理拆解之前不对iPhone内容作任何分析。但是,由于外界想要了解iPhone成本与价格的呼声高涨,iSuppli公司最终决定向公众发布初步分析结果。在这款3G iPhone手机上市之后,iSuppli公司将进行真正的、详细的拆机分析。
“173美元的硬件BOM和制造成本,明显低于第一代产品,但由于增加了3G通讯功能,其功能性有了重大改善,而且具有独特的可用性,”iSuppli公司的首席分析师Jagdish Rebello博士表示,“最初的8Gbyte iPhone成本在元件降价后为226美元,使得新一代产品的硬件成本因元件价格下降而减少23%。”
附图是iSuppli公司对8Gbyte 3G iPhone成本的初步虚拟拆机估计。该图不包括软件开发、运输与分销、包装等其它成本,以及每部手机的各种附件成本。
Pricing in U.S. Dollars

今年的商业模式
随着第二代iPhone的推出,苹果公司的价格策略也发生了巨大变化。
“当初2G手机的无补贴价格是499美元,”Rebello指出,“但是,低端8GB版新款3G型号的零售价格为199美元,无线通讯服务运营商将以补贴价格出售这款产品,采用手机市场上的通用商业模式。iSuppli公司估计,无线运营商针对苹果手机提供的补贴将在每部iPhone约为300美元。这意味着有了运营商的补贴,苹果公司将以大约499美元的实际价格出售8GB版第二代iPhone,与最初的产品相同。”
对于第一版iPhone,苹果得到了无线运营商的一部分服务订阅营业收入。至于第二代版本,苹果没有得到任何服务费收入,使其更有必要通过运营补贴来削减实际硬件利润。
“硬件对苹果在消费电子和无线通讯领域中的利润、价值和营业收入非常关键,”Rebello表示,“实际上,iPod创造的三分之二的苹果营业收入来自硬件,只有三分之一来自iTunes服务和配件。第二代iPhone也不例外。”
利润率
根据对多款产品的详细拆机分析,iSuppli公司发现苹果的iPod和iPhone产品定价通常比材料及制造成本高出50%左右。考虑到新款iPhone售价199美元和估计补贴300美元,苹果将得到更高的BOM/制造利润率。
未来成本
象所有的电子产品一样,3G iPhone的BOM成本将不断随着元件价格下滑而下降。
据iSuppli公司手机成本模型(MHCM)的数据,第二代iPhone的BOM/制造成本2009年将降到148美元,比2008年时的173美元下降37%。
参考链接:http://www.itbear.com.cn/html/2008-06/11816.html
三星3.5LCD(带驱动板和触摸)

此主题相关图片如下:

型 号: LTV350QV-F04
生产商: 三星
成 色: 全新原装
特 性: 26万色TFT、分辨率320*240、带触摸屏、LED背光
接 口: RGB/CPU总线可选, 直接接S3C2410
附 件: 电压驱动板,2.0mm双排插引出接口
全新原装3.5LCD TFT(驱动板+触摸)可接任何2410开发板
软件提供:
1、 uCos + uCGUI
2、 Nucleus OS (开放源代码的操作系统,性能介于Vxwork 和uCos 之间,组件齐全);
3、 VxWorks (国内我们独家推出 for 2410 的BSP,附赠不提供技术支持);
4、 WINCE 4.2 + 移植过程分析说明;
5、 Linux + QT + YAFFS + 移植过程分析说明;
6、 RealBoot (华天正在线升级ISP 工具,包括ARM 源码和上位机程序源码,协议公开),支持USB直接下载WINCE和LINUX,并提供源代码。没有NOR FLASH同样可以启动linux和WINCE。不需要网口就能下载WINCE,更加适合量产的产品开发。缩短特殊行业的产品开发周期。
7、 提供核心板、底板等原理图以及pcb图。
8、 串口通讯调试程序及EVC源代码,方便开发串口相关的产品。
9、 提供各种产品的定制开发,包括软件和硬件定制服务。
一、 RealARM 2410 硬件平台综述
RealARM 2410 平台由核心板(Core-Board)和底板( Bottom-Board ) 以及3.5寸LCD(带触摸)组成.
● RealARM2410 的主要特点
1、Core-Board(核心板)
CPU: Samsung的S3C2410x处理器,工作频率达203MHz;
FLASH ROM: 64MB Nand Flash,可选配为各种容量8位的NANDFLASH;
NOR FLASH(SST39VF1601)提供2MBNor Flash;
SDRAM : 64M(Samsung K4S561632H-Tc75)2片4Banks×4Mbits×16bits SDRAM,PC100/PC133兼容;
RTC 实时时钟: 外接32.768KHz的晶振,带有备份电池,可保持时钟
NAND FLASH --NOR FLASH 启动选择开关
两个I/O 口连接两个LED,方便用户调试自己的程序
2、Bottom-Board (底板)
LCD 接口: 支持各种TFT LCD(50PIN2.0排针)
触摸屏接口: 可接四线电阻式触摸屏;
串口: 两个RS232串口;1路TTL电平接口
GPRS/GSM接口: SIMCOM公司GSM/GPRS模块
USB Device接口: 1个DEVICE接口(USB 1.1协议)
SPI 接口
IIC总线接口
ADC模数转换接口: 4路10位AD
两个USB HOST: 1个USB Host A型接口(USB1.1协议),
1个USBHost B型接口(USB1.1协议);
SD/MMC 接口: 支持SD卡、同时兼容MMC卡;
JTAG接口: 标准ARM 20针JTAG&&Wiggle&&ICE 接口;
IIS : 采用UDA1341TS IIS 接口(立体声输出,MIC 输入),
外部中断接口: 8路外部中断输入
网卡: 提供10M Ethernet芯片CS8900A,采用集成隔离变压器的RJ45接口,并带有ACT、LINK指示灯
蜂鸣器: 带驱动电路。用作声音提示,或用于PWM测试。
复位电路: 采用专用复位电路,稳定可靠;
电源接口: +5V电源供电(>2A输出)可选12V电源
LED指示灯: 6路
按键: 4路
以上很多接口都可以复用为通用I/O,方便用户外接自己的设备。
●Real2410开发板尺寸规格
产品类型 长度 宽度 高度
Real2410底板 168mm 128mm 1.8mm
Real2410核心板 60mm 32mm 1.2mm
● RealARM2410 与众不同的特点
1、提供所有硬件所有原理图和PCB(核心板、底板、JTAG&WIGGLE板以及LCD板)
2、 采用核心板和底板分离的设计思想,用户可以方便的使用Core-Board 进行二次开发
核心板和底板采用稳固DIMM-144 标准PCI 插槽接口。
3、 Core-Board 集成了ARM 最小系统,包括 CPU、内存、NandFlash、NorFlash、RTC 核心部件。特别是Nor Flash 的集成使ARM 最小系统进一步完整,这一点是别的公司没有做到的。Nor Flash 的集成让用方便地调试Vxwork 等软件
Bottom-Board 的把CPU 的所有功能全部引出,方便用户使用,LED 和按键的加入,可以
方便用户调试程序。SPI 和I2C 可以接入PS/2 键盘和MOUSE。
4、 Wiggle 和JTAG 二合一调试板内置 Wiggle 和JTAG 功能。使用Wiggle 可以很快地把程序烧入Nor Flash,比如说写入三星测试程序utest (180K)只需要1 分钟不到,而JTAG
则需要半个小时之入。二者合一让用户方便地写和调试程序。
二、 RealARM2410 的软件平台综述
RealARM2410 平台能提供如下软件,可以说RealARM2410 是国内目前提供操作系统最多的开发板,用户可以任选操作系统使用
1、 uCos + uCGUI
2、 Nucleus OS (开放源代码的操作系统,性能介于Vxwork 和uCos 之间,组件齐全);
3、 VxWorks (国内我们独家推出 for 2410 的BSP,不提供任何技术支持,客户可以自己移植,,只附送给客户,给客户提供一个方便);
4、 WINCE 4.2 + 移植过程分析说明;
5、 Linux + QT + YAFFS + 移植过程分析说明;
6、 RealBoot (华天正在线升级ISP 工具,包括ARM 源码和上位机程序源码,协议公开)。
具体详见各软件的使用手册
三、 RealARM2410 出货清单
1、 Real2410 Core-Board(核心板)一套;
2、 Real2410 Bottom-Board(底板)一套;
3、 JTAG&Wiggle 二合一板;
4、 全新原装3.5 TFT LCD(带触摸+驱动板)一套;
5、 USB 线一条;
6、 网线(交叉)一条;
7、 并口线一条;
8、 串口线(交叉)一条;
9、 5V/2A 电源一个;
10、触摸笔一个;
11、资料光盘(DVD 4.2G)一张;
四、 RealARM2410 光盘内容
I 原理图/PCB图
1、 Core-Board 原理图、接口图、PCB图
2、 Bottom-Board 原理图、PCB图
3、 LCD驱动板原理图、PCB图
4、 JTAG&wiggle原理图、PCB图
5、 料清单/封装库
资料手册
包含板上所有器件的DataSheet
II 嵌入式软件
1、RealBios + RealBoot + 上位机软件 + 源码分析说明;
2、uCos + uCGUI;
3、Nucleus BSP + Demo;
4、Linux + QT + YAFFS + 移植过程分析说明;
5、WINCE 4.2 + 移植过程分析说明;
6、VXWORKS(附赠,包括BSP,不提供VXWORKS任何方面技术支持);
7、开发板测试程序
II上位机软件
1、 RealBoot 串口烧写软件
2、 DNW 三星调试软件、USB 驱动源码、SJF2410 软件和源代码
3、 FlashProgramm 2.0(配合Wiggle 使用 )
4、 Linux 下编译、调试、烧录相关软件
5、 ADS1.2
6、 JTAG 并口驱动
7、 NAND FLASH 烧写软件
Tel: 13580325374
Mail:2410arm@163.com
QQ: 237930716
www.realarm.com.cn
用于手机SoC设计的部件级多媒体功能模块
上网时间:2008年05月09日
收藏  打印版  推荐给同仁  发送查询
尽管视频编解码是一个复杂的过程,但Tensilica的Diamond系列标准音、视频引擎却能简化SoC设计团队的设计任务。Diamond标准音视频引擎就像一个低功耗黑盒,SoC设计师无需精通H.264/AVC、MPEG-4和数字音频就可以将其整合到便携式多媒体和手机芯片中。
视频编码过程如图1所示。首先,SoC主处理器通过指令配置Diamond视频引擎,然后将未编码的视频帧发送给该引擎,由它对视频帧进行编码,并将编码后的图像数据(VDE)送回主处理器。进行视频解码时,主处理器首先通过指令配置Diamond视频引擎,然后将VDE发送给它,由它进行图像解码,最后将已解码的帧传回主处理器。音频解码过程,主处理器将压缩的音频流发送给Diamond音频引擎,以解压成音频数据流。

图1:已编码和未编码视频数据出入Diamond视频引擎示意图
Diamond视频引擎内核中有两个配置好的处理器,它们共同执行视频压缩的任务,而集成的DMA控制器则负责将压缩前后的图像送入和送出该内核,并在内核中的两个处理器之间传递。Diamond视频引擎内核中的这两个处理器都采用了Tensilica的可配置Xtensa处理器架构,引擎的流处理器则通过增加额外指令来完成比特流解析和熵编码。
这些新指令中一部分基于Tensilica的可变长度指令扩展(FLIX),并采用每条指令执行两次独立操作的VLIW指令格式。Diamond视频引擎的像素处理器也增加了可同时操作多个像素的单指令多数据(SIMD)指令。
流处理器和像素处理器中添加的指令使Diamond视频引擎能够在时钟速率低于200MHz时以标准清晰度(SD或D1)显示分辨率和30帧/秒的速度编码MPEG4 ASP比特流或解码H.264/AVC MP、MPEG4 ASP、MPEG2 MP、和VC-1/WMV9 MP视频比特流。
Diamond视频引擎的所有内部操作对主处理器都是不可见的,这正符合其作为部件级SoC模块的身份。主处理器通过调用一组预定义API来操作Diamond视频引擎。在运行视频应用时,主处理器使用主系统内存中的两个队列向Diamond视频引擎发送指令消息和数据,而用另两个队列接收来自Diamond视频引擎的状态消息和数据。基于队列的消息事务处理则由主处理器和Diamond视频引擎之间的固件驱动型中断启动。

图2:包含Tensilica Diamond视频引擎的音、视频SoC设计实例
结合Tensilica的Diamond视频引擎的硬件设计也并不复杂。与其他系统部件一样,Diamond视频引擎是连接到主系统总线上的,如图2所示。同时,Diamond 330HiFi音频引擎内核可以进行数字音频解码以配合Diamond 视频引擎,并由主处理器对它们进行同步。Diamond 330HiFi音频引擎的软件库中包含大量可直接运行(ready-to-run)的数字音频编解码程序。在某些设计中,该引擎也可用作主处理器。
目前在多媒体设备和手机SoC中已实现量产的Diamond标准音、视频引擎说明处理器和可直接运行的固件是如何构成一个复杂的高性能低功耗的IP内核的。采用这种面向模块的设计方法,SoC开发团队就能利用复杂并已得到验证的IP核快速搭建起非常复杂的SoC,然后利用应用程序代码对这些SoC编程,从而为市场提供独特的产品。由于多媒体压缩标准发展迅速,设计时间也日益缩短,因此这种黑盒式设计方法已变得越来越重要。
作者:Steve Leibson,
技术讲师
Tensilica公司
*什么是SoC?
SOC,是个整体的设计方法概念,它指的是一种芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SOC内由电路实现的;每一个模块不是一个已经设计成熟的ASIC“器件”,只是利用芯片的一部分资源去实现某种传统的功能。这种功能是没有限定的,可以是存储器,当然也可以是处理器,如果这片SOC的系统目标就是处理器,那么做成的SOC就是一个MCU;如果要做的是一个完整的带有处理器的系统,那么MCU就是整个SOC中的一个模块,一个IP。SOC可以做成批量生产的通用器件,如MCU;也可以针对某一对象专门设计,可以集成任何功能,不像MCU那样有自身架构的限定。它的体积可以很少,特殊设计的芯片可以根据需要减少体积、降低功耗,在比较大的范围内不受硬件架构的限制(当然,它也是会受芯片自身物理结构的限制,如晶圆类型、大小等)。