AES加密算法的高速低功耗ASIC设计

时间:2012-10-10来源:网络

4 CMOS功耗

对于一个CMOS逻辑门,其功耗主要由静态功耗和动态功耗两部分组成。静态功耗是指门处于非活动状态时的功耗,大部分是由扩散层到衬底,源极到漏极存在的反偏二极管造成的泄露电流产生的。一般来说,泄漏电流功耗在总功耗中所占的比重不到1%。动态功耗是门处于活动状态下产生的,它又包含两部分:开关功耗和内部功耗。内部功耗包括对门内部的寄生电容充放电的翻转电流功耗,以及PMOS管和NMOS管瞬间同时导通所形成的短路电流功耗。对于信号上升(下降)快的电路,短路电流功耗很小,但对信号上升(下降)较慢的电路,短路电流功耗可能要占总功耗的30%以上。开关功耗是对输出端负载电容充放电的翻转电流引起的。

5 低功耗设计

该实现方案中主要采用了以下两种低功耗设计方法。

1) 动态功耗管理

动态功耗管理是一种系统级低功耗设计方法,降低功耗的主要思路是根据芯片工作状态改变功耗管理模式,从而在保证性能的基础上降低功耗。在不同模式下,时钟的频率可以进行调整,一些空闲模块甚至整个芯片的时钟也可能会被停止。还可以通过调整芯片的电压,进一步降低功耗。由于工作库的限制,本文没有对动态电压管理作进一步的研究。

本文采用动态功耗管理,分为normal和idle两种功耗模式。有开始(START)信号时,芯片由idle模式进入normal模式,开始对明文分组加密。经过初始密钥加法和10次轮变换,输出密文分组,并产生结束(STOP)信号,使芯片返回idle模式。因此设计了一个鉴相器产生idle模式的控制信号(EN)。电路由与非门和基本RS触发器组成(图1),对输入信号(开始和结束)的上升沿感应,由D触发器输出EN。具有结构简单的特点,并对噪声的影响有很好的抑制作用,并能有效地去除毛刺。

2) 时钟门控

EN有关闭和打开ASIC内部模块的作用,但这样不是最佳的,因为EN只是关闭了内部模块的功能操作,而并没有把模块内的时钟网络关闭,也就是说时钟网络依然处于激活状态,而时钟网络造成的功耗占总功耗的很大部分,只有关闭时钟网络才能同时达到关闭模块功能和降低功耗的目的。

采用时钟门控技术可以达到关闭时钟网络的目的。以图2(a)中所示电路为例,仿真生成的波形如图2(b)所示。可以看到只有在EN信号为1和时钟信号CLK上跳同时发生,ENCLK才会从0变为1,激活时钟网络。在其他时刻,时钟网络是关闭的。插入的时钟门控单元不仅能通过关闭时钟网络而明显的降低功耗外,还有其他几个重要的功能:

① D触发器的时钟输入端口对毛刺敏感,门控单元能有效地滤除信号EN的毛刺,从而确保进入D触发器时钟端口的ENCLK信号不会出现毛刺,避免因竞争而导致触发器发生错误的状态变化。

② 锁存器的插入增加了ENL信号的延时。

③ 对于n位寄存器组,n条反馈连线和n个多路选择器被一个门控单元所取代,不仅带来面

积上的节省,降低后端布线的拥塞,同时又进一步降低了功耗。

6 实现方案

该实现方案采用Synopsys公司的芯片设计流程和VeriSilicon公司0.18μm CMOS工艺。首先根据设计规范,使用Verilog硬件描述语言编写可综合的RTL代码,并对RTL代码进行仿真。然后对RTL代码进行综合。综合后生成的门级网表和RTL代码进行等效性检验并做静态时序分析。接着进行版图设计,先是根据各逻辑单元间的时序采用时序驱动布局策略来做物理布局和全局布线,之后在设计中插入时钟树。然后进行详细布线,并从详细布线后的版图中提取出真实的时延值并将其反标给网表,再作等效性检验、静态时序分析和仿真验证保证满足时序约束。最后对版图做设计规则检查。

7 结论

本文针对AES的ASIC实现,使用改进算法和低功耗设计方法,实现了高速低功耗的AES ASIC设计,其基本思想是:采用T盒算法,只要通过4次表查询和4次异或运算,就能快速地得到一次轮操作中一列的运算结果,同时在满足时序约束的前提下,通过动态功耗管理和时钟门控等方法,根据芯片的工作状态关闭模块的功能操作并关闭时钟网络,达到了降低功耗的目的。从表1可以清晰地看出,采用T盒算法后,设计的数据吞吐率提高了13.8%,同时采用功耗优化方案后,normal模式下功耗下降了10.7%,在idle模式时更低。该实现方案适用于ECB,CBC等运行模式。

1 2

关键词: ASIC AES 加密算法 低功耗

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版