基于IEEE1801(UPF)的低功耗设计流程

基于IEEE1801(UPF)的低功耗设计流程
基于IEEE1801(UPF)的低功耗设计流程

基于IEEE1801(UPF)标准的低功耗设计实现流程

摘要

目前除了时序和面积,功耗已经成为集成电路设计中日益关注的因素。当前有很多种降低功耗的方法,为了在设计实现流程中更加有效的利用各种低功耗的设计方法,我们在最近一款芯片的设计实现以及验证流程中,使用了基于IEEE1801标准Unified Power Format(UPF)的完整技术,成功的完成了从RTL到GDSII 的全部过程,并且芯片制造回来成功的完成了测试。本文就其中的设计实现部分进行了详细探讨,重点介绍如何用UPF把我们的低功耗意图描述出来以及如何用Synopsys工具实现整个流程,希望给大家以启发。本文先介绍目前常用的低功耗设计的一些方法特别是用power-gating的方法来控制静态功耗以及UPF 的实现方法,然后阐述UPF在我们设计流程中的应用,并在介绍中引入了一些我们的设计经验,最后给出我们的结论。

关键字:IEEE1801, UPF,低功耗, 电源关断,Power-Gating, Isolation,

IC-Compiler

1. 简介

1.1 深亚微米设计面临的挑战

随着工艺特征尺寸的缩小以及复杂度的提高,IC设计面临了很多挑战:速度越来越高,面积不断增大,噪声现象更加严重等。其中,功耗问题尤为突出,工艺进入130nm以下节点后,单位面积上的功耗密度急剧上升,已经达到封装、散热、以及底层设备所能支持的极限。随着工艺进一步达到90nm以下,漏电流呈指数级增加(如图1所示),在某些65nm设计中,漏电流已经和动态电流一样大,曾经可以忽略的静态功耗成为功耗的主要部分。功耗已成为继传统二维要素(速度、面积)之后的第三维要素。

图1: 静态功耗与工艺特征尺寸的关系

另外,目前飞速发展的手持电子设备市场,为了增强自身产品的竞争力,也对低功耗提出了越来越高的要求;其次散热问题、可靠性问题也要求IC的功耗越小越好;最后全球都在倡导绿色环保科技理念,保护环境,节约能源。这些都要求IC设计时必须采用低功耗技术,以有效应对这些挑战。

1.2 目前低功耗设计常用的方法

如图2所示,影响功耗的因素有电压、漏电流、工作频率、有效电容等。可以通过降低工作电压、减少翻转负载以及降低电路翻转率等来降低动态功耗;通过减少工作电压以及减少漏

图2: 影响功耗的因素

电流来降低静态功耗。当前,业界采用了各种方法来降低芯片的动态功耗和静态功耗。如图3所示,传统的低功耗技术有时钟关断(Clock-Gating),多域值电压库(Multi-threshold libraries)等;较新的技术有多电压

(Multi-Voltage),电源关断(MTCMOS Power Gating),带状态保持功能的电源关断(Power Gating with State Retention),动态电压频率调整(Dynamic Voltage and Frequency Scaling),低电压待机(Low-Vdd Standby)等。

图3: 低功耗技术示例

1.3 控制静态漏电的方法

1.3.1 电路优化(Gate-level Optimization)

在设计实现过程中,自动化的综合和布局布线工具可以根据电路的时序特征,来综合优化每条路径中用到的所有标准单元的时序,面积以及功耗。根据负载将非关键路径中的标准单元切换到具有较小驱动能力的单元,由于输出电容减小,可以减小动态功耗;同时,由于标准单元MOS管和电容变小,静态漏电流也同时减小。除了变化驱动能力之外,还可以通过优化电路中的逻辑单元、移动单元物理位置等方法来达到降低功耗的目的。

1.3.2 多域值电压库(Multi-Threshold)

如图4所示,高域值电压的标准单元漏电流小但速度慢,低域值电压的标准单元则速度快但漏电流大。所以采用多域值电压库作为设计实现的目标库,在设计中尽可能多地用高域值电压的标准单元,仅在关键路径上为了满足时序要求采用低域值电压的标准单元,这样就可以最大限度地减小标准单元的漏电流,从而降低静态功耗。

图4: 漏电流、单元速度与阈值电压三者之间的关系

1.3.3 电源关断(Power-Gating)

芯片中某些模块在不工作时,可以关断其电源,在需要工作时,再将其电源导通,这就是电源关断技术。它可以使电源关断区域的漏电流降至接近零,极大的减小芯片的静态功耗。现在电源关断的技术也很多,有片内关断、片外关断。顾名思义,片外关断就是在芯片外部通过切断电源来关断芯片内部的某些模块。片内关断又分为精细关断(fine-grain)和粗糙关断(coarse-grain),精细关断需要特别库的支持,可以实现每个标准单元的精细关断;而粗糙关断只需要一些门控单元就可以实现对某些模块的电源或地的控制,如图5所示,用pmos来控制电源,用nmos来控制地。

图5: 电源关断(Power-Gating)的原理图

2. UPF的设计实现流程

IEEE1801标准Unified Power Format(UPF)是一个真正意义统一的,被广泛采用的低功耗实现标准。它用一些标准的语句描述用户的低功耗设计意图(Power

Intent)。如图6所示,

图6: UPF的应用流程

有了这样一个统一的UPF文件,逻辑综合、物理实现、仿真验证、等效性检查以及最后的sign-off流程就可以按照 UPF中对低功耗设计意图的描述来完成整个IC设计实现验证流程。这样贯穿于整个流程的低功耗意图来源于同一个文件,这种一致性可以大大降低低功耗设计的风险性。并且UPF对低功耗设计提供了开放的,多厂商工具支持的流程和解决方案。众多支持UPF标准的EDA供应商的产品证明了它是一个互操作性强的标准。

2.1 Synopsys基于UPF的低功耗设计流程

Synopsys公司提供了完整的基于UPF的低功耗综合、物理实现和验证流程,如图7所示。该流程始于寄存器传输级(RTL)描述的逻辑设计,加上一个独立的描述低功耗设计意图的UPF文件。RTL和UPF描述分别放在独立的文件中,使他们可以单独维护和修改。在这个示例中,最初的UPF文件标志为UPF。

图7: UPF Flow With Synopsys Tools

Design Compiler读入RTL和初始UPF描述文件,基于它们综合出门级网表并产生一个更新了的UPF文件,这个Design Compiler输出的UPF文件在示例图中标

志为UPF’。UPF’文件中包含了原始UPF文件的内容,并添加了综合时加入的对某些特殊cell(比如 isolation cells、level shifters)的电源和地的连接关系。综合输出的门级网表已经被工具根据UPF的相应描述插入了一些低功耗所需的特殊电路单元,比如Level- Shifter,Isolation cells,Retention Register等。

IC Compiler读入综合输出的门级网表和UPF’描述文件,基于它们进行物理实现,包括:布局和布线以及电源关断特殊单元(Power-Gating cell)的插入、摆放和控制信号线的连接等步骤。输出一个新的门级网表,一个包括所有cell的电源和地连接关系的网表(俗称pg网表),以及一个更新了的UPF文件,标志为UPF’’。UPF’’文件包含了UPF’的内容,并添加了在物理实现阶段对低功耗电路结构的改变,比如添加了Power Switches(俗称MTCMOS)的连接关系。

