首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» 数字IC低功耗设计入门(二)——RTL级低功耗设计(1)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
数字IC低功耗设计入门(二)——RTL级低功耗设计(1)
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2017-11-7 16:08
|
只看该作者
数字IC低功耗设计入门(二)——RTL级低功耗设计(1)
本帖最后由 look_w 于 2017-11-7 16:10 编辑
二、RTL级低功耗设计
前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面。系统级的低功耗设计,主要是由系统级设计、具有丰富经验的人员实现,虽然还轮不到我们设计,我们了解一下还是比较好的。我们前端设计人员的重点不在系统级设计上面,而是在RTL级(及综合)上面。下面我们就来介绍RTL编码与逻辑综合的低功耗设计,重点是
门控时钟
和
操作数隔离
技术。今天主要是讲解操作数和一些常见的方法;门控时钟由于内容比较多,所以写在后面。
(1)并行与流水的选择
对于某一个功能模块,我们可以通过并行的方式进行实现,也可以通过流水线的方式进行实现,这两种方法都是面积换速度,不过在一定的场合下可以降低功耗,需要灵活应用,下面就简要地介绍一下这两种方法(的使用)。
·
并行处理常用于数字信号处理部分。采用并行处理,可以降低系统工作频率,从而可能降低功耗。
用两个乘法器来取代原设计中的一个乘法器。这样,时钟频率可以降低,系统的整体功耗会降低。采用这种方法,要在增加的面积与节省的功耗之间进行权衡。
·
流水线技术可以将一个较长的组合路径分成
M级
流水线。路径长度缩短为原始路径长度的
1 /M
。这样,一个时钟周期内
充/放电电容变为C/M
。如果在加入流水线之后,时钟速度不变,则在一个周期内,只需要对C/M进行充/放电,而不是原来对C进行充/放电。因此,在相同的速度要求下,可以采用
较低的电源电压来驱动系统
。这样,系统的整体功耗可能会降低。
假设在一个设计中,关键路径是一个32bit X 32bit的乘法器。假设该乘法器的整体电容为C,工作频率为f。
->不加流水线时,要达到此工作频率,工作电压应该为V。
->当采用流水线方式时,该路径被分成两部分。对于每一部分,整体电容变为C/2。这样,如果要达到原来的工作频率f,工作电压可以降为βV,这里β<1. 因此,整个系统可以工作在βV电压下,整体功耗变为原来的β^2倍,即:
(2)资源共享与状态编码
对于设计比较多算术运算的设计,如果有同样的操作在多处使用,那我们就可以避免相应的运算逻辑在多个位置重复出现。例如下面是没有进行共享资源的代码:
进行资源共享后的代码如下所示:
上述代码中,在各分支中只使用一个比较器和一个算术比较器就可以实现相同的功能,因此极大地减少了功耗。
此外,对于一些变化非常频繁的信号,我们利用数据编码来降低开关活动(例如,用格雷码比用二进制码翻转更少,功耗更低)。
(3)操作数隔离
下面我们重点介绍另外一种常用的方法——操作数隔离(operand isolation,简称OI)的方法。
①操作数隔离的原理
我们先来看一个电路,如下所示:
上面的电路图中,当SEL_0≠1,SEL_1≠0时,加法器Add_0的
运算结果
并
不能
通过mux_0和mux_1到达寄存器reg_0的输入端口,也就是说寄存器reg_0将不会保存加法器Add_0的运算结果,这就意味着加法器Add_0的运算是不必要的。为了节省功耗,我们可以用操作数分离的方法,在某些条件下,使加法器不工作,保持静态,进行操作隔离之后的电路如下所示:
因此,操作数隔离的原理就是:如果在某一段时间内,数据通路的输出是无用的,则将它的
输入
置成个固定值,这样,
数据通路部分没有翻转
,功耗就会降低。
乘法器中,如果知道乘法操作延迟超过半个时钟周期,则将
乘法器的输出
与
反相时钟
进行
与
操作,可以保证在时钟前半周期乘法器的输出不会导致加法器的翻转。这就是操作数隔离技术的基本思想。不过需要注意的是,采用这种方法,会增加面积,并影响到DFT,所以在使用前应该对它的利弊进行权衡。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
无线技术
FPGA/CPLD可编程逻辑
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议