ASIC低功耗设计

合集下载

基于ASIC的功耗评估与优化设计

基于ASIC的功耗评估与优化设计

功耗两部分构成,通常动态功耗占芯片整体功耗的绝大
部分[2]。
(1)动态功耗,是电路在工作时所消耗的能量。
对于CMOS电路,动态功耗又分为开关功耗和短路功



PDynamic=
Pswitch+P
。 [3]
internal




也称为翻转
功耗(Switching Power),由电路翻转时对负载电
容充放电引起,即 Pswitch
=
1 2
VD2 D∙CloadFra bibliotek∙ Tr

短路功耗也叫内部功耗(Internal Power),在输入
翻转时PMOS和NMOS同时导通的瞬间电流形成,即
Pinternal=VDD·Tr·Qx[4]。
(2)静态功耗,是在电路没有翻转只供电的情形
下,晶体管中漏电流造成的功耗,所以也叫漏电功耗
(Leakage Power),公式为Pleakage=VDD·Ileakage。静态
0 引言
随着便携式导向的消费类电子产品的需求不断增 大,便携式电子设备的低功耗需求、基于可靠性与性能 影响的考虑、芯片设计及制造的成本影响等,都体现了 低功耗设计的需求和必要性。因而对功耗要求也越来越 高,低功耗设计已逐渐成为衡量电子产品是否成功的重 要指标,使得芯片设计者也越来越重视对功耗的优化设 计。近来工艺技术的快速提高,面积、速率、温度等性 能要求不断提升,这些改变对芯片的功耗优化设计有着 很重要的影响。尤其对于追求低功耗、微型化、高可靠 性等目标的ASIC芯片来说,更是面临着不小的挑战。
要获取每个节点的开关行为情况。
仿真分析法更方便精确,其关键是获
功耗的来源有几种方式,很大比例是由源极和漏极之间

基于0.35um工艺的低功耗数字密码锁ASIC芯片设计

基于0.35um工艺的低功耗数字密码锁ASIC芯片设计

基于0.35um工艺的低功耗数字密码锁ASIC芯片设计报告实习地点克立楼实习时间 2013.11.15学院信息工程学院班级电科1012姓名刘玄学号 2010850054 成绩指导老师卫雅芬2013 年 11 月 1 5 日基于0.35um工艺的低功耗数字密码锁ASIC芯片设计信息工程学院电科10122013年11月15日一、设计思想专用集成电路(ASIC)设计方法可以分为半定制设计和全定制设计两种,半定制设计是指在厂家提供的基本电路单元的基础之上进行集成电路的设计,而全定制设计则是要求设计者对电路系统的结构、逻辑、电路以及物理等各个层次都要进行自行设计,因此与半定制设计方法相比,全定制设计可以更加充分利用设计者的经验与创造性。

但全定制设计的工作量大,设计周期长,设计成本高,风险大。

目前的ASIC设计中,完全的全定制设计基本不存在了,逐步向半定制设计过渡。

数字密码锁是一种应用十分广泛的安全产品。

同传统的机械式密码锁相比,它具有操作方便、应用更广、附加功能多、体积小、耐久性长等特点,因此比机械式密码锁更受欢迎。

数字密码锁电路的实现方式有很多种,如采用FPGA实现就比较常见。

而ASIC设计与FPGA 设计相比,产业化后成本低,设计安全性高,缩小了产品体积而使产品的便携性更好。

还有,可以通过不改变核心芯片而对输入模块和输出模块的更换而增加产品线,使产品的形式多样化,又可以不改变输入模块和输出模块而更换核心芯片使产品升级而降低生产成本。

本文讨论使用基于标准单元的半定制设计方法进行数字密码锁前端电路的ASIC设计。

二、设计原理基于0.35um工艺的低功耗数字密码锁ASIC芯片设计主要是利用在虚拟机的环境下用Cadence软件进行的原理图和版图的编辑。

它不仅能在Unix系统、工作站平台上运行,而且能在windows操作系统、PC和Mac平台下运行。

首先利用Cadence Virtuoso ADE5.1.41 软件进行原理图的编辑,并且进行原理图正确性的验证。

一种低功耗异步FIFO在ASIC中的设计

一种低功耗异步FIFO在ASIC中的设计

