12
Síntese Lógica André Reis 2/49 SIM/EMICRO 2013 Porto Alegre, Brasil - Abril/2013 Outline 3/49 SIM/EMICRO 2013 Porto Alegre, Brasil - Abril/2013 O que é sintese lógica o É uma das etapas de síntese de circuitos integrados o Na qual tabelas-verdade são transformadas em instâncias de primitivas lógicas 4/49 SIM/EMICRO 2013 Porto Alegre, Brasil - Abril/2013 O que entra? o A entrada da síntese lógica é tipicamente uma descrição RTL o RTL=Register Transfer Level Registrador Circuito Combinacional

Síntese Lógica - UFRGS · Síntese Lógica André Reis SIM/EMICRO 2013 2/49 Porto Alegre, Brasil - Abril/2013 Outline SIM/EMICRO 2013 3/49 Porto Alegre, Brasil - Abril/2013 O que

  • Upload
    vannhu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Síntese Lógica

André Reis

2/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Outline

3/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que é sintese lógica

o É uma das etapas de síntese de circuitos integradoso Na qual tabelas-verdade são transformadas em instâncias de primitivas

lógicas

4/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que entra?

o A entrada da síntese lógica é tipicamente uma descrição RTLo RTL=Register Transfer Level

RegistradorCircuito

Combinacional

5/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que sai?

o Uma rede de primitivas lógicas interconnectadas

DFF DFF

DFFDFF

DFFDFF

6/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que entra e o que sai?

o Entra tabela verdadeo Sai rede de portas lógicas

7/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que acontece no meio?

o Muita coisao Síntese de SOP

o Fatoração

o Decomposição funcional

o Cortes em AIGs

o Reescrita de AIGs

o Cobertura de AIGs

o Mapeamento tecnológico

o Matching

o Síntese lógica dentro de células

8/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que se aprende?

o Método de Quine-McClusckey

9/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

O que se aprende?

o Fatoração algébrica

ac+bc+!abd

Fatora c: c(a+b)+!abd

Fatora b: ac+b(c+!ad)

10/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 1

1-lit 2-lit 3-lit 4-lit 5-lit

11/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 2

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

12/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 3

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

13/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 4

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

14/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 5

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

15/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 6

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

16/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração - 7

1-lit 2-lit 3-lit 4-lit 5-lit

or/and

17/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração

f = (a+b)*(c+!a*d)

f(a=1) = cf(a=0) = b*(c+d)f(b=1) = c+!a*df(b=0) = a*cf(c=1) = a+bf(c=0) = b*!a*df(d=1) = (a+b)*(c+!a)f(d=0) = (a+b)*c

f(a=0, b=1) = c+df(a=0, c=1) = bf(a=0, c=0) = b*df(a=0, d=0) = b*cf(b=1, c=0) =!a*df(b=0, c=1) = af(b=1, d=1) =c+!af(c=0, d=1) = b*!af(a=0, b=1, c=0) = df(b=1, c=0, d=1) = !a

18/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração – se1

1-lit 2-lit 3-lit 4-lit 5-lit

a

!a

d

c

b

19/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração – se2

1-lit 2-lit 3-lit 4-lit 5-lit

a

!a

d

c

b

a+b

a*c

c+d

!a*b

!a*d

b*c

b*d

c+!a

20/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração – se3

1-lit 2-lit 3-lit 4-lit 5-lit

a

!a

d

c

b

a+b

b*(c+d)

c+d

b*!a*d

(a+b)*c

c+!a*d

!a*b

!a*d b*d

a*c

b*c

c+!a

21/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração – se4

1-lit 2-lit 3-lit 4-lit 5-lit

a

!a

d

c

b

a+b

b*(c+d)

c+d

b*!a*d

(a+b)*(c+!a)

(a+b)*c

c+!a*d

!a*b

!a*d b*d

a*c

b*c

c+!a

22/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração – se5

1-lit 2-lit 3-lit 4-lit 5-lit

a

!a

d

c

b

a+b

b*(c+d)

c+d

(a+b)*(c+!a*d)

b*!a*d

(a+b)*(c+!a)

(a+b)*c

c+!a*d

!a*b

!a*d b*d

a*c

b*c

(a+b)*(c+!a*d)

(a+b)*(c+!a*d)

c+!a

23/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Fatoração

24/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Composição Funcional

o Princípio aplicado a diferentes objetivoso Neste caso, computo do MDC – Cadeia de decisão mínima

ACC. SMALLER

FUNCTIONS

(LG+NC)

1

ACC. SMALLER

FUNCTIONS

(LG+NC)

2

ACC. SMALLER

FUNCTIONS

(LG+NC)

3

25/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Composição Funcional

o Princípio aplicado a diferentes objetivoso Neste caso, computo da SOP mínima

ACC. SMALLER

FUNCTIONS

(LG+NC)

1

ACC. SMALLER

FUNCTIONS

(LG+NC)

2

ACC. SMALLER

FUNCTIONS

(LG+NC)

3 4 7...

dbacbca ⋅⋅+⋅+⋅

26/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Composição Funcional

o Ordenamentos diferentes para SOP e MDC

edcbdcaedacbadbaf ⋅⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅=

cbaedadcaedacbadbaf ⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅=

• For MDC:

• For SOP

edcbdcaedacbadbaf ⋅⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅=

cbaedadcaedacbadbaf ⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅+⋅⋅=

3

4

16

18

27/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Decomposição disjunta

28/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Decomposição disjunta

h

g

A

B

C

D

Saida

29/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Decomposição disjunta

xor2

xor3

A

B

C

D

Saida

30/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Cortes em AIGs

o Fazer cortes K

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

31/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Cortes em AIGs

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

32/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Cortes em AIGs

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

33/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Cortes em AIGs

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

34/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

o Reescrever pequenas partes de um AIGo Trocar por algo que se adapte melhor a otimização desejada

35/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes

36/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node

37/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node 2 Nodes

38/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node 2 Nodes 3 Nodes

39/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node 2 Nodes 3 Nodes

40/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node 2 Nodes 3 Nodes 4 Nodes

41/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Reescrita de AIGs

0 Nodes 1 Node 2 Nodes 3 Nodes 4 Nodes

42/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Cobertura de AIGs

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

43/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Mapeamento tecnológico

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

3,4

1,5

1,2,6,7,10

3,8

9,11,12

44/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Matching

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

3,4

1,5

1,2,6,7,10

3,8

9,11,12

Equivalência entre função

lógica e célula

45/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Matching

o !(!i4*!i5*i10*!i8) equivalente a célula a+b+c+!do Sob o assinalamento

o i4 ↔ a

o i5 ↔ b

o i10 ↔ d

o i8 ↔ c

a

b

1

d

c12

2

6

5

4

3

9

7

8

11

10

É função da etapa de matching identificar esta equivalência

46/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Síntese Lógica dentro de células

o Síntese lógica pode ser multi-objetivoo Dentro das células conta o número de transistores em série e em

paralelo

47/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Uma ferramenta mínima

o AIGo Corteso Reescrita dos cortes

48/49SIM/EMICRO 2013Porto Alegre, Brasil - Abril/2013

Conclusão

o Síntese lógica é uma área vastao Ficamos sem falar de coisas importantes

o BDDs – Diagramas de Decisão Binária

o Representação de funções com inteiros