Final Report

Propaganda
Faculdade de Engenharia da Universidade do Porto
Redução da potência de uma interface de alta
velocidade em tecnologia CMOS através de
“power gating”
Luís Miguel Granja Gomes
VERSÃO FINAL
Relatório final da UC Preparação para a Dissertação realizado no âmbito do
Mestrado Integrado em Engenharia Eletrotécnica e de Computadores
Major Telecomunicações
Orientador na FEUP: Prof. Dr. João Canas Ferreira
Orientador na Synopsys: Eng.º Hélder Araújo
13 de Fevereiro de 2013
© Luís Miguel Granja Gomes, 2013
ii
Índice
Índice............................................................................................... iii
Lista de figuras ................................................................................... iv
Lista de tabelas ................................................................................... v
Abreviaturas e Símbolos ........................................................................ vi
Capítulo 1 .......................................................................................... 1
Introdução ......................................................................................................... 1
1.1 - Enquadramento ........................................................................................ 1
1.2 - Motivação ............................................................................................... 2
1.3 - Objetivos ................................................................................................ 3
1.4 - Estrutura do documento .............................................................................. 3
Capítulo 2 .......................................................................................... 4
Estado da Arte .................................................................................................... 4
2.1 - Energia e Potência ..................................................................................... 4
2.2 - Potência Dinâmica vs Potência Estática ........................................................... 5
2.3 - Power Gating - Conceito .............................................................................. 6
2.4 - Principais Desafios do Power Gating ............................................................... 9
2.5 - Metodologia para implementação de Power Gating com suporte de ferramentas
Synopsys ............................................................................................... 18
Capítulo 3 .........................................................................................20
Proposta de Trabalho ......................................................................................... 20
3.1 - Metodologia ........................................................................................... 20
3.2 - Ferramentas de trabalho ........................................................................... 21
3.3 - Plano de trabalho .................................................................................... 22
3.4 - Resultados Esperados ............................................................................... 25
Referências .......................................................................................26
iii
Lista de figuras
Figura 2.1- Perfil de um bloco alvo de Power Gating. Fonte: [1] ..................................... 7
Figura 2.2- Utilização de Sleep Transistors. Fonte: [3] ................................................. 7
Figura 2.3 - Diagrama de blocos de um sistema com Power Gating. Fonte: [1] .................... 8
Figura 2.4 - Implentação de Fine Grain numa porta AND. Fonte: [1] .............................. 11
Figura 2.5 - Implementação Coarse Grain. Fonte: [2] ................................................ 12
Figura 2.6 - Header Switch(esquerda) e Footer Switch(direita). Fonte: [1] ...................... 12
Figura 2.7 - Implementação em Anel. Fonte: [1] ...................................................... 13
Figura 2.8 - Implementação em rede. Fonte: [1] ...................................................... 14
Figura 2.9 - Registo de retenção. Fonte: [1]............................................................ 16
Figura 2.10 - Célula de isolamento que fixa a saída em "0". Fonte [1] ............................. 18
Figura 2.11- Metodologia de implementação utilizando ferramentas Synopsys. Fonte: [2] .... 19
Figura 3.1 - Planemanento: Diagrama de Gantt ........................................................ 24
iv
Lista de tabelas
Tabela 1.1 - Técnicas Low Power ...........................................................................2
v
Abreviaturas e Símbolos
Lista de abreviaturas
CAD
Computer Aided Design
CMOS
Complementary metal–oxide–semiconductor
GDSII
Graphic Database System II
HDL
Hardware Description Languages
HDMI
High-Definition Multimedia Interface
IP
Intellectual Property
LVA
Linha Virtual de Alimentação
RTL
Register Transfer Level
SBPF
Synopsys Binary Parasitic Format
SoC
System-On-A-Chip
SPEF
Standard Parasitic Exchange Format
ST
Sleep Transistor
ITRS
INTERNATIONAL TECHNOLOGY ROADMAP FOR SEMICONDUCTORS
VLSI
Very Large Scale Integration
vi
Capítulo 1
Introdução
Esta dissertação foi proposta pela Synopsys Portugal e é realizada no âmbito do Mestrado
Integrado em Engenharia Eletrotécnica e de Computadores da Faculdade de Engenharia da
Universidade do Porto.
O presente capítulo introduz o tema da dissertação e os motivos pelos quais a sua
realização é pertinente. São listados os principais objetivos a alcançar e apresentada a
estrutura do documento.
1.1 - Enquadramento
O tempo dedicado à utilização de dispositivos eletrónicos ocupa uma grande percentagem
da vida quotidiana. Estes dispositivos sofreram uma notável expansão e desenvolvimento nas
últimas décadas. É possível, por exemplo, ler um livro num dispositivo de dimensões mínimas,
cuja autonomia atinge várias horas. É ainda inegável, a dependência que apresentamos em
relação à utilização de muitos equipamentos em áreas tão distintas como a medicina ou o
entretenimento.
A expansão verificada é possível devido à revolução e aos avanços no desenvolvimento de
circuitos VLSI (Very Large Scale Integration) em tecnologia CMOS. A utilização de Linguagens
de Descrição de Hardware (HDL), a reutilização de modelos (IP cores) e a utilização de
ferramentas CAD permitiu que os circuitos aumentassem a sua frequência de funcionamento e
reduzissem o tamanho [1].
À medida que a tecnologia encolhe e aumenta a sua performance, surgem problemas
associados ao consumo de energia. Maiores frequências refletem-se num maior consumo de
energia dinâmica. Por sua vez, menores dimensões refletem-se num aumento do consumo
estático. Este problema levou os projetistas a desenvolverem técnicas para diminuir o
consumo de energia dos circuitos VLSI, em ambas as componentes dinâmica e estática. Entre
estas técnicas, as mais utilizadas estão resumidas na Tabela 1.
Esta dissertação é realizada em conjunto com a Synopsys Portugal e tem como objetivo a
redução da potência de uma das suas interfaces de alta velocidade através da implementação
de Power Gating, atuando ao nível do consumo estático.
2 Introdução
Técnica
Princípio de funcionamento
Objetivo
Clock Gating
Desligar o sinal de relógio
Diminuir potência
dinâmica
Otimização
nível
das
ao
portas
Reordenar portas lógicas e operandos para
Diminuir potência
diminuir atividade de comutação
dinâmica
Utilizar transístores com Vt baixo, apenas
Reduzir fugas
lógicas
Multi-threshold
em caminhos críticos
Power Gating
Utilização
de
células
especiais
para
Reduzir fugas
desligar certos blocos quando estes não
estão em funcionamento.
Multi VDD
Utilizar
tensões
de
alimentação
mais
baixas em blocos que possam funcionar a
Reduzir quadraticamente
a potência dinâmica.
frequências mais baixas
Tabela 1.1 - Técnicas Low Power
1.2 - Motivação
Até aos anos 90, a expansão da tecnologia media-se pelo número de transístores por chip
e pela sua frequência de funcionamento. De acordo com a lei de Moore, assistiu-se a um
grande crescimento na integração de cada vez mais transístores, potenciado pela redução do
seu tamanho. Este fenómeno é denominado de scaling.
O scalling permitiu que os circuitos se tornassem cada vez mais pequenos e mais rápidos.
No entanto a maior densidade de transístores, conduziu a um aumento da densidade de
potência e, consequentemente, da temperatura.
A partir desse ponto, começou-se a dar importância ao consumo de potência devido a
diversos fatores. Aparelhos portáteis são alimentados a baterias, o que torna importante
qualquer redução do consumo energético. Por outro lado a imunidade ao ruido diminuí e os
custos dos sistemas de refrigeração e de packaging aumentam significativamente. Como
exemplo, em 2006 os centros de servidores dos EUA consumiam, cerca de 61 TWh, o que
corresponde a um custo de 4.5 mil milhões de dólares em sistemas de refrigeração [4]. A
INTERNATIONAL TECHNOLOGY ROADMAP FOR SEMICONDUCTORS (ITRS) afirma que, neste
momento a potência tornou-se o principal fator limitante, em detrimento da velocidade.
Inicialmente, a potência dinâmica dominava as preocupações dos projetistas e ia sendo
combatida com a diminuição da tensão de alimentação. Para manter o aumento de
performance, transístores com tensões de threshold mais baixas começaram a ser utilizados,
o que potenciou um aumento das correntes de fuga. Sendo assim, para tecnologias
avançadas, a partir dos 90nm, a potência estática (conhecida como leakage) começa a
sobrepor-se à potência dinâmica [1].
É neste aspeto que esta dissertação pretende atuar, ao implementar Power Gating, como
uma das técnicas mais eficazes de redução da potência estática. Estudos afirmam que é
Introdução 3
possível reduzir o consumo de potência cerca de 1000x [3]. A justificação é simples: quanto
menos tempo o circuito estiver ligado, menos potência dissipará.
Como já referido na secção anterior, o método Power Gating será implementado numa
interface de alta velocidade. Este tipo de interfaces tem estado cada vez mais em foco no
desenvolvimento de sistemas. Muitos dos dispositivos que utilizamos no dia-a-dia, como
televisores ou dispositivos de armazenamento, utilizam cada vez maiores taxas de
transferências de dados, chegando aos Gbps, quando há alguns anos apenas atingiam taxas na
ordem dos Mbps. Por exemplo, a versão 1.4 do HDMI, atinge 3.4Gbps por canal, esperando-se
que atinga os 6Gbps na verão 2.0 (lançamento programado para o primeiro semestre de 2013)
[5]. Considerando, a crescente taxa de utilização de interfaces deste tipo, e o aumento das
suas taxas de transmissão, torna-se importante atuar no controlo do consumo de energia.
1.3 - Objetivos
Recorrendo à ajuda de ferramentas CAD, como fermentas de síntese lógica, síntese física
e de simulação e análise, esta dissertação tem como objetivos:
1. Reduzir a potência de uma interface de alta velocidade em tecnologia CMOS, através
da implementação de Power Gating;
2. Não prejudicar o desempenho da interface em questão;
3. Não alterar a funcionalidade da interface em questão.
Com o evoluir dos trabalhos, é natural que mais objetivos específicos sejam introduzidos.
1.4 - Estrutura do documento
No segundo capítulo é levantado o estado da arte no que diz respeito à aplicação de
Power Gating.
Finalmente o terceiro capítulo descreve a metodologia a seguir e apresenta o plano de
trabalhos proposto.
Capítulo 2
Estado da Arte
Este capítulo apresenta conceitos associados ao projeto de circuitos de baixa potência,
relevantes para a compreensão do problema. É ainda explicado o conceito que suporta a
metodologia Power Gating bem como os componentes e desafios críticos para uma correta
implementação da mesma.
2.1 - Energia e Potência
Potência e energia são dois conceitos muitas vezes confundidos. Quando nos referimos a
potência, consideramos a potência instantânea presente no circuito ou num elemento do
circuito. É definida como o produto da corrente que o atravessa pela tensão aos seus
terminais, e é expressa em Watts (W):
( )
( )
( )
(2.1)
A energia consumida ( ) pelo circuito durante um intervalo de tempo é o integral da
potência instantânea, ou seja a área delimitada pela curva da potência. A sua unidade SI é o
Joule (J), mas no contexto das baterias é normalmente utilizada a unidade Watt-hora (W-hr)
= 3600J.
(2.2)
Estado da Arte 5
O estado de funcionamento de um dispositivo eletrónico influencia a potência instantânea. Se
considerarmos um aparelho de comunicação móvel, uma chamada ativa implica, certamente,
mais potência que o modo standby. Desta forma, quanto maior a potência instantânea no
dispositivo mais energia será consumida e, consequentemente, o tempo de vida da bateria
decresce.
2.2 - Potência Dinâmica vs Potência Estática
No contexto de aplicação de Power Gating, é a potência estática que merece maior
atenção pois é ela que será maioritariamente afetada. No entanto é interessante perceber de
onde vem o conjunto da potência num circuito CMOS.
A potência total consumida por um circuito CMOS é igual à soma da potência dinâmica e
da potência estática:
(2.3)
Potência dinâmica
A Potência Dinâmica (
) é resultado da carga e descarga de capacidades, resultante da
atividade de comutação dos transístores (
), e da corrente de curto-circuito quando
ambas as redes PMOS e NMOS estão ativas (
).
(2.4)
é função da tensão de alimentação (
frequência de relógio (
), da capacidade de carga (
), da
) e da probabilidade dos sinais transitarem entre 0 e 1( ).
(2.5)
A outra componente de potência dinâmica,
(
), da corrente de curto-circuito (
é função da tensão de alimentação
, muitas vezes chamada crowbar current) e do
intervalo de tempo em que ambas as redes PMOS e NMOS estão a conduzir ( ).
(2.6)
Neste contexto, desde que o tempo de subida do sinal de entrada não seja muito longo,
é negligenciável em relação a
.
Potência estática
Por seu lado,
está presente mesmo quando os transístores não estão a comutar. Este
tipo de potência está associado a correntes de fuga que estão sempre presentes, desde que o
circuito se encontre ligado. Por este motivo é muitas vezes referida como leakage. É o
conjunto de 3 tipos de correntes de fuga:
6 Estado da Arte