F IFO ) 存储器模块的实现方案 。为适应 大量的视频数据猝发传输设计一种宽为 36 位 、 深为 256 的异步 F IFO, 基于低功耗 设计 思想 , 使用格雷码地址编码以有效抑制亚稳态 , 增加了门控时钟电路 。 该模块已经过测试验证 , 并与音视频模块和 PC I桥 集成 后流片 , 可以工作在最大 197MH z的 频率下 , 完全符合设计要求 。 该桥芯片可以支持 4 路 D 1 画质 ( 704 视频数据稳定采集 。 关键词 : 专用集成电路 ( A SIC); 异步 F I FO; 格雷码 ; 低功耗 中图分类号 : TP302. 2 文献标志 码 : A 576 分辨率 ) 实时音
[ 5] [ 4]
。图 3 描述了一个比较
典型的异步 F IFO 的抽象结构。
图 2 电路亚稳态的形成
经过决断时间后 , 输出端 Q 将会稳定到高电平 1 或低电平 0 。在图 2 中, 基于 27 MH z的 CLK27 时
图 3 异步 F IFO 的抽象结构
第 1期
范小虎 , 等 : 一种低功耗异步 FIFO 在 A S I C 中的设计
[ 3]
, 在实际的设计中还采用了地址指针
[ 11 - 12]
增加一位状态位的方式 判断空满 :
, 同时根据设计的需求
引入了 Sptr与 Fptr , 用如下 V erilog HDL 关键代码来 gray_ w syn< = rptr_gray ; / /W rite synchronization gray_rsyn< = w ptr_gray; / /Read synchronization Sptr< = wptr ; / / Sptr has one clk period lag to Syn chronize Assign fptr [ ASIZE ] = wptr [ ASIZE ] ^ 1∀b1 ; / /Other b its are equa l to W ptr . ## Assign Em pty= ( sptr_gray= = g ray_rsyn)? 1∀ b1 : 1∀ b0 ; Assign F ull= ( fptr_gray= = g ray_w syn) ? 1∀ b1 : 1∀b0 。 另外 , 为了适应大规 模视频数据 的猝发传 输, C lifford E. Cu mm in gs的同步方案的读写延迟使控制 器不能及时获得空满状态, 我们在其基础上又增添了 异步计数器来支持高效率的猝发传输。除了在 C lr 或空满状态时, 用如下方式来计算计数器中的数值: if( sptr_gray= = g ray_rsyn) cnt< = sptr- rptr ; / / nptr 。 如此就可以依据计数器中的数值设置水位

低功耗可配置FFT处理器的ASIC设计

低功耗可配置FFT处理器的ASIC设计

摘 要: 提出了一种低功耗可配置 FF T 处理器的设计方案和存储器地址产生方法, 可进行 8
点、16 点、32 点、64 点、128 点和 256 点运算。采用基 2 算法和基于存储器的顺序结构, 将长位宽
的存储器分成两个短位宽的存储器, 并在蝶形单元中将 4 个实数乘法器减少为 3 个, 进一步降低
3. Col l ege of A r chi tec tur e , H u nan Uni v ersi t y , Chang sha 410082, P . R . Ch ina)
ቤተ መጻሕፍቲ ባይዱ
Abstract: A lo w po wer and reconfig urable FF T pr ocesso r was desig ned and memor y address g ener ation alg or ithm
的初始化来实现。假设输入数据的 序号为 a, 产生
第6期
晏 敏等: 低功耗可配置 F FT 处理器的 A SIC 设计
78 9
的地址为 d, 由于 最多要进 行 256 点 FF T , 所以, a 和 d 的位宽为 8 位。SRAM 初始化的地址产生算 法称为比特反转方法, 如表 1 所示。例如, 当进行 8 点 F FT 时, 第 1 个输入数据的序号为 a= 00000000, 存储地址 d= 00000000, 而第 7 个输入数据 的序号 为 a= 00000110, 存储地址为 d= 00000011。
实数乘法器是蝶形单元的核心部件, 同时也是 F FT 结构的关键路径。乘法器完成一次乘法操作 的周期直接影响蝶形处理器的运算性能[ 5] 。在本设
计中, 采用改进的 Boo th 乘法器能够将部分积的个 数减少一半, 并采用 Wallace 树结构和 4 2 压缩

ASIC低功耗设计详解及相关书籍推荐

ASIC低功耗设计详解及相关书籍推荐

