dynamic voltage scaling - ulisboa · 3.3.3 diagrama de estados ... ism internal supply module...

70
Dynamic Voltage Scaling (Optimização da Tensão de Alimentação) Pedro Luís Neves Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores Júri Presidente: Doutor Nuno Cavaco Gomes Horta Orientador: Doutor Marcelino Bicho dos Santos Vogais: Doutor Jorge Filipe Leal Costa Semião Outubro de 2012

Upload: others

Post on 21-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Dynamic Voltage Scaling

(Optimização da Tensão de Alimentação)

Pedro Luís Neves

Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores

Júri Presidente: Doutor Nuno Cavaco Gomes Horta Orientador: Doutor Marcelino Bicho dos Santos Vogais: Doutor Jorge Filipe Leal Costa Semião

Outubro de 2012

Page 2: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação
Page 3: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

“The only limits we have are the limits we believe.”

(Os únicos limites que temos são aqueles em que acreditamos.)

Dr. Wayne W. Dyer

Page 4: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação
Page 5: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

i

Agradecimentos

Estudar no IST tem sido uma experiência muito gratificante.

Para além do meu reconhecimento a todos os que deforma directa ou indirecta contribuíram

para o meu percurso académico e para a minha felicidade, gostaria de agradecer em particular:

Aos meus pais por toda a dedicação e amor que sempre demonstraram, mas também todos os

sacrifícios realizados para que eu pudesse concluir os meus estudos.

Aos restantes elementos da minha família, irmã, padrinhos, tios, primos e avós, os bons

momentos proporcionados, com um especial obrigado ao tio Henrique que de um modo muito próprio

deu o seu contributo para a minha formação pessoal.

Ao grande amigo Nuno Órfão por estar sempre presente nos bons e maus momentos.

Aos companheiros e amigos de faculdade agradeço o companheirismo e entreajuda.

Aos colegas de laboratório Tiago Moita e Ruben Cabral, os ensinamentos, a ajuda, a amizade e

a boa disposição demonstradas durante o tempo em que trabalhamos juntos.

Ao professor Jorge Semião e ao Bruno Jacinto, a disponibilidade para discussões sobre os

assuntos abordados neste trabalho.

Ao professor Marcelino Bicho dos Santos, a oportunidade e as condições de excelência que me

proporcionou para a realização deste trabalho.

A toda a equipa da SILICONGATE LDA pelo acolhimento excepcional e em especial ao

Floriberto Lima pelos bons ensinamentos e prontidão para fornecer as melhores condições para a

realização deste trabalhar.

Por fim um pedido de desculpa às pessoas a quem prestei menos atenção devido às obrigações

académicas, em especial ao afilhado João Pedro pela impossibilidade de aproveitar o pouco tempo

disponível para estar com ele.

Page 6: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação
Page 7: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

iii

Resumo

Nesta dissertação é apresentada uma nova metodologia que permite melhorar a eficiência dos

circuitos digitais em microelectrónica, sem comprometer o desempenho e fiabilidade do sistema.

Actualmente a estratégia da indústria reside em fixar a tensão de alimentação num patamar

suficientemente alto que garanta o funcionamento do circuito para quaisquer variações no processo

de fabrico, temperatura e envelhecimento (PVTA – Process+Voltage+Temperature+Aging). No

entanto esta abordagem traduz-se num elevado dispêndio de energia uma vez que por norma os

circuitos não funcionam nas piores condições. Contudo, contornar a abordagem actual não é um

problema trivial. É necessário que o sistema consiga adaptar-se às diferentes condições sem

comprometer o desempenho e a fiabilidade. Com o objectivo de obter a eficiência máxima, foi

desenvolvido um sensor que permite monitorizar a degradação no desempenho dos circuitos por

forma a ajustar a tensão de alimentação às suas necessidades. Para comprovar o seu

funcionamento foi criado um demonstrador em FPGA contendo um multiplicador com autoteste (BIST

– Built-In Self-Test), onde foi aplicado o sensor desenvolvido a fim de demonstrar a sua operação

sem erros e com um consumo de energia optimizado.

Palavras Chave

Sensor PVTA, FPGA, Prototipagem, Gestão de Energia em Microelectrónica

Page 8: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação
Page 9: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

v

Abstract

The present work reports a new methodology to improve the power efficiency of microelectronics

digital cores, without compromising their performance or reliability. Nowadays, the industry most

common strategy to support variations of the circuit fabrication Process, power supply Voltage,

Temperature and Aging (PVTA) is based on imposing a custom voltage high enough to ensure the

correct operation of the circuit in a worst case scenario. However, this approach leads to a

considerable waste of energy since most of the time circuits do not operate under worst case

conditions.

Nevertheless, the solution for this problem is not trivial since it is mandatory to develop a

methodology were the system is able to adapt itself to different conditions but without compromising

its performance or reliability.

In this context, a new methodology is here proposed that aims to guarantee maximum efficiency

through the use of a sensor that monitors the performance degradation of circuits in order to adjust its

power supply voltage, guaranteeing the best power consumption but without compromising its

performance or reliability. To demonstrate the sensor operation, a prototype circuit was developed

and implemented in a FPGA. The developed prototype includes a multiplier, and corresponding self-

-test (BIST), to which the developed sensor was applied in order to ensure its operation without

errors, guaranteeing at the same time minimal power consumption.

Keywords

PVTA Sensor, FPGA, Prototyping, Power Management for Microelectronics

Page 10: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação
Page 11: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

vii

Conteúdo Agradecimentos ....................................................................................................................................... i

Resumo .................................................................................................................................................. iii

Abstract ................................................................................................................................................... v

Conteúdo ............................................................................................................................................... vii

Lista de Figuras ...................................................................................................................................... ix

Lista de Tabelas ..................................................................................................................................... xi

Lista de Acrónimos ................................................................................................................................ xiii

Introdução ....................................................................................................................................... 1

1.1 Motivação ................................................................................................................................ 2

1.2 Principais Contribuições .......................................................................................................... 4

1.3 Objectivos ................................................................................................................................ 5

1.4 Organização da Dissertação ................................................................................................... 5

Análise e Previsão do Envelhecimento ........................................................................................... 7

2.1 Envelhecimento e Efeito NBTI ................................................................................................ 8

2.2 Ring Oscillator Sensor (IBM®) ................................................................................................. 9

2.3 Sensor de envelhecimento da Sun Microsystems® .............................................................. 10

Sensor Global................................................................................................................................ 11

3.1 Introdução ............................................................................................................................. 12

3.2 Sensor PVTA......................................................................................................................... 13

3.2.1 Modo de Envelhecimento .................................................................................................. 14

3.2.2 Modo de Teste .................................................................................................................. 15

3.2.3 Detecção ........................................................................................................................... 15

3.2.4 Implementação Prática ..................................................................................................... 17

3.3 Temporizador ........................................................................................................................ 20

3.3.1 Divisor de Relógio ............................................................................................................. 20

3.3.2 Máquina de Estados ......................................................................................................... 22

3.3.3 Diagrama de Estados ........................................................................................................ 24

Demonstrador FPGA ..................................................................................................................... 27

4.1 Introdução ............................................................................................................................. 28

4.2 Arquitectura ........................................................................................................................... 28

Page 12: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Conteúdo

viii

4.3 Metodologia de Optimização ................................................................................................. 29

4.3.1 Modificações Efectuadas .................................................................................................. 30

4.3.2 Conversor DCDC .............................................................................................................. 30

4.3.3 Comunicação SPI.............................................................................................................. 31

4.3.4 Implementação do Sensor Global ..................................................................................... 33

4.3.5 Multiplicador Pipeline ........................................................................................................ 33

4.4 Bloco de Controlo e Optimização.......................................................................................... 34

4.4.1 Caminho de Dados............................................................................................................ 35

4.4.2 Comportamento................................................................................................................. 36

4.4.3 Multiplexer tri-state (cut_speed) ........................................................................................ 37

Resultados Experimentais ............................................................................................................ 39

5.1 Características do Demonstrador ......................................................................................... 40

5.2 Simulações Post-Route ......................................................................................................... 41

5.3 Teste em Temperatura .......................................................................................................... 43

Conclusões e Trabalho Futuro ...................................................................................................... 47

6.1 Conclusões ............................................................................................................................ 48

6.2 Trabalho Futuro ..................................................................................................................... 48

Bibliografia............................................................................................................................................. 49

Anexos .......................................................................................................................................... 51

Page 13: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

ix

Lista de Figuras

Figura 1.1 – Distribuição da variação do desempenho típica no processo de fabrico de

semicondutores ....................................................................................................................................... 3

Figura 1.2 – Metodologia actualmente utilizada nos microprocessadores para ajuste de tensão ......... 3

Figura 2.1 – Difusão do Hidrogénio em direcção à poly durante a fase de stress ................................. 8

Figura 2.2 – Degradação no Vth de um transístor PMOS após 50% do tempo na fase de stress e

recuperação ............................................................................................................................................ 9

Figura 2.3 – Metodologia do sensor PVTA da IBM® ............................................................................. 10

Figura 2.4 – Sensor de Envelhecimento da Sun Microsystems® ......................................................... 10

Figura 3.1 – Diagrama simplificado do Sensor Global ......................................................................... 12

Figura 3.2 – Esquema de uma porta lógica NOR utilizada na cadeia de atraso .................................. 13

Figura 3.3 – Estado dos transístores das portas NOR no Modo de Envelhecimento .......................... 14

Figura 3.4 – Estado dos transístores das portas NOR no Modo de Teste ........................................... 15

Figura 3.5 – Esquema detalhado do Sensor PVTA .............................................................................. 16

Figura 3.6 – Diagrama temporal comportamental dos principais sinais do Sensor Global .................. 16

Figura 3.7 – Atraso da porta NOR para diferentes tensões de alimentação ........................................ 18

Figura 3.8 - Atraso da porta NOR para diferentes temperaturas.......................................................... 18

Figura 3.9 – Exemplo de optimização no Sensor PVTA ....................................................................... 19

Figura 3.10 – Princípio de funcionamento do contador assíncrono ..................................................... 20

Figura 3.11 – Esquema lógico e diagrama temporal de um Ripple Counter crescente de 4 bits ........ 21

Figura 3.12 – Divisor de relógio implementado .................................................................................... 22

Figura 3.13 – Módulo assíncrono da máquina de estados ................................................................... 23

Figura 3.14 – Módulo síncrono da máquina de estados ....................................................................... 23

Figura 3.15 – Diagrama de estados do Temporizador ......................................................................... 24

Figura 3.16 – Diagrama temporal comportamental dos sinais da máquina de estados ...................... 25

Figura 4.1 – Arquitectura de funcionamento do demonstrador ............................................................ 28