Sub-threshold Leakage (
) - É a corrente que flui do dreno para a fonte do
transístor quando este se encontra na região de inversão fraca, ou seja,
quando
. Ou, por outras palavras, é a corrente que atravessa o canal
do transístor quando este era suposto não estar a conduzir.

Gate Leakage (
) – A corrente da porta de um transístor MOS é
idealmente zero, uma vez que esta é isolada por um material dielétrico. No
entanto, existe uma corrente que flui diretamente da gate para o substrato,
através desse material isolador.

Reverse-bias P-N Junction Leakage (
) – Corrente que flui da fonte ou do
dreno para o substrato através dos díodos inversamente polarizados,
presentes nas junções P-N dos transístores.
A corrente de sub-thershold é fortemente dependente de
. Uma diminuição de
,
implica um aumento exponencial da corrente de sub-threshold, como já referido
anteriormente.
dominava a potência estática de um circuito. No entanto, com a
constante redução da espessura do material dielétrico da porta dos transístores,
tem tomado proporções significativas, atingindo 1/3 de
para 90 nm, e
igualando ou ultrapassando Isub, para tecnologias mais avançadas [1].
2.3 - Power Gating - Conceito
Um SoC (system-on-a-chip) é constituído por vários blocos com funcionalidades
diferentes. Cada um desses blocos pode operar num dos seguintes modos:

Modo ativo – Quando executa a sua função e, por isso, as portas lógicas constituintes
estão a comutar.

Modo Standby – Quando o funcionamento do bloco não é necessário, ou seja, os sinais
associados mantêm o seu estado.
No Modo Standby, a potência dinâmica é eliminada, uma vez que não existe atividade de
comutação. No entanto, a potência estática mantém-se uma vez que o bloco continua
alimentado.
Estado da Arte 7
Power Gating consiste em desligar os blocos que não estão em funcionamento, diminuindo
assim as correntes de fuga, e voltar a ligá-los quando o seu funcionamento for novamente
necessário. Deste modo um bloco pode funcionar em dois modos distintos: Active Mode e
Sleep Mode. O perfil de funcionamento de um bloco em que foi aplicado Power Gating está
representado na figura 2.1.
Figura 2.1- Perfil de um bloco alvo de Power Gating. Fonte: [1]
Para desligar um bloco, transístores MOS com
elevado (adiante designados por ST-sleep
transistor) são utilizados como interruptores e posicionados entre o bloco e as linhas de
alimentação:

PMOS, colocado entre VDD e o bloco, e por isso designado Header Switch;

NMOS, colocado entre GND e o bloco, e por isso designado Footer Switch.
Figura 2.2- Utilização de Sleep Transistors. Fonte: [3]
Os blocos do circuito deixam, então, de ser alimentados diretamente pelas linhas de
alimentação, para serem alimentados através dos ST. É legítimo considerar que estamos
perante uma nova linha de alimentação à qual poderemos chamar Linha Virtual de
Alimentação (LVA) (VDD ou GDN).
8 Estado da Arte
Os ST são controlados por um sinal, o qual pode, convenientemente, ser chamado Sleep
Signal e que é gerado por um bloco denominado Controlador de Power Gating.
No caso dos Header Switches, para desligar o bloco, Sleep Signal toma o valor lógico 1, de
forma a colocar o transístor no corte. Caso se trate de um Footer Switch, acontece
precisamente o contrário, ou seja, Sleep Signal toma o valor lógico 0.
Além do controlo do Sleep Signal é necessário garantir, que quando a alimentação de um
bloco é restaurada, este inicie no mesmo estado em que estava aquando a interrupção do seu
funcionamento. Para isso, são utilizados registos que guardam o estado dos blocos. Estes
registos são denominados Registos de Retenção.
Outro aspeto a ter em conta é o fato de as saídas do bloco que sofre Power Gating serem, ao
mesmo tempo, entradas de blocos que estão sempre ligados. Estas saídas podem comutar
muito lentamente e permanecer muito tempo num valor indefinido, o que proporciona o
aumento da já falada corrente de curto-circuito ou crowbar current (
) do bloco que se
encontra sempre ligado. Este problema pode ser atacado recorrendo a células especiais que,
quando necessário, isolam o sinal de saída e previnem a corrente de curto-circuito.
Assim sendo, e de acordo com [1] os elementos fundamentais para a implementação de
power gatins são:

Rede de Sleep Transistors (Power Switching Fabric)

Controlador de Power Gating; (Power Gating Controller)

Mecanismo de retenção de estado;

Células de isolamento (Isol)
Figura 2.3 - Diagrama de blocos de um sistema com Power Gating. Fonte: [1]
Estado da Arte 9
2.4 - Principais Desafios do Power Gating
A projeção destes elementos é a espinha dorsal da implementação de Power Gating. Contudo,
enquanto o projeto é desenvolvido há certos aspetos que devem ser tidos em conta:

Identificação de Power Islands;

O impacto na performance;

O impacto na área;

A queda de tensão imposta pelos Sleep Transistors;

A energia necessária para entrar e sair do Sleep Mode;

O tempo necessário para voltar a alimentar o bloco (Wake-up time);

A corrente que se gera, e consequente energia, durante o tempo em que alimentação
do bloco é reposta (In-Rush Current);

A flutuação gerada nas linhas de alimentação até a alimentação ser reposta
(Power/Ground Bounce), originada pela In-Rush-Current.
2.4.1 Identificação de Power Islands
O conceito de Power Islands é introduzido por [6]. Os autores apresentam uma metodologia
de alto nível em que partes do sistema com características de funcionamento semelhantes
são agregadas e posicionadas numa região que é controlada independentemente. Cada uma
destas regiões é uma Power Island e pode ser individualmente alvo de Power Gating. O
truque é analisar o sistema ao nível RTL e identificar blocos com maior sobreposição do
tempo de funcionamento e criar Power Islands que possam ser desligadas o maior número de
ciclos possíveis. Com esta metodologia ou autores afirmam que atingem poupanças no
consumo de potência entre 5% a 20% com tecnologia de 65nm.
2.4.2 Wake Up Time, In Rush Current e Power/Ground Bounce
Uma característica fulcral de qualquer implementação de Power Gating é o tempo que
decorre desde o fim do Sleep Mode e o início do Active Mode, ou seja, o tempo necessário
para repor a alimentação na LAV (conhecido como Wake-Up Time). É do interesse do
projetista diminuir este tempo, uma vez que, quanto mais rápido a alimentação for reposta,
mais tempo o circuito pode permanecer desligado, poupando mais energia.
No entanto, manter este tempo reduzido, implica uma variação abruta de corrente
instantânea (
) que surge da linha de alimentação e que é necessária para carregar a LVA.
Esta variação abrupta de corrente, além de implicar um aumento de potência, cria flutuações
na linha de alimentação. Ora, em circuitos low power, em que a tensão de alimentação é
10 Estado da Arte
mantida baixa, qualquer variação da mesma pode provocar perturbações na operação de
todos os blocos adjacentes.
Sendo assim, existe um compromisso entre o quão rápido é possível reativar um bolco e a
flutuação da linha de alimentação.
Surge daqui, que é importante desenvolver técnicas que limitem
, de forma a
diminuir as flutuações da linha de alimentação e a manter o tempo de reativação o mais
reduzido possível.
Com este objetivo foram desenvolvidos alguns métodos que estão documentados em
vários artigos. De salientar [7] que, com uma tecnologia de 180nm atingiu uma redução de
10.23% no Wake-Up Time, mantendo a mesma flutuação das linhas de alimentação
experienciada pelo Power Gating tradicional (+-0.083V). Estes resultados resultam da
ativação do circuito por fases, balanceado a variação da corrente, de forma a diminuir o
efeito na flutuação da alimentação. São gerados dois sinais de controlo para dois ST. Um dos
sinais comporta-se da mesma forma que o sinal convencional, enquanto que o outro, aplicado
a um ST mais pequeno, efetua a transição 1->0, em dois degraus, dividindo o período de
ativação em quatro fases. Desta forma, a corrente induzida varia menos, permitindo diminuir
o tempo de ativação, mantendo a mesma característica de flutuação.
Uma solução parecida com a anterior é descrita em [8], no entanto apresenta resultados
mais satisfatórios. O princípio de funcionamento é o mesmo, sendo a ativação executada em
duas fases. A primeira inicia o restabelecimento de energia, limitando a corrente instantânea
gerada. A segunda fase completa a ativação e ativa o bloco. Ao contrário do exemplo
anterior, não são utilizados dois ST. É utilizado apenas um, mas que tem a particularidade de
funcionar como um díodo, bastando para isso introduzir um pequeno transístor de controlo
entre o seu dreno e porta. Na primeira fase, o ST comporta-se como um díodo, reduzindo a
corrente instantânea na linha de alimentação e, na segunda fase, comporta-se como um
transístor normal, restabelecendo energia ao circuito. Esta abordagem, para os mesmos
180nm, permite reduzir o tempo de ativação em 62.3%, ao mesmo tempo que limita a
flutuação da alimentação em 67%.
Outra abordagem é sugerida em [9]. Neste caso é usada uma linha de alimentação auxiliar
que é ligada a cada bloco do sistema através de transístores bypass. Desta forma, apenas o
transístor bypass do bloco que está a ser reativado está ativo, ficando os restantes blocos
ligados apenas à linha principal de alimentação. Assim sendo, a flutuação provocada na linha
auxiliar de alimentação não influencia a operação dos blocos adjacentes. Com este método,
os autores afirmam que, para um processador dual-core fabricado com uma tecnologia de
90nm e para tempos de reativação superiores a 150ns, conseguem diminuir a flutuação de
30mV para 5mV. Para tempos de ativação mais pequenos os resultados mostram que os
ganhos são ainda maiores.
Estado da Arte 11
2.4.3 Projeto da Rede de Sleep Transistors
No que diz respeito ao projeto da rede de interruptores, além dos desafios descritos na
secção anterior, existem várias escolhas a ser feitas.
Fine Grain vs Coarse Grain
Para a implementação dos Sleep Transistors, existem duas alternativas distintas: Fine Grain e
Coarse Grain.
Em Fine Grain os ST encontram-se no interior de cada Standard Cell que constitui o bloco.
Uma vez que que têm que fornecer a corrente necessária para a célula funcionar, têm que
ser relativamente grandes, podendo aumentar a área da célula em 2 a 4 vezes [1]. A grande
vantagem é que é possível seguir o fluxo normal de projeto, uma vez que todas as
características impostas pelo ST já estão devidamente caracterizadas e camufladas.
Figura 2.4 - Implentação de Fine Grain numa porta AND. Fonte: [1]
No caso de Coarse Grain, os blocos recebem a energia através de um conjunto de células
específicas para Power Gating, que têm que constar na biblioteca de células utilizada. Este
método torna o projeto mais complicado, uma vez que as características de funcionamento
não são conhecidas.
12 Estado da Arte
Figura 2.5 - Implementação Coarse Grain. Fonte: [2]
O impacto na área do método Fine Grain faz com que, na maior parte dos casos, não se
justifique a maior facilidade de projeto. Por este motivo Coarse Grain é o método mais
utilizado.
Header vs Footer
Uma outra escolha prende-se com a utilização de Header Switches ou Footer Switches, ou
seja, comutar VDD ou comutar GND.
Figura 2.6 - Header Switch(esquerda) e Footer Switch(direita). Fonte: [1]
Uma hipótese poderia ser utilizar os dois em simultâneo. No entanto a queda de tensão,
potenciada por dois transístores com
alto seria grande, induzindo elevados atrasos nas
portas lógicas.
No que diz respeito à integração num sistema o Header Switch traz vantagens:
Estado da Arte 13