ASIC低功耗设计详解及相关书籍推荐
一、低功耗设计
随着手持便携式设备及物联应用的推广,低功耗设计的问题变得越来越重要。

更低的芯片功耗,意味着手持便携设备的使用时间更长、功耗的降低使得芯片的寿命得以提高、散热问题得到控制,设备的体积可以做到更小等等之类的各种好处。

低功耗设计是一个整体的概念,意思是它在每个设计层次上都可以进行功耗的优化——算法层次的优化、RTL级代码的优化、门级网表的优化、版图布局的优化等等。

而且,抽象层次越高,功耗优化的程度也就越高,例如算法层次的优化可以降低70%以上的功耗,而版图布局的优化大概只有10%的优化效果。

数字集成电路功耗优化集中体现在两个方面,一是电路的低功耗优化设计,二是EDA工具的优化设计。

而电路的低功耗优化设计前者是重点,即综合考虑电路性能、面积、功耗来进行功耗的优化设计。

低功耗设计的方法有很多种,就笔者所了解的信息大致分为如下几种。

a、多阈值工艺方法:不同的电路模块采用不同阈值的基本门级电路;
b、电源门控:将某一部分电路的电源通过特殊逻辑门控制,需要时再启动该电路的电源,达到降低功耗的目的;
c、多电压域:不同区域的电路模块采用不同的供电电压,比如,频率高的电路采用高电压,频率要求低的电路采用低电压;
d、门控时钟:用逻辑门控制模块时钟的停止或者开启,门控时钟可以通过DC命令的方式直接插入;
e、操作数分离;
f、门级电路优化;
g、版图优化;等等。

对于Asic设计人员来说,不同的工作岗位,所采取的优化办法并不相同。

a-c是系统级设。

集成电路低功耗设计方法研究【文献综述】

集成电路低功耗设计方法研究【文献综述】

毕业设计文献综述电子信息科学与技术集成电路低功耗设计方法研究摘要:随着IC制造工艺达到纳米级,功耗问题已经与面积、速度一样受到人们关注,并成为制约集成电路发展的关键因素之一。

同时,由于电路特征尺寸的缩小,之前相比于电路动态功耗可以忽略的静态漏功耗正不断接近前者,给电路低功耗设计提出了新课题,即低漏功耗设计。

本文将分析纳米工艺下芯片功耗的组成和对低漏功耗进行研究的重要性,然后介绍目前主要的低功耗设计方法。

此外,由于ASIC技术是目前集成电路发展的趋势和技术主流,而标准单元是ASIC设计快速发展的重要支撑,本文在最后提出了标准单元包低漏功耗设计方法,结合电路级的功耗优化技术,从而拓宽ASIC功耗优化空间。

关键字:低功耗,标准单元,ASIC设计前言:自1958年德克萨斯仪器公司制造出第一块集成电路以来,集成电路产业一直以惊人的速度发展着,到目前为止,集成电路基本遵循着摩尔定律发展,即集成度几乎每18个月翻一番。

随着制造工艺的发展,IC设计已经进入了纳米级时代:目前国际上能够投入大规模量产的最先进工艺为40nm,国内的工艺水平正将进入65nm;2009年,Intel酷睿i系列创纪录采用了领先的32nm 工艺,并且下一代22nm工艺正在研发中。

但伴随电路特征尺寸的减小,电路功耗数值正呈指数上升,集成电路的发展遭遇了功耗瓶颈。

功耗问题已经同面积和速度一样受到人们重视,成为衡量IC设计成功与否的重要指标之一。

若在设计时不考虑功耗而功利地追求集成度的提高,则可能会使电路某些部分因功耗过大引起温度过高而导致系统工作不稳定或失效。

如Intel的1.5GHz Pentium Ⅳ处理器,拥有的晶体管数量高达4200万只,功率接近95瓦,整机生产商不得不为其配上了特大号风扇来维持其正常工作。

功耗的增大不仅将导致器件的可靠性降低、芯片的稳定性下降,同时也给芯片的散热和封装带来问题。

因此,功耗已经成为阻碍集成电路进一步发展的难题之一,低功耗设计也已成为集成电路的关键设计技术之一。

集成电路设计中的低功耗技术研究与优化

集成电路设计中的低功耗技术研究与优化

集成电路设计中的低功耗技术研究与优化在现代科技发展的背景下,集成电路设计中的低功耗技术研究与优化变得异常重要。