Figura 4.2 – Fluxograma da estratégia Global de Controlo .................................................................. 29

Figura 4.3 – Verso da placa de circuito impresso da FPGA indicando o LDO a remover ................... 30

Figura 4.4 – Conversor DCDC programável por SPI ............................................................................ 31

Page 14: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Lista de Figuras

x

Figura 4.5 – Vista de topo da placa de circuito impresso da FPGA indicando o LDO dos 3,3V .......... 31

Figura 4.6 – Exemplo da implementação SPI....................................................................................... 32

Figura 4.7 – Diagrama de estados do bloco de Controlo e Optimização ............................................. 34

Figura 4.8 – Caminho de dados necessário para o funcionamento do controlo .................................. 35

Figura 4.9 – Multiplexer tri-state para geração do sinal cut_speed ...................................................... 37

Figura 5.1 – Fotografia do protótipo final .............................................................................................. 40

Figura 5.2 – Diagrama temporal do bloco Temporizador ..................................................................... 41

Figura 5.3 – Diagrama temporal do bloco SPI ...................................................................................... 41

Figura 5.4 – Diagrama temporal do Sensor PVTA ............................................................................... 42

Figura 5.5 – Gráfico da variação da tensão de alimentação do núcleo digital da FPGA com a

temperatura ........................................................................................................................................... 44

Figura 5.6 – Gráfico da variação da corrente consumida pelo núcleo digital da FPGA com a

temperatura ........................................................................................................................................... 45

Figura 5.7 – Gráfico da variação da Potência consumida pelo núcleo digital da FPGA com a

temperatura ........................................................................................................................................... 45

Figura 5.8 – Poupança obtida com a utilização do Sensor Global para diferentes temperaturas ....... 46

Figura 7.1 – Esquema eléctrico dos dispositivos de alimentação da placa FGPA utilizada ................ 52

Page 15: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

xi

Lista de Tabelas

Tabela 3.1 – Dimensão dos transístores PMOS e NMOS utilizados para simular o atraso da porta

NOR ...................................................................................................................................................... 17

Tabela 4.1 – Tabela com as tensões de saída do DCDC para cada palavra de configuração ............ 32

Tabela 5.1 – Atributos da FPGA ........................................................................................................... 40

Tabela 5.2 – Medições em Temperatura .............................................................................................. 43

Page 16: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Lista de Tabelas

xii

Page 17: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

xiii

Lista de Acrónimos ASIC Application-specific integrated circuit (Circuito integrado de aplicação especifica)

BIST Built-in self-test (Autoteste embutido)

BTI Bias Temperature Instability (Instabilidade em temperatura e polarização)

CUT Circuit Under Test (Circuito em teste)

DVS Dynamic Voltage Scaling (Optimização da Tensão de Alimentação)

FPGA Field-programmable gate array (Arranjo de Portas Programável em Campo)

I2C Inter-Integrated Circuit (Circuito Inter-integrado - barramento série multi-mestre)

ISM Internal Supply Module (Modulo de fornecimento interno)

JTAG Joint Test Action Group (Grupo de Teste de Ação Conjunta)

LDO Low-dropout voltage regulator (regulador de tensão com baixa queda de tensão)

LUT Look-Up Table (Tabela de referêcia)

MISO Master Input, Slave Output (Entrada do Mestre, Saída do Escravo)

MOSI Master Output, Slave Input (Saída do Mestre, Entrada do Escravo)

NBTI Negative Bias Temperature Instability (Instabilidade em temperatura e polarização negativa)

Page 18: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Lista de Acrónimos

xiv

PBTI Positive Bias Temperature Instability (Instabilidade em temperatura e polarização positiva)

PMU Power Management Unit (Unidade de Gestão de Energia)

PVT Process, power supply Voltage and Temperature (Processo de fabrico, tensão de alimentação e temperatura)

PVTA Process, power supply Voltage, Temperature and Aging (Processo de fabrico, tensão de alimentação, temperatura e envelhecimento)

SoC System-on-Chip (sistema-em-um-chip)

SPI Serial Peripheral Interface (Interface periférica de comunicação série)

VHDL VHSIC Hardware Description Language (Linguagem de descrição de hardware VHSIC)

VHSIC Very High Speed Integrated Circuits (Circuito integrado de muito alta velocidade)

Page 19: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1

Introdução

Conteúdo

1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2 Principais Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Page 20: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1. Introdução

2

1.1 Motivação

Num mundo em que a mobilidade tem ganho cada vez mais importância, todo o tipo de

dispositivos portáteis tem sido criado para satisfazer as necessidades de comunicação e

entretenimento. No entanto, as baterias actualmente utilizadas por esses dispositivos têm sido o elo

mais fraco na conjugação entre a autonomia e o volume ocupado pelas mesmas. Por outro lado, as

preocupações ambientais têm instigado um maior cuidado com a eficiência dos equipamentos

electrónicos, com o objectivo de reduzir os gastos com a energia.

Em tecnologia CMOS, grande parte da energia é consumida no período de comutação dos

transístores. A expressão que traduz a potência dissipada por essas comutações é dada pela

expressão (1.1):

𝑃𝑠𝑤 = 𝐶𝑓𝑉2 (1.1)

onde 𝐶 representa a capacidade média dos nós que mudam de estado, 𝑓 é a frequência de relógio

do circuito e 𝑉 é a tensão com que é alimentado o núcleo digital.

Esta expressão não é exacta, na medida em que a actividade média do circuito não é constante

durante a sua operação, mas deixa antever uma dependência quadrática do consumo relativamente

à tensão de alimentação. Para além das perdas de comutação existe também uma corrente de fuga

estática nos transístores (subthreshold leakage) que é agravada com a miniaturização dos circuitos.

Esta corrente de fuga começa a ser preocupante para tecnologias abaixo dos 90nm e o acréscimo de

potência de perdas é dado pela expressão (1.2):

𝑃𝑙𝑒𝑎𝑘 = 𝑉𝐼𝑙𝑒𝑎𝑘 (1.2)

onde 𝑉 é a tensão de alimentação e 𝐼𝑙𝑒𝑎𝑘 é o somatório da corrente de fuga nos transístores.

Outra causa para a reduzida optimização no consumo dos semicondutores são as variações no

processo de fabrico que, devido à sua natureza incerta, obrigam a que a tensão de alimentação

atribuída a um dado microprocessador seja suficientemente alta para permitir a correcta operação de

todos os chips fabricados. Na Figura 1.1 é apresentado um exemplo típico da relação entre a

quantidade de chips com desempenhos acima e abaixo da média comparativamente com a tensão

necessária ao seu correcto funcionamento.

Page 21: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1. Introdução

3

Figura 1.1 – Distribuição da variação do desempenho típica no processo de fabrico de semicondutores

Estas condições têm dificultado a tarefa de encontrar mecanismos que consigam optimizar o

consumo dos dispositivos durante o seu tempo de utilização. Não só as incertezas no processo de

fabrico, mas também a degradação do seu desempenho devida ao envelhecimento dos transístores,

têm sido as principais barreiras na hora de optimizar a tensão de alimentação dos circuitos.

Actualmente, a estratégia mais utilizada em microprocessadores passa por tabelar a tensão de

alimentação para diferentes frequências de trabalho, reduzindo o consumo quando existe menor

actividade computacional (Figura 1.2). No entanto, quando o processador passa à plena carga, a

tensão de alimentação e a frequência passam para o valor máximo, deixando de haver qualquer

benefício para o consumo. Exemplos desta abordagem são as tecnologias SpeedStep® da Intel

® [1] e

PowerNow!™

da AMD [2].

Figura 1.2 – Metodologia actualmente utilizada nos microprocessadores para ajuste de tensão

Page 22: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1. Introdução

4

Apesar de não disponível comercialmente, existe ainda o sistema Razor da ARM® [3] que

permite ajustar a tensão de alimentação com base na quantidade de falhas ocorridas durante a

execução de tarefas. A correcta operação do circuito é assegurada por um mecanismo de

autocorrecção de erros baseado num modelo de amostragem dupla (uma com relógio rápido e outra

com relógio lento). Esta solução permite reduções elevadas no consumo, mas necessita que todos

os caminhos críticos sejam refeitos de modo a integrar os dispositivos de detecção e resolução de

falhas. No entanto, como esta abordagem interfere no normal fluxo de projecto, a sua adopção por

parte da indústria torna-se difícil.

Depois desta análise é possível concluir que se podem obter grandes ganhos de energia caso

sejam reduzidas as margens de tensão atribuídas para compensar incertezas devido ao processo de

fabrico, temperatura de operação e envelhecimento.

1.2 Principais Contribuições

O sensor aqui apresentado surge na sequência de estudos sobre o impacto do envelhecimento

nos transístores que mostram um aumento do tempo de propagação dos sinais digitais com o

decorrer do tempo. O fenómeno de envelhecimento afecta principalmente os transístores tipo P e o

seu impacto nos circuitos digitais foi analisado em [4].

Com o objectivo de prever antecipadamente possíveis falhas nos circuitos digitais causadas por

variações no processo de fabrico, temperatura e envelhecimento (PVTA), foi desenvolvido um sensor

local [5] que verifica junto dos principais caminhos críticos a eminência de uma falha ocorrer.

Mais tarde foi desenvolvido um segundo sensor [6] para avalizar o desempenho global do

circuito em complemento com o sensor local.

A principal contribuição deste trabalho consiste no desenvolvimento de um demonstrador em

FPGA que coloca em prática uma parte do princípio proposto em [6]. Recorrendo a um circuito com

autoteste, é validada a solução proposta e são quantificados os ganhos obtidos no consumo

energético quando a tensão de alimentação é optimizada de forma permanente.

Page 23: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1. Introdução

5

1.3 Objectivos

Esta dissertação tem como objectivo validar um processo que permite optimizar, de forma

independente (sem interferir no fluxo de projecto) e em tempo real, a tensão de alimentação nos

circuitos digitais em microelectrónica. Para efectuar esta validação foi criado um protótipo em FPGA

que permitiu obter resultados experimentais. O sistema sensor e respectivo controlo não provocam

um acréscimo de recursos físicos nem de consumo significativos quando comparado com o restante

circuito.

Para emular as condições reais de funcionamento foi integrado um multiplicador com autoteste

que indica qualquer falha que ocorra se o processamento for demasiado lento. Habilitando e

desabilitando este multiplicador podem ainda efectuar-se testes à fiabilidade do sensor durante

transitórios de carga com diferentes temperaturas.

1.4 Organização da Dissertação

Capitulo 2: Análise e Previsão do Envelhecimento – Neste capítulo é realizada uma

análise ao efeito do envelhecimento nos transístores tipo P (NBTI) bem como apresentadas