这个flow中产生的数据可以用于做功能仿真(利用MVSIM、VCS),插入的低功耗单元的正确性检查(利用 MVRC),形式验证(利用Formality),以及时序功耗检查(利用Prime Time-PX)和电压降(IR-Drop)(利用Prime Rail)的验证。

VCS仿真器和MVSIM多电压仿真工具可以在几个阶段用来做多电压的功能仿真:RTL级,综合后加入了低功耗相关器件(比如Isolation cell)的门级,以及PR之后加入了Power Switches的门级。MVRC用于检查多电压设计的规则是否正确实现,包括电源连接关系、电源结构、电源一致性等等,也适用于流程中的各个步骤。

Prime Time读入DC或ICC输出的门级网表以及对应的UPF文件。它利用UPF文件中的信息建立一个虚拟的电源网络模型,并将电压值反标到每个器件的电源端口,进行带电源信息的时序检查。

Prime Rail是基于带UPF信息的版图进行电压降以及电迁移的分析。如果设计中有电源关断单元,它还可以分析相关关断电路的瞬态电流以及动态的电压降分布。来帮助判断这些电源关断单元是否插入合理以及是否需要插入De-cap单元。

2.2 UPF所需要的特殊单元库

基于UPF的设计流程与传统流程相比,需要一些库中特殊单元的支持以及对传统的DB时序库添加电源地的信息。特殊单元包括 Level-shifter,Isolation Cell,电源关断单元(Power Gating, 也叫MTCMOS),Retention-Register,以及Always-on单元。下面分别阐述:

2.2.1 Level-Shifter和Isolation Cell

对于多电压设计,需要用Level-shifter来实现不同电压域之间信号的电平转换。根据信号电平由高到低和由低到高的转换,Level-shifter分为两类,其结构分别如图8和图9所示。

图8: High to Low Level-shifters

图9: Low to High Level-shifters

对于电源关断技术,电源关断区域的输出信号在电源关断时处于不定态,这种不定态会导致其负载单元出现内部电流,从而导致不期望的功耗。所以需要在电源关断区域的输出信号上插入Isolation Cell来实现对不定态的隔离。Isolation cell根据钳位值不同分为与型和或型结构,其结构如图10所示。

图10: Basic Isolation Cells

2.2.2 Power-Gating cell,Retention-Register和Always-on单元

对于电源关断技术,需要Power-Gating Cell(也称MTCMOS)来实现电源的关断。可以选择断开电源(VDD)或地(VSS)的连接来实现Power-Gating,这两种Power- Gating Cell被形象的称为Header-Switch和Footer-Switch。它们的结构如图11所示。

图11: Basic Header-Switch structure and Footer-Switch structure

在电源关断模块有可能要求register对关断前的数据进行锁存或者在电源打开后要求对锁存的数据进行恢复,这就需要特殊的单元Retention-Register。如图12所示,它有两个电源,一个用于模块电源未关断时的工作用电,一个用于模块电源关断时的用电。它还有两个控制信号save和restore,用于控制是否锁存数据或者恢复数据。

图12: Retention-Register

在电源关断模块还有可能需要有些信号线或逻辑长期工作,比如MTCMOS单元的控制信号线,Retention- register的save/restore控制信号,isolation cell 的控制信号等。为了实现这种功能,这就需要另外的特殊单元叫always-on cell。

如图13所示。

图13 Aways-on单元的应用场合

2.2.3 PG library的准备

除了上述这些特殊单元外,UPF流程的实现还需要用到的logical library(db 库)是带PG(Power&Ground)信息的,与传统流程相比要多出下面与PG相关的信息:

? pg_pin 的名称,pg_pin 的类型 (如primary, backup 等);

? 每个信号管脚(signal pin)与pg_pin的对应关系;

? 每个输出信号管脚中power_down_function的定义;

? 每个pg-pin的电压数值。

有了上述信息,工具就可以根据UPF里面的描述自动地完成电源网络的连接,电源关断电路的验证,基于UPF里面电源状态表的综合和优化,以及最后输出带PG信息的网表的验证等。其直接带来的好处就是使得流程更完整,更简单,更自动化。

由于UPF应用还不是很普及,Foundry及第三方IP提供商目前提供的db库基本上还没有完全更新到带PG信息的版本,所以需要用户在使用前先转换。ICC和DC都提供了转换PG db库的命令:add_pg _pin_to_db,可以将不带PG信息的db库转换成带PG信息的db库。ICC0809以上版本还提供了add_pg _pin_to_lib 命令,可以将不带PG信息的lib库转换成带PG信息的lib库,这样可以更清晰的知道PG库中具体都添加了什么信息。

3. UPF在本芯片设计实现中的应用

本款芯片的设计实现以及验证流程完全采用了如图7中所示的所有Synopsys工具,并且所有实现和验证流程都使用了基于 IEEE1801标准Unified Power Format(UPF)的完整技术,成功的完成了从RTL到GDSII的全部过程,并且芯片制造回来成功的完成了功能测试以及低功耗测试。本篇文章着重介绍实现流程中基于UPF的应用,对于验证流程的应用我们不作介绍。在实现过程中我们主要完成了下列工作,如图14所示。

图14: 本芯片实现流程图

? PG library的准备;

? UPF文件的准备;

? 有了UPF以及PG library,先用Design Compiler对RTL 综合,综合后产生的netlist里面就包含了low-power设计中除了电源关断单元(MTCMOS)之外的所有的特殊cell,如:level-shifter, isolation cell等等;

? 综合完成后,作了DFT的工作,在这一步骤如果DFT设计中要引入一些特殊单元,工具会自动插入;

? DFT之后我们在IC-Compiler完成了所有的布局布线工作,包括:整体规划(floorplan),电源关断单元MTCMOS的插入、布局以及控制信号的连接,电源网络综合和分析,布局,时钟树综合,布线以及最后一些提高良率方面的工作。

? 布局布线完成后,我们还对timing,SI,Power,IR-DROP等进行了Sign-off 分析。

? 在流程中经过每一步我们都用formality对包含了UPF的设计作了形式验证,既保证了功能的一致性,也保证了含有低功耗信息的实现一致性。

下面我们对每一步骤进行详细介绍,其中PG library的准备在2.2章节中已经作了介绍,这里就不再说明。

3.1 本芯片中用到的low power设计意图

在我们最近的这款芯片中,采用了时钟关断(Clock-Gating),多域值电压库(Multi-threshold libraries),电源关断(MTCMOS Power Gating),低电压待机(Low-Vdd Standby)等低功耗技术。

图15和图16分别是芯片电源分区拓扑图和floorplan截图,芯片划分成3个power domain,分别为PD_1、PD_2、PD_TOP。其中PD_1是掉电区,PD_2是降压区,PD_TOP是常开区;PD_2的hierarchy 嵌套在PD_1内部,当PD_1掉电时,PD_2可以降压保持数据即可。VDD和VDD_2是芯片外部提供的两个电源,分别提供给PD_TOP和 PD_2;而VDD_1是PD_1的内部电源,由VDD经过MTCMOS产生,可以通过控制MTCMOS关断使PD_1掉电。

在进行芯片设计之前,我们要先对芯片的低功耗意图用UPF描述出来,下面的章节做详细的阐述。

图15: 芯片电源分区拓扑图

图16: 芯片floorplan截图

3.2 用UPF对本芯片设计意图的描述

