片上系统设计方法和低功耗设计与实现

时间:2011-07-19

  近年来集成电路技术发展迅速,片上系统(System On Chip,SOC)技术已经非常流行。基于深亚微米的超大规模片上系统芯片需求日益扩大,使传统的数字IC设计方法已不能适应现代产业界的IC产品需求。数字IC就是传递、加工、处理数字信号的IC,可分为通用数字IC和专用数字IC,IC产品面临上市时间的压力,使得设计者必须从设计方法来提高设计效率。

  由于设计规模和集成度的不断提高,功耗问题也正日益成为片上系统实现的一个限制因素。此项技术是用来解决功率消耗问题,为了降低功率消耗问题,从而研究的一种新技术来替代旧的技术来达到降低功率消耗问题。SoC设计的关键技术主要包括总线架构技术、IP核可复用技术、软硬件协同设计技术、SoC验证技术、可测性设计技术、低功耗设计技术、超深亚微米电路实现技术等,此外还要做嵌入式软件移植、开发研究,是一门跨学科的新兴研究领域。

  1  SOC的设计方法

  SoC的定义多种多样,由于其内涵丰富、应用范围广,很难给出准确定义。一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。

  目前,可以用于SOC设计的设计方法主要有:全定制系统设计方法、基于处理器核的系统设计方法、基于平台的系统设计方法和系统级综合设计方法。除第1种设计方法外,后3种均为基于IP模块可重用设计的SOC设计方法。如下所示就是目前的方法。

  (1)全定制系统设计方法。采用传统的ASIC设计方法来完全或大部分定制系统的各个部分。该设计方法的优点是设计灵活性大、系统结构紧凑、芯片的特性好、面积小。缺点是设计周期长、可重用性差,一般SOC的设计都不采用这种方法。

  (2)基于处理器核的系统设计方法。是在基于某种特定处理器的基础上,通过添加外设模块来完成系统设计。由于其处理器内核是确定的。系统一般由可以综合的处理器内核和符合处理器内核的设计标准的外设模块和定制逻辑组成。

  (3)基于集成平台的系统设计方法。是通过架构可重用的、有效的体系结构,在其中加入经过选择的软件或硬件IP模块来实现设计。系统中所有的模块都是可选部分,通过对体系结构中的各个部件进行客户化设计来实现不同的需求。

  (4)基于系统综合的系统设计方法。是在系统级设计流程中加入算法设计,通过高层的设计表述选择应用算法,调用可配置的IP,根据需要加以改变,并以此将系统划分为新的IP和已有的可配置外设来满足系统需求。

  随着技术的进步和需求的提升,未来片上系统的设计除了需要强有力的IP库和EDA工具支持外,还需要在设计方法上有所突破,这就是软硬件协同设计,其流程如图1所示。由图可以看出,这种设计方法是在多个层面上同时开始设计,增强了设计的竞争力。

  通过对比SOC的各种设计方法,基于集成平台的系统设计方法是当前SOC的主流设计方法。同时,随着SOC技术的发展,基于系统综合的系统设计方法和软硬件协调设计的方法将会有所突破和发展。

  2  SOC的低功耗设计

  目前,很多片上系统的设计都是先进行功耗分析,根据分析的结果再来划分设计结构、改进设计和优化方案。功耗已成为整个SOC设计的一个重点,也是整个设计成功与否的关键因素。

  2.1 SOC的功耗分析

  大规模集成电路多采用CMOS电路,对于CMOS电路来说,在执行某一任务期间,1个时钟周期的能量消耗为:

  式(1)中:M为系统中门电路的个数,Ck为第k个门电路的负载电容,SWk为第k个门电路每个时钟周期的开关次数,VDD为电路的电源电压值。假设执行第j个任务所需的总时钟数为Nj,则执行第n个任务的能量消耗为:

  由式(2)可以看出,影响系统功耗的主要因素有工作电压、负载电容、门电路的开关次数和时钟数。这些参数就是进行SOC系统低功耗设计的出发点。

  2.2 SOC不同层次的低功耗设计

  影响系统功耗的参数调整主要是从系统级到物理级来进行。下面将针对各种不同层次中较为有效的设计方法进行阐述与探讨。

  2.2.1 系统级

  在系统级进行低功耗设计的主要方法有:

  (1)软硬件划分

  软硬件划分是从系统功能的抽象描述着手,把系统功能分解为硬件和软件来实现。通过比较采用硬件方式和软件方式实现系统功能的功耗,得出一个比较合理的低功耗实现方案。由于软硬件的划分处于设计的起始阶段,所以能为降低功耗带来更大的可能。

  (2)功耗管理

  功率的损耗,指设备、器件等输入功率和输出功率的差额。功率的损耗。电路中通常指元、器件上耗 散的热能。有时也指整机或设备所需的电源功率。 功耗同样是所有的电器设备都有的一个指标,指的是在单位时间中所消耗的能源的数量,单位为W。不过复印机和电灯不同,是不会始终在工作的,在不工作时则处于待机状态,同样也会消耗一定的能量(除非切断电源才会不消耗能量)。因此复印机的功耗一般会有两个,一个是工作时的功耗,另一个则是待机时的功耗

  功耗管理的思想是设计并区分不同的工作模式。其管理方式可分为动态功耗管理和静态功耗管理2种。动态功耗管理的思想就是有选择地将不被调用的模块挂起,从而降低功耗。静态功耗管理是对待机工作模式的功耗进行管理,它所要监测的是整个系统的工作状态,而不是只针对某个模块。如果系统在一段时间内一直处于空闲状态,则静态功耗管理就会把整个芯片挂起,系统进入睡眠状态,以减少功耗。

  (3)软件代码优化

  软件代码的功耗优化主要包括:①在确定算法时,对所需算法的复杂性、并发性进行分析,尽可能利用算法的规整性和可重用性,减少所需的运算操作和运算资源。②把算法转换为可执行代码时,尽可能针对特定的硬件体系结构进行优化。例如,由于访问寄存器比访问内存需要更少功耗,所以,可以通过合理有效地利用寄存器来减少对内存的访问。③在操作系统中充分利用硬件提供的节电模式。

  2.2.2 结构级

  在结构级进行低功耗设计的主要方法有:

  (1)并行结构

  并行结构是将1条数据通路的工作分解到2条通路上完成。并行结构降低功耗的主要原因是其获得与参考结构相同的计算速度的前提下,其工作频率可以降低为原来的1/2,同时电源电压也可降低。二分频并行电路参考结构如图2所示。

  由图可以看出,并行电路结构是以牺牲芯片的面积来降低功耗。假定参考结构中的工作频率为fref,电源电压为Vref,坏情况下的延迟为τ,则:

  由式(4)可以看出,并行结构下功耗有明显的降低。

  (2)流水结构

  电路流水就是采用插入寄存器的办法降低组合路径的长度,达到降低功耗的目的。一个先相加再比较的电路中间插入流水线寄存器的流水结构如图3所示。

  由图可知,加法器和选择器处在2条不同的组合路径上,电路的工作频率没有改变,但每的电路减少,使电源电压可以降低。由于加入了流水线寄存器,等效电容变为原来的1.2Cref。则:

  由式(5)可见,采用流水线结构也可以显着地降低功耗。

  电路流水化和并行化可以达到降低功耗的目的,这是因为设计者可以选择电路的工作电压。如果电路工作电压固定,2种方法只能提高电路的工作速度,但功耗将相应地有所增加。

  (3)编码优化

  一般可采用One-Hot码、格雷码和总线反转码降低片上系统总线的功耗。One-Hot码在一个二进制数中只允许1个数位不同于其他各数位的值;格雷码在任何2个连续的数字其对应的二进制码只有1位的数值不同。由于在访问相邻的2个地址的内容时,其跳变次数比较少,从而有效地减少了总线功耗。

  总线反转码是在传输数据时考虑相邻数据之间的关系来决定传输的格式。当发送部件向总线上传输第Si+1个数据时,会将它和Si进行比较,根据比较的结果来决定发送Si+1还是Si,从而减少总线的有效翻转数,进而减少系统的功耗。

  除了这几种编码外还有一些更为复杂的低功耗编码,这些编码方式的终目的就是通过改变编码来降低不同数据切换时的平均翻转次数。

  2.2.3 寄存器级

  在寄存器级进行低功耗设计的主要方法有三种。

  (1)门控时钟

  门控时钟有2种:门控到达逻辑模块的时钟和门控到达每个触发器的时钟。但不管是哪一种,都能起到降低功耗的作用。门控到达逻辑模块的时钟控制方法如图4所示。中心模块提供给模块A和模块B不同的门控时钟,当模块不工作时,可以关闭该模块,从而达到减少功耗的目的。

  门控到达每个触发器的时钟控制方法如图5所示。当寄存器保持数据时,可以关闭寄存器时钟输入,减少功耗。

  (2)存储分区访问

  存储分区访问是将一个大的存储模块分成不同的小的存储模块,通过译码器输出的高位地址来区分不同的存储模块。工作中,只有被访问的存储器才工作,其他几块存储器不工作。多模块RAM的架构如图6所示。

  (3)预计算

  预计算是提前进行位宽较小的计算工作,如果这些操作得到的信息可以代表实际的运算结果,就可以避免再进行位宽较大的计算工作,降低电路的有效翻转率,从而达到降低功耗的目的。

  2.2.4 逻辑门级

  低功耗设计的主要方法有:

  (1)逻辑优化

  逻辑优化设计的主要目的是减少信号的翻转活动。通过将逻辑电路的逻辑功能尽可能地分解,使翻转活动。然后将翻转活动高的结点隐藏到复杂的门里,以此来降低这些结点的等效电容。

  (2)多阈值电压

  多电压技术的思路与可变电压技术类似。可变电压技术在时间上改变电压,而多电压技术则在空间上使用不同的电压,根据系统不同部分的性能要求差异,使其工作于不同的电压,从而降低系统功耗。

  2.2.5 版图和物理级

  在版图和物理级进行低功耗设计的主要方法有:

  (1)布局布线优化

  布局布线优化设计主要集中在寄生电容与翻转活动这2个相关的因素。通过将连线合理地安排在不同的层面上达到降低功耗的目的。

  (2)TFSOI设计技术

  薄膜SOI器件采用绝缘介质作为隔离,与普通的CMOS器件相比,具有良好的特性:没有自锁效应,具有高集成度、低寄生电容和理想的亚阈值漏电流。采用SOI器件,电路的电容可以降低约30%,再加上较低的工作电压,可以大大降低电路的功耗。

  以上从不同的层面系统地介绍了一些行之有效的低功耗设计方法。实践证明,在不同设计层次上采用不同的措施对功耗的改善程度是不同的,层次越高,改善的程度越大。各层次低功耗设计方法的效果比较如表1所示。

  3  结束语

  本文对SOC设计方法和不同层次的低功耗设计进行了深入探讨,给出了目前比较适用的SOC低功耗设计方法和新的软硬件协同设计流程。随着SOC技术的发展,软件设计占据的地位将会越来越重要,与软硬件协同设计相关的新的设计方法和低功耗设计技术必将得到快速发展。


  
上一篇:一种研华AFC专用机在轨道交通售检票系统中的运用
下一篇:车身控制模块设计的要求和解决方法

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料