微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 射频识别芯片设计中时钟树功耗的优化与实现

射频识别芯片设计中时钟树功耗的优化与实现

时间:02-24 来源:中国集成电路 点击:

  1 概述

  UHF RFID是一款超高频射频识别标签芯片。该芯片采用无源供电方式:在收到载波能量后,RF前端单元产生Vdd电源信号,供给整芯片工作。由于供电系统的限制,该芯片无法产生较大的电流驱动,因此低功耗设计成为芯片研发过程中的主要突破点。为了使数字电路部分产生尽量少的功耗,在数字逻辑电路设计过程中,除了简化系统结构外(功能简单,只包含编码模块、解码模块、随机数生成模块、时钟、复位模块,Memory控制单元以及整体控制模块),在部分电路设计中采用了异步电路设计方式。在这个过程中,我们看到由于时钟树消耗掉了数字逻辑的很大一部分功耗(大约30%以上),所以降低时钟树带来的功耗也成为降低数字逻辑功耗以及整个标签芯片功耗的重要步骤。

  2 芯片功耗组成及降低功耗的方法

  2.1功耗的组成

  图1 芯片功耗的组成

  动态功耗主要包括短路功耗和翻转功耗,是本设计功耗的主要组成部分。短路功耗即内部功耗,指由器件内部由于P管和N管在某一瞬间同时导通引起的瞬时短路引起。翻转功耗由CMOS器件的输出端负载电容充放电引起。漏电功耗主要包括亚阈区漏电和栅极泄漏引起的功耗。

  当今,功耗两个最主要的来源是:电容转换和亚阈值泄漏。

  2.2降低功耗的主要方法


 

  图2 降低芯片功耗的主要方法

  2.2.1降低电源电压Vdd

  Voltage Island:不同的模块使用不同的供电电压。

  MulTI-level Voltage Scaling:同一模块中存在多种电压源,根据应用不同在这些电压源之间切换。

  Dynamic Voltage Frequency Scaling:"多级电压调整"的升级版,根据各模块的工作频率动态进行电压调整。

  AdapTIve Voltage Scaling:DVFS的升级版,使用能够监视电路行为的反馈电路,自适应地调整电压。

  亚阈值电路(设计困难较多,还停留在学术界研究范围)

  2.2.2降低频率f及翻转率A

  代码优化(提取公因子,资源重用,operand isolaTIon,串行工作降低峰值功耗等)

  门控时钟

  多时钟策略

  2.2.3降低负载电容(CL)及晶体管尺寸(Wmos)

  减少时序单元

  芯片面积和规模减小

  工艺升级换代

  2.2.4降低漏电电流Ileak

  控制阈值电压(Threshold Voltage)(阈值电压↑漏电流↓如使用MTCMOS 、VTCMOS 、DTCMOS)

  控制栅极电压(Gate Voltage)(通过控制栅源电压以控制漏电流)

  Transistor Stack(串接冗余晶体管,增加电阻以降低漏电流)

  门控电源(Power gaTIng或PSO)(在模块不工作时,关断电源,即可有效减小漏电流)

  3 RFID芯片中时钟树功耗的优化

  芯片工作时,很大一部分功耗是由于时钟网络的翻转消耗的,如果时钟网络较大,这部分引起的功耗损失会很大。在众多低功耗技术中,门控时钟对翻转功耗和内部功耗的抑制作用最强。本设计多级门控时钟技术相结合,以及特殊的时钟树优化策略,节省了很大一部分功耗。本项目在逻辑设计时使用了功耗的多种优化策略,在后端的综合和物理设计也尝试了一些方法,通过前后端几次功耗优化和迭代,找出最小功耗的逻辑代码设计和综合的方法。

  4.1 RTL阶段手工加时钟门控

 

  图3 门控时钟原理图

  module data_reg (En, Data, clk, out)

  input En,clk;

  input [7:0] Data;

  output [7:0] out;

  always @(posedge clk)

  if (En) out <= Data;

  endmodule

  这个阶段的目的主要有两个:第一是根据各模块时钟翻转概率更加合理的加入门控时钟单元以控制翻转率,减小动态功耗,第二是产生一个结构尽量平衡的时钟网络,这样可以保证在后端时钟树综合阶段可以少加入一些时钟buffer以减小功耗。在实际的代码设计中可以直接采用foundry单元库中的ICG(集成门控)单元。

  4.2 综合阶段工具插于集成门控单元


 

  图4 逻辑综合过程中门控时钟插入

  #Set clock gating options, max_fanout default is unlimited

  set_clock_gating_style -sequential_cell latch \

  -positive_edge_logic {integrated} \

  -control_point before \

  -control_signal scan_enable

  #Create a more balanced clock tree by inserting "always enabled" ICGs

  set power_cg_all_registers true

  set power_remove_redundant_clock_gates true

  read_db design.gtech.db

  current_design top

  link

  source design.cstr.tcl

  #Insert clock gating

  insert_clock_gating

  compile

  #Generate a report on clock gating inserted

re

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top