在UPF中,包含了所有对low-power设计意图的描述,比如:芯片中有哪些相对独立的电源模块;每个电源模块中用到哪些电源或地;如果有电源关断模块的话还要描述其关断的方式及控制;每一个电源的各种工作模式(工作电压或是否关断);特殊单元的规划等。下面章节将根据本芯片中用到的low-power意图(如图15和图16所示)分别介绍如何用UPF描述这些意图。

3.2.1 UPF对Power Domain的描述

在UPF中,首先要对所有的Power domain进行定义。先设定顶层的power domain,然后描述PD_1和PD_2这两个power domain。如下所示:

# power domain definitions

create_power_domain PD_TOP –include_scope

create_power_domain PD_1 –elements BLOCKA

create_power_domain PD_2 –elements BLOCKB

3.2.2 UPF对Power Network的描述

然后根据电源分区拓扑图,要清晰地描述各个power domain里面的电源网络(Power Network),如下所示,详细的定义了每个domain里面的电源线的名称以及和芯片原始电源输入端口的连接关系。

# supply nets definitions

create_supply_net VDD –domain PD_TOP

create_supply_net VDD –domain PD_1 –reuse

create_supply_net VDD_2 –domain PD_TOP

create_supply_net VDD_2 –domain PD_1 –reuse

create_supply_net VDD_2 –domain PD_2 –reuse

create_supply_net VDD_1 –domain PD_1

create_supply_net VSS –domain PD_TOP

create_supply_net VSS –domain PD_1 –reuse

create_supply_net VSS –domain PD_2 –reuse

#define the primary power/ground for power domains

set_domain_supply_net PD_TOP –primary_power_net VDD

–primary_ground_net VSS

set_domain_suupply_net PD_1 –primary_power_net VDD_1

–primary_ground_net VSS

set_domain_supply_net PD_2 –primary_power_net VDD_2

–primary_ground_net VSS

# power ports definitions

create_supply_port VDD –domain PD_TOP –direction in

create_supply_port VDD_2 –domain PD_TOP –direction in

create_supply_port VSS –domain PD_TOP –direction in

#connect the supply net to power port

connect_supply_net VDD –ports VDD

connect_supply_net VDD_2 –ports VDD_2

connect_supply_net VSS –ports VSS

3.2.3 UPF对Power Gating的描述

本设计中含有电源关断模块,需要在UPF中定义电源关断单元(Power Gating cell),描述该单元的电源输入输出,以及控制信号的连接。如下所示。

create_power_switch SW1 –domain PD_1 –output_supply_port {VDD_OUT VDD_1} \

–input_supply_port {VDD_IN VDD} –control_port {PW_CTRL pd1_pw_en} –on_state \