随着移动设备的普及和物联网的快速发展,电池续航时间成为用户关注的主要问题。

因此,如何设计和优化集成电路的低功耗特性,成为了电子工程师们的核心任务之一。

本文将探讨集成电路设计中的低功耗技术,包括功耗优化的策略和技术手段。

通过研究和优化电路设计,可提高电路工作效率和延长设备的使用时间。

为了实现集成电路设计中的低功耗,首先需要从电源管理着手。

电源管理是实现低功耗的重要手段,主要通过调整芯片供电电压和电流来降低功耗。

在设计中,优化电源模块的效率和功率转换效率,对于降低功耗至关重要。

其次,可采用功率管理技术来降低功耗。

功率管理技术包括功率时钟门控、时钟树优化、电路切换等手段,这些手段可以在电路的不同部分只有在需要使用时,才提供电源。

通过对电路功率进行动态管理,可以有效减少功耗。

同时,优化逻辑设计也是降低功耗的关键。

通过对电路逻辑设计进行优化,减少电路中不必要的开关操作和信号传输,可以降低功耗。

例如,采用多个功能模块共享元件、异步逻辑设计等技术,可以有效减少功耗。

此外,在集成电路设计中,布线技术也是非常重要的。

优化布线设计可以降低电路中的延时和功耗。

采用合适的布线方法和布线规则,可以减少电流的瞬间变化,从而降低功耗。

同时,合理设置布线路径和减小布线长度也是降低功耗的有效手段。

针对集成电路设计中的低功耗技术,还可以通过使用低功率设计工具和技术来改进。

集成电路设计软件可以提供低功耗设计的辅助功能,帮助工程师优化电路,减少功耗。

使用低功率设计工具可以通过对供电网络建模、分析和优化,提供给工程师全面的低功耗设计方案。

同时,还可以使用低功耗模拟和仿真工具来进行功耗分析,验证设计的功耗优化效果。

除了以上提到的技术手段,还可以使用节能器件来实现集成电路设计中的低功耗。

目前,一些新型节能器件,如超低功耗可编程逻辑器件(FPGA)、功耗可调的模拟和数字混合信号芯片等,可以大大提高电路的电源效率和工作效率。

asic gating 电路设计

asic gating 电路设计

asic gating 电路设计ASIC(Application-specific integrated circuit)是指针对特定应用而设计的集成电路。

而ASIC gating电路设计则是指在ASIC电路中应用门控技术来实现功耗优化和电路性能提升的设计方法。

ASIC gating电路设计的基本思想是通过控制门的开关状态来控制逻辑块的工作状态,从而达到降低功耗和提高电路性能的目的。

在ASIC电路中,大部分逻辑块在任意时刻只有部分逻辑是活跃的,而其他逻辑则处于闲置状态。

因此,通过将闲置状态的逻辑块的门控信号拉低,可以有效地减少功耗。

在ASIC gating电路设计中,主要采用了以下几种门控技术:1.时钟门控:通过对时钟信号进行门控,可以实现对时钟信号的控制,从而控制逻辑块的工作状态。

通过将闲置状态的逻辑块的时钟信号关闭,可以达到降低功耗的目的。

2.数据门控:通过对数据信号进行门控,可以实现对逻辑块输入数据的控制。

当输入数据不满足某些条件时,可以将逻辑块的数据门控信号拉低,从而将逻辑块置于闲置状态,从而降低功耗。

3.功能门控:通过对逻辑块的功能信号进行门控,可以实现对逻辑块功能的控制。

当逻辑块的功能不被使用时,可以将逻辑块的功能门控信号拉低,从而将逻辑块置于闲置状态,从而降低功耗。

4.级联门控:通过对多个逻辑块之间的门控信号进行级联控制,可以实现对整个电路的控制。

当整个电路的某个部分不被使用时,可以将该部分的级联门控信号拉低,从而将整个电路置于闲置状态,从而降低功耗。

ASIC gating电路设计的关键是如何确定逻辑块的闲置状态和门控信号的生成。

一种常用的方法是通过对电路进行建模和仿真分析,来确定逻辑块的闲置状态和门控信号的生成条件。

另一种方法是通过对电路进行静态分析和优化,来确定逻辑块的闲置状态和门控信号的生成条件。

ASIC gating电路设计在降低功耗和提高电路性能方面具有重要的作用。

