• Nenhum resultado encontrado

Dimensionamento de portas lógicas

N/A
N/A
Protected

Academic year: 2022

Share "Dimensionamento de portas lógicas"

Copied!
22
0
0

Texto

(1)

Dimensionamento de portas lógicas

João Canas Ferreira

Universidade do Porto Faculdade de Engenharia

Março de 2014

(2)

Assuntos

1 Modelização de portas lógicas

2 Cadeias de portas lógicas

(3)

Dimensões relativas de portas lógicas

I Uma porta lógica pode ser caraterizada por quatro grandezas

1 capacidade de entrada Cin

2 capacidade intrínseca de saída Cp

3 resistência depull-up Rup

4 resistência depull-down Rdn

I Para cada tipo de porta definir uma porta de referência (template)

1 capacidade de entrada Ct

2 capacidade de saída intrínseca Cpt

3 resistência de saída simétrica Rt= Rupt= Rdnt

I Para uma porta dimensionada (a×maior):

1 Cin= a×Ct

2 Rup= Rdn= Rout= Rt/a

3 Cp= a×Cpt

(4)

Modelo para o tempo de propagação (1)

I Tempo de propagação absoluto de uma porta lógica:

tpabs= 0,69 Rout(Cout+ Cp) = 0,69 RoutCout+ 0,69 RoutCp

Em termos da porta de referência:

tpabs= 0,69 Rt

a

CinCout Cin + 0,69

Rt a

(a×Cpt) tpabs= 0,69 RtCtf + 0,69 RtCpt

I Mapear numa equação da forma tpabs=τ(g·f + p)

I f = Cout/Cin

I τ= 0,69×R(inv)t C(inv)t (parâmetros do inversor de referência)

I g = RtCt R(inv)t C(inv)t

p = RtCpt

R(inv)t C(inv)t

I d = g·f + p tempo de propagação em unidades deτ

(5)

Modelo para o tempo de propagação (2)

Atraso de uma porta

d = h + p

h: atraso de esforço(effort delay) p: atraso intrínseco Esforço lógico

h = g×f g: esforço lógico f: fan-outefetivo

d = g×f + p

I Esforço lógico depende apenas da topologia, não das dimensões.

I Atraso intrínseco é constante para cada tipo de porta.

I Fan-out efetivo depende da relação entre carga e dimensão da porta.

I Por definição, ginv= 1.

I pinv=γ, a relação entre capacidade de saída e de entrada do inversor.

(6)

Definição de esforço lógico

As seguintes definições são equivalentes:

I Definição 1: O esforço lógico de uma porta define-se como o número de vezes que essa porta é pior a fornecer corrente que um inversor com a mesma capacidade de entrada.

I Definição 2: O esforço lógico de uma porta define-se como a razão entre a sua capacidade de entrada e a capacidade de entrada de um inversor capaz de fornecer a mesma corrente.

I Definição 3: O esforço lógico de uma porta define-se como o declive da curva de atraso vs. fan-outdividido pelo declive da curva correspondente para um inversor.

(7)

Esforço lógico de algumas portas simples

Esforço lógico é a razão entre a capacidade de entrada de uma porta e a capacidade de entrada de um inversor com a mesma corrente de saída.

2

a 1

x

2 2

2 2

x a

b

4 4

1 1 a

b

x

(a ) (b ) (c )

g=1 g=4/3 g=5/3

(8)

Esforço lógico de algumas portas simples: resumo

Número de entradas

1 2 3 n

inversor 1

nand 4/3 5/3 (n+2)/3

nor 5/3 7/3 (2n+1)/3

xor 4 12

(9)

Modelo gráfico

Fonte: [Sutherland99]

(10)

Estimação do atraso intrínseco

O atraso intrínseco da porta lógica é X vezes o atraso do inversor de referência pinv em que X é :

a razão entre a soma das áreas (larguras) de difusão (fontes ou drenos) ligadas ao nó de saída da porta em consideração e as correspondentes áreas do inversor de referência.

(Condição para obter a mesma corrente de saída que o inversor de referência)

p =

PW 1 +β

pinv com

β= (W/L)p (W/L)n

I Estimativa assume que todos os transístores têm o mesmo comprimento do canal.

I A estimativa é aproximada. Para melhores resultados, deve calibrar-se o modelo a partir de simulações.

(11)

Tabela de atrasos intrínsecos

Porta lógica Atraso intrínseco

Inversor pinv

NAND n entradas n×pinv

NOR n entradas n×pinv

xor, xnor de n entradas n×2(n–1)×pinv

(12)

Exemplos

I Determinar o atraso do inversor com FO4 (fan-out of 4) d = f×g + p = 1×4 + pinv= 4 + 1 = 5

I Determinar o atraso de uma porta NOR4 que ataca 10 portas idênticas d = f×g + p = 3×10 + 4×1 = 34

I Determinar a frequência de oscilação de um anel de N inversores idênticos Para cada inversor:

d = f×g + p = 1×1 + pinv= 2 Tempo de propagação à volta do anel:

T = N×d×τ A frequência de oscilação é:

F = 1

2×N×d×τ

(13)

Assuntos

1 Modelização de portas lógicas

2 Cadeias de portas lógicas

(14)

Esforço de ramificação

Problema: ao dimensionar um percurso lógico é preciso ter em conta as cargas impostas por portas lógicas que não fazem parte desse percurso.