algumas das actuais estratégias de optimização de energia.

Capitulo 3: Sensor Global – Neste capítulo é apresentado o princípio de funcionamento do

sensor PVTA utilizado na FPGA.

Capitulo 4: Demonstrador FPGA – Neste capítulo são apresentados os mecanismos

necessários à realização do protótipo em FPGA: algoritmo de controlo global, modificações

físicas e dispositivos utilizados.

Capitulo 5: Resultados Experimentais – Neste capítulo são apresentados os resultados

obtidos por simulação em Xilinx® bem como os resultados práticos do funcionamento do

sensor para diferentes temperaturas.

Capitulo 6: Conclusões e Trabalho Futuro – Neste capítulo são discutidos os resultados

face aos objectivos iniciais e apontados os objectivos futuros.

Page 24: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

1. Introdução

6

Page 25: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

7

Análise e Previsão do

Envelhecimento Conteúdo

2.1 Envelhecimento e Efeito NBTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Ring Oscillator Sensor (IBM®) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Sensor de envelhecimento da Sun Microsystems® . . . . . . . . . . . . . 9

Page 26: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

2. Análise e Previsão do Envelhecimento

8

2.1 Envelhecimento e Efeito NBTI

Uma das consequências da operação a longo prazo dos circuitos digitais é a degradação no

desempenho das portas lógicas devido ao envelhecimento. Esta diminuição do desempenho é

provocada pelo aumento da tensão de threshold (Vth) nos transístores, que leva à redução na

corrente de dreno. O fenómeno de envelhecimento pode ocorrer tanto em transístores tipo N (PBTI)

como em tipo P (NBTI), no entanto os seus efeitos têm maior relevância nos transístores tipo P [4].

Neste trabalho não será considerado o PBTI, mas para tecnologias inferiores a 40nm o seu efeito já

deve ser considerado [6]. Frequentemente chegam a ocorrer erros no processamento digital devido a

incumprimentos temporais causados pelo envelhecimento a longo prazo, sendo um dos principais

factores que limitam a vida útil dos dispositivos.

O fenómeno do NBTI surge devido a processos electroquímicos no seio dos transístores com o

dióxido de silício puro (SiO2) [7]. Estas reacções ocorrem durante a permanência do transístor no

estado de condução (fase de stress com VGS = –Vdd), onde devido ao campo eléctrico e às altas

temperaturas são quebradas as ligações químicas entre o silício (Si) e o hidrogénio (H) na zona de

junção do silício com o oxido. O hidrogénio libertado acaba por se deslocar em direcção à porta de

silício policristalino (poly), chegando por vezes a recombinar-se em H2 (Figura 2.1). Por outro lado, o

silício quebrado junto ao óxido (Si-) actua como uma armadilha para os portadores do canal,

reduzindo a mobilidade e aumentando a tensão de limiar (threshold voltage, Vth) do transístor.

Figura 2.1 – Difusão do Hidrogénio em direcção à poly durante a fase de stress

Por outro lado, na passagem do transístor ao estado de corte (fase de recuperação com VGS =

0V), o processo é invertido fazendo com que o hidrogénio se recombine de novo com o silício,

fazendo diminuir a variação na tensão de limiar do transístor. No entanto, nem todas as ligações

quebradas são restabelecidas. Isto provoca uma degradação acumulada do Vth no transístor, levando

à progressiva degradação do desempenho das portas lógicas. A longo prazo, o aumento do Vth fica

dependente da taxa de ruptura das ligações Si-H e de recombinações com Si-. Estas, por sua vez

estão dependentes da probabilidade do transístor estar na fase de stress ou recuperação e de outros

parâmetros como a temperatura [8].

Page 27: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

2. Análise e Previsão do Envelhecimento

9

Na Figura 2.2 é apresentado um exemplo da variação de Vth na situação de igual período de

tempo na fase de stress e na fase de recuperação. Pode ver-se que para tentar reaver o Vth inicial é

necessário um intervalo de tempo muito superior ao que foi necessário para a degradação ocorrer.

Figura 2.2 – Degradação no Vth de um transístor PMOS após 50% do tempo na fase de stress e recuperação

Modelos de previsão, bem como resultados experimentais apontam para que o atraso causado

pelo NBTI seja independente da frequência, para frequências superiores a 100Hz [9] [10]. O maior

problema surge quando transístores num caminho quase crítico permanecem demasiado tempo na

fase de stress, podendo nestas circunstâncias, o envelhecimento transformar este caminho num

caminho crítico.

2.2 Ring Oscillator Sensor (IBM®)

A técnica utilizada pela IBM

® em [11] tira partido do comportamento de um ou mais osciladores

em anel (ring oscillators) para obter uma frequência de relógio proporcional a qualquer variação

PVTA (Figura 2.3). Em seguida o sinal de relógio obtido passa por um divisor de frequência e entra

num contador. O número de oscilações registadas por intervalo de tempo é analisado periodicamente

por um bloco de controlo que intervirá no caso de falha iminente. Esta detecção de falhas pode ser

obtida de duas formas: (1) número de oscilações registadas ser inferior ao de calibração; (2) uma

discrepância significativa entre leituras.

Page 28: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

2. Análise e Previsão do Envelhecimento

10

Figura 2.3 – Metodologia do sensor PVTA da IBM®

2.3 Sensor de envelhecimento da Sun Microsystems®

O sistema desenvolvido pela antiga Sun Microsystems® [12], adquirida pela Oracle

Corporation®, baseia-se na polarização de diferentes tensões a transístores tipo N e tipo P que irão

alimentar um regulador de tensão que por sua vez liga a um oscilador controlado por tensão (VCO).

Em seguida o circuito contador averigua o número de oscilações realizadas por intervalo de tempo e

compara-as com uma referência. Devido ao envelhecimento dos transístores colocados no sensor, a

corrente fornecida ao regulador de tensão do VCO é menor e por conseguinte o número de

oscilações contabilizadas diminui. O diagrama de funcionamento do sensor é apresentado na Figura

2.4, na qual se pode ver a existência de um multiplexer para escolher qual o sensor a avaliar, bem

como de uma memória que guarda informações de calibração. Após o varrimento de todos os

sensores, a diferença verificada entre a contagem de calibração e a obtida na realidade é enviada a

um sistema de controlo.

Figura 2.4 – Sensor de Envelhecimento da Sun Microsystems

®

Page 29: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

11

Sensor Global

Conteúdo

3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Sensor PVTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Page 30: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

12

3.1 Introdução

Nesta secção é apresentada a arquitectura de um sensor para monitorização da degradação do

desempenho dos circuitos digitais resultante do envelhecimento a longo prazo. Esta arquitectura vem

no seguimento de uma metodologia recentemente desenvolvida pelo grupo de investigação do

INESC-ID no âmbito do qual este trabalho foi desenvolvido e que foi apresentada em [6].

A introdução desta nova topologia de sensor surgiu da necessidade de contornar dois grandes

inconvenientes associados à utilização de sensores locais:

A necessidade de suspender o funcionamento do circuito em monitorização no momento

em que é realizada a medição do estado de degradação. Esta interrupção é tempo de

processamento desperdiçado e rapidamente se poderia chegar à situação em que o tempo

em processamento seria da mesma ordem de grandeza do tempo de monitorização.

A necessidade de substituir os flip-flops do caminho crítico por outros com a lógica de

detecção de falhas integrada, o que obriga ao projecto e caracterização de células

adicionais para cada biblioteca digital e interfere com o normal fluxo de projecto.

Por outro lado, com a utilização do Sensor Global aqui apresentado, é possível avaliar em

tempo real a possibilidade de uma falha ocorrer, através da verificação periódica do desempenho

instantâneo do circuito em monitorização. Estas informações de desempenho são enviadas para um

dispositivo de Controlo Digital (apresentado no capítulo 4) que faz subir a tensão de alimentação

quando o atraso na propagação das portas lógicas do sensor aumenta acima de um limiar pré-

-definido, ou faz diminuir a tensão de alimentação se o desempenho estiver acima do necessário.

A implementação do Sensor Global é dividida em 2 blocos distintos (Figura 3.1). Um bloco de

controlo para gerar periodicamente os sinais necessários ao funcionamento do sensor e outro

contendo os dispositivos que actuam como sensores a variações PVTA.

Figura 3.1 – Diagrama simplificado do Sensor Global

Page 31: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

13

3.2 Sensor PVTA

Num circuito digital, ocorre uma falha quando um sinal que se propaga no caminho crítico não o

consegue percorrer num tempo inferior ao período de relógio. Sendo este o problema que se

pretende evitar, o funcionamento do sensor foi projectado para detectar esta situação. Deste modo, o

sensor mede o desempenho do circuito, emulando o atraso do caminho crítico, recorrendo a um

circuito composto por uma cadeia de atraso construída com portas NOR ligadas sequencialmente

(circuito réplica). O motivo pelo qual são utilizadas portas NOR deve-se ao facto de estas

envelhecerem mais rapidamente do que as restantes portas lógicas. Esta característica garante que

o tempo de propagação no sensor será sempre superior ao dos potenciais caminhos críticos que

possam surgir devido ao envelhecimento a longo prazo. Publicações anteriores mostram que pelo

facto do NBTI ser mais significativo nos transístores PMOS, a degradação do tempo de atraso é mais

relevante nas transições do ‘0’ para o ’1’ lógico e que o efeito cascata verificado nos transístores

PMOS das portas NOR contribui fortemente para o aumento do tempo de atraso da porta lógica com

o seu envelhecimento a longo prazo [13] [14].

No entanto, como foi referido anteriormente, a actividade lógica origina regeneração e para

garantir o pior cenário de envelhecimento no circuito réplica foi necessário impor dois modos de

funcionamento ao sensor. Assim, no intervalo que decorre entre as verificações de desempenho, o

sensor passa ao Modo de Envelhecimento (Aging Mode), e no momento da verificação, o sensor

passa ao Modo de Teste (Test Mode).

Na Figura 3.2 pode ver-se o esquema de ligações de uma das portas NOR presentes na cadeia

de atraso. O sinal aging é comum a todas as portas NOR e o seu valor lógico define qual o modo de

funcionamento em que o sensor se encontra. Por outro lado, o barramento test_data assegura a

ligação série entre as portas NOR da cadeia de atraso. De referir que na primeira porta NOR da

cadeia o sinal test_data(0) corresponde ao sinal edge, um impulso usado para avaliar o tempo de

propagação no sensor.

Figura 3.2 – Esquema de uma porta lógica NOR utilizada na cadeia de atraso

Page 32: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

14

3.2.1 Modo de Envelhecimento

A entrada do sensor em Modo de Envelhecimento ocorre quando o sinal aging é forçado a ‘1’