É cada vez mais comum a utilização de vários níveis de tensão num sistema. Para
atingir este fim, é necessária a utilização de Level Shifters. Estes componentes
possuem GND comum e dois níveis diferentes de tensões de alimentação. Neste caso,
não se deve utilizar Footer Swtiches.

É mais comum pensar em “ativo” como o valor lógico “1” e desativo como o valor
lógico “0”. Neste sentido é mais fácil considerar que para desligar um bloco,
colocamos um interruptor entre o mesmo e VDD. Além disso em SoC é mais comum
blocos comunicarem utilizando protocolos “active-high”, em que o valor lógico “0” é
representado por um GND comum.

Header Switches permitem que, quando são utilizadas estratégias de isolamento que
colocam os sinais a ”0”, sejam utilizados simples transístores entre o sinal e GND.
Footer Switches podem ser vantajosos, se a área ocupada for um fator muito importante,
uma vez que transístores nMOS, apresentam maior eficiência de comutação (Ion/Iof),
resultando em menor área total necessária para fornecer a mesma corrente, comparando
com transístores pMOS.
Anel vs Rede
No caso Coarse Grained, os ST podem ser colocados à volta do bloco (Anel) ou no interior do
mesmo (Rede).
Anel
Numa implementação em anel, os ST são colocados à volta do bloco. VDD forma igualmente
um anel, enquanto que várias linhas de alimentação virtual (
bloco.
Figura 2.7 - Implementação em Anel. Fonte: [1]
, na figura 2.7) cobrem o
14 Estado da Arte
As razões que justificam o uso de uma topologia em anel são:

A distribuição da alimentação é mais simples, uma vez que os ST estão confinados a
uma área em específico e não misturados com a lógica do circuito. Existe sempre uma
separação entre VDD e a LVA (VVDD na figura 2.7), o que resulta em apenas uma
região de alimentação no interior do bloco. Isto facilita a fase de place-and-route.

Células
de
isolamento,
que
necessitam
de
alimentação
constante
podem,
simplesmente, ser colocadas no domínio de alimentação constante.
No entanto:

Registos de retenção não podem ser utilizados, uma vez que necessitam, que
no bloco existam duas regiões de alimentação distintas.

Implica um grande aumento da área do bloco.

Implica um maior número de ST para atingir as especificações relativas à
queda de tensão, uma vez que os ST estão afastados da lógica do bloco e, por
isso necessitam de fornecer energia através de interconexões longas.
Rede
Numa topologia em rede, os ST estão colocados entre a lógica do circuito, como representado
na Figura 2.8. As desvantagens da implementação em anel, tornam-se as vantagens da
topologia em rede e vice-versa.
Figura 2.8 - Implementação em rede. Fonte: [1]
Estado da Arte 15
Vantagens:

Proporcionam duas regiões de alimentação, pelo que registos de retenção podem ser
utilizados;

Os ST estão próximos da lógica, não necessitando de fornecer energia através de
interconexões de grande extensão. Deste modo, as linhas de alimentarão virtuais
podem ser implementadas em camadas inferiores de metal;

São necessários menos ST para atingir as especificações de queda de tensão;

Implica menos área, uma vez que espaços não aproveitados da lógica podem ser
utilizados para formar a rede;
Desvantagens:

Complica a implementação física;