{PW_ON VDD_IN {PW_CTRL}} –ack_port {{PW_ACK pd1_pw_ack}

该条命令中VDD_1是VDD经过该单元后的电源名称,pd1_pw_en是控制信号,当该控制信号为高的时候,VDD_1接通VDD使电路处于开启状态。除了该控制信号,该单元还输出一个叫pd1_pw_ack的响应信号。

至于如何在物理上实现Power Gating cell的插入以及控制信号的连接,这个要在IC Compiler里面完成,后面的章节里面有详细的介绍。

3.2.4 UPF对Isolation的描述

因为芯片中有关断模块,从功能上为了处理模块关断后信号输出的稳定性,还需要增加关断电源模块处于关断时如何插入 isolation单元的描述。如下所示,以PD_1的边界信号定义为例:

指定其所有输入信号都不插入isolation cell,输出信号默认插入箝位到0的isolation cell,对其中两个特殊信号插入箝位到1的isolation cell。并且定义了Isolation cell的控制信号,以及插入的位置是在PD_TOP domain。

set_isolation pd1_iso_in –domain PD_1 –no_isolation –applies_to inputs

set_isolation pd1_iso_low –domain PD_1 –isolation_power_net VDD

–isolation_ground_net \ VSS –clamp_value 0 –applies_to outputs

set_isolation_control pd1_iso_low –domain PD_1 –isolation_signal

iso_en –isolation_sense high \ –location parent

set_isolation pd1_iso_high –domain PD_1 –isolatioin_power_net VDD –isolation_ground_net \

VSS –elements {BLOCKA/pin1 BLOCKA/pin2} –clamp_value 1

set_isolation_control pd1_iso_high –domain PD_1 –isolation_signal iso_en –isolation_sense \ high –location parent

3.2.5 UPF对Power State的描述

在UPF里面,还有一个非常重要的部分,那就是描述电源状态表(Power State Table),简称PST,也就是说要描述各个电源有哪些工作模式。有了这个表格,工具就可以判断是否需要在各个电源模块之间插入特殊的单元。

本芯片共有三种工作模式,pst_pd1_ON是正常模式,三个domain都是1.2V供电;pst_pd1_OFF是掉电模式,PD_1掉电,其他两个domain是1.2V供电;

pst_pd2_LOW是掉电降压模式,PD_1掉电,PD_2降压到0.8V供电,仅保持数据。

add_port_state VDD –state {NOR_VOL 1.2}

add_port_state VDD_1 –state {NOR_VOL 1.2}

add_port_state VDD_1 –state {OFF_VOL off}

add_port_statte VDD_2 –state {NOR_VOL 1.2}

add_port_state VDD_2 –state {LOW_VOL 0.8}

create_ps top_pst –supplies [list VDD VDD_1 VDD_2]

add_pst_state pst_pd1_ON –pst top_pst –state {NOR_VOL NOR_VOL NOR_VOL}

add_pst_state pst_pd1_OFF –pst top_pst –state {NOR_VOL OFF_VOL

NOR_VOL}

add_pst_state pst_pd2_LOW –pst top_pst –state {NOR_VOL OFF_VOL LOW_VOL}

完整的UPF请参考附件7.1。

3.3 UPF在Design Compiler中的应用

根据图14中的流程介绍,UPF准备好就可以进行综合和DFT的工作了。在这一步,Isolation cell、level shifters、Retention Registers等特殊单元都要正确的实现插入,而且也要插入clock gating来优化动态功耗以及用多个阈值电压的库来优化静态功耗。

如图17所示,在DC中,首先把所有不同阈值电压的标准单元库都设置到

target_library以及 link_library里面去,工具在综合优化的时候,就可以根据路径上timing的是否关键来尽量平衡标准单元速度与静态功耗的关系,关键路径上,尽量选择低阈值电压/速度快的单元,但在非关键路径上,就尽量选择高阈值电压/静态功耗小的单元。

在读入RTL后,需要用load_upf的命令读入 UPF文件,然后在compile时,工具会根据UPF的设置,自动插入Isolation cell、level shifters、Retention Registers等特殊单元(在我们这个设计中,仅需插入Isolation cells),并正确连接这些特殊单元的控制信号。

另外,为了优化动态功耗,我们在综合阶段让DC自动插入了Clock Gating。设置也很简单,只要在 compile_ultra命令后面加上clock_gating的选项就可以了。

图17: UPF flow in Design Compiler

综合完成后,除MTCMOS没有插入外,其他特殊单元都已经按UPF描述的设计意图插入并连接。

综合后我们还要插入DFT相关结构,再做一个增进式的优化。在这两个过程中,如果DFT引入的电路根据UPF的要求需要插入特殊单元的话,工具会自动判断并在insert_dft或者compile命令执行的时候自动插入。比如,DFT插入的扫描链从电源关断模块连接到了其它非关断模块,这个时候根据UPF里面的规定,从关断区到非关断区要经过isolation cell的过渡,工具会自动判断到这一点,在需要的地方插入这些单元。

在综合和DFT的各个阶段,可以利用DC提供的命令check_mv_design对低功耗设计进行规则检查,确保没有违反UPF里面定义的相关规则。

最后,DC输出网表和UPF。也可以直接输出DDC或者直接写入到Milkyway数据库里面去,这两种方式都包含了网表和UPF信息,可以直接作为物理实现工具ICC的输入。

在综合前后我们都用Formality对输入和输出的RTL或netlist进行了带UPF

的比对,以确保每一步骤电路在形式上没有发生改变。

3.4 UPF在IC Compiler中的应用

图18: UPF flow in IC Compiler

IC Compiler的UPF流程如图18所示,可以直接用DC输出的mw库或ddc文件,里面已经包含了UPF信息。我们采用的是读入网表加UPF的方式。

首先我们需要在读入verilog网表以后,把UPF文件导入到ICC中:

load_upf $ICC_IN_UPF_FILE

读入netlist以及upf后就可以作整体规划(floorplan)了,在这个阶段主要有下面的工作:

? 在floorplan之前,要正确设置芯片的工作条件(operating_condition)以及用set_voltage命令对所有的电源和地设置正确的工作电压值。工具会根据这些设置来选择正确的单元进行时序计算。

? 读入UPF之后,ICC已经知道设计中有哪些power domain以及每个power domain里面有哪些电源、地。但这个时候ICC还没有把各个power domain里面所有cell中电源、地的端口与UPF里面定义的电源、地连接起来。需要运行下面的命令,所有power net会根据UPF中的描述自动创建,所有cells的电源也会根据UPF中的描述自动连接:

derive_pg_connection –create_net

集成电路IC设计完整流程详解及各个阶段工具简介

IC设计完整流程及工具 IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。 前端设计的主要流程: 1、规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。 2、详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。 3、HDL编码 使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。 4、仿真验证 仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。仿真验证工具Mentor公司的Modelsim,Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL级的代码进行设计验证,该部分个人一般使用第一个-Modelsim。该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。 5、逻辑综合――Design Compiler 仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基

集成电路的功耗优化和低功耗设计技术

集成电路的功耗优化和低功耗设计技术 摘要:现阶段各行业的发展离不开对能源的消耗,随着目前节能技术要求的不 断提升,降低功耗成为行业发展的重要工作之一。本文围绕集成电路的功耗优化 以及低功耗设计技术展开分析,针对现阶段常见的低功耗设计方式以及技术进行 探究,为集成电路功耗优化提供理论指导。 关键词:集成电路;功耗优化;低功耗 目前现代节能技术要求不断提升,针对设备的功耗控制成为当前发展的主要问题之一。 针对数字系统的功耗而言,决定了系统的使用性能能否得到提升。一般情况下,数字电路设 计方面,功耗的降低一直都是优先考虑的问题,并且通过对整个结构进行分段处理,同时进 行优化,最后总结出较为科学的设计方案,采用多种方式降低功耗,能够很大程度上提升设 备的使用性能。下面围绕数字电路的功耗优化以及低功耗设计展开分析。 一、设计与优化技术 集成电路的功耗优化和低功耗设计是相对系统的内容,一定要在设计的每个环节当中使 用科学且合理的技术手段,权衡并且综合考虑多方面的设计策略,才能够有效降低功耗并且 确保集成电路系统性能。因为集成电路系统的规模相对较大且具有一定的特殊性,想要完全 依靠人工或者手动的方式来达到这些目的并不现实且缺少可行性,一定要开发与之对应的电 路综合技术。 1 工艺级功耗优化 将工艺级功耗应用到设计当中,通常情况下采取以下两种方式进行功耗的降低: 首先,根据比例调整技术。进行低功耗设计过程中,为了能够实现功耗的有效降低会利 用工艺技术进行改善。在设计过程中,使用较为先进的工艺技术,能够让设备的电压消耗有 效缩减。现阶段电子技术水平不断提升,系统的集成度也随之提高,目前采用的零件的规格 也逐渐缩小,零件的电容也实现了良好的控制,进而能够很大程度上降低功耗。借助比例技术,除了能够将可见晶体管的比例进行调整,而且也能够缩小互连线的比例[1]。目前在晶体 管的比例缩小方面,能够依靠缩小零件的部分重要参数,进而在保持性能不被影响的情况下,通过较小的沟道长度,确保其他的参数不受影响的栅压缩方式,进而将零件的体积进行缩减,同时也缩短了延长的用时,使功耗能够有效降低。针对互连线缩小的方式主要将互连线的整 个结构进行调整,工作人员在进行尺寸缩减的过程中,会面临多方面的难题,比如系统噪音 无法控制,或者降低了电路使用的可靠性等等。 其次,采用封装技术进行降低。采用封装技术,能够让芯片与外部环境进行有效的隔离,进而避免了外部环境给电气设备造成一定的破坏与影响,在封装阶段,芯片的功耗会受到较 大的影响,因此需要使用更加有效的封装手段,才能够提升芯片的散热性,进而有效降低功 耗[2]。在多芯片的情况下,因为芯片与其他芯片之间的接口位置会产生大量的功耗,因此针 对多芯片采取封装技术,首先降低I/0接口的所有功能,接着解决电路延迟的问题,才能够 实现对集成电路的优化。 2 电路功耗优化 一般情况下,对电路级的功耗会选择动态的逻辑设计。在集成电路当中,往往会包含多 种电路逻辑结构,比如动态、静态等等,逻辑结构从本质上而言具有一定的差异性,这种差 异性也使得逻辑结构有着不同作用的功能。动态逻辑结构有着较为典型的特性[3]。静态的逻 辑结构当中所有的输入都会对接单独的MOS,因此逻辑结构功耗更大,动态的逻辑结构当中 电路通常具备N、M两个沟道,动态电路会利用时钟信号采取有效的控制,进而能够实现预

如何进行低功耗设计

如何进行低功耗设计 现在电子产品,特别是最近两年很火爆的穿戴产品,智能手表等都是锂电池供电,如果采用同样容量大小的锂电池进行测试不难发现电子产品低功耗做的好的,工作时间越长。因此,低功耗设计排在电子产品设计的重要地位。 最近做穿戴产品设计,面临的第一个问题就是低功耗设计。经过这两天的认真分析总结,将低功耗设计的方法总结,以飨网友。 首先,要明白一点就是功耗分为工作时功耗和待机时功耗,工作时功耗分为全部功能开启的功耗和部分功能开启的功耗。这在很大程度上影响着产品的功耗设计。 对于一个电子产品,总功耗为该产品正常工作时的电压与电流的乘积,这就是低功耗设计的需要注意事项之一。 为了降低产品的功耗,在电子产品开发时尽量采用低电压低功耗的产品。比如一个产品,曾经用5v单片机正常工作,后来又了3.3v的单片机或者工作电压更低的,那么就是在第一层次中进行了低功耗设计,这也就是我们常说的研发前期低功耗器件选择。这一般需要有广阔的芯片涉猎范围或者与供应商有良好的沟通。 其次是模块工作的选择控制,一般选择具有休眠功能的芯片。比如在设计一个系统中,如果某些外部模块在工作中是不经常使用的,我们可以使其进入休眠模式或者在硬件电路设计中采用数字开关来控制器工作与否,当需要使用模块时将其唤醒,这样我们可以在整个系统进入低功耗模式时,关闭一些不必要的器件,以起到省电的作用,延长了待机时间。一般常用方法:①具有休眠模式的功能芯片②MOS管做电子开关③具有使能端的LDO芯片。 再次,选择具有省电模式的主控芯片。现在的主控芯片一般都具有省电模式,通过以往的经验可以知道,当主控芯片在省电模式条件下,其工作电流往往是正常工作电流的几分之一,这样可以大大增强消费类产品电池的使用时间。同时,现在一些控制芯片具有双时钟的模式,通过软件的配置使芯片在不同的使用场合使用不同的外部始终从而降低其功耗。这与始终分频器具有异曲同工之妙,不同之处想必就是BOM的价格问题。现在火爆的APPLE WATCH 就是低功耗的一个例子:全功能运行3-4小时,持续运行18小时。 主控芯片或者相关模块唤醒的方式选择。通常进过以上的步骤设计好了硬件结构,在系统需要省电,在什么时候进入省电模式,这一般在软件设计中实现,但是最主要还是需要根据产品的功能特性来决定了。当系统进入了省电模式,而系统的唤醒也需要控制。一般系统的唤醒分为自动唤醒和外部唤醒。 A、自动唤醒是使用芯片内部的定时器来计时睡眠时间,当睡眠时间达到预定时间时,自动进行唤醒。这与我们使用的看门狗或者中断有比较相近之处,不同就是其工作与否的时序。 B、外部唤醒就是芯片一直处于一种休眠状态,当有一个外部事件(主要是通过接口)来对芯片进行一个触发,则芯片会唤醒,在事件处理之后消除该触发事件而在此进入休眠状态。因此,根据系统的特性,就需要进行软件设计时,来决定如何使用睡眠及唤醒,以降低系统的功耗。 最后说说功耗的测试,功耗测试分为模块功耗和整机功耗,模块功耗需要测试休眠时功耗和工作时功耗。整机功耗分为最大负荷工作时功耗和基本功能时功耗和休眠时功耗。在前期的测试中我用直接用UI来进行测量,关于如何进行高精度低功耗产品的测量,在下篇中进一步说明。

超声波热量表

超声波热量表 使 用 说 明 书 地址:唐山市路北区创业服务中心211号 电话: 传真: 网址: E-mail:

一、概述 超声波热量表是参考欧洲标准EN1434 和OIML-R75号国际规程开发设计的高性能、低功耗电子式测量仪表,用来测量和显示载热(冷)液体流经冷热交换系统释放(吸收)热量。 超声波热量表由流量传感器、微处理器和配对温度传感器组成。微处理器通过流量传感器得到流量信号,从测温电路得到出口和入口水温信号,根据标准热量计算公式计算出系统交换的能量。 用户可选用具有M-BUS通信接口或无线传输通信接口的RLB-C型超声波热量表,超声波热量表可和采集器、集中器以及配套软件组成远传抄表管理系统,管理部门可以随时抄取表中数据,方便对用户用热量的管控。 超声波热量表符合国家建设部颁布的CJ128-20XX《热量表》产品标准。M-BUS接口或无线接口通讯协议符合建设部CJ/T188-20XX《户用计量仪表数据传输技术条件》的要求;无线数传模块符合工信部无[20XX]423号《微功率(短距离)无线电设备的技术要求》。 二、性能特点 1、低电压报警。 2、自动数据纠错技术。 3、温度传感器断路和短路报警。 4、高清晰度宽温度型LCD显示。 5、流量分8段校准,准确度高。 6、超低功耗(静态功耗小于7uA)。 7、管段为直通一体结构采用锻压工艺制造而成。 8、测量机构无运动部件,永无磨损,计量精度不受使用周期影响。

9、具备光电接口,采用红外工具可以实现抄表。 10、安装极为方便,水平或垂直安装。 11、数据传输采用M-BUS或无线传输通信接口,通信距离远。 三、使用方法 1、超声波热量表一直循环显示: 累积热量:累积 XXX kW·h 累积流量:累积 XXX。XX m3 瞬时流量:瞬时 XXX。XXX m3/h 温度:入口 XX。X 出口 XX。X ℃ 温差:温差X。X K 累积工作时间:累积 XXX h 2、数据通讯(不带数据通讯的仪表无此功能) 用户可选用具有M-BUS通信接口或无线传输通信接口的RLB-C型超声波热量表,配合采集器、集中器、管理软件等可实现远程抄表。不同数据通讯接口的仪表选配相应采集器。使用前在上位机建立地址档案,表地址出厂时已设定(仪表ID号为12位数字编码),由热量表、集中器、采集器、上位机等组成的集中抄表系统组建完成后,管理部门就可以随时抄取表中数据。

基于IEEE1801(UPF)标准的低功耗设计实现流程

https://www.360docs.net/doc/7718245568.html,/inform ation/snug/2009/low-power-impleme ntation-flow-based-ieee1801-upf 基于IEEE1801(UPF)标准的低功耗设计实现流程 Low-power Implementation Flow Based IEEE1801 (UPF) 郭军, 廖水清, 张剑景 华为通信技术有限公司 jguo@https://www.360docs.net/doc/7718245568.html, liaoshuiqing@https://www.360docs.net/doc/7718245568.html, zhangjianjing@https://www.360docs.net/doc/7718245568.html, Abstract Power consumption is becoming an increasingly important aspect of ASIC design. There are several different approaches that can be used to reduce power. However, it is important to use these low-power technology more effectively in IC design implementation and verification flow. In our latest low-power chip, we completed full implementation and verification flow from RTL to GDSII successfully and effectively by adopting IEEE1801 Unified Power Format (UPF). This paper will focus on UPF application in design implementation with Synopsys low power solution. It will highlight that how to describe our low-power intent using UPF and how to complete the design flow. This paper first illustrates current low-power methodology and UPF?s concept. Then, it discussed UPF application in detail. Finally, it gives our conclusion. Key words: IEEE1801, UPF, Low-Power, Shut-Down, Power Gating, Isolation, IC-Compiler 摘要

软件低功耗设计

Software Power Measurement Dushyanth Narayanan dnarayan@https://www.360docs.net/doc/7718245568.html, April26,2005 Technical Report MSR-TR-2005-51 Microsoft Research Microsoft Corporation One Microsoft Way Redmond,WA98052 https://www.360docs.net/doc/7718245568.html,

Abstract E?ective system-level power management requires cheap,accurate and?ne-grained power measurement and accounting.Unfortunately current portable hardware does not provide this capability.We advocate software power measure-ment:estimation of power consumption by modelling it as a function of device state.The approach requires no additional hardware,and allows?ne-grained, per-device and per-application power measurement.We describe a design and implementation of software power measurement,and a feasibility study showing signi?cantly better accuracy than power pro?ling based on time averaging.We conclude with design recommendations for OS designers and portable hardware vendors to improve the ease and accuracy of power measurement. 1Introduction Energy is a critical resource for many computing systems.While battery life is especially relevant to portable and hand-held computers,peak power consump-tion a?ects fan noise on desktops and cooling costs for server farms.There is an increasingly recognised need to manage and account energy as a?rst-class resource within the operating system[13]. Energy management requires accurate measurement and accounting.Adap-tive tuning of device parameters such as disk spin-down timeouts[3]requires accurate estimates of per-device power consumption.Per-device measurements at?ne time granularity—when combined with existing OS accounting of de-vices such as CPU,disk,and network—also enable per-application accounting of energy consumption.This is of great value both for end-users(“Outlook is responsible for80%of your battery drain,maybe you should kill it”)and for application-level adaptation[5]. Unfortunately,current approaches to energy measurement have several draw-backs,especially when applied to laptop and hand-held computers.Accurate measurement with?ne time granularity requires external hardware such as sam-pling digital multimeters,making the approach unwieldy and hard to deploy in the?eld.Unmodi?ed laptop hardware typically o?ers nothing more than Smart-Battery measurements,which are only accurate at coarse time granularities and measure the power consumption of the entire system but not of individual de-vices. We propose a novel technique known as software power measurement(SPM), which correlates infrequent,coarse-grained measurements of power with?ne-grained observations of device state and activity.The result of the correlation is a predictor that estimates the energy consumption over arbitrarily short time interval from from the observed device state and activity. The remainder of this paper is organised as follows.Section2describes current approaches to the problem and their drawbacks.Section3describes the design and prototype implementation of software power measurement on Windows XP.Section4presents a quantitative evaluation of the prototype, 1

IC设计流程

设计流程 IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。 前端设计的主要流程: 1、规格制定 芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。 2、详细设计 Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。 3、HDL编码 使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。 4、仿真验证 仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。仿真验证工具Mentor公司的Modelsim,Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL级的代码进行设计验证,该部分个人一般使用第一个-Modelsim。该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。 5、逻辑综合――Design Compiler

仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门 级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)逻辑综合工具Synopsys的Design Compiler,仿真工具选 择上面的三种仿真工具均可。 6、STA Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的Prime Time。 7、形式验证 这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。形式验证工具有Synopsys的Formality。前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。 Backend design flow后端设计流程: 1、DFT Design ForTest,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。DFT工具Synopsys的DFT Compiler

