• Nenhum resultado encontrado

Sizing discreto baseado em relaxação lagrangeana para minimização de leakage em circuitos digitais

N/A
N/A
Protected

Academic year: 2021

Share "Sizing discreto baseado em relaxação lagrangeana para minimização de leakage em circuitos digitais"

Copied!
133
0
0

Texto

(1)

Vin´ıcius dos Santos Livramento

SIZING DISCRETO BASEADO EM RELAXAC¸ ˜AO LAGRANGEANA PARA MINIMIZAC¸ ˜AO DE LEAKAGE EM CIRCUITOS DIGITAIS

Florian´opolis(SC) 2013

(2)
(3)

SIZING DISCRETO BASEADO EM RELAXAC¸ ˜AO LAGRANGEANA PARA MINIMIZAC¸ ˜AO DE LEAKAGE EM CIRCUITOS DIGITAIS

Dissertac¸˜ao submetida ao Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao para a obtenc¸˜ao do Grau de Mestre em Ciˆencia da Computac¸˜ao.

Orientador: Prof. Dr. Jos´e Lu´ıs Almada G¨untzel

Coorientador: Prof. Dr. Marcelo de Oli-veira Johann

Florian´opolis(SC) 2013

(4)

Livramento, Vinícius dos Santos

Sizing Discreto Baseado em Relaxação Lagrangeana para Minimização de Leakage em Circuitos Digitais / Vinícius dos Santos Livramento ; orientador, José Luís Almada Güntzel ; co-orientador, Marcelo de Oliveira Johann. - Florianópolis, SC, 2013.

131 p.

Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.

Inclui referências

1. Ciência da Computação. 2. Automação de Projeto Eletrônico (EDA). 3. Sizing Discreto de Portas Lógicas. 4. Relaxação Lagrangeana. I. Güntzel, José Luís Almada. II. Johann, Marcelo de Oliveira. III. Universidade Federal de Santa Catarina. Programa de Pós-Graduação em Ciência da Computação. IV. Título.

(5)

SIZING DISCRETO BASEADO EM RELAXAC¸ ˜AO LAGRANGEANA PARA MINIMIZAC¸ ˜AO DE LEAKAGE EM CIRCUITOS DIGITAIS

Esta Dissertac¸˜ao foi julgada aprovada para a obtenc¸˜ao do T´ıtulo de “Mestre em Ciˆencia da Computac¸˜ao”, e aprovada em sua forma final pelo Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao.

Florian´opolis(SC), 23 de Fevereiro 2013.

Prof. Dr. Ronaldo dos Santos Mello Coordenador

Prof. Dr. Jos´e Lu´ıs Almada G¨untzel Orientador

Banca Examinadora:

Prof. Dr. Jos´e Lu´ıs Almada G¨untzel Presidente

Prof. Dr. Marcelo de Oliveira Johann Coorientador

(6)
(7)
(8)
(9)
(10)
(11)

Aos meus pais, M´ario e Cristina, pelo amor, carinho e dedicac¸˜ao que nunca faltaram. Tamb´em aos meus irm˜aos, Nat´alia e Vitor, pelo apoio e com-preens˜ao.

Agradec¸o `a minha namorada Juliana pela paciˆencia logo in´ıcio do na-moro, que coincidiu justamente com a etapa final da dissertac¸˜ao.

Ao meu orientador, Jos´e Lu´ıs G¨untzel, pela confianc¸a, dedicac¸˜ao e incentivos presentes durante todo o per´ıodo do mestrado. Agradec¸o tamb´em por sua excelente orientac¸˜ao e rigor exigido, os quais foram fundamentais para o sucesso desta dissertac¸˜ao de mestrado.

Ao meu coorientador, Marcelo de Oliveira Johann, pela grande cola-borac¸˜ao com o trabalho. Em especial `as horas de reuni˜ao via skype, as quais foram fundamentais a este trabalho.

Aos demais membros da banca pelo tempo dedicado para uma revis˜ao rigorosa e pelas sugest˜oes que contribuiram com este trabalho.

Aos colegas do ECL que de alguma forma participaram deste trabalho. Em particular, ao colega Chrystian Guth por todo suporte t´ecnico prestado, essencial para o sucesso deste trabalho.