pelo bloco Temporizador. Durante este modo os sinais edge e clkgen permanecem inalterados no

valor lógico ‘0’. Na Figura 3.3 pode ver-se que esta configuração provoca o bloqueio de Vdd através

de P2 ao mesmo tempo que força gnd na saída por meio de N2. Deste modo, o sinal test_data

propagado a todos os transístores P1 e N1 é ‘0’, o que força os transístores P1 a envelhecer (fase de

stress).

Figura 3.3 – Estado dos transístores das portas NOR no Modo de Envelhecimento

Isto permite concluir que a degradação temporal por envelhecimento observada na cadeia de

atraso será apenas da responsabilidade dos transístores P1, uma vez que os transístores P2 estão

em modo de recuperação quase todo o tempo. Por este motivo, e para o correcto funcionamento do

sensor, é importante que a ordem de ligação das entradas das portas NOR seja respeitada, uma vez

que durante a fase de stress o fenómeno de envelhecimento só acontece nos transístores que estão

situados junto à tensão de alimentação.

Page 33: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

15

3.2.2 Modo de Teste

A mudança para o Modo de Teste ocorre quando o sinal aging transita para ‘0’. Esta alteração

coloca o transístor P2 em condução e o N2 ao corte, fazendo com que a saída fique dependente do

sinal test_data colocado na entrada. Na Figura 3.4 pode ver-se que a nova configuração das portas

NOR reflecte o comportamento lógico de um inversor, permitindo agora a propagação de qualquer

sinal que seja colocado no início da cadeia.

Figura 3.4 – Estado dos transístores das portas NOR no Modo de Teste

De referir que durante o período em que ocorre o teste, os transístores P1 passam algum do

tempo na fase de regeneração. No entanto, como o intervalo entre verificações consecutivas andará

sempre acima das centenas de ciclos de relógio, a duração do teste não deve impedir o sensor de

envelhecer mais do que o restante circuito.

3.2.3 Detecção

Uma vez activa a cadeia, é necessário implementar um mecanismo capaz de medir

quantitativamente o atraso provocado pelo circuito réplica. A abordagem utilizada baseia-se no

princípio sample-and-hold para registar o estado das portas NOR num dado instante do teste,

utilizando para o efeito flip-flops tipo D colocados à saída das portas NOR. Tendo em conta que

durante o teste as portas NOR têm o comportamento de inversores, pode obter-se uma leitura do tipo

código termómetro extraindo de forma intercalar as saídas ̅ ou dos flip-flops. A utilização deste

formato justifica-se com a sua fácil obtenção e pelo facto de permitir ao projectista usar diferentes

formas de manipular a informação do sensor com base no algoritmo de controlo.

Page 34: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

16

A Figura 3.5 mostra o esquema eléctrico final do Sensor PVTA. Face a versões anteriores, como

a proposta por J. Semião et al. [6], a versão proposta nesta dissertação apresenta algumas

alterações na forma como são registadas as saídas das portas NOR. Onde anteriormente existia

uma báscula (latch), um elemento de atraso e um detector de estabilidade (L+DE+SC), existe agora

apenas um flip-flop tipo D. Esta substituição visa tornar o sensor compatível com células digitais

normalizadas tendo em conta que a metodologia aqui apresentada não requer a utilização de

sensores locais.

Figura 3.5 – Esquema detalhado do Sensor PVTA

O modo de teste pode ainda ser divido em 3 submodos (Figura 3.6):

Inicialização – período de espera para permitir que a cadeia de portas NOR estabilize após

a transição para ‘0’ do sinal aging.

Propagação – intervalo de tempo em que o sinal edge é propagado na cadeia de atraso.

Captura – instante em que é efectuada a captura do estado das portas NOR pelos flip-flops.

Figura 3.6 – Diagrama temporal comportamental dos principais sinais do Sensor Global

Page 35: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

17

Os intervalos de tempo atribuídos a cada submodo são baseados na premissa de que após o

período correspondente a 1 ciclo de relógio toda a lógica num circuito digital deverá estar

estabilizada para não ocorrerem erros. Por esta razão a captura ocorre 1 ciclo de relógio após a

propagação do impulso edge e é atribuído 1 ciclo de relógio mais uma margem de meio período na

inicialização de forma a garantir que a cadeia se encontra estável mesmo quando o circuito tem um

comportamento demasiado lento.

3.2.4 Implementação Prática

Uma utilização posterior da informação do Sensor Global para optimização da tensão de

alimentação requer a calibração prévia do sensor. Esta calibração visa determinar quantas portas

NOR são necessárias para igualar o atraso do caminho crítico a vigiar mais uma margem de

segurança. Uma vez determinada a calibração, esta deverá servir para todos os chips de um mesmo

circuito. As variações no processo de fabrico deverão ser compensadas automaticamente devido ao

aumento ou diminuição no desempenho. De forma genérica, o princípio e topologia do sensor não

dependem do circuito a monitorizar, da frequência de relógio, nem da tecnologia em que está

implementado. No entanto a sua implementação vai depender de caso para caso. Em particular, o

número de portas lógicas utilizadas para representar o circuito réplica irá depender da dimensão do

caminho crítico, bem como da tecnologia de fabrico.

Com o objectivo de caracterizar o atraso gerado pela porta NOR foram efectuadas simulações

em tecnologia TSMC 65nm. Estas simulações mostram a dependência do atraso da porta NOR para

diferentes tensões de alimentação e diferentes temperaturas. Os resultados obtidos dizem respeito a

simulações ao nível do esquema eléctrico realizadas com dispositivos cujas dimensões se

apresentam na Tabela 3.1 e correspondem à porta NOR padrão.

Transístor W (nm) L (nm)

P1, P2 460 80

N1, N2 170 80

Tabela 3.1 – Dimensão dos transístores PMOS e NMOS utilizados para simular o atraso da porta NOR

Na Figura 3.7 é apresentado o gráfico da variação no atraso da porta NOR com a tensão de

alimentação para três cenários diferentes. O caso típico corresponde à operação à temperatura

ambiente (25ºC), no pior caso à temperatura de 125ºC e no melhor caso à temperatura de -40ºC.

Page 36: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

18

Figura 3.7 – Atraso da porta NOR para diferentes tensões de alimentação

Na Figura 3.8 é apresentado o gráfico da variação no atraso da porta NOR com a temperatura e

também para três cenários diferentes. O caso típico corresponde a operar com a tensão de

alimentação a 1,2V, no pior caso a 1,08V e no melhor caso a 1,32V.

Figura 3.8 - Atraso da porta NOR para diferentes temperaturas

Das simulações efectuadas pode ver-se que o atraso na porta NOR aumenta significativamente

com a diminuição da tensão de alimentação. Por este motivo deve existir especial cuidado com as

transições de tensão durante o processo de optimização. Para que não ocorram falhas, deve

garantir-se que a transição para uma tensão inferior não tem demasiado impacto no desempenho.

Esta margem de segurança deve ser considerada no momento da calibração e é tanto menor quanto

maior for a resolução na programação da tensão na PMU.

0.00E+00

5.00E+00

1.00E+01

1.50E+01

2.00E+01

2.50E+01

3.00E+01

3.50E+01

4.00E+01

4.50E+01

1.05 1.15 1.25 1.35

Atr

aso

po

rta

NO

R (

ps)

Tensão de Alimentação (V)

typicalschematic

Worst CornerSchematic

Best CornerSchematic

0.00E+00

5.00E+00

1.00E+01

1.50E+01

2.00E+01

2.50E+01

3.00E+01

3.50E+01

4.00E+01

4.50E+01

5.00E+01

-60 -30 0 30 60 90 120 150 180

Atr

aso

po

rta

NO

R (

ps)

Temperatura (°C)

typicalschematic

Worst CornerSchematic

Best CornerSchematic

T = 25ºC

T = 125ºC

T = -40ºC

Vdd = 1,2V

Vdd = 1,08V

Vdd = 1,32V

Page 37: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

19

Por outro lado, apenas grandes variações na temperatura do circuito fazem aumentar

significativamente o atraso. Assim, apenas é necessário garantir que o intervalo de tempo entre as

verificações de desempenho não é demasiado elevado para causar erros quando o gradiente de

temperatura é máximo.

Dependendo da tecnologia na qual é projectado o sensor, bem como da arquitectura do circuito

em monitorização, a distribuição dos flip-flops pelo circuito réplica pode ser feita de modo a minimizar

os recursos utilizados. Tipicamente, os microprocessadores estão divididos em blocos funcionais que

podem ser desligados consoante o tipo de operações a realizar. Diferentes blocos em funcionamento

significam diferentes caminhos críticos a ter em consideração. Uma melhor optimização do consumo

pode ser feita tendo em conta os caminhos críticos activos num determinado instante. Deste modo,

podem colocar-se apenas flip-flops em torno das zonas correspondentes ao atraso dos caminhos

críticos de cada bloco. Um exemplo desta abordagem é ilustrado na Figura 3.9.

Figura 3.9 – Exemplo de optimização no Sensor PVTA

Esta abordagem permite excluir a análise das primeiras NOR uma vez que estão muito distantes

do atraso do caminho crítico, permitindo reduzir a complexidade do controlo necessária para

processar a informação. Consoante o nível de sensibilidade pretendido, o espaçamento entre flip-

-flops consecutivos pode ser de várias portas NOR. Este aumento do atraso entre dois flip-flops

consecutivos limita as situações em que o código termómetro oscila entre dois valores devido a

diferenças mínimas no atraso da cadeia. É importante frisar que a não introdução de flip-flops em

todas as portas NOR leva a que o tempo de atraso no circuito réplica deixe de ser uniforme, sendo

maior nas portas NOR que têm a capacidade no nó de saída aumentada pela ligação do flip-flop. Por

esse motivo podem ser colocados inversores com impedância de entrada semelhante à dos flip-flops

nas portas NOR excluídas.

Page 38: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

20

3.3 Temporizador

Devido ao funcionamento periódico do Sensor Global, para implementar o bloco Temporizador

são necessários dois subsistemas. O primeiro é um divisor de relógio para gerar a base de tempo

para o accionamento do sensor. O segundo dispositivo é uma máquina de estados que é accionada

pelo divisor de relógio e cujo objectivo é gerar os sinais de controlo necessários aos três submodos

presentes no Modo de Teste do Sensor PVTA.

3.3.1 Divisor de Relógio

Existem alguns métodos para implementar divisores do sinal de relógio. No caso específico

deste trabalho interessa uma solução simples e de consumo reduzido, mas que permita alguma

flexibilidade na alteração da base de tempo. A solução que mais se aproxima dos objectivos

pretendidos é o contador assíncrono. Esta topologia de contador tem a vantagem de usar apenas

flip-flops na sua implementação, com o benefício de consumir menos energia do que o contador

