4.2 Modelagem e Estimativa de Potˆ encia no n´ıvel RT
5.1.1 T´ ecnicas de Macromodelagem Selecionadas
Foram selecionadas quatro t´ecnicas conhecidas de macromodelagem como candidatas `
a an´alise experimental. A partir deste ponto, elas ser˜ao referenciadas no texto como
4DTab [53], EqTab [4], eHD [64] e Analytical [50].
H´a trˆes principais raz˜oes por tr´as desta sele¸c˜ao:
1. Estas t´ecnicas modelam potˆencia de formas bem distintas, fazendo diferentes su- posi¸c˜oes, espec´ıficas a cada uma delas (i.e., elas se complementam).
2. Os resultados publicados na literatura demonstram que elas possuem, em geral, boa precis˜ao.
3. A complexidade de implementa¸c˜ao faz com que a integra¸c˜ao das t´ecnicas a um fluxo automatizado seja fact´ıvel.
Cabe mencionar que a t´ecnica 3DTab [51] foi utilizada durante o in´ıcio dos experi-
mentos, mas foi, posteriormente, suplantada pela 4DTab devido a sua maior precis˜ao.
Esta se¸c˜ao sumariza alguns fundamentos das t´ecnicas selecionadas, tais como, conceitos- chave e passos de caracteriza¸c˜ao, como base para a discuss˜ao feita na Se¸c˜ao 5.2.
Modelo 1: Tabela Tetradimensional (4DTab)
O modelo 4DTab baseia-se nas seguintes propriedades de sinal: (i) a m´edia da probabili-
a m´edia da correla¸c˜ao espacial de entradaSCin; e (iv) a m´edia da densidade de transi¸c˜ao
de sa´ıdaDout. O modelo ´e representado por uma LUT (lookup table) de quatro dimens˜oes
de forma que h´a um valor de potˆencia correspondente para cada posi¸c˜ao (Pin,Din,SCin,
Dout) da tabela.
Com o intuito de esclarecimento e conveniˆencia, as defini¸c˜oes destas propriedades s˜ao informalmente recapituladas. Probabilidade de sinal ´e a fra¸c˜ao de tempo em que um determinado sinal tem o estado l´ogico alto (ou verdadeiro). Densidade de transi¸c˜ao ´e o n´umero de transi¸c˜oes l´ogicas (alto-para-baixo, baixo-para-alto) por unidade de tempo. Correla¸c˜ao espacial ´e a probabilidade de dois sinais distintos possu´ırem o estado l´ogico alto simultaneamente. Portanto, Pin, Din e Dout s˜ao definidas como m´edias de todas
posi¸c˜oes bit-a-bit de entrada/sa´ıda, e SCin ´e a m´edia de todos os poss´ıveis pares de
distintas posi¸c˜oes de entrada bit-a-bit.
A estima¸c˜ao de potˆencia consiste em, primeiramente, executar uma simula¸c˜ao RTL para coletar as estat´ısticas de sinalPin,Din,SCin eDoute, ent˜ao, procurar na tabela pelo
valor de potˆencia correspondente. Quando as estat´ısticas de sinal n˜ao corresponderem diretamente a uma posi¸c˜ao da tabela, t´ecnicas de interpola¸c˜ao ser˜ao usadas para retornar o valor mais pr´oximo.
O processo de caracteriza¸c˜ao de potˆencia para um dado componente consiste na se- guinte sequˆencia de passos. Primeiro, para cada tupla (Pin,Din,SCin) v´alida, s˜ao geradas
v´arias streams de entrada. Em seguida, cada stream distinta ´e aplicada `as entradas do
componente, descrito num menor n´ıvel de abstra¸c˜ao (e.g., n´ıvel de portas l´ogicas). O Dout
resultante desta inje¸c˜ao de est´ımulos ´e avaliado e o consumo de potˆencia determinado. Depois disso, a m´edia de todos os valores de potˆencia obtidos para um mesmo (Pin,Din,
SCin,Dout) ´e armazenada na posi¸c˜ao adequada da tabela.
Modelo 2: Tabela de Coeficientes de Equa¸c˜ao (EqTab)
Ao inv´es de basear-se na m´edia geral das densidades de transi¸c˜ao de entrada/sa´ıda (como ´e feito no 4DTab), o modelo EqTab leva em considera¸c˜ao a contribui¸c˜ao individual de cada
posi¸c˜ao bit-a-bit de entrada e sa´ıda. Sejam Din(x) e Dout(x) as transi¸c˜oes de entrada
medidas na x-´esima posi¸c˜ao bit-a-bit para uma stream de vetores de entrada e sa´ıda,
respectivamente. Sejam n e m, respectivamente, as larguras dos vetores de entrada e sa´ıda. Dado um componente, seu consumo de potˆencia ´e modelado pela seguinte equa¸c˜ao, onde ci denota um coeficiente:
A t´ecnicaEqTab baseia-se numa LUT que ´e indexada por (Pin, Din). Para cada entrada
desta tabela, ao inv´es de diretamente armazenar um valor de potˆencia, a entrada cor- respondente, na verdade, armazena os coeficientes da equa¸c˜ao acima. Como resultado, a estimativa consiste em trˆes passos:
1. Uma simula¸c˜ao RTL ´e executada e as densidades de transi¸c˜ao bit-a-bit s˜ao coletadas, juntamente com as propriedades Pin,Din e Dout.
2. Os coeficientes armazenados na entrada (Pin, Din) s˜ao retornados. Se (Pin, Din)
n˜ao representarem uma entrada v´alida, o ponto mais pr´oximo, de acordo com a distˆancia Euclidiana, ´e utilizado.
3. Finalmente, os coeficientes retornados e as estat´ısticas coletadas s˜ao combinadas de acordo com a equa¸c˜ao acima.
Ao contr´ario do que ocorre com o4DTab, o processo de caracteriza¸c˜ao com o EqTab
emprega apenas umastream de vetores de entrada para cada par (Pin,Din) e consiste em
determinar o respectivo conjunto de coeficientes. Para encontrar o devido conjunto de coeficientes, um sistema de equa¸c˜oes ´e constru´ıdo como segue.
SejaSW uma matriz com um n´umero de linhas igual ao n´umero de pares sucessivos de vetores nastream (S pares) e com um n´umero de colunas equivalente `a largura composta do vetor (n + m). Uma linha da matriz SW armazena as densidades de transi¸c˜ao bit- a-bit obtidas entre um par de vetores sucessivos. Uma coluna armazena a densidade de transi¸c˜ao de uma dada posi¸c˜ao de bit ao longo dastream de entrada. Seja P uma matriz
S× 1, onde cada entrada pi armazena a potˆencia consumida pelo i-´esimo par de vetores
de entrada.
A caracteriza¸c˜ao consiste em primeiro calcular as densidades de transi¸c˜ao bit-a-bit para cada par sucessivo de vetores de entrada (armazenando-os numa linha da matriz SW ) e medindo seu respectivo consumo de potˆencia (armazenando-o numa entrada da matriz P ). Ent˜ao, o conjunto de coeficientes2 C ´e obtido resolvendo-se o sistema de
equa¸c˜oesSW×C = P com t´ecnicas de regress˜ao convencionais (ex., m´ınimos quadrados). Finalmente, tais coeficientes s˜ao armazenados na entrada (Pin,Din).
Modelo 3: Distˆancia de Hamming Aperfei¸coada (eHD)
Basicamente, o macromodeloeHD ´e uma equa¸c˜ao que expressa potˆencia como uma fun¸c˜ao
de duas propriedades de sinal distintas: (i) a distˆancia de Hamming e (ii) o n´umero de
2
bits est´aveis entre dois vetores de entrada sucessivos (a t´ecnica n˜ao emprega sinais de sa´ıda). Dados dois vetores de entradau e v com n bits cada, a distˆancia de Hamming (h) e o n´umero de bits est´aveis (s) com valor ‘1’ s˜ao definidos, respectivamente, como:
h(u, v) =|{i|(ui 6= vi)}|, para 1 ≤ i ≤ n; e
s(u, v) =|{i|(ui =vi = 1)}|, para 1 ≤ i ≤ n.
De forma oposta `as t´ecnicas anteriores, o macromodelo eHD calcula a potˆencia por
ciclo, como segue.
SejaEh,s uma classe de evento de chaveamento representando as propriedades de um
par de vetores, onde h ´e sua distˆancia de Hamming es ´e seu n´umero de bits est´aveis em 1. Sejam P ower(c) o consumo de potˆencia no c-´esimo ciclo de simula¸c˜ao en o n´umero de bits de entrada. A equa¸c˜ao do macromodeloeHD ´e definida como segue, onde ph,sdenota
a contribui¸c˜ao do evento de chaveamento Eh,s para o consumo de potˆencia eδh,s denota
se tal evento ocorreu ou n˜ao no ciclo c.
P ower(c) =h p1,n−1 · · · pn,0 i δ1,n−1 .. . δn,0 (5.1)
Em [64],δh,s´e chamado deativador e ´e definido como:
δh,s=
(
1, se Eh,s ocorrer no ciclo c;
0, se Eh,s n˜ao ocorrer no ciclo c.
Dada umastream de entrada, a estimativa come¸ca calculando-se h(u, v) e s(u, v) para
cada par (u, v) de vetores sucessivos. Ent˜ao, os ativadores associados com eventos ocor- rendo num dado cicloc s˜ao determinados e a Equa¸c˜ao 5.1 retorna o consumo de potˆencia para aquele ciclo. O consumo de potˆencia total ´e obtido agregando-se a contribui¸c˜ao de todos os ciclos.
A caracteriza¸c˜ao de componentes come¸ca com a gera¸c˜ao destreams de entrada criadas
aleatoriamente. Ent˜ao, para todas as streams, cada par (u, v) de seus sucessivos vetores
´
e injetada nas entradas do componente e as fun¸c˜oes h(u, v) e s(u, v) s˜ao avaliadas. O consumo de potˆencia resultante ´e determinado com um modelo de potˆencia pr´e-existente do componente, descrito em um n´ıvel de abstra¸c˜ao inferior. Finalmente, para todas as
Modelo 4: Anal´ıtico (Analytical)
Comparando ao4DTab, o macromodelo Analytical baseia-se nas mesmas propriedades de
sinal: (i) a correla¸c˜ao espacial de entrada SCin; (ii) a probabilidade de sinal de entrada
Pin; (iii) a densidade de transi¸c˜ao de entradaDin; e (iv) a densidade de transi¸c˜ao de sa´ıda
Dout. O modelo ´e representado por uma equa¸c˜ao que combina estes sinais da seguinte
forma:
P ower = c0+c1∗ Pin+c2∗ Din+c3∗ SCin+c4∗ Dout+c5∗ Pin∗ Din+c6∗ Pin∗ SCin
+c7∗ Pin∗ Dout+c8∗ Din∗ SCin+c9∗ Din∗ Dout+c10∗ SCin∗ Dout+c11∗ Pin2
+c12∗ D2in+c13∗ SCin2 +c14∗ D2out
A estimativa de potˆencia nesta t´ecnica consiste em se executar uma simula¸c˜ao RTL para coletar as estat´ısticas de sinal (Pin, SCin, Din, Dout), seguida pela avalia¸c˜ao da
equa¸c˜ao acima. Nenhum outro mecanismo ´e necess´ario (e.g., interpola¸c˜ao), dado que a
equa¸c˜ao usa somente as estat´ısticas coletadas e os coeficientes obtidos durante a fase de caracteriza¸c˜ao de potˆencia.
A etapa de caracteriza¸c˜ao de componentes ´e efetuada em trˆes passos:
1. Para cada tupla v´alida (Pin,SCin, Din), diversas streams s˜ao geradas, tentando-se
cobrir ao m´aximo o espa¸co de entrada.
2. Cada stream distinta ´e aplicada `as entradas do componente e o Dout e consumo de
potˆencia resultantes s˜ao determinados.
3. Os valores resultantes (Pin, SCin,Din, Dout, P ower) s˜ao usados, de acordo com a
equa¸c˜ao acima, num m´etodo de an´alise de regress˜ao de forma a obter-se os coefici- entes (c0, c1, ..., c14) da equa¸c˜ao do macromodelo.