Claudio Arbib Universitàdi L’Aquilans.di.univaq.it/~oil/didattica/corsi/ro1/LayoutVLSI.pdf ·...

Post on 18-Aug-2018

218 views 0 download

Transcript of Claudio Arbib Universitàdi L’Aquilans.di.univaq.it/~oil/didattica/corsi/ro1/LayoutVLSI.pdf ·...

Claudio ArbibUniversità di L’Aquila

Ricerca Operativa

Layout ottimo di dispositivi elettronici ad altissima scala di integrazione

PDF created with pdfFactory Pro trial version www.pdffactory.com

Problema

Realizzare una funzione booleana

f: {0, 1}n → {0, 1}m

tramite una matrice logica programmabile (PLA)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

f = x + y

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (¬x1 ∧ x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ x2 ∧ ¬y1 ∧ y2)∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (¬x1 ∧ x2 ∧ y1 ∧ y2) ∨ (x1 ∧ x2 ∧ y1 ∧ y2)

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (¬x1 ∧ x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (¬x1 ∧ x2 ∧ y1 ∧ y2) ∨ (x1 ∧ x2 ∧ y1 ∧ y2)

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

f1 = (x1 ∧ ¬y1 ∧ ¬y2)∨ (¬x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x1 ∧ ¬y1 ∧ y2) ∨ (¬x1 ∧ y1 ∧ y2)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

f1 = (x1 ∧ ¬y1 ∧ ¬y2)∨ (¬x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x1 ∧ ¬y1 ∧ y2) ∨ (¬x1 ∧ y1 ∧ y2)

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio0000000100100011010001010110011110001001101010111100110111101111

0000000100100011010001010110011110001001101010111100110111101111

000001010011001010011100010011100101011100101110

000001010011001010011100010011100101011100101110

f1 = (x1 ∧ ¬y1)∨ (¬x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (¬x1 ∧ y1 ∧ y2)

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

Piano ORPiano OR

Piano ANDPiano ANDx

y

s

f

f1 = (x1 ∧ ¬y1)∨ (¬x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (¬x1 ∧ y1 ∧ y2)

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

x1

y1

x2

y2

f3

f1

s1 s2 s3 s4 s5 s6 s7

f1 = (x1 ∧ ¬y1)∨ (¬x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (¬x1 ∧ y1 ∧ y2)

f3 = (x1 ∧ x2 ∧ y1 ∧ ¬y2) ∨ (x2 ∧ ¬y1 ∧ y2) ∨ (x1 ∧ ¬x2 ∧ y1 ∧ y2) ∨ (x2 ∧ y1 ∧ y2)

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

x1

y1

x2

y2

f3

f1

s1 s2 s3 s4 s5 s6 s7

PDF created with pdfFactory Pro trial version www.pdffactory.com

Esempio

x1

y1

x2

y2

f3 f1

s1 s2 s3 s4 s5 s6 s7

Riduzione dell’area del dispositivotramite Folding

x1

y1

x2

y2

f3

f1

s1 s2 s3 s4 s5 s6 s7

PDF created with pdfFactory Pro trial version www.pdffactory.com

Segnali (righe) compatibili

Partizionare le colonne in due insiemi C1, C2 in modo damassimizzare il più piccolo tra gli insiemi di righe

A, con solo elementi in C1B, con solo elementi in C2

A

PDF created with pdfFactory Pro trial version www.pdffactory.com

Segnali (righe) compatibili

Partizionare le colonne in due insiemi C1, C2 in modo damassimizzare il più piccolo tra gli insiemi di righe

A, con solo elementi in C1B, con solo elementi in C2

A

B

PDF created with pdfFactory Pro trial version www.pdffactory.com

Segnali (righe) compatibili

Partizionare le colonne in due insiemi C1, C2 in modo damassimizzare il più piccolo tra gli insiemi di righe

A, con solo elementi in C1B, con solo elementi in C2

B

A

PDF created with pdfFactory Pro trial version www.pdffactory.com

Segnali (righe) compatibili

PDF created with pdfFactory Pro trial version www.pdffactory.com

Segnali (righe) compatibili

PDF created with pdfFactory Pro trial version www.pdffactory.com

Grafo di compatibilità

1

2

3

4

5

6

7

8

3

5

6

7Problema (folding semplice): Dato un grafo G, trovare un sottografo isomorfo a Km,m con m massimo.

12345678

PDF created with pdfFactory Pro trial version www.pdffactory.com

Riduzione dell’areaRiduzione dell’area

Una diversa tecnica di folding

Partizionare le colonne in due insiemi C1, C2 in modo damassimizzare il più piccolo tra gli insiemi di righe

A, con solo elementi in C1B, con solo elementi in C2

La riga verde e quella bianca sono compatibili, ma la partizione di colonne scelta non consente di sfruttare questo fatto per ridurre ulteriormente l’area. Un risultato migliore di quello ottenuto mediante folding semplice si può ottenere permutando le colonne e interrompendo la traccia sulle righe a livelli differenti

PDF created with pdfFactory Pro trial version www.pdffactory.com

Una diversa tecnica di folding1 2 3 4 5 6 7 8 9 10 11 12 13 1412 9 1 7 2 3 13 8 5 4 6 10 11 14

PDF created with pdfFactory Pro trial version www.pdffactory.com

12 9 1 7 2 3 13 8 5 4 6 10 11 14

Una diversa tecnica di folding

PDF created with pdfFactory Pro trial version www.pdffactory.com

Riduzione dell’areaRiduzione dell’area

12 9 1 7 2 3 13 8 5 4 6 10 11 14

Una diversa tecnica di folding

Siamo riusciti in questo modo a compattare ulteriormente il dispositivo. In termini di grafo di compatibilità il problema però non è più quello di individuare un sottografo bipartito completo e bilanciato.

PDF created with pdfFactory Pro trial version www.pdffactory.com