síncrono.

O funcionamento deste contador baseia-se na realimentação negativa para forçar a alternância

de estados em ciclos de relógio consecutivos. No exemplo da Figura 3.10 pode ver-se que a cada

novo ciclo de relógio o flip-flop coloca na saída o estado oposto ao estado anterior. O sinal obtido tem

assim um período que é o dobro do sinal de entrada.

Figura 3.10 – Princípio de funcionamento do contador assíncrono

Deste modo, tendo em conta que cada flip-flop implementa uma divisão por dois relativamente

ao seu sinal de relógio, podem obter-se sucessivas divisões colocando vários flip-flops encadeados

ligando apenas as entradas de relógio à saída do flip-flop anterior. Esta metodologia tem o nome de

ripple counter e a frequência que é obtida na saída de cada flip-flop é dada pela expressão (3.1):

𝑓 =𝑓 𝑙𝑘

(3.1)

onde é o numero de flip-flops a montante na cadeia.

Page 39: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

21

Na Figura 3.11 poder ver-se um exemplo da implementação do ripple counter. Neste caso

pretende-se obter um contador crescente e por esse motivo é necessário que as entradas de relógio

dos flip-flops seguintes tenham origem na saída Q negada do flip-flop anterior. Caso contrário o

contador seria decrescente.

Figura 3.11 – Esquema lógico e diagrama temporal de um Ripple Counter crescente de 4 bits

Na figura anterior as transições de estado a partir do segundo flip-flop surgem no flanco

negativo. Isto deve-se ao facto do diagrama temporal mostrar apenas as saídas Q e não as saídas

que servem de relógio ao flip-flop seguinte. Neste contador todos os flip-flops são do tipo edge trigger

positivo.

De referir que este contador tem o inconveniente das saídas não serem totalmente síncronas

entre si. Isto acontece porque os flip-flops têm entradas de relógios independentes cujos atrasos

dependem dos flip-flops anteriores. Por este motivo, ao usar o relógio dividido para actuar a máquina

de estados do sensor deve colocar-se um registo sincronizado com o relógio para prevenir violações

temporais. Deste modo, deixa de existir qualquer limitação na utilização deste contador, podendo

assim tirar-se partido da menor área e do menor consumo utilizados.

Page 40: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

22

O número de flip-flops a utilizar depende da frequência de relógio e do tempo que o controlo

externo demora a executar as operações de subida e descida da tensão do circuito. O intervalo entre

verificações pode ser estático ou dinâmico dependendo das necessidades. Caso se pretenda usar

intervalos dinâmicos apenas é necessário adicionar um multiplexer ligado às saídas desejadas para

que externamente possa ser seleccionada qual a saída do contador a utilizar como base de tempo.

O esquema final do divisor de relógio implementado é apresentado na Figura 3.12. Tmonit são

os bits de selecção externa do factor de divisão e clkdiv o sinal resultante da divisão do relógio. Com

o objectivo de minimizar o atraso na lógica assíncrona e desse modo evitar a utilização de

dispositivos extra de sincronização na máquina de estados, o relógio do registo de saída foi

sincronizado com o flanco descendente para desse modo garantir que os interruptores de relógio

existentes se encontram activos imediatamente antes do flanco de relógio. Caso contrário, o primeiro

ciclo de relógio à saída do interruptor teria um período inferior ao do relógio global e poderia causar

problemas de estabilidade.

Figura 3.12 – Divisor de relógio implementado

3.3.2 Máquina de Estados

Como o Sensor Global é sensível à temporização dos sinais e é relevante o seu consumo de

recursos, a máquina de estados utilizada foi desenvolvida ao nível da porta lógica para assegurar a

sua optimização. A sua implementação é feita através de um módulo assíncrono, que ao entrar em

funcionamento activa um segundo módulo síncrono. Este mecanismo foi criado para permitir que a

sequência de teste seja executada apenas uma vez durante o flanco positivo do sinal clkdiv. O

princípio de funcionamento baseia-se na utilização de um elemento de memória, neste caso uma

báscula (latch), que regista o fim da sequência de teste e evita desse modo a sua repetição. Na

Page 41: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

23

Figura 3.13 pode ver-se que durante o flanco negativo do sinal clkdiv a latch é inicializado a ‘1’ (set

efectuado através do sinal clr). Deste modo, quando o sinal clkdiv regressa a ‘1’ o sinal start activa o

segundo módulo de controlo, ao mesmo tempo que o sinal aging retira o sensor do modo de

envelhecimento, dando assim início à sequência de teste. Com este mecanismo, a sequência de

teste termina no instante em que o segundo módulo fornece o sinal à latch.

Figura 3.13 – Módulo assíncrono da máquina de estados

Na composição do segundo módulo está um contador síncrono e restante lógica combinatória

necessária à geração dos sinais de controlo do sensor. O objectivo deste contador é fornecer os

instantes de tempo nos quais irão ser realizados os três submodos inerentes ao Modo de Teste. Para

o fazer, é apenas necessário um contador de 2 bits. Esta solução permite implementar os três

submodos mais um estado de espera. O esquema lógico do segundo módulo é apresentado na

Figura 3.14, no qual se podem ver dois registos e a porta XOR que compõem o contador crescente,

bem como a restante lógica combinatória de controlo.

Figura 3.14 – Módulo síncrono da máquina de estados

Page 42: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

24

No dimensionamento deste módulo existiu uma especial atenção para que os sinais edge e

clkgen distassem exactamente um período de relógio. Para conseguir esse objectivo é importante

que a lógica após os registos seja o mais semelhante possível no que toca ao número de portas

lógicas e respectiva dependência. Só deste modo é possível garantir que tempos de atraso em

ambos os sinais são semelhantes. Como o sinal edge é iniciado primeiro, a dependência sobre o

sinal clkgen não existe porque nesse instante o sinal é estático. Desse modo o sinal edge apenas

está dependente do atraso da porta XOR, e o sinal clkgen de uma porta AND. A lógica implementada

garante não só um tempo de atraso semelhante na ascensão, como garante também que o sinal

edge apenas é forçado a ’0’ depois do sinal clkgen ser iniciado. Desta forma, assegura-se que a

captura efectuada pelos flip-flops da cadeia de atraso não sofre qualquer perturbação pelo facto do

sinal edge transitar para ‘0’ no instante de captura.

É importante sublinhar que pelo facto do sinal de relógio fornecido aos registos estar bloqueado

durante o processo de envelhecimento por um interruptor de relógio (porta AND à esquerda), os

registos têm de permitir a inicialização assíncrona (clear ou clr).

3.3.3 Diagrama de Estados

O diagrama de estados correspondente ao funcionamento do Temporizador é exibido na Figura

3.15. Entre aspas encontra-se o código actual do contador de 2 bits. Uma vez que a entrada no

estado de Inicialização 1 ocorre meio período antes do relógio chegar ao contador, no diagrama final

surgem dois estados para o submodo de inicialização. O motivo pelo qual isto acontece é para dar

uma margem de 50% ao sensor para estabilizar a cadeia de atraso após a alteração no sinal aging.

Figura 3.15 – Diagrama de estados do Temporizador

Page 43: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

25

No diagrama temporal da Figura 3.16 pode ver-se que no instante em que o clkdiv vem a ‘1’, o

sensor entra no Modo de Teste assincronamente (Inicialização 1). Meio período depois é activado o

segundo módulo de controlo no flanco ascendente de relógio, fazendo avançar de forma síncrona a

máquina de estados para o estado Inicialização 2. No flanco de relógio seguinte é fornecido o sinal

edge à cadeia de atraso (Propagação) e no período seguinte o sinal clkgen (Captura). Mais tarde, no

flanco descendente do sinal clkdiv, é efectuada a inicialização do segundo módulo, repondo o sinal

clkgen e colocando a máquina de estados em espera.

Figura 3.16 – Diagrama temporal comportamental dos sinais da máquina de estados

Page 44: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

3. Sensor Global

26

Page 45: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

27

Demonstrador FPGA

Conteúdo

4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2 Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Metodologia de Optimização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4 Bloco de Controlo e Optimização . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Page 46: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

28

4.1 Introdução

Com o objectivo de demonstrar o potencial do Sensor Global apresentado nesta dissertação, foi

desenvolvida uma plataforma de demonstração utilizando uma FPGA para implementação do sensor

e de um circuito digital complexo para simular a carga correspondente a um processador comum. A

opção de utilizar uma FPGA prende-se com o facto de ser um meio de desenvolvimento

extremamente rápido para obter resultados experimentais e ser um meio frequentemente usado na

emulação de soluções que se pretendem implementar em ASICs. Apesar do teste ao sensor ser feito

recorrendo a um FPGA, o objectivo é poder demonstrar o seu funcionamento em SoC. Por esta

razão, grande parte do código VHDL implementado foi descrito ao nível da porta lógica ao invés do

respectivo comportamento. Este nível de detalhe permite realizar optimizações importantes para o

desempenho do sensor, aproximando esta implementação em FPGA da implementação em silício no

SoC.

4.2 Arquitectura

Para poder implementar um sistema de ajuste automático que consiga de forma independente

controlar a sua própria tensão de alimentação, é necessário recorrer a mais alguns dispositivos extra

que suportem as instruções de controlo geradas na FPGA. Esta situação implica fazer algumas

alterações físicas na placa de circuito impresso da FPGA original [15] de modo a permitir a utilização

de uma fonte de tensão externa na alimentação dos 1,2V fornecida ao chip da Xilinx®. O objectivo é

criar uma arquitectura fechada onde o controlador do sensor consegue configurar a tensão de

alimentação desejada (Figura 4.1).

Figura 4.1 – Arquitectura de funcionamento do demonstrador

Neste caso, o módulo que disponibiliza a alimentação externa é um conversor DCDC com

tensão de saída programável através de protocolo SPI. Para implementar o circuito digital cuja

alimentação é optimizada, foi usado um multiplicador de 16 bits com autoteste, tendo em vista uma

avaliação periódica da eventual ocorrência de falhas no processamento. Após uma calibração inicial,

o mecanismo Sensor Global mais algoritmo de controlo deverá ser capaz de operar dinamicamente,

ajustando-se às condições de temperatura ou envelhecimento sem qualquer interferência do

utilizador e sem interferir com a funcionalidade implementada no circuito.

Page 47: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

29

4.3 Metodologia de Optimização

A metodologia de optimização implementada neste trabalho é composta por quatro etapas mais

um estágio de inicialização (Figura 4.2). No momento em que o sistema arranca e surge o sinal de

reset, o mecanismo de controlo força o valor máximo de tensão no circuito de forma conservadora.

Este valor de tensão máxima é programável em tempo real e pode ser ajustado para diferentes