通过合理地应用门控技术,可以降低电路的功耗,延长电池寿命,减少散热问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、低功耗技术1. 功耗分析(1)由于电容的充放电引起的动态功耗V DDCl i VDDv out图(20)充放电转换图如图(20)所示:PMOS 管向电容L C 充电时,电容的电压从0上升到DD V ,而这些能量来自于电源。

一部分能量消耗在PMOS 管上,而剩余的则保存在电容里。

从高电压向低转换的过程中,电容放电,电容中储存的能量消耗在NMOS 管上。

我们来推导一下:考虑从低电压转换到高电压的情况,NMOS 和PMOS 不同时导通。

在转换过程中电源提供的能量为C E ,而是转换后储存在电容里的能量。

⎰⎰⎰====∞∞VDD DD L out DD L out L DD VDD VDD V C dv V C dt dt dv C V dt t i E 0002)( ⎰⎰⎰====∞∞VDD DD L out out L out out L out VDD C V C dv v C dt v dt dv C dt v t i E 02002)( 这两个等式说明电源提供的能量只有一半储存在电容里。

另一半被PMOS 管消耗掉了。

为了计算总体能量消耗,我们不得不考虑器件的翻转。

如果门每秒钟翻转10−→−f 次,那么 102−→−=f V C P DD L dyn 10−→−f 表示能量消耗的翻转频率。

随着数字电路集成度的提高,能量问题将成为人们关注的焦点。

从以上分析看出,dyn P 跟电源电压的平方成正比,因此降低供电电压对降低功耗有非常显著的意义。

但是,降低供电电压对电路性能有一定的影响,这时我们可以考虑减小有效电容和减少翻转率。

电容主要是由于晶体管的门和扩散电容引起的,因此降低由于电容的充放电引起的动态功耗方法之一是将晶体管设计得尽可能小,这种方法同样对提高电路的性能有很大的帮助。

(2)短路电流引起的功耗在实际电路中,输入波形上升和下降时间为零是不可能的。

在翻转过程中,当NMOS 管和PMOS 管同时导通的时候,有限的输入信号斜率使得在瞬间产生从DD V 到GND 之间直流通路。

假设电流是三角波,而反向器的上升和下降波形是对称的,我们来计算在翻转周期的能量消耗:peak DD sc sc peak DD sc peak DD dp I V t t I V t I V E ==+22 我们计算平均能量消耗f V C f I V t P D D sc peak D D sc dp 22==V DDV in V outC L I SC图(21)短路电路示意图短路电流的功耗同电路的翻转率是成正比,sc t 表示器件同时导通的时间, peak I 由器件的饱和电流决定,因此正比于晶体管的尺寸。

峰值电流是输入和输出斜率比率的函数。

其原因说明如下:静态CMOS 反向器的输入从0变化到1,假设负载电容非常大,因此输出信号的下降时间比输入信号的上升时间长得多。

在这种情况下,在输出信号变化以前,输入信号已经完成了瞬态变化,因此NMOS 已经导通,但是输出电容来不及放电。

而PMOS 的源漏电压近似为零,因此器件关闭,不传递任何电流。

这种情况下,电路电流约等于0。

考虑相反的情况,输出电容非常小,因此输出的下降时间比输入的上升时间要短的多。

在瞬态变化时,PMOS 管的源漏电压是DD V ,从而保证了最大的短路电流。

通过分析,我们知道当输出的上升/下降时间大于输入上升/下降时间的时候,短路功耗是最小的。

从另一个方面讲,输出上升/下降时间不宜过大,否则会使电路的速度降低。

(3)静态功耗电路消耗的静态功耗的表达式如下DD stat stat V I P =stat I 是电路在不翻转时的静态电流。

理想CMOS 反向器的静态电流等于0,因为PMOS 和NMOS 管不同时导通。

实际的晶体管在源漏和衬底之间存在反向偏置的二极管,这个电流值是非常小可以忽略不计的。

然而节点的漏电流是由热载流子产生的,漏电流的值随节点温度上升而增大。

因此有必要保持操作环境在较低的温度。

漏电流的另一个来源是晶体管的亚域值电流。

当Vgs 低于域值电压时,MOS 晶体管存在源漏电流。

域值电压越接近零,当Vgs=0时的漏电流就越大,消耗的静态功耗也就越大。

因此域值电压不能太低,通常是大于等于0.5伏。

(4)总功耗CMOS 反向器的总功耗由以下三部分组成:()leak DD s peak DD DD L stat dp dyn tot I V f t I V V C P P P P ++=++=−→−102典型的CMOS 电路,电路节点电平翻转时对负载电容地充放电功耗是主要地功耗源。

完美的设计能够将短路电流功耗限定在一定的范围内,当电路处于静态即保持状态不变时功耗很小,目前可以忽略,但是在不久的将来静态功耗将面临挑战。

2. 低功耗技术方案(1) 降低电压从功耗的分析来看,芯片的功耗正比于芯片工作电压的平方,所以选用低电压工艺是个很有效地解决途径。

但是同时会降低工作频率,降低噪声容限,使电路的性能变差。

(2) RTL 级设计阶段是最有可能大幅度降低功耗的阶段系统级处在设计的较高抽象层次上,具有较大的优化和选择余地,设计层次越高,优化所能达到的效果越好。

在系统级上进行低功耗优化设计,它们的优化程度最大可以达到几倍。

不同的RTL 结构,其功耗相差甚远。

举例来说,一个模16的计数器,以one_hot 方式(只有一位是1,其他是0)用0000000000000001表示1,000000000000010表示2,以次类推,100000000000000表示16。

其好处是跳变一次只有两位寄存器发生变化,但是所用的资源比较大。

用binary 方式表示,用0001表示1,0010表示2,1000表示16,只用了4位寄存器,但是跳变一次至少有两位寄存器状态改变,所以功耗几乎相等。

而一个模256的计数器,one_hot 方式和以binary 编码方式,其功耗比约为5:1。

电路中的功耗主要是动态功耗, 而近年来的研究表明, 在电路中时钟信号消耗的功率占了系统功耗的很大比例(15%~ 45% ) ,因此通过减少时钟功耗将可以有效地降低电路的总功耗。

降低时钟功耗可以从减少时钟信号的摆幅、降低时钟频率和简化电路结构等方面入手, 而降低时钟频率很自然地会利用双边沿触发器L 采用双边沿触发器后, 在保持原来数据处理频率的条件下, 时钟信号的频率可以减半, 由此便可导致集成电路的功耗降低。

同步设计是目前数字系统设计中最为常用的设计。

因为在同步设计中,所有的时序单元均通过同一个时钟调度,因此时序上不会出现混乱。

并且当前的EDA 工具对于同步电路的分析与支持已经比较完善。

同时,由于所有的时序单元都随着时钟的跳变而翻转,因此时钟的功耗是比较大的。

异步电路不是所有的时序单元都受同一个时钟控制,所以使用异步电路使得某些触发器的时钟跳变大大减少。

例如,异步触发四位二进制计数器中触发器C 的时钟跳变从原来的16 次减少为8 次, 触发器D 的时钟跳变减少为4 次,从而有效地降低了功耗。

同时,异步电路对于电压,温度的敏感性要小,也不存在同步电路所具有的CLOCK SKEW 的问题,因此异步电路也有着同步电路不可比拟的优越性。

(3) 门控时钟门控时钟是RTL 级降低功耗的一个非常有效的手段。

它指时序电路(触发器或锁存器等)的端仅在时钟需要引入时才引入。

先来看一下如下的HDL 描述:@posedge (CLK)beginif(EN==1)Data_out=Data_in;End直接对这段代码进行综合将生成如图(22)所示的电路,这是设计中最常见的一类寄存器。

Q Q SET CLR D0101MUXData_in ENCLK Data_out图(22)没有门控时钟的触发器在没有门控时钟的结构中,对于有同样时钟和同步控制信号的触发器组,综合工具使用反馈环和选择器来连接它们。

当这些触发器在多个周期内保持同样的值,它们不可避免地要消耗能量。

当同步的使能信号处于状态0的时候,触发器组关闭。

在这种情况下,电路使用选择器将触发器组的Q 值返回到数据输入D 端。

当使能EN 信号处于状态1的时候,寄存器打开,允许数据输入D 端输入新的值。

这个反馈环不可避免地消耗能量。

比如,在多个时钟周期内,如果使能信号的值为0那么同样的值多次载入触发器,其输出的值没有改变,但是触发器组和时钟线要消耗能量,同时选择器也要消耗能量。

也就时随着时钟信号的翻转,电路中存在冗余的开关动作,消耗额外的功率。

对于这种情况可以在寄存器状态不需要改变时关断它的时钟输入以达到降低功耗的目的,这就是门控时钟的设计思想。

插入门控时钟的电路结构如图所(23)示:CLKENQ Q SET CLR D ENLENCLK DATA IN00LD LG LQ LATCHAND图(23)加入了门控时钟的触发器CLK 是源时钟信号,ENCLK 是插入门控时钟以后到触发器组的时钟信号,此信号由与门(AND)控制,而ENL 是控制与门的使能信号,它由使能信号EN 产生。

从上图可以看出,ENCLK 的翻转率远远小于CLK,因此能够消除冗余的寄存器内部功耗和时钟网络功耗,另外由于原电路的选择器被门控时钟取代,所以还能够减小芯片的面积。

在彩色LCD 控制器设计实例中,采用门控时钟技术后,设计的功耗降低了56%,同时电路规模也减小了8.5%。

由此可见,该技术是一种非常有效的低功耗设计技术。

当EN 信号为0时,Data_out 保持原来的值不变,但是,随着时钟信号的翻转,电路中存在冗余的开关动作,消耗额外的功率。

对于这种情况可以在寄存器状态不需要改变时关断它的时钟输入以达到降低功耗的目的,这就是门控时钟技术的设计思想。

插入门控时钟能够消除冗余得寄存器内部功耗和时钟网络功耗,另外由于原电路中得多路选择器被门控时钟逻辑取代,并且通常是一个门控时钟逻辑取代,并且通常是一个门控时钟逻辑门控一组寄存器,所以还能够减小芯片得面积。

PowerCompiler 能够自动插入门控时钟,使得这种优化成为可能。

PowerCompiler 和综合工具DesignCompiler(DC)集成在一起,所以插入门控时钟直接在DC 中进行。

下面给出了插入门控时钟并完成综合得DC 脚本如下:/*设定门控时钟设计时常用的变量*/set hdlin_enable_rtldrc_info trueset power_preserve_rtl_hier_names true/*设定门控时钟类型及相关参数*/set_clock_gating_style -sequential_cell latch -setup 0.2 -hold 0.1 -control_point before -control_signal scan_enable/*读入RTL 级设计,插入门控时钟*/analyze -f verilog {Sync_top.v Decoder.v Crc_check.v Crc_encode.v Fsm.v Encode_modulate.v Eeprom_control.v}elaborate Sync_top -gate_clocklinkhookup_testports –verbose/*报告插入门控时钟的具体情况*/report_clock_gating -gating_elements -gated -ungated -hier > gate.rpt/*插入门控时钟后的时钟定义与约束*/create_clock -period 296 -name Clk_fc4 [get_ports Clk_fc4]create_clock -period 296 -name Post_cg_clk4 [get_pins -hierarchical "*clk_gate*/ENCLK"] create_clock -period 296 -name Pre_cg_clk4 [get_pins -hierarchical "*clk_gate*/CLK"]set_clock_uncertainty 1 [get_clocks Clk_fc4]set_dont_touch_network [get_clocks Clk_fc4]set_clock_latency 1 [get_clocks Clk_fc4]set_clock_latency 0 [get_clocks {Pre_cg_clk4}]set_clock_latency 0.7 [get_clocks {Post_cg_clk4}]set_clock_transition 1 [get_clocks Clk_fc4]create_clock -period 2368 -name Clk_fc32 [get_ports Clk_fc32]create_clock -period 2368 -name Post_cg_clk32 [get_pins -hierarchical "*clk_gate*/ENCLK"] create_clock -period 2368 -name Pre_cg_clk32 [get_pins -hierarchical "*clk_gate*/CLK"]set_clock_uncertainty 1 [get_clocks Clk_fc32]set_dont_touch_network [get_clocks Clk_fc32]set_clock_latency 1 [get_clocks Clk_fc32]set_clock_latency 0 [get_clocks {Pre_cg_clk32}]set_clock_latency 1 [get_clocks {Post_cg_clk32}]set_clock_transition 2 [get_clocks Clk_fc32]/*设定其他时序约束,完成综合*/source constraints.tclpropagate_constraints –gate_clock/*传递门控时序约束*/uniquifycompile/*检查时序并输出DB文件和网表*/DC在读入设计,即“elaborate”时,需加上“-gate_clock”选项,即插入门控时钟。

相关文档
最新文档