Ci

Ctotal

Coff Con

a dimensionar

2 1

àAo dimensionar ao longo do percurso, a porta lógica 1 tem de ser de ser

dimensionada contando não apenas com a carga da porta 2, mas também com a carga de Coff(que não está a ser dimensionada).

Seja b, o esforço de ramificação:

b = Cpath+ Coff Cpath Então, ofan-out efetivo da porta 1 é dado por

f1= Cpath+ Coff

Cin = Cpath

Cin ×Cpath+ Coff

Cpath = fpercurso×b

(15)

Minimizar tempo de propagação de dois andares

Gate 1

Gate 2

C1 g1 p1 Input capacitance:

Logical effort:

Parasitic delay:

C2 g2 p2

C3

Fonte: [Sutherland99]

D = (g1f1+ p1) + (g2f2+ p2) f1= C2

C1 f2= C3

C2 f1f2= C3 C1 = F D = (g1f1+ p1) +

g2F f1 + p2

δD

δf1 = g1–g2F

f21 = 0 ⇒ g1f1= g2f2

I Atraso é minimizado quando cada andar exerce o mesmo esforço g×f.

I O resultado é independente das dimensões e dos atrasos intrínsecos;

é válido para qualquer número de andares e esforço de ramificação.

(16)

Tempo de propagação ótimo

Para uma cadeia de N portas:

I f1f2· · ·fN= BF com B = b1b2· · ·bN

I Esforço do caminho: H = (g1f1)(g2f2)· · ·(gNfN) = GBF com G = g1g2· · ·gN

I H não depende das dimensões dos circuitos

I O valor de H não é alterado pela inserção de inversores

àTodos os andares têm o mesmo esforço ótimoh: H =ˆ ˆh1/N ou ˆh = √N H àO tempo de atraso mínimo é:

ˆD =X

i

(ˆh + pi) = NH(1/N)+ P com P =X

i

pi

(17)

Número ótimo de andares

àCenário: caminho com n1andares e n2inversores, N = n1+ n2

àAssumir que se pode alterar n2, porque não altera o esforço do caminho (H) D = NHˆ (1/N)+

n1

X

i=1

pi

!

+ (N – n1)pinv δDˆ

δN = –H(1/N)ln(H(1/N)) + H(1/N)+ pinv= 0 àSeja ρo esforço para o número ótimo de andares:ρ= H(1/ˆN):

pinv+ρ(1 – ln(ρ)) = 0

àO valor deρque satisfaz a equação é o esforço de andar (h) ótimo para todos os andares do percurso: é independente das propriedades do caminho.

(18)

Aspetos pragmáticos

I Se pinv= 0 entãoρ= e = 2,718 I Aproximação:ρ0,71 pinv+ 2,82 I Para pinv= 1 temosρ3,59 I Outra aproximação:Nˆlog4(H) I Usar tabela:

ˆN1/ˆN H + pinv

= (ˆN + 1)

1/(ˆN+1) H + pinv I Fan-outde cada andar: fi=ˆh/gi

I Se existir ramificação: fi= ˆh b gi

pinv

ˆN 0,0 0,6 0,8 1,0

1

4,0 5,13 5,48 5,83

2

11,4 17,7 20,0 22,3

3

31,6 59,4 70,4 82,2

4

86,7 196 245 300

5

237 647 848 1090

6

648 2130 2930 3920

7

1770 6980 10100 14200 8

4820 22900 34700 51000 9

13100 74900 120000 184000

Esforço do caminho H

(19)

Exemplo: otimização de um percurso

A

B

C z

y C

Fonte: [Sutherland99]

I G = g0g1g2= (4/3)3= 2,37 B = 1 F = 1

I H = 2,37 ⇒ ˆD = 3×2,371/3+3×2pinv= 10

I ˆh = 4/3

I z = C×(4/3)/(4/3) = C y = C

C

2 C

2

C 2

C 2

Fonte: [Sutherland99]

à Assumeβ = 2

(20)

Exemplo: implementação de função lógica

(a )

(b )

(c ) g=

p= 8 g= 1 p= 1

g= 1 p= 1 g= p= 2 g=

p= 2 g=

p= 2

g= p= 2 g= 2

p= 4

5 3

4 3

5 3

4 3 10

3

Fonte: [Sutherland99]

I D = N (FBG)1/N+ P

I (a) D = 2 (3,33 F)1/2+ 9

I (b) D = 2 (3,33 F)1/2+ 6

I (c) D = 4 (2,86 F)1/4+ 7

I F = 1: usar (b) D = 9,65

I F = 12: usar (c) D = 16,77

(21)

Esforço lógico: sumário

I Calcular o esforço do caminho: H = BFG

I Determinar o número ótimo de andares: N≈log4(H)

I Calcular o esforço por andar: h = √N H

I Fazer um esboço do percurso

I Determinar as capacidades de entrada: Cin= Cout b×g h

(22)

Referências

àAs figuras usadas provêm do seguinte livro:

Rabaey03 J. M. Rabaey et al,Digital Integrated Circuits, 2ª edição,Prentice Hall, 2003.

http://bwrc.eecs.berkeley.edu/icbook/

Sutherland99 I. Sutherland, B. Sproull and D. Harris,Logical Effort, Morgan Kaufmann Publishers, 1999.

Referências

Documentos relacionados