frequências à semelhança da estratégia utilizada nos actuais microprocessadores. Nesta situação, o

microprocessador deve fornecer a nova palavra de tensão e de seguida deverá activar o sinal

setvmax. Só depois desta operação deverá ser efectuada a alteração da frequência de relógio. Nas

etapas seguintes, e periodicamente, são efectuadas a leitura ao sensor, calculada a nova palavra de

tensão e por fim comunicado o novo valor à fonte de alimentação.

Figura 4.2 – Fluxograma da estratégia Global de Controlo

Page 48: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

30

4.3.1 Modificações Efectuadas

Neste trabalho foi utilizada uma FPGA Spartan 3 XC3S400-FT256 da Digilent®. Após uma

análise ao esquema eléctrico fornecido pelo fabricante foi identificado o processo de distribuição de

energia na FPGA. O dispositivo é alimentado externamente com 5V que irão alimentar o LDO

principal, reduzindo a tensão para 3,3V. Este LDO alimenta as interfaces de entrada e saída de

dados bem como a maioria dos dispositivos na FPGA. Incluídos nestes dispositivos encontra-se um

LDO para gerar 2,5V e outro para gerar 1,2V. Os 2,5V alimentam os controladores do sinal de relógio

(DCM) e os periféricos de programação como o JTAG. Por fim, os 1,2V alimentam o núcleo digital da

FPGA sendo, portanto, este o dispositivo a substituir pelo DCDC com tensão programável. Na Figura

4.3 é indicado o local, no verso da placa de circuito impresso da FPGA, de onde foi removido o LDO

dos 1,2V para substituir pela alimentação do DCDC.

Figura 4.3 – Verso da placa de circuito impresso da FPGA indicando o LDO a remover

4.3.2 Conversor DCDC

O conversor DCDC utilizado é apresentado na Figura 4.4 e foi projectado numa parceria entre o

INESC-ID e a SILICONGATE LDA. Para funcionar, este conversor requer o fornecimento de três

alimentações externas. À semelhança da FPGA, o DCDC utiliza 1,2V para o núcleo digital, 3,3V para

entradas e saídas de dados e uma tensão em torno de 2,4V como entrada de potência. Para tornar o

protótipo independente de fontes de alimentação externas foram utlizados os três LDO existentes na

FPGA para alimentar paralelamente o DCDC. O LDO de 1,2V que foi retirado da placa da FPGA foi

soldado a um dissipador externo e usado para alimentar o núcleo digital do DCDC. Para tal foi

necessário criar um cabo a ligar o LDO de 3,3V da FPGA (Figura 4.5) ao LDO de 1,2V e outro como

um conector para levar os 1,2V ao DCDC. Um outro cabo foi criado para levar os 2,5V da FPGA para

a entrada de potência do DCDC. Por fim, os 3,3V são fornecidos juntamente com as linhas de dados.

Page 49: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

31

Figura 4.4 – Conversor DCDC programável por SPI

Figura 4.5 – Vista de topo da placa de circuito impresso da FPGA indicando o LDO dos 3,3V

4.3.3 Comunicação SPI

O protocolo SPI ou interface periférica de comunicação série permite a comunicação de um

microcontrolador (mestre) com diversos outros componentes (escravos) de uma forma compacta.

Neste protocolo o dispositivo mestre faz a gestão das comunicações através de uma linha de

selecção, para cada dispositivo, activa a ‘0’ ( ). A sincronização de dados é assegurada pelo sinal

de relógio SCLK gerado pelo dispositivo mestre. Por fim, os dispositivos escravos comunicam pela

linha de dados MISO (master input, slave output ou entrada do mestre, saída do escravo), e mestre

pela linha MOSI (master output, slave input ou saída do mestre, entrada do escravo). Um exemplo da

implementação deste protocolo pode ser visto na Figura 4.6.

Page 50: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

32

Figura 4.6 – Exemplo da implementação SPI

Como seria de esperar, no demonstrador apresentado, o dispositivo mestre encontra-se do lado

da FPGA e o dispositivo escravo é o conversor DCDC. No caso particular desta implementação o

sinal MISO foi dispensado uma vez que a rotina para alteração da tensão Vdd não necessita de

qualquer tipo de resposta por parte do DCDC. No entanto existe uma linha de que deverá estar

sempre no valor lógico ’1’. Relativamente ao modo de transição, os dados devem ser recolhidos no

flanco ascendente de relógio e enviados com os bits menos significativos primeiro.

A comunicação com o DCDC é feita utilizando 5 bits de endereçamento e 8 bits para dados. Na

Tabela 4.1 são apresentadas as tensões realizadas pelo conversor, consoante a palavra de tensão

Vprog, bem como a palavra de dados a enviara ao DCDC. Apesar da palavra de dados conter 8 bits,

apenas os 4 bits mais significativos servem para alterar a tensão de saída do DCDC (b4 a b7). Os

restantes 4 bits enviados deverão ter o valor lógico ‘0’.

Vprog b7 b6 b5 b4 Vout [V]

0 0 0 0 0 0.600

1 0 0 0 1 0.650

2 0 0 1 0 0.700

3 0 0 1 1 0.750

4 0 1 0 0 0.800

5 0 1 0 1 0.850

6 0 1 1 0 0.900

7 0 1 1 1 0.950

8 1 0 0 0 1.000

9 1 0 0 1 1.050

10 1 0 1 0 1.100

11 1 0 1 1 1.150

12 1 1 0 0 1.200

13 1 1 0 1 1.250

14 1 1 1 0 1.300

15 1 1 1 1 1.350

Tabela 4.1 – Tabela com as tensões de saída do DCDC para cada palavra de configuração

Page 51: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

33

4.3.4 Implementação do Sensor Global

A implementação do Sensor Global em FPGA teve algumas particularidades devido às

condições oferecidas pelo dispositivo. Quando o sensor PVTA foi implementado pela primeira vez, a

ferramenta de síntese eliminou quase todos os flip-flops e portas NOR da cadeia e substitui-os por

lógica equivalente. Por este motivo foi necessário impor uma restrição de não optimização nos

barramentos test_data e Therm_Code através do atributo “keep”. Com esta modificação foi possível

obter os primeiros resultados do código termómetro, mas verificou-se que eram incoerentes. Esta

incoerência ficou a dever-se ao atraso dos sinais aging e clkgen originado pelo elevado fanout. O

problema foi resolvido introduzindo buffers presentes na FPGA para transporte e distribuição de

sinais de relógio: “BUFG”. Dada a enorme utilidade destes buffers, a sua utilização foi também

estendida ao bloco Temporizador a fim de ser utlizado no sinal edge, clkdiv e no relógio da máquina

de estados.

Por fim, o sensor foi implementado utilizando uma cadeia de atraso com 36 portas NOR, 4 no

início sem flip-flops e 32 com flip-flops consecutivos fornecendo um código termómetro também de

32 bits. Esta solução foi adoptada para permitir máxima versatilidade durantes a fase de teste.

Relativamente ao temporizador, foram utilizados 18 registos para dividir o sinal de relógio cuja saída

pode ser configurada manualmente. Por segurança é aconselhável que o período do sinal clkdiv seja

pelo menos maior do que a duração da comunicação de dados via SPI para controlo da tensão do

DCDC.

4.3.5 Multiplicador Pipeline

O método usado para garantir que o sistema de optimização proposto não causa falhas consiste

em efectuar um teste exaustivo e aferir que o resultado é sempre o desejado. Este é o motivo pelo

qual foi colocado um multiplicador com autoteste no demonstrador FPGA. A saída do multiplicador

implementado tem dimensão 32 bits (obtida de duas entradas de 16 bits) e contem dois andares

pipeline. Estas especificações foram escolhidas de modo a obter uma taxa de ocupação,

multiplicador mais BIST, superior à dos restantes elementos, garantindo o seu funcionamento em

torno da frequência fornecida pela FPGA. O código VHDL implementado foi o mesmo utilizado por J.

Semião et al. em [6]. Tanto o multiplicador como o algoritmo de autoteste são completamente

independentes dos restantes blocos implementados pelo que apenas têm em comum o sinal de

relógio. O correcto funcionamento da FPGA origina uma assinatura do BIST permanente, sendo uma

boa referencia para a calibração do sensor. Com o objectivo de aumentar a correlação entre o

desempenho do multiplicador e o desempenho do sensor, o multiplicador foi implementado

recorrendo às LUT. Deste modo são evitados os multiplicadores dedicados e extremamente

optimizados que não reflectem o real desempenho dos restantes blocos lógicos da FPGA.

Page 52: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

34

4.4 Bloco de Controlo e Optimização

O algoritmo de optimização implementado, e apresentado na Figura 4.7, baseia-se na

classificação do desempenho registado pelo sensor em três categorias. Lento, estável e rápido são

os códigos que a máquina de estados interpreta para decidir se aumenta, mantém ou diminui a

tensão de alimentação. Estas três combinações são dadas pelo sinal cut_speed que é gerado a partir

do código termómetro fornecido pelo Sensor Global.

Figura 4.7 – Diagrama de estados do bloco de Controlo e Optimização

Por uma questão de segurança e para prevenir erros na comunicação externa, todos os estados

a partir da verificação convergem para o estado de escrita no SPI, mesmo que a palavra de tensão

permaneça igual à anterior.

Page 53: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

35

4.4.1 Caminho de Dados

Para entender melhor o processo de optimização realizado pelo no bloco de controlo, é

apresentada abaixo uma lista com a descrição dos principais sinais de comando.

Entrada:

Vmax – palavra de tensão máxima a fornecer ao circuito num dado instante.

Vmin – palavra de tensão mínima admissível pelo circuito num dado instante.

setvmax – sinal exterior que ordena a imposição da palavra de tensão Vmax ao circuito.

cut_speed – sinal com 2 bits que indica o desempenho do circuito. “00” para lento, “10” para

estável e “11” para rápido. A combinação “01” não deverá surgir mas para todos os efeitos é

interpretada como rápido.

ready – criado a partir do sinal clkgen atrasado de um ciclo de relógio, indica ao controlo que os

dados de uma nova verificação de desempenho estão disponíveis.

busy – sinal enviado pelo bloco de comunicação SPI durante o processo de comunicação.

Saída:

Vprog – palavra com a tensão a fornecer ao circuito ordenada por comunicação SPI.

SPI_EN – sinal para ordenar ao bloco SPI o envio da nova palavra de tensão (Vprog).

subtract – sinal enviado ao Somador/Subtractor ordenando um subtracção.

muxout – sinal para escolher a origem da próxima palavra de tensão.

vprog_EN – sinal para activar a escrita no registo que guarda a palavra de tensão Vprog.

Figura 4.8 – Caminho de dados necessário para o funcionamento do controlo

Page 54: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

36