Complica a rede de distribuição de energia.
A escolha da topologia a implementar depende de vários fatores e das características da
biblioteca de Standard Cells disponível. A melhor abordagem é experimentar as duas
topologias e analisar os resultados, de forma a escolher qual implementar.
Se considerarmos blocos que não utilizem registos de retenção, pode ser utilizada a topologia
em anel, uma vez que é mais simples. No entanto, se a área for um fator em consideração,
ou se forem necessárias duas regiões de alimentação, a topologia em rede é mais adequada.
No caso de SoC é, também, possível conciliar as duas topologias no mesmo projeto, numa
opção híbrida. Neste caso, a rede seria implementada em alto-nível, ficando o anel reservado
para blocos nos quais não seja possível efetuar modificações físicas ou que apenas necessitem
de uma região de alimentação.
2.4.4 Retenção de estado
Quando um bloco é reativado, é necessário existir um mecanismo que o coloque exatamente
no mesmo estado em que se encontrava antes de ser desligado.
16 Estado da Arte
Pode simplesmente ser induzido um reset que acione mecanismos internos do bloco e que o
faça recuperar o seu estado. Outra opção é guardar o estado numa memória externa.
No entanto quando é necessário uma rápida reativação é importante que mecanismos
internos de retenção de estado estejam implementados, de forma a agilizar o processo.
Registos de retenção
São registos que substituem os registos normais dos blocos e que contém um registo auxiliar
destinado a guardar o estado do registo principal durante a desativação. Posteriormente,
durante a reativação, o registo principal volta a ser carregado a partir do registo auxiliar.
Figura 2.9 - Registo de retenção. Fonte: [1]
Como é possível verificar na Figura 2.9, o registo auxiliar “RET”, é alimentado pela linha
principal de alimentação “VDD”, o que significa que está sempre ativo. Por seu lado o registo
principal “Master/Slave Latches”, que gera a saída “Q”, está ligado à linha de alimentação
virtual (VDD_SW, na imagem).
A grande vantagem da utilização destes registos é que, ao nível de RTL podem ser tratados
como registos normais, o que facilita a integração.
No entanto, requerem um controlo cuidado por parte do Controlador de Power Gating que
necessita de gerar os sinais “SAVE” e “RESTORE”. Além disso, implicam um aumento
significativo da área dos registos.
Scan Chains
É a alternativa à utilização de registos de retenção. Baseia-se na utilização de cadeias de
registos, semelhantes aos utilizados em métodos de teste de hardware como Boundary Scan.
Estado da Arte 17
Tem a vantagem de não implicar aumento de área, uma vez que as cadeias de teste já
implementadas podem ser reutilizadas com o objetivo de retenção de estado.
Durante a desativação do bloco, o conteúdo dos registos da cadeia são deslocados e
guardados numa memória. Durante a reativação, o contudo da memoria é carregado de volta
para os registos da cadeia.
É de salientar o fato de que as operações de deslocação e escrita/leitura na memória gastam
quantidades consideráveis de energia.
As vantagens prendem-se com o fato de não ser necessário manter uma região do circuito
alimentada para fornecer energia aos registos auxiliares usados em registos de retenção. Por
outro lado a energia gasta para guardar o estado é compensada se o bloco ficar desligado por
um tempo considerável.
2.4.5 Células de Isolamento
Como referido anteriormente, na secção 2.3, as saídas de um bloco alvo de Power Gating que
se encontra desativo podem permanecer num estado flutuante e perturbar o funcionamento
dos blocos para os quais representam sinais de entrada. É neste contexto que é necessária a
introdução de células de isolamento.
Estas células são controladas pelo Controlador de Power Gating, e quando ativas fixam os
sinais de saída a “0”, “1” ou ao valor que tinham anteriormente. Para fixar a “0” basta
utilizar um AND, ao passo que, para fixar a “1” utiliza-se um OR.
A decisão de fixar as saídas a “1” ou a “0” depende da natureza dos blocos. A melhor
abordagem é fixar os sinais num valor “neutro”, de forma a não serem interpretados como
comandos pelos blocos dos quais são entradas. Na maior parte dos sistemas, isto significa
fixar a “0”.
Outra justificação que suporta a escolha da fixação a “0” é que, quando existem dois blocos
sujeitos a Power Gating encadeados e desativados, se o bloco de destino utilizar Header
Switches e as saídas (do primeiro bloco) forem fixadas a “1”, é estabelecido um caminho
entre as saídas e GND, causando uma corrente de fuga que aumenta o consumo de energia.
Devido às razões enunciadas acima, [1] recomenda que sejam usados sinais ativos a “1”,
resets ativos “0” e fixar as saídas em “0”.
18 Estado da Arte
Figura 2.10 - Célula de isolamento que fixa a saída em "0". Fonte [1]
As células de isolamento podem desempenhar a sua função em dois sítios diferentes: no bloco
em que o sinal é gerado ou no bloco de destino.
Caso seja escolhida a 2.ª opção, é necessário colocar uma célula de isolamento em cada
bloco de destino e verificar o funcionamento de cada uma. Para casos em que o sinal seja
uma entrada de vários blocos, isto significa um aumento de área e de trabalho de verificação.
Se for escolhida a primeira opção, basta uma célula para cada sinal. No entanto, este caso
traz de volta um problema já discutido na secção anterior. Uma vez que a célula de
isolamento (à semelhança do registo auxiliar de um registo de retenção) necessita de ser
sempre alimentada são necessárias duas zonas de alimentação distintas.
Os autores de [1] recomendam que sejam usadas células de isolamento no interior do bloco
alvo de Power Gating (origem do sinal) de forma a facilitar a reutilização de IP ao nível SoC.
2.5 - Metodologia para implementação de Power Gating com
suporte de ferramentas Synopsys
Em [2] é descrita uma metodologia para implementação de Power Gating utilizando
ferrmentas da Synopsys. Esta metodologia, que vai desde o RTL até GDSII (Graphic Database
System II), é representada na figura 2.11.
Na primeira etapa é utilizada a ferremanta Synopsys VCS, para verificar e validar a
funcionalidade ao nível RTL, verificando os sinais de controlo, os registos de retenção e as
células de isolamento.
Estado da Arte 19
Na segunda etapa é efetuada a síntese da descrição RTL, utilizando o Synopsys Design
Compiler. Nesta fase, são definidos e passados à aplicação os domínios de alimentação do
sistema. Além da síntese lógica normal, elementos como registos de retenção e células de
isolamento são mapeados em células presentas na biblioteca.
Na terceira etapa é efetuada a síntese física, recorrendo ao Synopys IC Compiler.
Inicialmente são criadas as diferentes Power Islands e, de seguida, colocados os Sleep
Transistors. De seguida as redes de alimentação (VDD e GND) são colocadas e analisadas.
A próxima etapa é a otimização física. Nesta etapa, em que é novamente utilizado o IC
Compiler, são conectados os sinais de controlo, sintetizadas as redes que necessitem de estar
sempre alimentadas, sintetizada a clock tree e conectados os pinos secundários das redes que
estão sempre ligadas às respetivas linhas de alimentação.
Na última etapa é analisado o desempenho da implementação de Power Gating, utilizando a
ferramenta Synopsys PrimeTime-PX. É, ainda, analisada a queda de tensão provocada pelos
ST, a corrente instantânea gerada na reativação (In-Rush-Current) e os tempos de reativação
(Wake-Up Time), utilizando o Synopsys PrimeRail. Ao longo desta etapa são, também,
extraídos os elementos parasitas.
Uma metodologia semelhante será utilizada nesta dissertação, bem como a maior parte das
ferramentas.
Figura 2.11- Metodologia de implementação utilizando ferramentas Synopsys. Fonte: [2]
Capítulo 3
Proposta de Trabalho
Neste capítulo é apresentada a metodologia de trabalho que irá ser seguida ao longo do
desenvolvimento desta Dissertação. Com base nessa metodologia é elaborado um plano de
trabalho baseado num mapa de Gantt. Este plano de trabalho irá ser atualizado com o
desenvolver do projeto.
3.1 - Metodologia
Como referido na secção 1.3 o objetivo desta dissertação é reduzir o consumo de
potência numa interface de alta velocidade, sem degradação do seu desempenho. Plataforma
essa, propriedade da Synopsys Portugal.
Neste sentido, o trabalho será desenvolvido no escritório da Synopys Portugal, e iniciarse-á com a familiarização com as ferramentas Synopsys necessárias à execução do projeto.
De seguida, é necessário conhecer a interface em causa, pelo que será feito o estudo da
mesma e levantamento de dados já existentes, no que diz respeito à sua funcionalidade e
consumo de potência.
Finalizada esta fase, irá ser iniciada a implementação do método Power Gating, primeiro
ao nível do RTL e, de seguida, ao nível físico.
Feita a implementação, os resultados obtidos serão comparados com os dados já
existentes de forma a determinar se o objetivo foi cumprido.
A última etapa será documentar o trabalho efetuado e redigir a dissertação.
Proposta de Trabalho 21
3.2 - Ferramentas de trabalho
Está prevista a utilização das seguintes ferramentas da Synopsys:
Desing Compiler
É uma ferramenta de síntese lógica. Síntese lógica é uma tarefa na qual descrições RTL de
alto nível, escritas em HDL (Hardware Description Languages) são convertidas em netlists que
contêm as portas lógicas constituintes do circuito e suas interligações. A síntese é elaborada
a partir da descrição RTL, constraints e portas lógicas da biblioteca respeitante à tecnologia
alvo.
Power Compiler
É uma ferramenta de síntese que permite fazer otimizações do consumo de energia, tanto ao
nível RTL como ao nível das portas lógicas e analisar do consumo de potência apenas ao nível
das portas lógicas.
Com esta ferramenta é possível aplicar várias técnicas de baixo consumo, como é o caso de
Power Gating.
IC Compiler
É uma ferramenta de implementação física. Dispões de capacidades de place-and-route, com
suporte para projetos de baixa potência. Trata-se de, a partir, da netlist gerada na fase de
sitense lógica, gerar uma netlist em que, além das células que constituem o circuito, é
também indicado o seu posicionamento e interligações. A primeira fase (place) envolve
decidir onde colocar as células que constituem o bloco no espaço disponível. A segunda fase
(route) é responsável por estabelecer as ligações entre as células de acordo com as regras e
limitações existentes.
Star- RCXT
Ferramenta para extração de capacidades parasitas. Trata-se de obter um modelo RC do
circuito, para que as simulações representem o funcionamento real de um circuito digital. A
utilização desta ferramenta permite criar ficheiros SPEF (Standard Parasitic Exchange
Format) e SBPF (Synopsys Binary Parasitic Format) que contêm informação relativa aos
elementos parasíticos.
22 Proposta de Trabalho
Prime Time
Ferramenta que permite efetuar análises temporais estáticas ao nível das portas lógicas. O
objetico do metódo STA (Static Timing Analysis) é verificar se os requisitos temporais do
circuito estão a ser cumpridos. É verificado o cumprimento dos tempos de setup e hold, assim
como de fenómenos como clock skew e caminhos lentos que não permitam atingir a
frequência de funcionamento pretendida.
Prime Time PX
É uma extensão do Prime Time que permite analisar o consumo de potência dinâmica e
estática de um circuito. Permite uma análise em alto nível.
Prime Rail
Ferramenta que permite verificar a rede de alimentação, analisando fenómenos de
eletromigração e IR Drop. Em projetos low-power é muito útil pois permite analisar a
corrente instantânea gerada na reativação dos blocos (In-Rush-Current) e os tempos de
reativação (Wake-Up-Time), otimizando a sequência de reativação dos Sleep Transistors.
Incorpora ainda uma funcionalidade “what-if” que permite testar compromissos entre ganhos
no consumo de potência estática e os requisitos relacionados com a queda de tensão nos
Sleep Transistors.
Hercules DRC and LVS
Ferramenta para verificação física. Permite efetuar verificações DRC (Design Rule Check) e
LVS (Layout Versus Schematic). DRC permite verificar que a implementação física do circuito
cumpre certas regras específicas para a tecnologia em uso (design rules) que especificam
restrições geométricas e de conectividade entre elementos, que garantem que o circuito irá
funcionar corretamente. LVS permite verificar se o layout projetado está de acordo com o
esquemático desenhado inicialmente, ou seja, se representa o circuito desejado.
3.3 - Plano de trabalho
As etapas identificadas até ao momento e suas respetivas durações são:
1. Aprendizagem das ferramentas a usar durante a execução do projeto (4 semanas);
2. Levantamento e análise dos dados já existentes para a interface (2 semanas);
3. Análise e implementação do método de Power Gating no RTL do bloco (3 semanas);
Proposta de Trabalho 23
4. Implementação física do bloco (6 semanas);
5. Análise e comparação de resultados (2 semanas);
6. Redação da dissertação (4 semanas).
O Diagrama de Gantt associado ao plano de trabalho pode ser consultado na figura 3.1.
Proposta de Trabalho 24
Figura 3.1 - Planemanento: Diagrama de Gantt
25 Proposta de trabalho
3.4 - Resultados Esperados
No final desta dissertação é esperada a diminuição do consumo de potência da interface em
questão sem a alteração da sua funcionalidade. Será conhecido o impacto que a
implementação de Power Gating terá em aspetos como a área e a performance.
Referências 26
Referências
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Keating, M.F., David Low Power Methodology Manual - For a System-on-Chip Design.
2007: Springer. 300.
Wang, E. Synopsys Power-gating Design Methodology based on SMIC 90nm Process.
2008.
Ping, H., et al. A Brief Survey on Power Gating Design. in 2010 10th IEEE
International Conference on Solid-State and Integrated Circuit Technology (ICSICT),
1-4 Nov. 2010. 2010. Piscataway, NJ, USA: IEEE.
WESTE, N.H.E.H., DAVID, CMOS VLSI Design - A circuits and Systems Perspective, 4th
edition. 2011: PEARSON.
Wikipedia. HDMI. [cited 2012 8/02]; Available from:
http://en.wikipedia.org/wiki/HDMI.
Dal, D. and N. Mansouri, Power optimization with power islands synthesis. IEEE
Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2009.
28(7): p. 1025-1037.
Chao-Yang, C., et al. A fast wake-up power gating technique with inducing a
balanced rush current. in 2012 IEEE International Symposium on Circuits and Systems
- ISCAS 2012, 20-23 May 2012. 2012. Piscataway, NJ, USA: IEEE.
Ku, H., L. Rong, and W. Yu. A power gating scheme for ground bounce reduction
during mode transition. in 25th International Conference on Computer Design, ICCD
2007, 7-10 Oct. 2007. 2007. Piscataway, NJ, USA: IEEE.
Kawasaki, K.i., et al. A sub-s wake-up time power gating technique with bypass
power line for rush current support. in 2008 IEEE Symposium on VLSI Circuits, 18-20
June 2008. 2008. Piscataway, NJ, USA: IEEE.
Bhatnagar, H., Advanced ASIC Chip Synthesis: Using Synopsys Design Compiler and
PrimeTime. 1999, Dordrecht, Netherlands: Kluwer Academic Publishers.
Brunvand, E., Digital VLSI Chip Design with Cadence and Synopsys CAD Tools. 2010:
Pearson.
Butzen, P.F.R., Renato Perez, Leakage Current in Sub-Micrometer CMOS Gates.
Universidade Federal do Rio Grande do Sul.
Hyung-Ock, K. and S. Youngsoo, Semicustom design methodology of power gated
circuits for low leakage applications. IEEE Transactions on Circuits and Systems--II:
Analog and Digital Signal Processing, 2007. 54(6): p. 512-16.
Jotwani, R., et al., An x86-64 Core in 32 nm SOI CMOS. IEEE Journal of Solid-State
Circuits, 2011. 46(1): p. 162-72.
Kyung Ki, K., N. Haiqing, and C. Ken. Power gating for ultra-low voltage nanometer
ICs. in 2010 IEEE International Symposium on Circuits and Systems. ISCAS 2010, 30
May-2 June 2010. 2010. Piscataway, NJ, USA: IEEE.
Nebel, W.T., Jurgen, RT-Level Power-Gating Models optimizing Dynamic LeakageManagement. 2012.
Rabaey, J.M., Digital Integrated Circuits: A Design Perspective, 1996, Prentice
Hall,Inc: Upper Sadle Rive. p. 700.
Sedra, A.S.S., Kenneth c., Microelectronic Circuits, 5th Edition. 2004, Oxford: Oxford
University Press.
Referências 27
19.
20.
[1-20]
Suji, C.C.G., S. Maragatharaj, and R. Hemima. Performance analysis of power gating
designs in low power VLSI circuits. in 2011 - International Conference on Signal
Processing, Communication, Computing and Networking Technologies, ICSCCN-2011,
July 21, 2011 - July 22, 2011. 2011. Thuckalay, India: IEEE Computer Society.
Zhigang, H., et al. Microarchitectural techniques for power gating of execution
units. in Proceedings of the 2004 International Symposium on Low Power Electronics
and Design, 9-11 Aug. 2004. 2004. New York, NY, USA: ACM.
Download