基于超低功耗无线模块RFM64的无线远传水表、远传电表、远传燃气表、远传热量表设计方案

基于超低功耗无线模块RFM64的无线远传水表设计方案 概述 随着社会和经济的进步,住宅商品化发展迅速,住宅水、电、气、热表的抄表和收费问题日益突出。如何有效解决入户抄表收费的技术问题,提供一个合理、完整、系统的实施管理方案,需要企业、科研和公用事业管理部门共同努力。目前,住宅水、电、气、热表远程抄表系统形式多样,但市场比较混乱,技术上尚不成熟,没有一个被市场认可的完整系统实施管理方案。传统的有线抄表系统布线复杂、可靠性差、维护困难,难以实现管理升级,不能满足旧楼系统改造的市场要求;而新兴GPRS、短信GSM网络抄表方式使用成本昂贵,不适宜大面积推广。 RFM64是华普推出的一款超低功耗高性能的无线收发模块,最大发射功率10db以上,可工作在315/433MHz ISM的频点,故无需申请。RFM64经过优化具有非常低的接收功耗,典型接收电流为 2.6mA, 远小于同类收发器的接收电流。工作电压为 2.1-3.6V,最大发射功率+12.5dBm, RFM64集成度非常高,其包含了射频功能和逻辑控制功能的集成电路,内部集成压控振荡器、锁相环电路、功率放大电路、低噪声放大电路、调制解调电路、变频器、中放电路等。此外它整合了基带调制解调器的数据传输速率高达150Kbps数据处理功能包括一个64字节的FIFO,包处理,自动CRC生成和数据白化。它的高度集成的架构允许最少的外部元件数量,同时保持设计的灵活性。所有主要的射频通讯参数可编程,其中多数可动态设置。 基于超低功耗无线模块RFM64的设计,其具有传输距离相对远,接收的灵敏度较高,工作功耗低等诸多优点,所以它适用于无线远传水表、无线远传电表、无线远传燃气表、无线远传热量表无线遥控系统、无线传感器网络、无线温度压力数据采集、机器人控制等需要用电池长期工作的领域。 系统电路设计 系统主要由一个MCU和RFM64组成。MCU选用了ST公司的低功耗单片机 STM8L101F3, RFM64与单片机通讯采用SPI接口,与外部终端通信采用UART接口。由于高度集成化RFM64外围零件已经很少,所以设计的关键是RF前端的匹配电路的设计。另外高频部分的走线尽量的短粗,元器件参数要根据线路板的实际情况作出适当的调节,以抵消分布参数的影响。一般的RF芯片发射与接收端口的阻抗并不是标准的50?阻抗,要达到最佳的接收效果必须将输入阻抗通过外围器件的补偿使之与50?的天线匹配。