A lógica aritmética utilizada no cálculo da palavra tensão é apresentada Figura 4.8. É utilizado

um registo para guardar a palavra de tensão Vprog a enviar ao DCDC através bloco SPI e um

multiplexer para inicializar o DCDC com a palavra de tensão Vmax. Durante o processo de

optimização é utilizado um Somador/Subtractor para incrementar ou decrementar uma unidade à

palavra de tensão Vprog. Por fim são utilizados dois comparadores para interromper a optimização

caso sejam alcançados os limites Vmax ou Vmin.

4.4.2 Comportamento

Neste subcapítulo será detalhada a função de cada estado apresentado na Figura 4.7.

INIT – estado inicial no qual é transferida a palavra de tenção Vmax para o registo contendo

Vprog. O processo é realizado seleccionando a entrada Vmax no multiplexer e activando a

escrita no registo.

Verify – estado no qual é avaliado o desempenho do circuito através do sinal cut_speed.

Comp_add – estado no qual é comparada a actual palavra de tensão Vprog com Vmax a fim de

verificar se foi atingido o limite superior de tensão.

Comp_sub – estado no qual é comparada a actual palavra de tensão Vprog com Vmin a fim de

verificar se foi atingido o limite inferior de tensão.

Increase – estado no qual é efectuado o incremento de uma unidade à palavra de tensão

Vprog. O processo é realizado seleccionando no multiplexer a entrada vinda do

Somador/Subtractor, activando a escrita no registo e ordenando a operação de soma ao

Somador/Subtractor.

Decrease – estado no qual é efectuado o decremento de uma unidade à palavra de tensão

Vprog. O processo é realizado seleccionando no multiplexer a entrada vinda do

Somador/Subtractor, activando a escrita no registo e ordenando a operação de subtracção ao

Somador/Subtractor.

SPI_Write – estado no qual é dada ordem ao bloco SPI para comunicar a nova palavra de

tensão Vprog ao DCDC.

Wait_1 – estado no qual se aguarda que o sinal ready venha a ‘0’. Este estado é essencial uma

vez que a transição para ‘1’ do sinal ready indica a presença de novos dados de desempenho

vindos do Sensor Global. Por teste motivo é necessário esperar a sua vinda a ‘0’ uma vez que o

período do sinal ready é muito superior ao tempo que a máquina de estados demora para

realizar as operações até este estado.

Wait_2 – estado no qual se aguarda pela conclusão da transmissão de dados SPI (sinal busy)

bem como a chegada de novos dados por parte do Sensor Global (sinal ready).

Page 55: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

37

4.4.3 Multiplexer tri-state (cut_speed)

O sinal cut_speed foi criado para facilitar o tratamento da informação gerada pelo Sensor

Global. Inicialmente foi implementado um codificador para converter o código termómetro numa

palavra digital que posteriormente seria comparada com a palavra de calibração para definir qual a

categoria de velocidade a atribuir. No entanto, após alguns testes percebeu-se que esta abordagem

tem elevados custos no caso de ser implementada com portas lógicas, quer na quantidade de portas

necessárias mas principalmente no tempo de atraso. Isto porque na FPGA utilizada apenas é

possível implementar codificadores lógicos em que os bits mais significativos dependem de todos os

anteriores. Esta situação é particularmente gravosa uma vez que requer esperar pela propagação do

código termómetro no codificador a cada verificação efectuada pelo sensor.

Como solução final, implementou-se este conceito mas no sentido inverso. Deste modo,

pretende usar-se um descodificador para converter a palavra de calibração e desse modo atacar um

conjunto de buffers tri-state ligados ao código termómetro. O objectivo é multiplexar os dois bits

consecutivos do código termómetro correspondentes à calibração do caminho crítico a simular. Na

Figura 4.9 pode ver-se que são utilizados dois multiplexers, um para cada bit do sinal cut_speed,

correspondentes à selecção dos dois bits consecutivos do código termómetro. Os dois mutiplexers

têm a vantagem de ser realizados usando apenas um descodificador. Isto é feito desfasando a

sequência com que os bits do descodificador entram no segundo conjunto de buffers tri-state. A

utilização destes buffers tem também a vantagem de poder criar grandes multiplexers de atraso

reduzido, uma vez que evita toda a lógica sequencial e tira proveito do facto do descodificador ficar

estático após a calibração.

Figura 4.9 – Multiplexer tri-state para geração do sinal cut_speed

Page 56: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

4. Demonstrador FPGA

38

Page 57: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

39

Resultados Experimentais

Conteúdo

5.1 Características do Demonstrador . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 Simulações Post-Route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.3 Teste em Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Page 58: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

40

5.1 Características do Demonstrador

FPGA – Digilent® Xilinx

® Spartan3 XC3S400-4FT256 [15] (Tabela 5.1)

DCDC – Buck com tensão de saída programável por comunicação SPI, VIN= [2,3 ; 3,6]V,

VOUT= [0,6 ; 3,6]V com avanços de 50mV, IOUT(max)=1,5A

Device System Gates

Equivalent Logic Cells

CLB Array

(One CLB = Four Slices) Distributed RAM Bits (K=1024)

Block RAM Bits

(K=1024) Dedicated Multipliers DCMs

Maximum User I/O

Maximum Differential I/O Pairs Rows Columns

Total

CLBs

XC3S400 400K 8,064 32 28 896 56K 288K 16 4 265 116

Tabela 5.1 – Atributos da FPGA

Na Figura 5.1 encontra-se a fotografia do protótipo de teste criado e que foi utilizado para obter

os resultados experimentais. A frequência de operação utilizada foi a máxima fornecida pela FPGA

(50MHz). Já a velocidade da comunicação SPI utilizada foi de 396,83KHz e obteve-se mediante

alguns testes de estabilidade. Para facilitar o processo de correcção de erros mas também para

acompanhar o comportamento dos vários dipositivos dentro da FPGA, foram utilizados os displays de

sete segmentos para mostrar a palavra de tensão Vprog, o valor do sinal cut_speed, o código

termómetro em hexadecimal e o código de autoteste ou BIST. A calibração manual do sensor é

efectuada através dos 5 interruptores mais à direita, deixando três interruptores disponíveis para

seleccionar a informação a apresentar nos displays. Após vários testes o demonstrador foi calibrado

de forma a obter a palavra de tensão 06H (0110b) correspondente a 0,9V. No entanto, devido a uma

questão de calibração do DCDC a saída encontra-se 30mV acima do valor tabelado, posicionando a

tensão de alimentação nos 0,93V.

Figura 5.1 – Fotografia do protótipo final

Page 59: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

41

5.2 Simulações Post-Route

Para mostrar o comportamento de alguns sinais internos e verificar o cumprimento dos

objectivos propostos, foram realizadas algumas simulações post-route a alguns dos módulos

implementados na FPGA. As simulações são efectuadas individualmente para cada bloco, por esse

motivo os sinais de entrada em cada bloco são fornecidos manualmente no ficheiro de simulação.

Figura 5.2 – Diagrama temporal do bloco Temporizador

A Figura 5.2 apresenta o diagrama temporal do bloco Temporizador. Pode ver-se que foram

cumpridos os objectivos especificados para este bloco: o sinal edge termina depois do clkgen e o

sinal aging é o último a vir a ‘1’. Através desta simulação foi medido o período entre o início do sinal

edge e o sinal clkgen. No Capitulo 3.3.2 tinha sido referido que este intervalo deveria estar o mais

próximo possível do período de relógio. O resultado obtido foi então 19,952ns, o que é bastante

próximo dos 20ns do período de relógio. Tendo em conta que se está num ambiente FPGA, este

resultado foi considerado bastante bom. Comparando estes resultados com os da simulação

comportamental pode ver-se um forte atraso nas saídas Q0 e Q1 do contador da máquina de

estados. No entanto este atraso não tem qualquer influência no comportamento do sensor uma vez

que os sinais aging, edge e clkgen estão sincronizados entre si.

Figura 5.3 – Diagrama temporal do bloco SPI

No caso da simulação do bloco SPI apresentada na Figura 5.3, como a frequência de transição

suportada pelo protocolo é muito inferior aos 50Mhz utilizados pela FPGA, não são visíveis quaisquer

desfasamentos nos sinais de comunicação.

Page 60: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

42

Figura 5.4 – Diagrama temporal do Sensor PVTA

Na simulação apresentada na Figura 5.4, referente ao Sensor PVTA, pode ver-se que após o

sinal clkgen vir a ‘1’, a captura não acontece instantaneamente em todos os flip-flops (região a

vermelho em torno dos 200ns). No entanto como a margem de captura é muito reduzida não é

detectada qualquer irregularidade no código termómetro final. Como seria de esperar, quando a

captura se faz na fronteira de propagação, o simulador não consegue prever se o bit é ‘0’ ou ‘1’ e

mostra uma indeterminação.

Page 61: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

43

5.3 Teste em Temperatura Para demonstrar o correcto funcionamento do Sensor Global e respectivo Controlo Digital, foi

efectuado o teste a diferentes temperaturas para comprovar a sua estabilidade. A realização do teste

obrigou à implementação de uma estratégia de comunicação com o exterior da câmara de

temperatura de modo a obter a informação sobre a conclusão do autoteste e sobre a validade do

respectivo resultado. A comunicação com a placa da FPGA, além de incluir a recepção da

informação mencionada, também requer o envio do sinal de reset do autoteste e um sinal adicional

para forçar o modo de operação não optimizado que aplica a tensão de 1,2V ao núcleo da FPGA.

Para tal foi utilizada a interface de entrada e saída da FPGA juntamente com um cabo usb de

aquisição de sinais digitais.

Equipamentos:

Voltímetro – HP 34401A

Amperímetro – HP 34401A

Termómetro – Keithley 2001

Câmara de Temperatura – TestEquity Half Cube

Modo em Teste Temp. [°C] Tensão [V] Corrente [mA] Vprog Potência [mW] Poupança [%]

1.2 Standby

0

1.233 7.64 C 9.42 x

Run 1.226 17.89 C 21.93

DVS Standby 0.927 3.72 6 3.45 63.38

Run 0.927 10.97 6 10.17 53.63

1.2 Standby

10

1.233 7.98 C 9.84 x

Run 1.226 18.24 C 22.36

DVS Standby 0.926 3.90 6 3.61 63.31

Run 0.922 11.15 6 10.28 54.03

1.2 Standby

25

1.232 8.91 C 10.98 x

Run 1.226 19.22 C 23.56

DVS Standby 0.926 4.39 6 4.07 62.93

Run 0.921 11.68 6 10.76 54.33

1.2 Standby

35

1.230 9.72 C 11.96 x

Run 1.223 20.03 C 24.50

DVS Standby 0.926 4.86 6 4.50 62.37