Ao CNPq, no ˆambito do Programa Nacional de Microeletrˆonica, pelo custeio parcial da execuc¸˜ao deste trabalho (Processo n´umero:

(12)
(13)

Royce would get half a million miles per gal-lon, and it would be cheaper to throw it away than to park it.” (Gordon Moore, 1998).

(14)
(15)

A minimizac¸˜ao da corrente de leakage ´e um passo essencial do projeto de circuitos digitais, uma vez que nas tecnologias CMOS recentes a potˆencia de leakage tornou-se compar´avel `a potˆencia dinˆamica. Gate sizing ´e uma t´ecnica amplamente utilizada para minimizac¸˜ao da potˆencia de leakage de-vido `a sua efic´acia e ao baixo impacto que ele causa no fluxo standard cell. Em tal fluxo, o problema de sizing corresponde a selecionar, para cada porta do circuito, uma combinac¸˜ao de largura de porta e tens˜ao de threshold dis-pon´ıvel na biblioteca de c´elulas, de modo a satisfazer as restric¸˜oes de pro-jeto. A natureza discreta do problema, a qual o torna NP-dif´ıcil, e o grande n´umero de portas nos circuitos contemporˆaneos tˆem motivado a busca por heur´ısticas eficientes, que sejam capazes de resolvˆe-lo em tempo de execuc¸˜ao aceit´avel. Este trabalho apresenta trˆes contribuic¸˜oes principais ao estado da arte. A primeira ´e uma formulac¸˜ao aperfeic¸oada para o problema de sizing discreto baseada em Relaxac¸˜ao Lagrangeana (LR), a qual considera valores m´aximos de slew de entrada e de capacitˆancia de sa´ıda das portas, impostas pelas bibliotecas standard cell. A segunda ´e uma heur´ıstica topol´ogica gulosa para resolver a formulac¸˜ao LR proposta utilizando informac¸˜oes locais para guiar as decis˜oes do algoritmo. A terceira contribuic¸˜ao reside em uma t´ecnica h´ıbrida de trˆes passos para superar algumas das limitac¸˜oes da heur´ıstica to-pol´ogica gulosa. Tal t´ecnica h´ıbrida inicia resolvendo a formulac¸˜ao LR as-sumindo um atraso cr´ıtico ligeiramente maior do que o atraso cr´ıtico-alvo e em seguida, aplica uma heur´ıstica r´apida de recuperac¸˜ao de atraso para que o atraso cr´ıtico-alvo original seja satisfeito. Como terceiro passo, ´e usada uma heur´ıstica de recuperac¸˜ao de potˆencia para reduzir ainda mais a potˆencia de leakage explorando o espac¸o para otimizac¸˜ao deixado pelos dois passos anteriores. Os experimentos pr´aticos foram gerados utilizando-se a infra-estrutura da Competic¸˜ao de Sizing Discreto do ISPD2012, a qual provˆe uma base comum para comparac¸˜oes justas com os trabalhos correlatos mais recen-tes. Os resultados experimentais para a formulac¸˜ao LR usando a heur´ıstica topol´ogica gulosa foram comparados com os resultados obtidos pelas trˆes equipes melhor classificadas na Competic¸˜ao do ISPD 2012, os quais repre-sentavam o estado da arte no momento em que tais experimentos foram rea-lizados. A potˆencia de leakage obtida ´e, em m´edia, 18,9%, 16,7% e 43,8% menor do que aquelas obtidas pelas trˆes melhores equipes da Competic¸˜ao do ISPD2012, respectivamente, ao passo que o tempo de execuc¸˜ao total ´e 38, 31 e 39 vezes menor. Com relac¸˜ao `a t´ecnica h´ıbrida, a potˆencia de leakage obtida ´e, em m´edia, 8,15% menor do que aquela relatada pelo trabalho que representa o estado da arte na ocasi˜ao em que estes experimentos foram rea-lizados, sendo o tempo total de execuc¸˜ao uma ordem de magnitude menor. ´E

(16)

Palavras-chave: Automac¸˜ao de projeto eletrˆonico (EDA). Fluxo de projeto standard cell. Minimizac¸˜ao da potˆencia de leakage. Sizing discreto de portas. Relaxac¸˜ao Lagrangeana.

(17)

Leakage current minimization is an essential step in the design of digital circuits, as leakage power became comparable to dynamic power in recent CMOS technologies. Gate sizing is a widely used technique to minimize le-akage due to its effectiveness and its low impact on the standard cell flow. In such flow, the sizing problem corresponds to selecting, for each gate in the circuit, a combination of gate width and threshold voltage available in the cell library in such a way the design constraints are met. The discrete nature of the problem, which makes it NP-hard, and the large number of gates in contemporary circuits motivate the search for efficient heuristics able to solve it within acceptable runtimes. This work presents three main contributions to the state-of-the-art. The first one is an improved Lagrangian Relaxation (LR) formulation for the discrete gate sizing problem that accounts for the maximum gate input slew and maximum gate output capacitance constraints imposed by standard cell libraries. The second one is a topological greedy heuristic for solving the proposed LR formulation relying on local informa-tion to guide the algorithm’s decisions. The third contribuinforma-tion relies on a three-step hybrid technique to overcome some limitations of the topological greedy heuristic. Such hybrid technique begins by solving the LR formulation by slightly loosening the delay constraint and then applies a fast delay reco-very heuristic to meet the original delay constraint. As a third step, a leakage power recovery heuristic is used to further reduce leakage power by explo-ring the room for optimization left by the two previous steps. The practical experiments relied on the up-to-date ISPD 2012 Discrete Gate Sizing Con-test infrastructure, which provided a common basis for fair comparisons with most recent related works. The experimental results for the LR formulation using the topological greedy heuristic were compared to those from the top three teams of the ISPD 2012 Contest, which represented the state-of-the-art at the time such experiments were conducted. The obtained leakage power is, on average, 18.9%, 16.7% and 43.8% smaller than those obtained by the top three teams of the ISPD 2012 Contest, respectively, while the total runtime is 38, 31 and 39 times shorter. Concerning the hybrid technique, the obtai-ned leakage power is, on average, 8.15% smaller than that reported by the state-of-the-art work at that time, being the total execution time one order of magnitude faster. It is important to highlight that the referred state-of-the-art work had already surpassed the top three teams of the ISPD 2012 Contest. Keywords: Electronic Design Automation (EDA). Standard cell design flow. Leakage power minimization. Discrete gate sizing. Lagrangian Relaxation (LR).

(18)
(19)

Figura 1 Principais componentes de corrente de leakage em um transis-tor MOS em tecnologia nanom´etrica. Adaptado de Rabaey (2009). . . 30 Figura 2 Projec¸˜oes para as potˆencias dinˆamica e est´atica em um chip, baseadas no ITRS (International Technology Roadmap for Semiconduc-tors), atualizac¸˜ao de 2002. Fonte: Kim et al. (2003). . . 31 Figura 3 Projec¸˜oes para as potˆencias dinˆamica e est´atica em uma porta. Nesta figura Vdd ´e a tens˜ao de alimentac¸˜ao e Vth ´e a tens˜ao de threshold.

Fonte: (SAKURAI, 2003). . . 32 Figura 4 Fluxo simplificado de projeto de circuitos digitais baseado em standard cell. Adaptado de: (LEE; GUPTA, 2012). . . 35 Figura 5 Exemplo de circuito combinacional. . . 46 Figura 6 Grafo Ac´ıclico Direcionado (DAG) do circuito combinacional apresentado na Figura 5. . . 47 Figura 7 Caracter´ısticas temporais de uma porta, ilustradas pelo com-portamento de um inversor. A parte superior ilustra a definic¸˜ao de atraso de descida e subida. J´a a parte inferior apresenta uma ilustrac¸˜ao do slew de descida e subida, respectivamente. . . 50 Figura 8 Associac¸˜ao entre timing arc e propriedade unateness. Adap-tado de Bhasker e Chadha (2009). . . 51 Figura 9 Tabela retirada da biblioteca da Competic¸˜ao do ISPD 2012 (ISPD, 2012). Esta tabela cont´em as informac¸˜oes de atraso de descida de uma das entradas de uma porta NAND como func¸˜ao da capacitˆancia de sa´ıda e do slew de entrada. . . 52 Figura 10 (a) Apresenta uma instˆancia do problema do caminho m´ınimo com restric¸˜ao, no qual cada aresta e ∈ E possui um par de valores asso-ciados (ce,te), onde cee terepresentam o custo e tempo necess´ario para

percorrer a aresta e, respectivamente. (b) Exemplo do problema do cami-nho m´ınimo ap´os a aplicac¸˜ao de Relaxac¸˜ao Lagrangeana assumindo um λ = 2. Note que o custo de cada aresta n˜ao ´e mais o par (ce,te), mas sim

o valor ce+ λ te. Adaptado de (AHUJA; MAGNANTI; ORLIN, 1993). . . 59

Figura 11 Exemplo de circuito para facilitar o entendimento da heur´ıstica proposta. . . 93 Figura 12 Evoluc¸˜ao da otimizac¸˜ao do circuito leon3mp fast (649K por-tas) utilizando o escalonamento do fator de importˆancia da potˆencia α. . . 102 Figura 13 Evoluc¸˜ao da otimizac¸˜ao do circuito leon3mp fast (649K

(20)

por-m´aximo slew na otimizac¸˜ao do circuito leon3mp fast (649K portas). . . 104 Figura 15 Comportamento do tempo de execuc¸˜ao da t´ecnica proposta, calculado empiricamente (considerando 60 iterac¸˜oes). . . 105 Figura 16 Explorando o espac¸o de otimizac¸˜ao da heur´ıstica gulosa base-ada em LR em trˆes circuitos da Competic¸˜ao do ISPD 2012. . . 109 Figura 17 Avaliando o impacto da heur´ıstica de recuperac¸˜ao de atraso ap´os a otimizac¸˜ao baseada em LR para o circuito DMA da Competic¸˜ao do ISPD 2012. . . 113 Figura 18 Avaliando o impacto das heur´ısticas de recuperac¸˜ao de atraso e potˆencia ap´os a otimizac¸˜ao baseada em LR para o circuito DMA da Competic¸˜ao do ISPD 2012. . . 115 Figura 19 Comparac¸˜oes das reduc¸˜oes de leakage normalizadas com relac¸˜ao aos melhores resultados obtidos na Competic¸˜ao do ISPD 2012 para cada um dos circuitos fast. . . 117 Figura 20 Comparac¸˜oes das reduc¸˜oes de leakage normalizadas com relac¸˜ao aos melhores resultados obtidos na Competic¸˜ao do ISPD 2012 para cada um dos circuitos slow. . . 118

(21)

Tabela 1 Resumo da infraestrutura utilizada nos Cap´ıtulos 5 e 6. . . 43 Tabela 2 Resumo dos principais e mais recentes trabalhos encontrados na literatura de sizing discreto. . . 78 Tabela 3 Caracter´ısticas dos circuitos da Competic¸˜ao do ISPD 2012 e resultados da t´ecnica proposta. . . 100 Tabela 4 Comparac¸˜ao de potˆencia de Leakage com as trˆes melhores equipes da Competic¸˜ao do ISPD 2012 (resultados das equipes disponi-bilizados em dom´ınio p´ublico por ISPD (2012)). “X” corresponde aos resultados com violac¸˜oes. aMenor valor de leakage obtido em cada cir-cuito, considerando-se todas as equipes competidoras.bM´edia calculada

ignorando-se resultados com violac¸˜oes. . . 101 Tabela 5 Comparac¸˜ao do tempo de execuc¸˜ao com as trˆes melhores equi-pes da Competic¸˜ao de sizing do ISPD 2012 (resultados das equiequi-pes dis-ponibilizados em dom´ınio p´ublico por ISPD (2012)). “X” corresponde aos resultados com violac¸˜oes. Menoracorresponde ao menor valor de le-akageobtido em cada circuito considerando-se todos os competidores.b M´edia calculada ignorando-se resultados com violac¸˜oes. . . 106 Tabela 6 Comparac¸˜ao de potˆencia de Leakage da t´ecnica h´ıbrida com as t´ecnicas estado da arte no momento que os experimentos foram rea-lizados. (*) Resultados do circuito des perf fast foram obtidos por meio do “afrouxamento” de 4% do atraso cr´ıtico-alvo. . . 119 Tabela 7 Comparac¸˜ao do tempo de execuc¸˜ao da t´ecnica h´ıbrida com as t´ecnicas estado da arte no momento que os experimentos foram realiza-dos. . . 120

(22)
(23)

1 TOPOLOGICAL SORT . . . 55 2 STATIC TIMING ANALYSIS . . . 57 3 DISCRETE SIZING BASED ON LR . . . 90 4 SOLVE LRS . . . 95 5 FIX VIOLATIONS . . . 96 6 DISCRETE GATE SIZING . . . 97 7 SOLVE LDP . . . 98 8 DISTRIBUTE TIMING LMs . . . 99 9 DELAY RECOVERY . . . 110 10 COMPUTE SENSITIVITY . . . 111 11 POWER RECOVERY . . . 114

(24)
(25)

CMOS Complementary Metal-Oxide Semiconductor DAG Directed Acyclic Graph

(Grafo Ac´ıclico Direcionado)

DP Dynamic Programming

(Programac¸˜ao Dinˆamica) EDA Eletronic Design Automation

(Automac¸˜ao de Projeto Eletrˆonico) ERC Electrical Rule Checking

(Checagem de Regras El´etricas) ITA Incremental Timing Analysis

(An´alise de Timing Incremental)

ITRS International Technology Roadmap for Semiconductors

KKT Karush-Kuhn-Tucker

LDP Lagrangian Dual Problem (Problema Lagrangeano Dual)

LF Lagrangian Function (Func¸˜ao Lagrangeana) LM(s) Lagrangian Multiplier(s) (Multiplicador(es) de Lagrange) LP Linear Programming (Programac¸˜ao Linear) LR Lagrangian Relaxation (Relaxac¸˜ao Lagrangeana)

LRS Lagrangian Relaxation Subproblem (Subproblema Lagrangeano Relaxado) NLDM Non-Linear Delay Model

PMD Personal Mobile Device (Dispositivo Pessoal Port´atil) RC Resistor-Capacitor

PP Primal Problem

(Problema Primal) RTL Register Transfer Level

(N´ıvel de Transferˆencia de Registradores) SDC Synopsys Design Constraints

SF Sensitivity Function (Func¸˜ao de Sensibilidade)

(26)
(27)

Representac¸˜ao de um circuito digital:

V: Conjunto de v´ertices em um DAG, onde V = X ∪ PI ∪ PO. X: Conjunto de portas l´ogicas em um DAG.

PI: Conjunto de entradas prim´arias. PO: Conjunto de sa´ıdas prim´arias. E: Conjunto de arestas do DAG. S: Nodo fonte do DAG.

T: Nodo terminal do DAG. vi: Um v´ertice i do DAG.

vki: Um v´ertice i em sua opc¸˜ao de implementac¸˜ao k. eji: Uma aresta entre um nodo vje um nodo vi.

An´alise de Timing Est´atica:

aif: Tempo de chegada de descida na sa´ıda de vi.

ari: Tempo de chegada de subida na sa´ıda de vi.

rif: Tempo requerido de descida na sa´ıda de vi.

rri: Tempo requerido de subida na sa´ıda de vi.

sif: Slack de descida na sa´ıda de vi.

sri: Slack de subida na sa´ıda de vi.

dj→if : Atraso de descida entre uma entrada j e a sa´ıda de vi.

drj→i: Atraso de subida entre uma entrada j e a sa´ıda de vi.

slewif: Slew de descida na sa´ıda de vi.

slewr

i: Slew de subida na sa´ıda de vi.

slewfj→i: Slew de descida entre uma entrada j e a sa´ıda de vi.

slewrj→i: Slew de subida entre uma entrada j e a sa´ıda de vi.

capi: Capacitˆancia de sa´ıda de um nodo vi.

max slew: Restric¸˜ao de m´aximo slew imposta pela biblioteca standard cell. max capi: Restric¸˜ao de m´axima capacitˆancia de viimposta pela biblioteca

standard cell.

Ao: Restric¸˜ao de atraso cr´ıtico-alvo.

f anin(vi): Conjunto de portas que s˜ao fanin do nodo vi.

f anout(vi): Conjunto de portas que s˜ao fanout do nodo vi.

Biblioteca standard cell: wi: Largura de vi.

(28)

pi: Consumo de leakage de um nodo vi.

∆d(vki, vli): Variac¸˜ao de atraso resultante da troca da opc¸˜ao de implementac¸˜ao de vi.

∆leakage(vki, vli): Variac¸˜ao de leakage resultante da troca da opc¸˜ao de implementac¸˜ao de vi.

Multiplicadores de Lagrange:

λ : Multiplicador de Lagrange relativo `as restric¸˜oes de timing do circuito. λj→if : Multiplicador de Lagrange associado ao arco j → i de descida de vi.

λrj→i: Multiplicador de Lagrange associado ao arco j → i de subida de vi.

γ : Multiplicador de Lagrange relativo `a restric¸˜ao de m´aximo slew. γif: Multiplicador de Lagrange associado ao slew de descida de vi.

γir: Multiplicador de Lagrange associado ao slew de subida de vi.

β : Multiplicador de Lagrange relativo `as restric¸˜oes de m´axima capacitˆancia de sa´ıda. βi: Multiplicador de Lagrange associado `a capacitˆancia de sa´ıda do nodo vi.

(29)

1 INTRODUC¸ ˜AO . . . 29 1.1 MOTIVAC¸ ˜AO . . . 29 1.2 FLUXO DE PROJETO DE CIRCUITOS DIGITAIS . . . 33 1.3 O PROBLEMA DE SIZING DISCRETO . . . 36 1.4 JUSTIFICATIVA . . . 39 1.5 ESCOPO DESTA DISSERTAC¸ ˜AO . . . 40 1.6 INFRAESTRUTURA EXPERIMENTAL PARA ESTE

TRABA-LHO . . . 41 1.7 PRINCIPAIS CONTRIBUIC¸ ˜OES . . . 43 1.8 ORGANIZAC¸ ˜AO DESSA DISSERTAC¸ ˜AO . . . 43 2 CONCEITOS FUNDAMENTAIS . . . 45 2.1 MODELAGEM DA ESTRUTURA DOS CIRCUITOS DIGITAIS 45 2.2 CARACTER´ISTICAS DAS PORTAS E DOS FLIP-FLOPS . . . 48 2.3 MODELOS DE ATRASO E BIBLIOTECA STANDARD CELL . . . 51 2.4 AN ´ALISE DE TIMING EST ´ATICA . . . 54 2.5 RELAXAC¸ ˜AO LAGRANGEANA . . . 58 3 REVIS ˜AO DOS TRABALHOS CORRELATOS . . . 63 3.1 ABORDAGENS CONT´INUAS . . . 63 3.2 ABORDAGENS DISCRETAS . . . 65 3.2.1 Coudert (1997) . . . 66 3.2.2 Chinnery e Keutzer (2005) . . . 67 3.2.3 Liu e Hu (2010) . . . 69 3.2.4 Huang, Hu e Shi (2011) . . . 70 3.2.5 Ozdal, Burns e Hu (2012) . . . 71 3.2.6 Rahman, Tennakoon e Sechen (2012) . . . 73 3.2.7 Hu et al. (2012) . . . 74 3.2.8 Li et al. (2012) . . . 76 3.2.9 O Estado da arte em Sizing Discreto . . . 77 4 SIZING DISCRETO BASEADO EM RELAXAC¸ ˜AO

LAGRAN-GEANA . . . 81 4.1 FORMULAC¸ ˜AO DO PROBLEMA DE SIZING DISCRETO . . . 81 4.2 SIZING DISCRETO BASEADO EM RELAXAC¸ ˜AO

LAGRAN-GEANA . . . 84 5 HEUR´ISTICA GULOSA BASEADA EM RELAXAC¸ ˜AO

LA-GRANGEANA PARA O PROBLEMA DE SIZING DISCRETO 91

(30)

5.3 RESULTADOS EXPERIMENTAIS . . . 99 5.4 CONCLUS ˜OES . . . 104 6 T ´ECNICA H´IBRIDA PARA O PROBLEMA DE SIZING

DIS-CRETO . . . 107 6.1 AVALIANDO O ESPAC¸ O DE OTIMIZAC¸ ˜AO DA T ´ECNICA

BASEADA EM RELAXAC¸ ˜AO LAGRANGEANA . . . 108 6.2 HEUR´ISTICAS R ´APIDAS PARA RECUPERAC¸ ˜AO DE ATRASO

E POT ˆENCIA . . . 110 6.2.1 Heur´ıstica para Recuperac¸˜ao de Atraso . . . 110 6.2.2 Heur´ıstica para Recuperac¸˜ao de Potˆencia . . . 112 6.3 A T ´ECNICA H´IBRIDA PROPOSTA . . . 114 6.4 RESULTADOS EXPERIMENTAIS . . . 116 6.5 CONCLUS ˜OES . . . 119 7 CONCLUS ˜OES E TRABALHOS FUTUROS . . . 121 7.1 CONCLUS ˜OES . . . 121 7.2 TRABALHOS FUTUROS . . . 122 Referˆencias Bibliogr´aficas . . . 125

(31)

1 INTRODUC¸ ˜AO

Este cap´ıtulo visa apresentar o problema de sizing discreto, objeto desta disssertac¸˜ao, destacando sua relevˆancia para o contexto do projeto de circuitos digitais contemporˆaneos. Inicialmente, s˜ao apresentadas a motivac¸˜ao e uma breve contextualizac¸˜ao do tema proposto. Em seguida, o fluxo de pro-jeto de circuitos digitais contemporˆaneos ´e apresentado, apontando-se onde se encaixa o problema-alvo dessa dissertac¸˜ao. Ap´os, o problema de sizing ´e formalmente definido e os principais desafios s˜ao destacados. Finalmente, s˜ao apresentados a justificativa do tema, o escopo da dissertac¸˜ao, a infraestru-tura experimental, as principais contribuic¸˜oes cient´ıficas e a organizac¸˜ao do texto.

1.1 MOTIVAC¸ ˜AO

A evoluc¸˜ao da tecnologia CMOS (Complementary Metal-Oxide Se-miconductor), com a consequente reduc¸˜ao das dimens˜oes dos componentes, possibilitou a integrac¸˜ao de bilh˜oes de transistores em um ´unico chip. Tal ca-pacidade de integrac¸˜ao foi vital para viabilizar o desenvolvimento dos dispo-sitivos m´oveis pessoais (PMDs - Personal Mobile Devices) contemporˆaneos, tais como smartphones, tablets, consoles de jogos etc, os quais oferecem um n´umero impressionante de funcionalidades. Devido ao fato de serem alimen-tados por bateria e, ao mesmo tempo, terem que executar aplicac¸˜oes compu-tacionalmente intensivas (e.g., codificac¸˜ao e decodificac¸˜ao de fotos e v´ıdeos), os PMDs precisam aliar alto desempenho a baixo consumo de energia e ainda oferecer ao usu´ario servic¸os de qualidade. Ademais, o consumo de energia se tornou uma m´etrica importante em microprocessadores de prop´osito geral, servidores e supercomputadores, conforme ressaltado por Ozdal, Burns e Hu (2011).

Desde o in´ıcio da d´ecada de 1990 o consumo de energia em circuitos integrados CMOS tem sido objeto de intensa investigac¸˜ao1. Contudo, para os nodos tecnol´ogicos anteriores a 90 nm, a componente est´atica da potˆencia era negligenci´avel perante a componente dinˆamica. Foi a partir das tecnologias nanom´etricas (90 nm e mais recentes), caracterizadas por baixas tens˜oes de alimentac¸˜ao (Vdd) e de threshold, e pelo uso de ´oxido de gate extremamente fino, que a componente est´atica passou a ser importante. Por isso, no projeto de circuitos CMOS com tecnologias nanom´etricas ambas componentes da potˆencia devem ser minimizadas. No caso espec´ıfico dos chips que equipam 1Um dos primeiros trabalhos de destaque foi o de Chandrakasan, Sheng e Brodersen (1992).

(32)

os PMDs, tal providˆencia ´e essencial para prolongar a vida ´util da bateria. A dissipac¸˜ao de potˆencia est´atica est´a associada `as chamadas corren-tes de leakage (fuga) do transistor MOS. A Figura 1, apresentada por Rabaey (2009), identifica as principais correntes de leakage na estrutrura de um tran-sistor MOS em tecnologia nanom´etrica, quais sejam:

• Sub-threshold leakage: corrente de fuga entre source e drain quando o transistor MOS est´a operando abaixo de sua tens˜ao de threshold (ou seja, o transistor n˜ao est´a completamente desligado). Esta regi˜ao de operac¸˜ao recebe o nome de invers˜ao fraca (weak inversion).

• Gate leakage: corrente de fuga que flui do gate para o substrato do transistor atrav´es do ´oxido devido aos efeitos de tunelamento.

• Junction leakage: corrente de fuga que flui do source para o substrato e do drain para o substrato devido `as junc¸˜oes pn reversamente polari-zadas.

Figura 1: Principais componentes de corrente de leakage em um transistor MOS em tecnologia nanom´etrica. Adaptado de Rabaey (2009).

De acordo com Rabaey (2009), as duas primeiras componentes exce-dem a terceira (junction leakage) em 3 a 5 ordens de magnitude e por isso, s˜ao bem mais importantes.

Com relac¸˜ao `a contribuic¸˜ao da potˆencia est´atica ao longo da evoluc¸˜ao da tecnologia CMOS, as primeiras projec¸˜oes eram bastante alarmantes e aca-baram induzindo a ind´ustria e a academia a buscar t´ecnicas para reduzir as correntes de leakage e, consequentemente, diminuir o consumo est´atico dos circuitos. A Figura 2 apresenta um gr´afico contendo projec¸˜oes para as

(33)

potˆencias dinˆamica e est´atica em um chip, publicado no trabalho de Kim et al. (2003). Tais projec¸˜oes foram baseadas em dados de 2002, normalizados em relac¸˜ao aos dados do ITRS (International Technology Roadmap for Semi-conductors) de 2001 (conforme apresentado em Assoc. (2002)). Al´em disso, a curva de potˆencia dinˆamica assumiu a Lei de Moore2 para estimar o au-mento do n´umero de transistores por chip.

Figura 2: Projec¸˜oes para as potˆencias dinˆamica e est´atica em um chip, ba-seadas no ITRS (International Technology Roadmap for Semiconductors), atualizac¸˜ao de 2002. Fonte: Kim et al. (2003).

Tamb´em no ano de 2003, as projec¸˜oes para a potˆencia por porta l´ogica indicavam um decr´escimo da componente dinˆamica (em raz˜ao do scaling das dimens˜oes dos transistores) e um incremento significativo da componente est´atica (decorrente do agravamento dos mecanismos de leakage), conforme ilustrado no gr´afico da Figura 3, publicado por Sakurai (2003).

´

E interessante observar que, n˜ao obstante a diminuic¸˜ao da potˆencia dinˆamica por porta, a potˆencia dinˆamica do chip segue aumentando em con-sequˆencia do acr´escimo de transistores por chip, ainda que t´ecnicas de pro-jeto de baixa potˆencia venham sendo aplicadas. Por um lado, a componente 2Em 1965 Gordon Moore publicou um artigo no qual especulava que o n´umero de transistores

(34)

Figura 3: Projec¸˜oes para as potˆencias dinˆamica e est´atica em uma porta. Nesta figura Vdd ´e a tens˜ao de alimentac¸˜ao e Vth ´e a tens˜ao de threshold. Fonte:

(SAKURAI, 2003).

est´atica n˜ao aumentou tanto a ponto de ultrapassar a componente dinˆamica. Segundo Weste e Harris (2010), em 2010 a potˆencia est´atica podia corres-ponder `a terc¸a parte da potˆencia total do chip, o que n˜ao deixa de ser uma parcela significativa. Esta diferenc¸a entre a projec¸˜ao de 2003 e a realidade deveu-se `as alterac¸˜oes das t´ecnicas de fabricac¸˜ao e de projeto dos circuitos. Por exemplo, a introduc¸˜ao da t´ecnica de fabricac¸˜ao de transistores com gate met´alico e isolante com alta constante diel´etrica (high-k), a partir de 2007, proporcionou uma reduc¸˜ao dr´astica na componente de gate leakage3, con-forme previsto no gr´afico da Figura 2. Por outro lado, as sucessivas reduc¸˜oes das tens˜oes de alimentac¸˜ao e de threshold promovidas para viabilizar as tec-nologias nanom´etricas mais recentes causaram o aumento da componente de sub-threshold leakage previsto no gr´afico da Figura 2, transformando-a na principal componente da potˆencia est´atica.

A Equac¸˜ao 1.1, obtida de Keating et al. (2007), apresenta uma boa a-proximac¸˜ao da corrente de sub-threshold em um transistor MOS. Note que a corrente de sub-threshold tem dependˆencia linear com a largura (W ) do tran-sistor (e consequentemente da porta) e dependˆencia exponencial em relac¸˜ao `a tens˜ao de threshold do transistor, representada na Equac¸˜ao 1.1 por Vth.

3De acordo com Rabaey (2009), fabricantes como a IBM e Intel adotaram o uso de di´oxido

de hafnium(HfO2) como material diel´etrico a partir dos processos CMOS de 45nm (AUTH et

(35)

Isub= µCoxVt2

W L.e

Vgs−Vth

nVt (1.1)

Dentre as t´ecnicas de projeto empregadas para reduzir a corrente de sub-threshold leakage nos circuitos digitais contemporˆaneos destacam-se o uso de diferentes tens˜oes de alimentac¸˜ao (Multi-Vdd), power gating, gate

si-zing(dimensionamento de portas) e o uso de diferentes tens˜oes de threshold (Multi-Vt) (KEATING et al., 2007). Por serem minimamente intrusivas (pois

implicam em um menor impacto no fluxo de projeto de circuitos digitais) as duas ´ultimas s˜ao amplamente usadas e, por essa raz˜ao, s˜ao objeto de es-tudo do presente trabalho. Dimensionamento de portas (ou transistores) im-plica no uso de portas (ou transistores) com diferentes larguras de canal em um mesmo circuito, resultando em um impacto linear na corrente de sub-threshold. Multi-Vt, por sua vez, baseia-se na uso de portas (ou transistores)

com diferentes tens˜oes de threshold, o que causa impacto exponencial na cor-rente de leakage de sub-threshold.

Dada a importˆancia de se minimizar a potˆencia est´atica, principal-mente em dispositivos m´oveis, cuja principal componente est´a associada `a sub-threshold leakage, este trabalho tem como foco a minimizac¸˜ao de lea-kage4em circuitos digitais.

1.2 FLUXO DE PROJETO DE CIRCUITOS DIGITAIS

O grande n´umero de portas l´ogicas nos circuitos digitais contemporˆa-neos exige a adoc¸˜ao de um fluxo de projeto com ferramentas de automac¸˜ao de projeto eletrˆonico (EDA - Electronic Design Automation). A grande maioria dos projetos digitais usa o estilo semi-custom5, o qual se baseia em biblioteca

standard cell. Uma biblioteca standard cell re´une os leiautes pr´e-projetados de portas l´ogicas, flip-flops, latches e eventualmente, outros elementos mais complexos (e.g., multiplexador 2-1, full-adder etc), referidos por c´elulas. Uma biblioteca standard cell tamb´em cont´em diversas informac¸˜oes referen-tes a cada c´elula como informac¸˜oes geom´etricas (e.g., leiaute, dimens˜oes), de atraso, de potˆencia, bem como outras caracter´ısticas el´etricas importantes para garantir o sucesso da s´ıntese do circuito. Desta forma, o uso de biblio-4Deste ponto em diante, o termo leakage ser´a utilizado para fazer referˆencia ao somat´orio das

trˆes componentes de leakage.

5O estilo de projeto full-custom, por outro lado, ´e usado principalmente no projeto de

micro-processadores e FPGAs, uma vez que o alto custo destes projetos pode ser amortizado com um grande volume de produc¸˜ao (KAHNG et al., 2011).

(36)

teca standard cell visa reduzir o esforc¸o de projeto e o tempo para o mercado (time-to-market)6e, consequentemente, o prec¸o final do produto (KAHNG et al., 2011).

O fluxo de projeto de um circuito integrado digital ´e composto por di-versas etapas, partindo da especificac¸˜ao e descric¸˜ao em alto-n´ıvel de abstrac¸˜ao at´e chegar a uma descric¸˜ao que permita a implementac¸˜ao f´ısica (etapas de baixo-n´ıvel). As etapas de alto-n´ıvel s˜ao respons´aveis principalmente pela especificac¸˜ao das func¸˜oes e requisitos do sistema (e.g., potˆencia, desempe-nho, ´area, entre outros), definic¸˜ao da arquitetura b´asica do sistema (e.g., tama-nho das mem´orias, definic¸˜ao dos blocos de propriedade intelectual (IP), etc). Em seguida, os diferentes m´odulos do sistema s˜ao descritos em n´ıvel de trans-ferˆencia de registradores (RTL) atrav´es do uso de linguagens de descric¸˜ao de hardware(HDL) apropriadas, tais como Verilog e VHDL.

A Figura 4 apresenta as etapas que caracterizam o fluxo de projeto baseado em standard cell, iniciando pela s´ıntese l´ogica e passando pelas eta-pas relacionadas `a chamada s´ıntese f´ısica. A seguir, s˜ao descritas as ac¸˜oes realizadas em cada uma das etapas:

• S´ıntese L´ogica (Logic Synthesis): Etapa respons´avel pela convers˜ao da descric¸˜ao RTL para um conjunto de portas l´ogicas e elementos se-quenciais e mapeamento deste conjunto para as c´elulas dispon´ıveis na biblioteca standard cell;

• Planejamento Topol´ogico (Floorplanning): Determina o formato (lei-aute) dos blocos do chip a partir das c´elulas instanciadas na etapa ante-rior, baseando-se nas informac¸˜oes da biblioteca standard cell. Tamb´em s˜ao determinadas as dimens˜oes do chip, localizac¸˜ao das portas de en-trada e sa´ıda etc;

• Posicionamento (Placement): Define a localizac¸˜ao espacial dos leiau-tes das c´elulas que foram escolhidos na etapa anterior;

• S´ıntese da ´Arvore de Rel´ogio (Clock Tree Synthesis): Cria a ´arvore de distribuic¸˜ao do sinal de rel´ogio para os elementos sequenciais do pro-jeto, visando atender alguns requisitos, como, por exemplo, minimizar o skew7;

• Roteamento (Routing): Respons´avel por criar as conex˜oes entre as c´elulas instanciadas no projetos, utilizando diferentes camadas de metal e vias. O objetivo ´e satisfazer as restric¸˜oes de timing do projeto e, ao mesmo tempo, minimizar o comprimento m´edio das conex˜oes; 6Corresponde ao tempo entre a concepc¸˜ao e a comercializac¸˜ao do produto. 7Diferenc¸a do tempo de chegada do sinal de rel´ogio entre os elementos sequenciais.

(37)

• Sign-off: Esta etapa tem como principal objetivo a verificac¸˜ao das regras de desenho e da funcionalidade. Ela tamb´em confere se as restric¸˜oes de m´aximo slew, m´axima capacitˆancia e m´aximo fanout im-postas pela biblioteca standard cell est˜ao dentro dos limites especifica-dos8.

Figura 4: Fluxo simplificado de projeto de circuitos digitais baseado em stan-dard cell. Adaptado de: (LEE; GUPTA, 2012).

Diversas t´ecnicas de otimizac¸˜ao s˜ao utilizadas durante o fluxo de pro-jeto para diferentes objetivos, tais como minimizar skew do sinal de rel´ogio, minimizar ´area, minimizar atraso, minimizar potˆencia, dentre outros. Por´em, dentre todas as t´ecnicas, gate sizing est´a entre as mais utilizadas, pois al´em de ser extremamente efetiva, causa um impacto muito pequeno no fluxo de projeto (LEE; GUPTA, 2012). Assim, gate sizing ´e usada em diversas etapas do fluxo para corrigir problemas de setup e hold de elementos sequenciais, reduzir atrasos (para satisfazer a restric¸˜oes de timing), dentre outros. Recen-temente, gate sizing passou a ser amplamente utilizada para buscar um melhor compromisso (tradeoff ) entre leakage e atraso do circuito (ABRISHAMI et al., 2011).

8O nome da subetapa respons´avel por essas conferˆencias ´e ERC - Electrical Rule Checking

(38)

1.3 O PROBLEMA DE SIZING DISCRETO

Gate sizing, ou somente sizing, ´e uma t´ecnica amplamente usada na otimizac¸˜ao de circuitos digitais, conforme j´a descrito na sec¸˜ao anterior. O problema (ou t´ecnica) de sizing consiste na escolha dos parˆametros das portas l´ogicas, tais como largura (w) e tens˜ao de threshold (u), visando otimizar desempenho, potˆencia ou ´area do circuito, e ao mesmo tempo respeitar as restric¸˜oes especificadas no projeto9(GUPTA et al., 2010) (KAHNG; KANG,

2012).

O problema de sizing de circutos digitais pode ser sub-dividido em sizingcont´ınuo e sizing discreto. O primeiro caso considera que a largura e a tens˜ao de threshold das portas s˜ao cont´ınuas e portanto, podem assumir quaisquer valores dentro de um intervalo v´alido. O segundo, por outro lado, considera que a largura e a tens˜ao de threshold das portas s´o podem assumir valores pertencentes a um conjunto pr´e-determinado, no caso, uma biblioteca de c´elulas10.

Devido `a sua importˆancia como t´ecnica de otimizac¸˜ao no fluxo de pro-jeto de circuitos digitais, o problema de sizing ´e um t´opico extensivamente pesquisado desde meados da d´ecada de 1980 e uma grande variedade de t´ecnicas pode ser encontrada na literatura. A grande maioria destas t´ecnicas utiliza sizing cont´ınuo (e.g., Fishburn e Dunlop (1985) Chen, Chu e Wong (1999)), que n˜ao se correlaciona adequadamente com o fluxo de projeto ba-seado em standard cell, conforme ser´a detalhado mais adiante.

De acordo com o que foi frisado na Sec¸˜ao 1.1, a minimizac¸˜ao de lea-kage´e essencial tanto no projeto de PMDs, quanto no projeto de microproces-sadores de prop´osito geral. Para tais projetos, o problema de sizing tem dois objetivos conflitantes: minimizar o leakage e, ao mesmo tempo, reduzir o atraso para garantir que o desempenho do circuito satisfac¸a `as especificac¸˜oes. O problema de sizing cont´ınuo para ajustar a largura das portas do circuito visando minimizar o consumo de leakage pode ser formalmente defi-nido pelo conjunto de Equac¸˜oes 1.2 a 1.4 (MAHESHWARI; SAPATNEKAR, 1998). O objetivo do problema consiste em encontrar a largura das portas do circuito (~w) para minimizar o consumo total de leakage (Equac¸˜ao 1.2) e 9A escolha dos parˆametros pode ocorrer em diversas granularidades como, por exemplo, no

n´ıvel de transistor, modificando a largura de cada transistor independentemente dos demais, ou no n´ıvel de porta l´ogica, na qual todos os transistores da porta s˜ao modificados simultaneamente. Isto vale tamb´em para atribuic¸˜ao da tens˜ao de threshold. Em projetos baseados em bibliotecas standard cell, a granularidade ´e definida no n´ıvel de porta e somente as opc¸˜oes dispon´ıveis na biblioteca podem ser utilizadas.

10Alguns trabalhos encontrados na literatura denominam este problema como selec¸˜ao da opc¸˜ao

de implementac¸˜ao das portas (gate implementation selection) (LI et al., 2012) (HUANG; HU; SHI, 2011).

(39)

garantir que o atraso m´aximo do circuito n˜ao seja maior que o per´ıodo de rel´ogio especificado (Equac¸˜ao 1.3). Al´em disso, a restric¸˜ao representada pela Equac¸˜ao 1.4 especifica a largura m´ınima e a largura m´axima de uma porta permitida pela tecnologia utilizada. Note que leakage e atraso s˜ao objetivos conflitantes, ou seja, a reduc¸˜ao da largura de uma porta resulta em menor le-akagemas em contrapartida, acarreta em aumento do atraso da porta, o que pode tornar o circuito mais lento.

Minimize : Power(~w) (1.2)

Sujeito a : Delay(~w) ≤ Ao (1.3)

Wmin≤ wgate≤ Wmax, ∀gate ∈ Circuit (1.4)

Por um lado, a abordagem cont´ınua do problema de sizing permite o uso de t´ecnicas consolidadas, nas quais a soluc¸˜ao ´otima do problema pode ser encontrada11. Por outro lado, o projeto de circuitos digitais modernos ´e baseado em bibliotecas standard cell, as quais s˜ao compostas por um n´umero limitado de opc¸˜oes de implementac¸˜ao por porta. Poucos trabalhos de sizing encontrados na literatura resolvem o problema diretamente no dom´ınio dis-creto (e.g., Coudert (1997), Li et al. (2012), Ozdal, Burns e Hu (2012)), o qual ´e provado ser NP-dif´ıcil12(LI, 1994) e, desse modo, ´e necess´ario o uso

de heur´ısticas eficientes para encontrar soluc¸˜oes de qualidade dentro de um tempo de execuc¸˜ao vi´avel. A formulac¸˜ao matem´atica do problema de sizing discreto para minimizar leakage ´e apresentada nas Equac¸˜oes 1.5 a 1.7. Note que o parˆametro de configurac¸˜ao (largura wgate) de cada porta ´e limitado `as

opc¸˜oes discretas Wgate, onde cada porta possui um conjunto de opc¸˜oes de

implementac¸˜ao dispon´ıvel na biblioteca13.

11Abordagens cont´ınuas permitem o uso de modelos convexos de atraso, os quais tem como

vantagem permitir que se averigue a qualidade da soluc¸˜ao, j´a que possuem a propriedade de que todo m´ınimo local da func¸˜ao ´e tamb´em um m´ınimo global. Em outras palavras, ´e poss´ıvel saber qu˜ao longe do m´ınimo global do problema se est´a e obter um certificado de qualidade da soluc¸˜ao encontrada (BOYD; VANDENBERGHE, 2004).

12Refere-se `a classe de problemas cuja soluc¸˜ao ´otima n˜ao pode ser encontrada em tempo

po-linomial em relac¸˜ao ao tamanho da entrada do problema. Ou seja, problemas cuja complexidade de tempo n˜ao pode ser definida por O(nk), onde n ´e o tamanho da entrada do problema e k uma

constante (CORMEN et al., 2009).

13No caso da inclus˜ao da possibilidade da escolha da tens˜ao de threshold de cada porta,

deve-se incluir a restric¸˜ao ugate∈ Ugate, a qual define que a porta s´o pode assumir uma das tens˜oes de

(40)

Minimize : Power(~w) (1.5)

Sujeito a : Delay(~w) ≤ Ao (1.6)

wgate∈ Wgate, ∀gate ∈ Circuit (1.7)

Ademais, o problema de sizing discreto apresenta diversos desafios quando aplicado ao projeto de circuitos industriais contemporˆaneos. Segundo Ozdal et al. (2012), os principais desafios s˜ao:

• Parˆametros discretos: Como o projeto de circuitos digitais contem-porˆaneos segue a metodologia de projeto standard cell, o uso de t´ecnicas de sizing que assumem os parˆametros cont´ınuos requer o mapeamento das soluc¸˜oes encontradas para as dispon´ıveis na biblioteca de c´elulas, o que pode levar a soluc¸˜oes sub´otimas;

• Modelos de atraso das portas: O grande n´umero de parˆametros de uma porta e uso de t´ecnicas de leiaute espec´ıficas, como transistor fol-ding(CHINNERY; KEUTZER, 2005), resulta em modelos de atraso complexos. Como consequˆencia, nem mesmo modelos de atraso con-vexos s˜ao suficientemente precisos, visto que o atraso de uma porta n˜ao ´e func¸˜ao convexa14de sua largura, tampouco da tens˜ao de threshold; • Restric¸˜oes temporais complexas: Circuitos modernos apresentam

v´a-rios dom´ınios de rel´ogio, falsos caminhos, etc. Al´em disso, o atraso das interconex˜oes ´e cada vez mais significativo em nodos tecnol´ogicos nanom´etricos e portanto, o uso de modelos simplificados (e.g., Elmore (ELMORE, 1948)) n˜ao provˆe a precis˜ao requerida pelos projetos con-temporˆaneos;

• Efeitos do slew: O atraso das portas em uma biblioteca de c´elulas ´e func¸˜ao da capacitˆancia de sa´ıda e do slew de entrada da porta. Portanto, ´e essencial considerar o slew durante o processo de otimizac¸˜ao. Al´em disso, h´a restric¸˜oes de m´aximo slew que devem ser consideradas; • Escalabilidade das t´ecnicas de otimizac¸˜ao: Alguns blocos dentro de

um circuito digital podem ter centenas de milhares (ou alguns milh˜oes) de portas e portanto, as t´ecnicas de sizing devem ser escal´aveis para lidar com circuitos da ordem de milh˜oes de portas.

14Uma func¸˜ao convexa possui a propriedade de que todo m´ınimo local da func¸˜ao ´e tamb´em

(41)

1.4 JUSTIFICATIVA

Conforme mencionado na sec¸˜ao anterior, o problema de sizing dis-creto ´e NP-dif´ıcil (LI, 1994). Por este motivo, as pesquisas neste tema tˆem se concentrado na busca por heur´ısticas eficientes. Recentemente, o inte-resse por sizing discreto intensificou-se tanto por parte da academia quanto da ind´ustria, na medida em que ele emergiu como uma opc¸˜ao efetiva para reduc¸˜ao de leakage em circuitos nanom´etricos projetados com o fluxo stan-dard cell. Prova deste interesse ´e o grande n´umero de artigos cient´ıficos so-bre o tema que tem sido publicados recentemente nos anais de conferˆencias importantes na ´area de EDA, tais como ICCAD15(IEEE/ACM International Conference on Computer-Aided Design), DAC (ACM/EDAC/IEEE Design Automation Conference), DATE (Design, Automation & Test in Europe), ISLPED (International Symposium on Low Power Electronics and Design), ISPD (ACM/SIGDA International Symposium on Physical Design), com au-toria de membros da academia e da ind´ustria.

Um dos problemas enfrentados pelos pesquisadores reside na ausˆencia de uma infraestrutura comum que permita comparar justamente um conjunto de soluc¸˜oes para um determinado problema. Para o problema em quest˜ao, tal infraestrutura deve ser composta por um conjunto de benchmarks e uma biblioteca standard cell realistas que capturem os principais detalhes do pro-blema. Neste sentido, o trabalho proposto por Gupta et al. (2010) tenta resol-ver tal problema, ao propor um m´etodo para a criac¸˜ao de uma infraestrutura de benchmarksque permita encontrar a soluc¸˜ao ´otima de cada circuito. Infeliz-mente, este trabalho apresenta duas limitac¸˜oes s´erias, quais sejam, o n´umero reduzido de portas dos circuitos (em m´edia 10K), e o modelo de atraso sim-plificado, o qual n˜ao considera slew. Por outro lado, a falta de uma soluc¸˜ao definitiva para o problema de sizing discreto e a ausˆencia de uma infraestru-tura de comparac¸˜ao adequada motivou os pesquisadores da Intel a organiza-rem a Competic¸˜ao de Sizing Discreto (OZDAL et al., 2012), realizada na mais recente edic¸˜ao do ISPD, em 2012. Tal infraestrutura permite comparar dife-rentes t´ecnicas de sizing discreto sob uma infraestrutura realista que captura a maior parte dos desafios listados na sec¸˜ao anterior.

Como em outras competic¸˜oes (e.g., Competic¸˜ao de roteamento reali-zada pelo ISPD nos anos de 2007 e 2008), a disponibilidade de benchmarks realistas proporciona a oportunidade de confrontar diferentes t´ecnicas sob uma mesma infraestrutura. Desde a Competic¸˜ao de Sizing Discreto do ISPD 2012 (marc¸o 2012), a qual proporcionou os resultados das equipes

partici-15No ICCAD do ano de 2011, o artigo de sizing discreto de pesquisadores da Intel (OZDAL;

(42)

pantes, novos trabalhos foram publicados (e.g., Hu et al. (2012), Li et al. (2012), Livramento et al. (2013)), os quais fizeram uso da infraestrutura dis-ponibilizada. Tais trabalhos ampliaram o conhecimento sobre como enfrentar o problema de forma mais eficiente, e por isso obtiveram valores de leakage e tempos de execuc¸˜ao ainda menores do que aqueles apresentados pelos com-petidores.

Por outro lado, apesar de tal evoluc¸˜ao, ainda n˜ao h´a um consenso sobre qual t´ecnica de sizing discreto ´e a melhor, visto que nenhuma das t´ecnicas apresentadas at´e o momento mostrou-se predominante. Por este motivo, a pesquisa nesse tema continua intensa. O mesmo grupo de pesquisadores da Intel est´a organizando uma segunda edic¸˜ao da Competic¸˜ao de sizing discreto, associada ao ISPD do corrente ano (2013).

1.5 ESCOPO DESTA DISSERTAC¸ ˜AO

Uma vez que o projeto de circuitos digitais segue o fluxo standard cell, ´e essencial que as t´ecnicas de sizing trabalhem no dom´ınio discreto, ao inv´es de considerar larguras e/ou tens˜oes de threshold dentro de um intervalo cont´ınuo. Ademais, as t´ecnicas que abordam o problema no dom´ınio cont´ınuo fazem uso de modelos de atraso simplificados, os quais n˜ao modelam com precis˜ao o atraso das portas das bibliotecas standard cell (OZDAL; BURNS; HU, 2012). O escopo deste trabalho ´e bastante semelhante ao definido na infraestrutura da Competic¸˜ao de Sizing Discreto do ISPD 2012 (OZDAL et al., 2012), visto que os principais desafios de sizing no fluxo de projeto stan-dard cells˜ao capturados, permitindo a comparac¸˜ao direta e justa de diferentes t´ecnicas.

Este trabalho aborda o problema de sizing diretamente no dom´ınio dis-creto, objetivando minimizar a potˆencia de leakage, enquanto considerando restric¸˜oes de timing definidas por um atraso cr´ıtico-alvo. Tal minimizac¸˜ao ´e feita escolhendo, para cada porta l´ogica combinacional do circuito, uma opc¸˜ao de implementac¸˜ao (combinando uma opc¸˜ao de largura e uma opc¸˜ao de tens˜ao de threshold) dispon´ıvel em bibliotecas standard cell. Os modelos de atraso e slew aqui utilizados est˜ao capturados diretamente pelas tabelas asso-ciadas `a biblioteca de c´elulas16, os quais s˜ao func˜ao da capacitˆancia de sa´ıda e do slew de entrada da porta. Neste trabalho s˜ao consideradas as restric¸˜oes de m´axima capacitˆancia de sa´ıda das portas e m´aximo slew na entrada das portas, ambas comumente definidas nas bibliotecas standard cell contem-porˆaneas. As interconex˜oes do circuito s˜ao modeladas como capacitˆancias 16Mais detalhes sobre as tabelas de atraso das bibliotecas de c´elulas s˜ao apresentados na Sec¸˜ao

(43)

concentradas (lumped) sem resistˆencia, ou seja, sem atraso.

Por quest˜oes de infraestrutura, n˜ao faz parte do escopo dessa dissertac¸˜ao a escolha da largura e da tens˜ao de threshold de elementos sequenciais, como flip-flops e registradores, visto que no fluxo de projeto digital esta escolha se restringe aos elementos combinacionais17 (SAPATNEKAR, 2004). Tam-pouco se considera tempo de setup e hold desses elementos.

1.6 INFRAESTRUTURA EXPERIMENTAL PARA ESTE TRABALHO

O presente trabalho faz uso da infraestrutura disponibilizada pela Com-petic¸˜ao de Sizing Discreto do ISPD 2012, a qual ´e composta por:

• Um conjunto de 7 circuitos, cujos tamanhos variam de 25K a 959K por-tas, cada circuito sujeito a duas restric¸˜oes diferentes de atraso cr´ıtico-alvo, indentificadas como slow e fast;

• Uma biblioteca standard cell realista, composta por 11 portas combi-nacionais de func¸˜oes l´ogicas diferentes e 1 flip-flop;

• Ferramenta de an´alise de timing est´atica Synopsys PrimeTime R

(SYNOPSYS, 2012)18;

• Um conjunto de scripts para validar os resultados finais de timing, slew e capacitˆancia, os quais invocam a ferramenta Synopsys PrimeTime .R

Estes scripts calculam o total de violac¸˜oes de m´aximo slew na entrada das portas e de m´axima capacitˆancia de sa´ıda das portas, al´em do con-sumo total de leakage do circuito.

Os circuitos s˜ao derivados dos benchmarks do IWLS 2005 (SYNTHE-SIS, 2012) e cada circuito inclui uma descric¸˜ao na linguagem Verilog, um arquivo no formato IEEE SPEF (Standard Parasitic Exchange Format) des-crevendo as capacitˆancias parasitas das interconex˜oes, al´em das restric¸˜oes de timingno formato SDC (Synopsys Design Constraints).

A biblioteca de c´elulas ´e definida conforme o padr˜ao industrial Liberty (LIBERTY, 2012), no qual cada porta possui tabelas (lookup tables) contendo informac¸˜oes de atraso, tempo de transic¸˜ao do sinal (slew) de sa´ıda, m´axima capacitˆancia de sa´ıda e potˆencia de leakage. Cada uma das 11 portas combi-nacionais da biblioteca possui 3 opc¸˜oes de tens˜ao de threshold e 10 opc¸˜oes de 17Diversas t´ecnicas podem ser utilizadas simultaneamente com a t´ecnica de sizing para

otimizac¸˜ao dos elementos sequenciais, tais como retiming (MAHESHWARI; SAPATNEKAR, 1998) e otimizac¸˜ao de skew (CHUANG; SAPATNEKAR; HAJJ, 1993) (ROY et al., 2008a).

18Acesso (restrito), mediante assinatura de termo de compromisso (NDA - Non-Disclosure

(44)

largura, totalizando 30 opc¸˜oes de implementac¸˜ao para cada porta combinaci-onal. J´a o flip-flop possui apenas uma opc¸˜ao de implementac¸˜ao. Al´em disso, a biblioteca tamb´em inclui um limite global (restric¸˜ao) de m´aximo slew nas entradas/sa´ıdas das portas e do circuito.

Foram assumidas algumas simplificac¸˜oes no problema, como modelo de capacitˆancia concentrada e atraso nulo para as interconex˜oes. Tamb´em os tempos de setup e hold dos registradores foram desconsiderados.

As comparac¸˜oes entre as diferentes t´ecnicas s˜ao feitas usando os re-sultados de leakage sem violac¸˜oes. As violac¸˜oes consideradas s˜ao:

• Ocorrˆencia de slack negativo (i.e., atraso cr´ıtico menor ou igual ao atraso cr´ıtico-alvo);

• Ocorrˆencia de slews acima do limite especificado pela biblioteca (no caso da biblioteca da Competic¸˜ao, o valor ´e 300ps);

• Ocorrˆencia de uma ou mais portas apresentando capacitˆancia de sa´ıda maior do que aquela especificada na biblioteca.

As violac¸˜oes de timing na Competic¸˜ao do ISPD 2012 s˜ao calculadas atrav´es do somat´orio dos slacks negativos nas sa´ıdas prim´arias do circuito, de-finido como TNS (Total Negative Slack). As demais violac¸˜oes s˜ao calculadas atrav´es do somat´orio da quantidade que ultrapassa os limites especificados na biblioteca standard cell.

Para c´alculo das informac¸˜oes de timing do circuito durante a execuc¸˜ao das t´ecnicas de otimizac¸˜ao propostas nesse trabalho, foi implementada uma ferramenta de an´alise de timing est´atica em conformidade com bibliotecas standard cellrealistas, a qual foi validada frente `a ferramenta industrial Sy-nopsys PrimeTime (SYNOPSYS, 2012). Esta ferramenta foi utilizada paraR

c´alculo das informac¸˜oes de timing durante a execuc¸˜ao dos algoritmos presen-tes nesta dissertac¸˜ao, enquanto a ferramenta Synopsys PrimeTime (SYNOPSYS,R

2012) foi utilizada somente com prop´osito de validac¸˜ao dos resultados, con-forme definido na Competic¸˜ao do ISPD 2012. Os resultados experimen-tais apresentados nessa dissertac¸˜ao, nos Cap´ıtulos 5 e 6, foram executados em uma m´aquina com 2 CPUs Intel XeonR E5620 @ 2.4GHz com 12GBR

RAM.

Com o intuito de facilitar a compreens˜ao dos experimentos realizados nesse trabalho, a Tabela 1 resume a infraestutura dos experimentos apresen-tados nos Cap´ıtulos 5 e 6.

(45)

Tabela 1: Resumo da infraestrutura utilizada nos Cap´ıtulos 5 e 6.

Resumo da Infraestrutura Cap´ıtulo 5 Cap´ıtulo 6

Biblioteca da Competic¸˜ao ISPD 2012 X X

Benchmarks da Competic¸˜ao ISPD 2012 X X

Synopsys PrimeTime R X X

Scripts da Competic¸˜ao ISPD 2012 X X

1.7 PRINCIPAIS CONTRIBUIC¸ ˜OES

O presente trabalho apresenta como principais contribuic¸˜oes cient´ıfi-cas:

• Uma nova formulac¸˜ao do problema de sizing discreto utilizando a t´ec-nica de Relaxac¸˜ao Lagrangeana (LR - Lagrangian Relaxation). As no-vidades da formulac¸˜ao LR proposta residem na incorporac¸˜ao das restri-c¸˜oes de m´axima capacitˆancia e m´aximo slew — impostas pelas biblio-tecas standard cell — na func¸˜ao objetivo (em adic¸˜ao `as restric¸˜oes de ti-mingusualmente relaxadas). O trabalho associado a esta contribuic¸˜ao, incluindo os resultados obtidos, foi apresentado oralmente e publicado nos anais da IEEE International Conference on Electronics, Circuits and Systems— ICECS 2012 (LIVRAMENTO et al., 2012b);

• Uma heur´ıstica gulosa para resolver a formulac¸˜ao LR proposta (con-forme item anterior), a qual baseia-se em informac¸˜oes locais para guiar as decis˜oes. Um artigo relatando esta heur´ıstica e os resultados alcan-c¸ados foi apresentado oralmente e publicado nos anais da conferˆencia Design, Automation & Test in Europe— DATE 2013 (LIVRAMENTO et al., 2013);

• Uma t´ecnica h´ıbrida para sizing discreto que tem por objetivo contor-nar as limitac¸˜oes resultantes do uso exclusivo de LR. Um artigo para peri´odico com esta contribuic¸˜ao e com os resultados obtidos est´a em fase de preparac¸˜ao.

As contribuic¸˜oes espec´ıficas referentes a cada um dos artigos s˜ao apre-sentadas nos Cap´ıtulos 4, 5 e 6, respectivamente.

1.8 ORGANIZAC¸ ˜AO DESSA DISSERTAC¸ ˜AO

Esta dissertac¸˜ao est´a organizada da seguinte forma.

O Cap´ıtulo 2 apresenta os conceitos fundamentais necess´arios para o entendimento desta dissertac¸˜ao, tornando-a auto-contida.

(46)

No Cap´ıtulo 3 s˜ao apresentadas as diferentes t´ecnicas para resolver o problema de sizing em circuitos digitais, com especial atenc¸˜ao `aquelas mais recentes que abordam o problema diretamente no domin´ınio discreto (sizing discreto).

J´a o Cap´ıtulo 4 detalha o trabalho Livramento et al. (2012b), apre-sentando a formulac¸˜ao proposta para o problema-alvo, a qual ´e baseada em Relaxac¸˜ao Lagrangeana.

O Cap´ıtulo 5 descreve o trabalho Livramento et al. (2013), o qual prop˜oe uma heur´ıstica gulosa baseada em Relaxac¸˜ao Lagrangeana para re-solver o problema-alvo e apresenta resultados experimentais.

No Cap´ıtulo 6 ´e apresentada uma t´ecnica h´ıbrida para resolver o pro-blema-alvo, bem como os resultados experimentais obtidos. Tal t´ecnica h´ı-brida ser´a descrita em artigo para peri´odico, em preparac¸˜ao.

Finalmente, as conclus˜oes e perspectivas de trabalhos futuros s˜ao apre-sentados no Cap´ıtulo 7.

(47)

2 CONCEITOS FUNDAMENTAIS

Este cap´ıtulo apresenta a terminologia associada `a estrutura e `as ca-racter´ısticas temporais dos circuitos digitais, al´em de uma breve introduc¸˜ao `a Relaxac¸˜ao Lagrangeana, conceitos necess´arios para a compreens˜ao das t´ec-nicas de minimizac¸˜ao de leakage descritas nos Cap´ıtulos 4, 5 e 6.

2.1 MODELAGEM DA ESTRUTURA DOS CIRCUITOS DIGITAIS

Atualmente, a metodologia de projeto digital predominante baseia-se no modelo de circuitos sequenciais s´ıncronos (RABAEY; CHANDRAKA-SAN; NIKOLIC, 2003), nos quais o sincronismo ´e proporcionado por um si-nal c´ıclico e mon´otono denominado rel´ogio (clock). Os circuitos sequenciais s´ıncronos s˜ao compostos por portas l´ogicas, elementos de armazenamento, os quais podem ser flip-flops ou latches, e conex˜oes (fios). O modelo mais sim-ples utiliza somente um sinal de rel´ogio para sincronizar todos os elementos de armazenamento, ao passo que modelos mais sofisticados utilizam dois ou mais sinais divididos em diferentes regi˜oes do circuito. Neste ´ultimo caso, ´e poss´ıvel dividir o circuito em partes que operem em frequˆencias de rel´ogio diferentes visando reduzir o consumo de energia.

Os elementos sequenciais criam barreiras temporais, uma vez que cap-turam os sinais que est˜ao em suas entradas de dados no momento em que s˜ao ativados pelo sinal de rel´ogio. Assim, em um circuito sequencial ´e poss´ıvel identificar blocos puramente combinacionais (i.e., compostos apenas por por-tas l´ogicas e conex˜oes, e sem realimentac¸˜oes), mediante a identificac¸˜ao dos elementos de armazenamento de entrada e dos elementos de armazenamento de sa´ıda. Em outras palavras, um circuito sequencial s´ıncrono pode ser visto como um conjunto de blocos combinacionais interligados por elementos de armazenamento. Tal estrutura provˆe uma decomposic¸˜ao natural do circuito, a qual ´e explorada para viabilizar a manipulac¸˜ao de projetos com grande n´umero de componentes. Al´em disso, a decomposic¸˜ao em blocos combina-cionais permite a aplicac¸˜ao de t´ecnicas de otimizac¸˜ao voltadas para circuitos combinacionais. Um exemplo seria a aplicac¸˜ao da t´ecnica de sizing em cada bloco combinacional, conforme adotado pela maioria das t´ecnicas encontra-das na literatura.

A Figura 5 mostra uma porc¸˜ao de um circuito sequencial, onde ´e pos-s´ıvel identificar um bloco combinacional e os respectivos flip-flops de entrada e de sa´ıda. Para tornar o exemplo suficientemente gen´erico, nem todas as entradas deste bloco combinacional provˆem de flip-flops, da mesma forma

(48)

Figura 5: Exemplo de circuito combinacional.

que nem todas suas sa´ıdas alimentam flip-flops.

No contexto de t´ecnicas de sizing e portanto, tamb´em no contexto da presente dissertac¸˜ao, os seguintes conceitos associados aos blocos combina-cionais s˜ao essenciais:

• Entradas prim´arias, representado por PI, ´e o conjunto dos sinais que alimentam um bloco combinacional. Para o bloco combinacional da Figura 5, PI = {Q1, Q2, Q3, a};

• Sa´ıdas prim´arias, representado por PO, ´e o conjunto dos sinais ge-rados por um bloco combinacional. Para o bloco combinacional da Figura 5, PO = {s, D4};

• Fanin de uma porta vi, representado por f anin(vi), ´e o conjunto das

portas e/ou entrada prim´arias que est˜ao diretamente conectadas `as en-tradas de vi. Por exemplo, no bloco combinacional da Figura 5, fanin(v1)

= {Q1, Q2};

• Fanout de uma porta vi, representado por f anout(vi), ´e o conjunto das

portas e/ou sa´ıdas prim´arias que est˜ao diretamente conectadas `a sa´ıda de vi. Por exemplo, no bloco combinacional da Figura 5, fanout(v1) =

(49)

• Entradas de uma porta vi, representado por input(vi), corresponde ao

seu conjunto de pinos de entrada. Por exemplo, no bloco combinacio-nal da Figura 5, a porta v1tem 2 pinos de entrada, ao passo que v2tem

1 pino de entrada.

• Cone l´ogico de uma porta vi ´e o conjunto de portas que podem ser

influenciadas pelo sinal gerado na sa´ıda de vi. Isto inclui as portas que

s˜ao fanout de vi, as portas que s˜ao fanout destas ´ultimas e assim por

diante, at´e que as sa´ıdas prim´arias sejam atingidas. Al´em disso, as portas que s˜ao fanin de vitamb´em s˜ao influenciadas no caso da troca

da opc¸˜ao de implementac¸˜ao de vipor uma opc¸˜ao de largura diferente.

Isto ocorre devido `a variac¸˜ao da capacitˆancia de sa´ıda das portas fanin de vi.

As ferramentas de EDA costumam modelar cada bloco combinaci-onal como um grafo ac´ıclico direcionado (Directed Acyclic Graph - DAG) G(V, E), onde V ´e o conjunto de nodos e E ´e o conjunto de arestas. Cada vi∈

Vrepresenta ou uma porta (vi∈ X), ou uma entrada prim´aria (vi∈ PI) ou uma

sa´ıda prim´aria (vi∈ PO), e desta forma, V = X ∪ PI ∪ PO. Adicionalmente,

ej,i∈ E representa uma conex˜ao (fio) entre vje vi. A Figura 6 mostra o DAG

para o bloco combinacional da Figura 5. Observe que no DAG constuma-se incluir um nodo fonte (S - Source) e um nodo terminal (T - Terminal) para fa-cilitar o processamento. As sa´ıdas do S est˜ao conectadas `as entradas prim´arias enquanto as entradas do T est˜ao conectadas `as sa´ıdas prim´arias (KAHNG et al., 2011).

Figura 6: Grafo Ac´ıclico Direcionado (DAG) do circuito combinacional apre-sentado na Figura 5.

(50)

2.2 CARACTER´ISTICAS DAS PORTAS E DOS FLIP-FLOPS

A fim de garantir o desempenho requerido para o projeto, tanto a s´ıntese quanto a otimizac¸˜ao precisam levar em conta as caracter´ısticas tempo-rais do circuito. Estas, por sua vez, s˜ao derivadas das caracter´ısticas tempotempo-rais e funcionais dos componentes b´asicos, tais como portas l´ogicas, elementos de armazenamento e conex˜oes. Uma vez que o fluxo de s´ıntese industrial est´a baseado no uso de standard cells, algumas das caracter´ısticas explicadas a seguir est˜ao relacionadas com informac¸˜oes que constam nas bibliotecas stan-dard cell. No que se refere `as portas l´ogicas, as seguintes caracter´ısticas s˜ao relevantes:

• Atraso de descida da porta vicom relac¸˜ao `a sua entrada j, representado

por dj→if , ´e o tempo transcorrido entre o sinal na entrada j de viatingir

50% de sua excurs˜ao total at´e o sinal na sa´ıda de viatingir 50% de sua

excurs˜ao total, sendo que este ´ultimo realiza uma transic¸˜ao de descida. Uma vez que os sinais internos aos circuitos digitais possuem um com-portamento anal´ogico, ´e necess´ario adotar-se alguma referˆencia para a medida de atrasos. A referˆencia de 50% da excurs˜ao total ´e um padr˜ao amplamente adotado na ind´ustria (BHASKER; CHADHA, 2009). • Atraso de subida da porta vicom relac¸˜ao `a sua entrada j, representado

por dr

j→i, ´e o tempo transcorrido entre o sinal na entrada j de viatingir

50% de sua excurs˜ao total at´e o sinal na sa´ıda de viatingir 50% de sua

excurs˜ao, sendo que este ´ultimo realiza uma transic¸˜ao de subida. • Slew de descida da porta viem func¸˜ao da entrada j, representado por

slewfj→i, ´e o tempo transcorrido para que o sinal na sa´ıda de vi

rea-lize uma transic¸˜ao de descida, medido entre uma tens˜ao de referˆencia1 inicial (n´ıvel l´ogico 1) e uma tens˜ao de referˆencia final (n´ıvel l´ogico 0). • Slew de subida da porta vi em func¸˜ao da entrada j, representado por

slewrj→i, ´e o tempo transcorrido para que o sinal na sa´ıda de virealize

uma transic¸˜ao de subida, medido entre uma tens˜ao de referˆencia inicial (n´ıvel l´ogico 0) e uma tens˜ao de referˆencia final (n´ıvel l´ogico 1). • Propagac¸˜ao do slew define o m´etodo utilizado para escolher qual dos

slews de descida slewfj→i (ou subida slewrj→i) ser´a propagado para a sa´ıda de vi. Como uma porta l´ogica apresenta diferentes valores de

1Atualmente, diferentes tens˜oes de referˆencia inicial e final s˜ao utilizadas pelas bibliotecas,

dependendo da tecnologia utilizada. Alguns exemplos de tens˜oes de referˆencia inicial e final s˜ao: 0.9Vdde 0.1Vdd, 0.8Vdde 0.2Vddou 0.7Vdde 0.3Vdd(BHASKER; CHADHA, 2009).

(51)

slewpara cada combinac¸˜ao j → i, diferentes m´etodos s˜ao utilizados. O m´etodo mais utilizado por ferramentas industriais de an´alise de timing, por ser pessimista, propaga o pior dos slews de entrada de descida (su-bida) para a sa´ıda da porta, sendo tamb´em o m´etodo adotado nessa dissertac¸˜ao. Aplicado este m´etodo, o slew de descida (subida) na sa´ıda de vi ´e representado por slewif (slewri).

• Positive Unateness: diz-se que uma porta vi ´e positive unate quando

uma transic¸˜ao de subida (descida) em uma de suas entradas resulta em uma transic¸˜ao de subida (descida) em sua sa´ıda. As portas AND e OR s˜ao exemplos de portas positive unate.

• Negative Unateness: diz-se que uma porta vi ´e negative unate quando

uma transic¸˜ao de subida (descida) em uma de suas entradas resulta em uma transic¸˜ao de descida (subida) em sua sa´ıda. As portas CMOS est´aticas complementares s˜ao exemplos de portas negative unate. ´E interessante notar que as portas XOR n˜ao s˜ao negative unate tampouco positive unate, sendo denominadas non-unate.

Visto que a biblioteca standard cell adotada nos experimentos desse trabalho possui apenas portas CMOS est´aticas complementares, ou seja por-tas negative unate (com execec¸˜ao do flip-flop), por quest˜ao de did´atica, os algoritmos e f´ormulas apresentados nessa dissertac¸˜ao assumem apenas portas negative unate.

A Figura 7 apresenta as caracter´ısticas temporais de um inversor para ilustrar os conceitos apresentados anteriormente. ´E importante observar que, de uma maneira mais gen´erica, o conceito de slew est´a associado ao tempo de transic¸˜ao de qualquer sinal do circuito, inclusive dos sinais nas entradas e sa´ıdas dos elementos de armazenamento e nas entradas e sa´ıdas prim´arias do bloco combinacional. Tamb´em vale a pena observar que quando duas portas est˜ao conectadas (por exemplo, sa´ıda de vj conectada a uma das entradas de

vi), se as interconex˜oes do circuito s˜ao modeladas com resistˆencia zero (sem

atraso), o slew de entrada de vicorresponde ao slew de sa´ıda de vj. Este ´e o

caso assumido na infraestrutura da Competic¸˜ao do ISPD 2012, usada nesse trabalho. Os conceitos referentes `as caracter´ısicas temporais dos elementos sequenciais, como tempo de setup e tempo de hold, n˜ao ser˜ao apresentados visto que na infraestrutura utilizada eles s˜ao desconsiderados e, portanto, n˜ao fazem parte do escopo dessa dissertac¸˜ao.

As ferramentas comerciais de an´alise de timing est´atica, cujo funcio-namento ser´a abordado na Sec¸˜ao 2.4, adotam o conceito de arcos de tempo2 2E interessante notar que o conceito de arcos de tempo, quando aplicado `as portas, equivale´ ao chamado atraso pino-a-pino (pin-to-pin delay (GUNTZEL, 2000).

(52)

Figura 7: Caracter´ısticas temporais de uma porta, ilustradas pelo comporta-mento de um inversor. A parte superior ilustra a definic¸˜ao de atraso de descida e subida. J´a a parte inferior apresenta uma ilustrac¸˜ao do slew de descida e su-bida, respectivamente.

(timing arcs) (BHASKER; CHADHA, 2009). Um arco de tempo serve para relacionar o atraso de propagac¸˜ao de um sinal entre dois pontos adjacentes do circuito (LEE; GUPTA, 2012). Assim, pode-se associar um arco de tempo para cada rede ou para cada fio do circuito (conex˜ao entre o ponto de origem e um destino), conforme for o modelo de atraso de conex˜oes adotado. Uma porta l´ogica vi(e.g., NAND, NOR) possui um par de arcos de tempo (subida e

descida) entre cada entrada j e a sa´ıda da porta. J´a para um flip-flop, associa-se um arco entre a sua entrada de dados e a sa´ıda. Como conassocia-sequˆencia pr´atica, o atraso de um caminho qualquer em um circuito digital ou em um de seus blocos combinacionais pode ser calculado como a soma dos arcos de tempo associados aos elementos atravessados pelo referido caminho.

Para as portas l´ogicas, os arcos de tempo tamb´em s˜ao usados para associar o atraso da porta com o tipo de transic¸˜ao de entrada e o consequente tipo de transic¸˜ao na sa´ıda (segundo a propriedade unateness da porta). A Figura 8 ilustra tal associac¸˜ao, sem contudo identificar o valor do atraso.

(53)

(b) Positive unate arc 0

(a) Negative unate arc 1

(c) Non-unate arc

0 or

Figura 8: Associac¸˜ao entre timing arc e propriedade unateness. Adaptado de Bhasker e Chadha (2009).

2.3 MODELOS DE ATRASO E BIBLIOTECA STANDARD CELL

As t´ecnicas de otimizac¸˜ao de potˆencia est´atica propostas neste traba-lho est˜ao voltadas ao fluxo de projeto standard cell. No fluxo standard cell, as informac¸˜oes de atraso, slew e potˆencia das c´elulas (instˆancia de uma porta l´ogica) da biblioteca s˜ao disponibilizadas em um arquivo no formato Liberty (LIBERTY, 2012). At´e o in´ıcio dos anos 2000 o modelo de atraso de c´elula utilizado pelo fluxo standard cell era o chamado modelo linear, cuja forma ge-ral ´e mostrada na Equac¸˜ao 2.1 para uma porta negative unate. Nesta equac¸˜ao, slewrj ´e o slew de subida na entrada j da c´elula, enquanto capi ´e a carga

capacitiva na sua sa´ıda. Os demais valores, D0, D1 e D2, s˜ao constantes determinadas a partir de simulac¸˜oes no n´ıvel el´etrico.

dfj→i= D0 + D1 × slewrj+ D2 × capi (2.1)

O modelo linear n˜ao ´e suficientemente preciso para os intervalos de va-lores de slew de entrada e de cargas capacitivas de sa´ıda que comumente ocor-rem em nodos tecnol´ogicos nanom´etricos (BHASKER; CHADHA, 2009). Por esta raz˜ao, as bibliotecas standard cell contemporˆaneas utilizam o modelo de atraso n˜ao-linear (NLDM - Non-Linear Delay Model), o qual armazena as informac¸˜oes de atraso e slew de cada opc¸˜ao de implementac¸˜ao (c´elula) de cada func¸˜ao l´ogica em tabelas bi-dimensionais. Para cada entrada de toda

Referências

Documentos relacionados

Mais que a manufatura, que tem a possibilidade de estocar seus produtos para se ajustar aos períodos de flutuação da demanda, o estabelecimento hoteleiro sofre constantemente

Para o Planeta Orgânico (2010), o crescimento da agricultura orgânica no Brasil e na América Latina dependerá, entre outros fatores, de uma legislação eficiente

Assim, além de suas cinco dimensões não poderem ser mensuradas simultaneamente, já que fazem mais ou menos sentido dependendo do momento da mensuração, seu nível de

Os principais objectivos definidos foram a observação e realização dos procedimentos nas diferentes vertentes de atividade do cirurgião, aplicação correta da terminologia cirúrgica,

psicológicos, sociais e ambientais. Assim podemos observar que é de extrema importância a QV e a PS andarem juntas, pois não adianta ter uma meta de promoção de saúde se

II - os docentes efetivos, com regime de trabalho de 20 (vinte) horas semanais, terão sua carga horária alocada, preferencialmente, para ministrar aulas, sendo o mínimo de 8 (oito)

Os profissionais da medicina do trabalho que preenchem a ficha de aptidão do trabalhador, ao assinalarem se o trabalhador se encontra apto, apto condicionalmente

Combinados, o rádio portátil APX 8000XE habilitado para todas bandas e o microfone falante remoto XE500 criam uma solução de missão crítica incomparável, projetada para o pessoal