ARM低功耗设计_全面OK

嵌入式系统中的低功耗设计 2008-12-31 18:19:55 作者:电子之都来源:电子之都浏览次数:59 网友评论 0 条 经过近几年的快速发展,嵌入式系统(Embedded system)已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增(IDC预测),嵌入式系统的设计也成为软硬件工程师越来越关心的话题。 在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越迫切的问题。 那么,我们应该从哪些方面来考虑低功耗设计呢?笔者认为应从以下几方面综合考虑: 1.处理器的选择 2.接口驱动电路设计 3.动态电源管理 4.电源供给电路的选择 下面我们分别进行讨论: 一、处理器的选择 我们对一个嵌入式系统的选型往往是从其CPU和操作系统(OS)开始的,一旦这两者选定,整个大的系统框架便选定了。我们在选择一个CPU的时候,一般更注意其性能的优劣(比如时钟频率等)及所提供的接口和功能的多少,往往忽视其功耗特性。但是因为CPU 是嵌入式系统功率消耗的主要来源---对于手持设备来讲,它几乎占据了除显示屏以外的整

个系统功耗的一半以上(视系统具体情况而定),所以选择合适的CPU对于最后的系统功耗大小有举足轻重的影响。 一般的情况下,我们是在CPU的性能(Performance)和功耗(Power Consumption)方面进行比较和选择。通常可以采用每执行1M次指令所消耗的能量来进行衡量,即Watt/M IPS。但是,这仅仅是一个参考指标,实际上各个CPU的体系结构相差很大,衡量性能的方式也不尽相同,所以,我们还应该进一步分析一些细节。 我们把CPU的功率消耗分为两大部分:内核消耗功率PCORE和外部接口控制器消耗功率PI/O,总的功率等于两者之和,即P=PCORE+PI/O。对于PCORE,关键在于其供电电压和时钟频率的高低;对于PI/O来讲,除了留意各个专门I/O控制器的功耗外,还必须关注地址和数据总线宽度。下面对两者分别进行讨论: 1、CPU供电电压和时钟频率 我们知道,在数字集成电路设计中,CMOS电路的静态功耗很低,与其动态功耗相比基本可以忽略不计,故暂不考虑。其动态功耗计算公式为: Pd=CTV2f 式中,Pd---CMOS芯片的动态功耗 CT----CMOS芯片的负载电容 V----CMOS芯片的工作电压 f-----CMOS芯片的工作频率 由上式可知,CMOS电路中的功率消耗是与电路的开关频率呈线性关系,与供电电压呈二次平方关系。对于一颗CPU来讲,Vcore电压越高,时钟频率越快,则功率消耗越大。所以,在能够满足功能正常的前提下,尽可能选择低电压工作的CPU能够在总体功耗方面得到