Run 0.920 12.16 6 11.19 54.33

1.2 Standby

45

1.229 10.87 C 13.36 x

Run 1.223 21.18 C 25.90

DVS Standby 0.925 5.53 6 5.12 61.68

Run 0.920 12.81 6 11.79 54.48

1.2 Standby

55

1.228 12.38 C 15.2 x

Run 1.221 22.67 C 27.68

DVS Standby 0.924 6.44 6 5.95 60.86

Run 0.919 13.72 6 12.61 54.44

1.2 Standby

65

1.227 14.40 C 17.67 x

Run 1.219 24.76 C 30.18

DVS Standby 0.923 7.66 6 7.07 59.99

Run 0.918 14.97 6 13.74 54.47

1.2 Standby

75

1.224 16.96 C 20.76 x

Run 1.216 27.30 C 33.20

DVS Standby 0.921 9.26 6 8.53 58.91

Run 0.916 16.56 6 15.17 54.31

Tabela 5.2 – Medições em Temperatura

Page 62: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

44

Os limites do teste em temperatura foram impostos pelas especificações da FPGA [15], sendo a

temperatura mínima de 0ºC e a máxima de 80ºC. Na Tabela 5.2 são apresentados os resultados

obtidos com as tensões e correntes correspondentes ao modo de funcionamento não optimizado da

FPGA (1,2V) e para o modo com a tensão de alimentação optimizada (DVS). Foram ainda

efectuadas medidas com o multiplicador activo (Run) e em repouso (Standby). Através da tensão e

da corrente foi calculada a potência dissipada na FPGA para os casos 1,2V e DVS. Dado que a

frequência de relógio se mantém para ambas as situações, o tempo de processamento é idêntico e

por isso a proporção entre a potência e a energia é a mesma para os casos 1.2V e DVS. Assim, os

valores da potência podem ser usados para quantificar a poupança de energia recorrendo à

expressão (5.1). Por fim, na Tabela 5.2, a coluna Vprog mostra o valor da palavra de tensão

fornecida ao DCDC em formato hexadecimal.

𝑃 = ( 𝑃

𝑃 2 ) (5.1)

Com os resultados da Tabela 5.2 foram elaborados quatro gráficos. Nas legendas apresentadas

juntamente com os gráficos a designação Sb significa Standby e a designação Rn significa Run.

Figura 5.5 – Gráfico da variação da tensão de alimentação do núcleo digital da FPGA com a temperatura

Na Figura 5.5 é apresentado o gráfico da variação da tensão de alimentação do núcleo digital da

FPGA para as várias temperaturas. É registada uma ligeira queda na tensão quando o circuito está

em carga no modo Run, mas deve-se apenas à resistência interna do amperímetro e fios de ligação

entre o DCDC e a FPGA, já que o DCDC regula eficazmente a sua tensão de saída.

0.9

0.95

1

1.05

1.1

1.15

1.2

1.25

0 15 30 45 60 75

Ten

são

[V

]

Temperatura [ºC]

1,2V Sb

1,2V Rn

DVS Sb

DVS Rn

Page 63: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

45

Figura 5.6 – Gráfico da variação da corrente consumida pelo núcleo digital da FPGA com a temperatura

Na Figura 5.6 é apresentado o gráfico da variação da corrente consumida pelo núcleo digital da

FPGA com a temperatura. Pode ver-se que em carga e nos modos 1,2V (Standby e Run) a corrente

cresce mais rapidamente que no caso do DVS, aumentando de forma significativa o desperdício de

energia em temperaturas altas.

Figura 5.7 – Gráfico da variação da Potência consumida pelo núcleo digital da FPGA com a temperatura

0

5

10

15

20

25

30

0 15 30 45 60 75

Cu

rre

nte

[m

A]

Temperatura [ºC]

1,2V Sb

1,2V Rn

DVS Sb

DVS Rn

0

5

10

15

20

25

30

35

0 15 30 45 60 75

Po

tên

cia

[mW

]

Temperatura [ºC]

1,2V Sb

1,2V Rn

DVS Sb

DVS Rn

Page 64: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

5. Resultados Experimentais

46

Na Figura 5.7 pode ver-se o gráfico com a variação da Potência consumida pelo núcleo digital

da FPGA com a temperatura. Como a variação da tensão em ambos os modos ronda as dezenas de

milivolts, o andamento da potência é muito semelhante ao observado na corrente.

Figura 5.8 – Poupança obtida com a utilização do Sensor Global para diferentes temperaturas

Analisando os resultados na perspectiva da poupança de energia, Figura 5.8, pode ver-se que

nas temperaturas mais elevadas existe uma diminuição da poupança em Standby (Sb). Contudo,

esta continua ainda a acima dos 58%. Mais importante é o facto de a poupança manter-se

praticamente constante quando a FPGA está em carga (Rn). Esta situação mostra que é possível

manter uma elevada redução no consumo de energia, mesmo em altas temperaturas.

52

54

56

58

60

62

64

0 15 30 45 60 75

Po

up

ança

[%

]

Temperatura [ºC]

DVS Sb

DVS Rn

Page 65: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

47

Conclusões e Trabalho Futuro

Conteúdo

6.1 Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Page 66: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

6. Conclusões e Trabalho Futuro

48

6.1 Conclusões

Uma análise ao trabalho realizado permite concluir que todos os objectivos foram cumpridos. O

protótipo desenvolvido funcionou correctamente, permitindo efectuar a validação do sensor e

quantificar os ganhos possíveis com a optimização implementada, mesmo nas altas temperaturas.

Foi possível integrar o sensor na FPGA, monitorizando o desempenho da lógica desta, e incluir o

módulo de controlo que através do SPI comunica com o DCDC externo e optimiza a tensão de

alimentação da FPGA. O multiplicador com autoteste implementado na FPGA permitiu verificar que a

solução de optimização implementada não compromete o correcto processamento e proporciona

ganhos entre os 53% e os 63% dependendo das condições de temperatura e de carga.

A implementação efectuada, além de permitir validar a metodologia de optimização, comprova

que a sua implementação não interfere com o fluxo de projecto dos circuitos cuja tensão de

alimentação é optimizada.

6.2 Trabalho Futuro

Como trabalho futuro seria interessante poder realizar algumas das seguintes tarefas:

Utilização de múltiplos sensores posicionados em diferentes regiões do chip para efectuar a

optimização com base na temperatura e tensão de alimentação local.

Testar o funcionamento para diferentes frequências de relógio (o actual algoritmo de controlo

já está preparado para esta situação)

Prototipagem em silício integrado uma PMU interna com maior sensibilidade no ajuste da

tensão e com um protocolo de comunicação mais rápido.

Page 67: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

49

Bibliografia

[1] S. Gochman, R. Ronen, I. Anati, A. Berkovits, T. Kurts, A. Naveh, A. Saeed, Z. Sperber and R. C. Valentine, "The Intel® Pentium® M Processor: Microarchitecture and Performance," Intel® Technology Journal, vol. 7, no. 2, Mai. 2003.

[2] “AMD PowerNow!™ Technology Dynamically Manages Power and Performance,” Nov. 2000. [Online]. Available: http://support.amd.com/us/Embedded_TechDocs/24404a.pdf.

[3] D. Ernst, N. S. Kim, S. Das, S. Pant, R. Rao, T. Pham, C. Ziesler, D. Blaauw, T. Austin, K. Flautner and T. Mudge, "Razor: A Low-Power Pipeline Based on Circuit-Level Timing Speculation," in Microarchitecture, 2003. MICRO-36. Proceedings. 36th Annual IEEE/ACM International Symposium on, Dez. 2003.

[4] V. Reddy, A. Krishnan, A. Marshall, J. Rodriguez, S. Natarajan, T. Rost and S. Krishnan, "Impact of Negative Bias Temperature Instability on Digital Circuit Reliability," in Reliability Physics Symposium Proceedings, 2002.

[5] J. Vazquez, V. Champac, A. iesemer, . eis, . emião, . Tei eira, M. antos and . Tei eira, "Predictive Error Detection by On-line Aging Monitoring," in On-Line Testing Symposium (IOLTS), 2010.

[6] J. Semiao, J. Pachito, C. Martins, B. Jacinto, J. Vazquez, V. Champac, M. Santos, I. Teixeira and J. Teixeira, "Aging-aware Power or Frequency Tuning with Predictive Fault Detection," in Design & Test of Computers, 99 ed., vol. PP, IEEE, 2012.

[7] M. Khan, S. Hamdioui and F. Catthoor, "Comparative BTI Analysis in Nano-scale Circuits Lifetime," in 4th Workshop on Design for Reliability, Paris, France, 2012.

[8] D. K. Schroder, "Negative bias temperature instability: What do we understand?," Microelectronics Reliability, vol. 47, no. 6, 2007.

[9] W. Wang, S. Yang, S. Bhardwaj, S. Vrudhula, F. Liu and Y. Cao, "The Impact of NBTI Effect on Combinational Circuit: Modeling, Simulation, and Analysis," in IEEE Transactions on Very Large Scale Integration Systems, vol. 18, Feb. 2010, pp. 173-183.

[10] S. Bhardwaj, W. Wang, R. Vattikonda, Y. Cao and a. S. Vrudhula, "Predictive Modeling of the NBTI Effect for Reliable Design," Custom Integrated Circuits Conference, 2006. CICC '06. IEEE, Sept. 2006.

[11] D. I. Kim, J. Kim, M. J. Kim, J. R. Moulic and H. H. Song, "System and Method for Monitoring Reliability of a Digital System". Patent 7495519, 24 Fev 2009.

[12] C. R. Gauthier, P. R. Trivedi and G. S. Yee, "Embedded Integrated Circuit Aging Sensor System". Patent 7054787, 30 Maio 2006.

[13] K. Kang, S. Gangwal, S. P. Park and K. Roy, "NBTI induced performance degradation in logic and memory circuits: how effectively can we approach a reliability solution?," in Design Automation Conference, 2008.

[14] K.-C. Wu and D. Marculescu, "Joint Logic Restructuring and Pin Reordering against NBTI-Induced Performance Degradation," in Design, Automation & Test in Europe Conference & Exhibition, 2009.

[15] "Digilent® Xilinx® Spartan3 XC3S400-4FT256," Digilent, Inc., [Online]. Available: http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD.

Page 68: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

Bibliografia

50

Page 69: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

51

Anexos

Page 70: Dynamic Voltage Scaling - ULisboa · 3.3.3 Diagrama de Estados ... ISM Internal Supply Module (Modulo de fornecimento interno) JTAG Joint Test Action Group (Grupo de Teste de Ação

7. Anexos

52

Figura 7.1 – Esquema eléctrico dos dispositivos de alimentação da placa FGPA utilizada