IC设计流程之实现篇全定制设计

IC设计流程之实现篇——全定制设计 要谈IC设计的流程,首先得搞清楚IC和IC设计的分类。 集成电路芯片从用途上可以分为两大类:通用IC(如CPU、DRAM/SRAM、接口芯片等)和专用IC(ASIC)(Application Specific Integrated Circuit),ASIC是特定用途的IC。从结构上可以分为数字IC、模拟IC和数模混合IC三种,而SOC(System On Chip,从属于数模混合IC)则会成为IC设计的主流。从实现方法上IC设计又可以分为三种,全定制(full custom)、半定制(Semi-custom)和基于可编程器件的IC设计。全定制设计方法是指基于晶体管级,所有器件和互连版图都用手工生成的设计方法,这种方法比较适合大批量生产、要求集成度高、速度快、面积小、功耗低的通用IC或ASIC。基于门阵列(gate-array)和标准单元(standard-cell)的半定制设计由于其成本低、周期短、芯片利用率低而适合于小批量、速度快的芯片。最后一种IC设计方向,则是基于PLD或FPGA器件的IC设计模式,是一种“快速原型设计”,因其易用性和可编程性受到对IC制造工艺不甚熟悉的系统集成用户的欢迎,最大的特点就是只需懂得硬件描述语言就可以使用EDA工具写入芯片功能。从采用的工艺可以分成双极型(bipolar),MOS和其他的特殊工艺。硅(Si)基半导体工艺中的双极型器件由于功耗大、集成度相对低,在近年随亚微米深亚微米工艺的的迅速发展,在速度上对MOS管已不具优势,因而很快被集成度高,功耗低、抗干扰能力强的MOS管所替代。MOSFET工艺又可分为NMOS、PMOS和CMOS三种;其中CMOS工艺发展已经十分成熟,占据IC市场的绝大部分份额。GaAs器件因为其在高频领域(可以在0.35um下很轻松作到10GHz)如微波IC中的广泛应用,其特殊的工艺也得到了深入研究。而应用于视频采集领域的CCD传感器虽然也使用IC一样的平面工艺,但其实现和标准半导体工艺有很大不同。在IC开发中,常常会根据项目的要求(Specifications)、经费和EDA工具以及人力资源、并考虑代工厂的工艺实际,采用不同的实现方法。 其实IC设计这个领域博大精深,所涉及的知识工具领域很广,本系列博文围绕EDA工具展开,以实现方法的不同为主线,来介绍这三种不同的设计方法:全定制、半定制和基于FPGA

热量表设计方案

热量表设计方案

1 引言 把热表计量技术中的关键要素——温度和流量引入到热计量技术中;利用热介质的温差及供热系统中流量相对稳定的概念,将每个计算单元的温差及流量作为热能计量的依据,实现热量计量。 2 核心技术介绍 2.1热量计算原理 在供热用户中安装热量表,当热水流经供热用户时,根据流量传感器给出的流量和配对温度传感器给出的供回水温度,以及热水流经的时间,可计算并显示供热用户所吸收的热量。其基本公式为: 1 1 r r m v r r Q q hdt q hdt ρ= ?= ??? (1) 式中:Q —供热用户所吸收的热量,J 或W .h m q —流经热量表的水的质量流量,kg/h v q —流经热量表的水的体积流量,m 3 /h ρ—流经热量表的水的密度,kg/m 3 Δh —供热用户的入口和出口温度下的焓值差,J/kg τ—时间,h 2.2 红外无线通信技术 红外线是指波长在750nm~1mm 之间的电磁波,它的频率介于微波和可见光之间,是一种人眼看不到的光线。红外通信利用波长在850nm~900nm 之间的近红外线作为信息的载体来进行通信,将二进制数调制成脉冲序列并以此驱动红外线发射管向外发射红外光;而接收端则先将接收到的光脉冲信号转换为电信号,再进行放大、滤波、解调处理后还原为二进制信号。 2.3超声波流速测量原理 图1 超声波测量流量原理 超声波流量测量是应用一对超声波换能器相向交替(或同时)收发超声波,通过观测超声波在介质中的顺流和逆流传播时间差来间接测量流体的流速,再通过流速来计算流量的一种间接测量方法,如图1 所示。

3 总体设计方案及说明 本方案以MPS430为主控芯片、结合超声波测量技术利用高精度时间测量芯片TDC-GP2测量暖气管道进水流速、进回水温度,以此作为热量计算的依据。 3.1系统原理框图 通过一对超声波换能器测量供暖管道的水流速度,进而通过流速计算流量,实现流量的测量;通过温度传感器PT1000测量供暖管道进水温度和回水温度,计算其温度差,由流量和进回水温度差计算出用户所用的热量,作为计费的依据。其系统组成框图如图2所示。 图2 系统原理框图 3.2模块功能 超声波换能器 通过一对超声波换能器,相向交替收发超声波,通过测量超声波在顺流和逆流传播时间差来间接测量流体的流速。 进水温度、回水温度 采用PT系列温度传感器PT1000测量进回水温度,PT1000具有很好的线性性质,测量精度高,电路实现简单。 红外通信接口(预留) 通过此接口实现热能表参数设定、数据抄录等功能。 RS485通信接口(预留) 通过上位机读取指定热量表的热能数据、热能表系统参数信息、读取并设定数据参数。 液晶显示模块 通过按钮按下时间长短显示相应菜单,向用户提供相应热能数据信息,方便用户查询,并当系统发生故障时,显示报警信息。 按键接口 通过此按键按下时间长短显示相应菜单,实现与用户交互,方便用户查询。 注:预留功能接口其与外界通信数据格式与贵公司协商,由贵公司提供。 3.3 功能设计: ①显示功能:用户可以在显示屏查看累计用热、进出水温度值、进出水温差、流量以及其他提示性符号; ②记忆功能:热量表中信息自行记忆,保持时间大于10年;

基于GP21+EFM32的超低功耗超声波热量表电路模块设计

基于32位Cortex-M3内核的超低功耗微控制器EFM32与ACAM公司的高集成度TDC-GP21芯片推出的超声波热量表方案,能够充分发挥EFM32的超低功耗与高运算能力的特点及GP21高精度的测量能力,它将成为超声波热量表方案中的最优之选。 主控及显示部分 超声波主控MCU采用EFM32TG840F32,它是基于ARM公司的32位Cortex-M3内核设计而来,对比于传统的8位、16位单片机,它具有更高的运算和数据处理能力,更高的代码密度,更低的功耗。实际数据显示,EFM32TG840在执行32位乘法运算仅需4个内核时钟周期,32 位除法运算仅需8个内核时钟周期,而相应热表上运用的16位单片机却分别需要50和465个时钟周期。而恰恰在时间数据转换芯片TDC-GP21上采集得到的数据均是32位长度,因此在运算和热量计算时均是32位的数据运算。可见,采用EFM32TG840可以让超声波热量表有更好的运算性能,从而使得整机可以缩短处在运行计算状态状态,达到降低运行功耗的效果。 EFM32TG840具有EM0-EM4共5种低功耗模式。在EM2的低功耗模式下,微控制器仍可实现RTC运行,LEUART、LETIMER 及LESENSE的通信或控制功能,而功耗仅需900你A。而且它具有灵活的唤醒方式和自主工作的PRS系统,可以由外部I/O、I2C通信接口、 LEUART 通信信号等等方式唤醒。 EFM32TG840集成了8×20段的LCD驱动器,满足直接驱动超声波热量表液晶屏的需求,而功耗仅为550nA。EFM32TG840的 LCD驱动器内部集成电压升压功能和对比度调节功能,可实现在芯片内部VCMP电压比较器监控VDD电压,分等级开启LCD升压及对比度调节,达到LCD 的现象效果良好,即使系统电池随着使用时间增加出现电压跌落现象。

常用低功耗设计

随着半导体工艺的飞速发展和芯片工作频率的提高,芯片的功耗迅速增加,而功耗增加又将导致芯片发热量的增大和可靠性的下降。因此,功耗已经成为深亚微米集成电路设计中的一个非常重要的考虑因素。为了使产品更具有竞争力,工业界对芯片设计的要求已从单纯的追求高性能、小面积,转换为对性能、面积、功耗的综合要求。微处理器作为数字系统的核心部件,其低功耗设计对降低整个系统的功耗具有非常重要的意义。 本文首先介绍了微处理器的功耗来源,重点介绍了常用的低功耗设计技术,并对今后低功耗微处理器设计的研究方向进行了展望。 1 微处理器的功耗来源 研究微处理器的低功耗设计技术,首先必须了解其功耗来源。高层次仿真得出的结论如图1所示。 从图1中可以看出,时钟单元(Clock)功耗最高,因为时钟单元有时钟发生器、时钟驱动、时钟树和钟控单元的时钟负载;数据通路(Datapath)是仅次于时钟单元的部分,其功耗主要来自运算单元、总线和寄存器堆。除了上述两部分,还有存储单元(Mem ory),控制部分和输入/输出 (Control,I/O)。存储单元的功耗与容量相关。 如图2所示,C MOS电路功耗主要由3部分组成:电路电容充放电引起的动态功耗,结反偏时漏电流引起的功耗和短路电流引起的功耗。其中,动态功耗是最主要的,占了总功耗的90%以上,表达式如下: 式中:f为时钟频率,C1为节点电容,α为节点的翻转概率,Vdd为工作电压。

2 常用的低功耗设计技术 低功耗设计足一个复杂的综合性课题。就流程而言,包括功耗建模、评估以及优化等;就设计抽象层次而言,包括自系统级至版图级的所有抽象层次。同时,功耗优化与系统速度和面积等指标的优化密切相关,需要折中考虑。下面讨论常用的低功耗设计技术。 2.1 动态电压调节 由式(1)可知,动态功耗与工作电压的平方成正比,功耗将随着工作电压的降低以二次方的速度降低,因此降低工作电压是降低功耗的有力措施。但是,仅仅降低工作电压会导致传播延迟加大,执行时间变长。然而,系统负载是随时间变化的,因此并不需要微处理器所有时刻都保持高性能。动态电压调节DVS (Dynarnic Voltage Scaling)技术降低功耗的主要思路是根据芯片工作状态改变功耗管理模式,从而在保证性能的基础上降低功耗。在不同模式下,工作电压可以进行调整。为了精确地控制DVS,需要采用电压调度模块来实时改变工作电压,电压调度模块通过分析当前和过去状态下系统工作情况的不同来预测电路的工作负荷。 2.2 门控时钟和可变频率时钟 如图1所示,在微处理器中,很大一部分功耗来自时钟。时钟是惟一在所有时间都充放电的信号,而且很多情况下引起不必要的门的翻转,因此降低时钟的开关活动性将对降低整个系统的功耗产牛很大的影响。门控时钟包括门控逻辑模块时钟和门控寄存器时钟。门控逻辑模块时钟对时钟网络进行划分,如果在当前的时钟周期内,系统没有用到某些逻辑模块,则暂时切断这些模块的时钟信号,从而明显地降低开关功耗。图3为采用“与”门实现的时钟控制电路。门控寄存器时钟的原理是当寄存器保持数据时,关闭寄存器时钟,以降低功耗。然而,门控时钟易引起毛刺,必须对信号的时序加以严格限制,并对其进行仔细的时序验证。 另一种常用的时钟技术就是可变频率时钟。根据系统性能要求,配置适当的时钟频率,避免不必要的功耗。门控时钟实际上是可变频率时钟的一种极限情况(即只有零和最高频率两种值),因此,可变频率时钟比门控时钟技术更加有效,但需要系统内嵌时钟产生模块PLL,增加了设计复杂度。去年Intel公司推出的采用先进动态功耗控制技术的Montecito处理器,就利用了变频时钟系统。该芯片内嵌一个高精度数字电流表,利用封装上的微小电压降计算总电流;通过内嵌的一个32位微处理器来调整主频,达到64级动态功耗调整的目的,大大降低了功耗。

IC设计后端流程(初学必看)

基本后端流程(漂流&雪拧) ----- 2010/7/3---2010/7/8 本教程将通过一个8*8的乘法器来进行一个从verilog代码到版图的整个流程(当然只是基本流程,因为真正一个大型的设计不是那么简单就完成的),此教程的目的就是为了让大家尽快了解数字IC设计的大概流程,为以后学习建立一个基础。此教程只是本人探索实验的结果,并不代表容都是正确的,只是为了说明大概的流程,里面一定还有很多未完善并且有错误的地方,我在今后的学习当中会对其逐一完善和修正。 此后端流程大致包括以下容: 1.逻辑综合(逻辑综合是干吗的就不用解释了把?) 2.设计的形式验证(工具formality) 形式验证就是功能验证,主要验证流程中的各个阶段的代码功能是否一致,包括综合前RTL 代码和综合后网表的验证,因为如今IC设计的规模越来越大,如果对门级网表进行动态仿真的话,会花费较长的时间(规模大的话甚至要数星期),这对于一个对时间要求严格(设计周期短)的asic设计来说是不可容忍的,而形式验证只用几小时即可完成一个大型的验证。另外,因为版图后做了时钟树综合,时钟树的插入意味着进入布图工具的原来的网表已经被修改了,所以有必要验证与原来的网表是逻辑等价的。 3.静态时序分析(STA),某种程度上来说,STA是ASIC设计中最重要的步骤,使用primetime 对整个设计布图前的静态时序分析,没有时序违规,则进入下一步,否则重新进行综合。 (PR后也需作signoff的时序分析) 4.使用cadence公司的SOCencounter对综合后的网表进行自动布局布线(APR) 5.自动布局以后得到具体的延时信息(sdf文件,由寄生RC和互联RC所组成)反标注到 网表,再做静态时序分析,与综合类似,静态时序分析是一个迭代的过程,它与芯片布局布线的联系非常紧密,这个操作通常是需要执行许多次才能满足时序需求,如果没违规,则进入下一步。 6.APR后的门级功能仿真(如果需要) 7.进行DRC和LVS,如果通过,则进入下一步。 8.用abstract对此8*8乘法器进行抽取,产生一个lef文件,相当于一个hard macro。 9.将此macro作为一个模块在另外一个top设计中进行调用。 10.设计一个新的ASIC,第二次设计,我们需要添加PAD,因为没有PAD,就不是一个完整的 芯片,具体操作下面会说。 11.重复第4到7步

相关文档
最新文档