Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel Inleiding ...

113
Combina- torische schakeling en KATHOLIEKE UNIVERSITEIT 3-1 06– 07 H01L1 Inhoudstafel Inleiding De basis van digitaal ontwerp Combinatorische schakelingen: uitgang = combinatie ingangen Sequentiële schakelingen Niet-programmeerbare processoren Programmeerbare processoren Hardware-beschrijvingstalen

Transcript of Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel Inleiding ...

Page 1: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-1 06–07

H01L1

Inhoudstafel

Inleiding

De basis van digitaal ontwerp

Combinatorische schakelingen:uitgang = combinatie ingangen

Sequentiële schakelingen

Niet-programmeerbare processoren

Programmeerbare processoren

Hardware-beschrijvingstalen

Page 2: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-2 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Page 3: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-3 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaartMinimalisering met Karnaugh-kaartenMeerdere uitgangen ‘Don’t care’ conditiesQuine-McCluskey

Impact van technologie

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 4: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-4 06–07

H01L1

Waarom minimaliseren?

Kritisch pad = pad met de grootste vertraging

van een ingang naar een uitgang

Bijv. F = xy’z + xy’z’ = xy’(z + z’) = xy’

allepoorten

kost(poKostprij rs o t)

kritischpad

vertragingVertraging (poort)

Kostprijs(1+1) + (4+4) + 3

= 131 + 3 = 4

Vertraging

1 + 2,8 + 2,4 = 6,2

1 + 2,4 = 3,4

xyz xyz

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 5: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-5 06–07

H01L1

Hoe minimaliseren?

Via manipulatie van Booleaanse uitdrukkingen Zeer moeilijk: er bestaat geen methode om de

opeenvolgende theorema’s te kiezen die leiden tot de minimale oplossing

Een voorstelling gebruiken waarin opvalt welke ingang geen belang heeft Waarheidstabel ?

Duidelijk dat F = 1als x = 1 en y = 0,onafhankelijk van z

Alleen maar duidelijkvoor z omdat de lijnenvoor z = 0 of 1 ondermekaar liggen

N-kubus of Karnaugh-kaart

x y z F0 0 0 0 -0 0 1 0 -0 1 0 0 -0 1 1 0 -1 0 0 1 xy’z’1 0 1 1 xy’z1 1 0 0 -1 1 1 0 -

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 6: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-6 06–07

H01L1

N-kubus

= n-dimensionale kubus waarbij elke dimensie met 1 variabele overeen komt

2 variabelen

4 variabelen

000 001

010 011

100 101

110 111

00 01

10 11

0000 0001

0010 0011

0100 0101

0110 0111

1000 1001

1010 1011

1100 1101

1110 1111

3 variabelen

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 7: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-7 06–07

H01L1

Karnaugh-kaart

= 2-dimensionale voorstelling van n-kubus

elk vierkant heeft n burennaburige vierkanten hebben slechts voor

1 variabele een verschillende waarde

000 001

010 011

100 101

110 111

000 001

010 011

101 100

111 110

Spiegeling

x’y’z’ x’y’z

xy’z’ xy’z

x

0

1

yz00 01

x’yz x’yz’

xyz xyz’

11 10

x

y

z

x’z (y niet belangrijk)x’y’z x’yz

xy’z’ xyz’ xz’ (y niet belangrijk)xy’z’ xy’z

xy’ (z niet belangrijk)

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 8: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-8 06–07

H01L1

Meer dan 4 variabelen

Spiegeling van kaart met 1 variabele minder

Niet alle buren liggen fysisch naast mekaar!

0xy00

01

zw00 01 11 10

1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

18 19 17 16

22 23 21 20

30 31 29 28

26 27 25 24

11

10x

z

w

y

xy10 11 01 00

00

01

11

10

y

x

z

w

v

00101

01010

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 9: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-9 06–07

H01L1

Meer dan 4 variabelen

Herhaling van kaart met 1 variabele minder

Onoverzichtelijker naarmate meer variabelen!

0xy00

01

zw00 01 11 10

1 3 2

4 5 7 6

12 13 15 14

8 9 11 10

16 17 19 18

20 21 23 22

28 29 31 30

24 25 27 26

xy

11

10

00 01 11 10

00

01

11

10x

y

z

w

x

z

w

v

y

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 10: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-10 06–07

H01L1

Invullen Karnaugh-kaart

Vanuit waarheidstabel of canonische vorm

m0 m1

m4 m5

xy

00

01

zw00 01

m3 m2

m7 m6

11 10

x

z

w

m12 m13

m8 m9

m15 m14

m11 m10

11

10

y

1 0 00

0 1 01

1 0 10

0 1 01

x y z w F0 0 0 0 10 0 0 1 00 0 1 0 00 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 1

0 0 0 0 10 0 0 1 00 0 1 0 00 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 1

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 11: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-11 06–07

H01L1

Gebruiken Karnaugh-kaart

Zoek zo groot mogelijke subkubussen(= aaneengesloten gebieden met zelfde waarde) Bijv. F = x’y’z’w’ + x’yz’w + x’yzw + xy’z’w’

+ xy’zw’ + xyz’w + xyzw

1 0

0 1

xy

00

01

zw00 01

0 0

1 0

11 10

x

z

w

0 1

1 0

1 0

0 1

11

10

y

F =yw+ xy’w’+ y’z’w’

Minimalisering

Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 12: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-12 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaart Minimalisering met Karnaugh-kaarten

Minimale AND-OR realisatie Minimale OR-AND realisatie

Meerdere uitgangen ‘Don’t care’ conditiesQuine-McCluskey

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 13: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-13 06–07

H01L1

Minimalisering met Karnaugh-kaarten

Waarheidstabel of canonische vorm

Maak de Karnaugh-kaartMaak de Karnaugh-kaart

Bepaal alle priemimplicantenBepaal alle priemimplicanten

Bepaal alle essentiëlepriemimplicanten

Bepaal alle essentiëlepriemimplicanten

Zoek de minimale bedekkingZoek de minimale bedekking

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 14: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-14 06–07

H01L1

1. Maak de Karnaugh-kaart

w

x

yz

1

1

F = x’y’z’ + wz + xyz + w’y

F =x’y’z’1

1

1 1

11

1 1

11

1

11

1

1 1

11

Plaats enen op alle plaatsen in de Karnaugh-kaart waar een productterm 1 is.

+ wz+ xyz+ w’y

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 15: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-15 06–07

H01L1 2. Bepaal alle priemimplicanten

1 1 1

1 1

1 1

1 1 1w

x

yz

Analyseer elke 1-mintermBepaal de grootste subkubus(sen) die de

minterm bevat(ten) en voeg ze toe aan de lijst van priemimplicanten (als ze er nog niet op staan)

w’x’z’

x’y’z’

w’y

yz

wz

wx’y’

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 16: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-16 06–07

H01L1 3. Bepaal alle essentiëlepriemimplicanten

Zoek 1-mintermen die slechts in1 priemimplicant voorkomen;dit is een essentiële priemimplicant

1 1 1

1 1

1 1

1 1 1w

x

yz w’x’z’

x’y’z’

w’y

yz

wz

wx’y’

essentieel

essentieel

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 17: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-17 06–07

H01L1 4. Zoek de minimale bedekking

Fmin = x’y’z’ + w’y + wz

Zoek de kleinste set van (zo groot mogelijke) priemimplicanten die alle 1-mintermen omvat:

Initieer de set met de essentiële priemimplicanten Voeg telkens een priemimplicant toe die zoveel

mogelijk onbedekte 1-mintermen bevat Dit is een gulzige (‘greedy’) strategie: kies telkens de

beste oplossing zonder rekening te houden met de gevolgen op toekomstige keuzes

Niet noodzakelijk het globaal optimum

1 1 1

1 1

1 1

1 1 1w

x

yz

w’x’z’

x’y’z’

w’y

yz

wz

wx’y’

essentieel

essentieel

1

2

0

1

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 18: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-18 06–07

H01L1

Winst t.g.v. minimalisering

OrigineelF = x’y’z’ + w’y + xyz + wz

MinimaalFmin = x’y’z’ + w’y + wz

Kostprijs= 4×1 + 2×4 + 2×3 + 1×5= 23

Vertraging= 1 + 2,8 + 3,2= 7

w x y z w x y z

Kostprijs= 4×1 + 1×4 + 2×3 + 1×4= 18 (22% goedkoper)

Vertraging= 1 + 2,8 + 2,8= 6,6 (6% sneller)

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 19: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-19 06–07

H01L1

Een tweede voorbeeld

v w x y z F0 0 0 0 0 00 0 0 0 1 00 0 0 1 0 00 0 0 1 1 00 0 1 0 0 00 0 1 0 1 00 0 1 1 0 10 0 1 1 1 10 1 0 0 0 00 1 0 0 1 00 1 0 1 0 10 1 0 1 1 10 1 1 0 0 00 1 1 0 1 00 1 1 1 0 10 1 1 1 1 1

v w x y z F1 0 0 0 0 01 0 0 0 1 01 0 0 1 0 01 0 0 1 1 01 0 1 0 0 01 0 1 0 1 11 0 1 1 0 01 0 1 1 1 11 1 0 0 0 01 1 0 0 1 11 1 0 1 0 01 1 0 1 1 11 1 1 0 0 01 1 1 0 1 11 1 1 1 0 01 1 1 1 1 1

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 20: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-20 06–07

H01L1

Realisatie als som van 1-mintermen

F = (6,7,10,11,14,15,21,23,25,27,29,31)

wxyz

Kostprijs = 5×1 + 12×6 + 1×13 = 90Vertraging = 1 + 3,6 + 6,4 = 11

v

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 21: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-21 06–07

H01L1

Maak Karnaugh-kaart

0 0 0 0

0 0 1 1

0 0 1 1

0 0 1 1

0 0 0 0

0 1 1 0

0 1 1 0

0 1 1 0w

x

yz z

v

y

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 22: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-22 06–07

H01L1

Bepaal priemimplicanten

1 1

1 1

1 1

1 1

1 1

1 1w

x

yz z

v

y

v’xyv’wy

xyzwyz

vxzvwz

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 23: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-23 06–07

H01L1

Bepaal essentiële priemimplicanten

1 1

1 1

1 1

1 1

1 1

1 1w

x

yz z

v

y

F1min2 = v’xy + v’wy + vxz + vwz

Reeds de minimale bedekking

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 24: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-24 06–07

H01L1

Minimale AND-OR realisatie

F1min2 = v’xy + v’wy + vxz + vwz

Kostprijs = 1×1 + 4×4 + 1×5= 22 (76% goedkoper)

Vertraging = 1 + 2,8 + 3,2= 7 (34% sneller)

vwxyz

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 25: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-25 06–07

H01L1

Realisatie in meer dan 2 lagen

F = v’xy + v’wy + vxz + vwz= v’y(x + w) + vz(x + w)= (x + w)(v’y + vz) v

wxyz

Kostprijs = 1×1 + 5×3 = 16 (82% goedkoper)

Vertraging = 1 + 2,4 + 2,4 + 2,4= 8,2 (25% sneller)

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 26: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-26 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaart Minimalisering met Karnaugh-kaarten

Minimale AND-OR realisatieMinimale OR-AND realisatie

Meerdere uitgangen ‘Don’t care’ conditiesQuine-McCluskey

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 27: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-27 06–07

H01L1 Duale minimaliseringmet Karnaugh-kaart

0 0 0 0

0 0 1 1

0 0 1 1

0 0 1 1

0 0 0 0

0 1 1 0

0 1 1 0

0 1 1 0w

x

yz z

v

y

Realiseer de nullen i.p.v. de enen

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 28: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-28 06–07

H01L1

Bepaal de priemimplicanten

0 0 0 0

0 0

0 0

0 0

0 0 0 0

0 0

0 0

0 0w

x

yz z

v

y

v+yw+x

v’+zy+z

= (v’y’)’ = (vz’)’

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 29: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-29 06–07

H01L1

Bepaal essentiële priemimplicanten

0 0 0 0

0 0

0 0

0 0

0 0 0 0

0 0

0 0

0 0w

x

yz z

v

y

F0min2 = (v+y)(w+x)(v’+z)

Reeds de minimale bedekking

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 30: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-30 06–07

H01L1

Minimale OR-AND realisatie

F0min2 = (v+y)(w+x)(v’+z)

Kostprijs = 1×1 + 3×3 + 1×4= 14 (84% goedkoper)

Vertraging = 1 + 2,4 + 2,8= 6,2 (44% sneller)

vwxyz

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 31: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-31 06–07

H01L1

Samenvatting

Verderop zullen we zien dat er nog andere mogelijkheden zijn, afhankelijk van de technologie OR-AND-INV

Kostprijs = 11 (Rel. kostprijs = 12%) Vertraging = 4 (Rel. vertraging = 36%)

NOR Kostprijs = 10 (Rel. kostprijs = 11%) Vertraging = 4,2 (Rel. vertraging = 38%)

compromis grootte snelheid

Realisatie Kost Rel. kostVertragin

gRel.

vertragingSom van 1-mintermen 90 100% 11 100%

Minimale AND-OR 22 24% 7 64%3-lagen 16 18% 8,2 75%

Minimale OR-AND 14 16% 6,2 56%

Minimalisering

• Karnaugh-kaart

Minimalisering

AND-OR

OR-AND

• Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 32: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-32 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaartMinimalisering met Karnaugh-kaarten Meerdere uitgangen ‘Don’t care’ conditiesQuine-McCluskey

Impact van technologie

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

• Minimalisering

Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 33: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-33 06–07

H01L1

Meerdere uitgangen

Nadat alle essentiële priemimplicanten

gerealiseerd zijn: Selecteer alle priemimplicanten

die de mintermen realiseren en die al essentieel zijn voor een andere functie (en dus al gerealiseerd zijn) yw’ reeds essentieel voor a en b zw’ reeds essentieel voor a

Kies de implicant die in het kleinst aantal functies voorkomt (om de fan-out zo laag mogelijk te houden) yw’ reeds in a en b zw’ reeds in a

1 1

1 1 1

1 1 1

1 1

c

xy

1

1 1

1 1

1

a

xy

zw

1 1

1 1

b

xy

a = yw’ + zw’b = yw’c = yz’ + y’z + zw’

Minimalisering

• Karnaugh-kaart

• Minimalisering

Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 34: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-34 06–07

H01L1

Meerdere uitgangen

Soms voordelig om niet-priemimplicanten te gebruiken (‘trial-and-error’!)

Mogelijkheden stijgen als meerdere lagen toegelaten zijn

1 1 1

1 1 1

1

a

xy

zw

1 1 1

1 1 1

1

b zw

1 1 1

1 1 1

1

a

xy

1 1 1

1 1 1

1

b

a = yz’ + wyz + xwy’z’b = yw’ + wyz + xwy’z’

Kostprijs: 23

a = yz’ + yw + xwz’b = yw’ + zy + xwy’z’

Kostprijs: 26

Minimalisering

• Karnaugh-kaart

• Minimalisering

Multi-uitgang

• Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 35: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-35 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaartMinimalisering met Karnaugh-kaartenMeerdere uitgangen ‘Don’t care’ conditiesQuine-McCluskey

Impact van technologie

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 36: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-36 06–07

H01L1

‘Don’t care’ condities

= onvolledig gespecificeerde Booleaanse functie

BCD 7-segmenta

b

c

d

e

fg

x y z w a b c d e f g0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

1 1 1 1 1 1 0

1 1 1 1 0 0 1

1 0 1 1 0 1 1

1 1 1 0 0 0 0

1 1 1 1 0 1 1

0 1 1 0 0 0 01 1 0 1 1 0 1

0 1 1 0 0 1 1

1 0 1 1 1 1 1

1 1 1 1 1 1 1

X X X X X X XX X X X X X XX X X X X X XX X X X X X XX X X X X X XX X X X X X X

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 37: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-37 06–07

H01L1

1. Maak Karnaugh-kaarten

1 0 1 1

0 1 1 1

X X X X

1 1 X X

1 1 1 1

1 0 1 0

X X X X

1 1 X X

1 1 1 0

1 1 1 1

X X X X

1 1 X X

1 0 1 1

0 1 0 1

X X X X

1 1 X X

1 0 0 1

0 0 0 1

X X X X

1 0 X X

1 0 0 0

1 1 0 1

X X X X

1 1 X X

0 0 1 1

1 1 0 1

X X X X

1 1 X X

x

x

y

y

z z z zw w w w

a b c d

e f g

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 38: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-38 06–07

H01L1 2. Bepaal alle priemimplicanten

1 1 1

1 1 1

X X X X

1 1 X X

1 1 1 1

1 1

X X X X

1 1 X X

1 1 1

1 1 1 1

X X X X

1 1 X X

1 1 1

1 1

X X X X

1 1 X X

1 1

1

X X X X

1 X X

1

1 1 1

X X X X

1 1 X X

1 1

1 1 1

X X X X

1 1 X X

x

x

y

y

z z z zw w w w

a b c d

e f g

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 39: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-39 06–07

H01L1 3. Bepaal alle essentiëlepriemimplicanten

1 1 1

1 1 1

X X X X

1 1 X Xx

y

zw

a

volledigebedekking

1 1 1

1 1

X X X X

1 1 X X

zw

d

volledigebedekking

1

1 1 1

X X X X

1 1 X X

f

volledigebedekking

a = y’w’ + z + yw + x

b = y’ + z’w’ + zw c = z’ + w + y

d = y’w’ + y’z + yz’w + zw’ + x

e = y’w’ + zw’ f = z’w’ + yz’ + yw’ + x

1 1 1

1 1 1 1

X X X X

1 1 X X

zw

c

volledigebedekking

1 1 1 1

1 1

X X X X

1 1 X X

zw

b

volledigebedekking

1 1

1

X X X X

1 X Xxy

e

volledigebedekking

1 1

1 1 1

X X X X

1 1 X X

g

onvolledigebedekking

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 40: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-40 06–07

H01L1 4. Zoek de minimale bedekking

Keuze van de priemimplicant die deoverblijvende minterm realiseert: Selecteer alle priemimplicanten die

de minterm realiseren en die al essentieel zijn voor een andere functie zw’ reeds essentieel voor d of e yw’ reeds essentieel voor f

Kies de implicant die in het kleinst aantal functies voorkomt zw’ reeds in d en e yw’ reeds in f

1 1

1 1 1

X X X X

1 1 X X

g

xy

zw

g = y’z + yz’ + yw’ + x

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 41: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-41 06–07

H01L1

Minimale realisatiex y z w

a cb d e f g

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 42: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-42 06–07

H01L1

Kostprijs & vertraging

Som van 1-mintermen Kostprijs = 110 (100%)

Inverters : 4×1 = 4 AND-poorten : 10×5 = 50 OR-poorten : 9 + 9 + 10 + 8 + 5

+ 7 + 8 = 56 Vertraging = 1 + 3,2 + 5,2 = 9,4 (100%)

Kritisch pad = xc (9-input OR)

Minimale 2-lagen-implementatie Kostprijs = 64 (58%)

Inverters : 4×1 = 4 AND-poorten : 8×3 + 1×4 = 28 OR-poorten : 1×3 + 2×4 + 3×5 + 1×6

= 32 Vertraging = 1 + 2,8 + 3,6 = 7,4 (79%)

Kritisch pad = zd (3-input AND & 5-input OR)

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

Don't care

• Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

x y z w a b c d e f g0 0 0 0 1 1 1 1 1 1 00 0 0 1 0 1 1 0 0 0 00 0 1 0 1 1 0 1 1 0 10 0 1 1 1 1 1 1 0 0 10 1 0 0 0 1 1 0 0 1 10 1 0 1 1 0 1 1 0 1 10 1 1 0 1 0 1 1 1 1 10 1 1 1 1 1 1 0 0 0 01 0 0 0 1 1 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1

Page 43: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-43 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functiesKarnaugh-kaartMinimalisering met Karnaugh-kaartenMeerdere uitgangen ‘Don’t care’ condities Quine-McCluskey

Impact van technologie

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 44: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-44 06–07

H01L1

Quine-McCluskey

Karnaugh-kaarthandmatige methode:

visuele patroonherkenninggeen garantie op de optimale oplossing

(gulzige strategie)

Quine-McCluskeycomputermethode,

gebruik makend van tabellenoptimale oplossingvormt de basis van alle CAD-software

van het ontwerpen van schakelingen moeilijk met de hand zie boek

Minimalisering

• Karnaugh-kaart

• Minimalisering

• Multi-uitgang

• Don't care

Quine-McClusky

Technologie

Tijdsgedrag

Basisblokken RTL

Page 45: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-45 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologieGate array: NAND, NORComponentenbibliotheek: AOI, OAI, …FPGA

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

Technologie

• Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 46: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-46 06–07

H01L1

Gate array

Aanpassing nodig omdat ze enkel m-input NAND- of m-input NOR-poorten bevatten: INV-AND-OR (minimalisering 1-mintermen)

m-input NAND INV-OR-AND (minimalisering 0-maxtermen)

m-input NOR Aanpassing aan de technologie:

Vervang n-input AND (OR) doorm-input ANDs (ORs), met m<n

DecompositieDecompositie

ConversieConversie Vervang AND & OR door NAND (NOR)

OptimaliseringOptimalisering Elimineer dubbele negaties

Optimalisering vertragingOptimalisering vertragingTracht alle vertragingen van ingangnaar uitgang gelijk te maken

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 47: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-47 06–07

H01L1

Decompositie

=

=

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

a + b + c + d = (a + b) + (c + d)= ((a + b) + c) + d

Page 48: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-48 06–07

H01L1

Conversie & optimalisering

Conversie gebaseerd op dewetten van De Morgan:

Optimalisering:

= (xy)’ = x’ + y’

= (x + y)’ = x’y’

= (x’)’ = x

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 49: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-49 06–07

H01L1

Enkele voorbeelden

De realisatie met alleen NAND of NOR is sneller:geen extra inverter per poort

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 50: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-50 06–07

H01L1

Realisatie van een inverter

=Nadeel:

verdubbeling belasting van de sturende poort

=

1

0

Nadeel: langere bedrading

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 51: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-51 06–07

H01L1

Optimalisering vertraging (‘retiming’)

= tracht alle vertragingen van een ingangnaar een uitgang gelijk te maken

Bijv. realiseer onderstaand voorbeeld enkel met 3-input NAND-poorten en optimaliseer de vertraging

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 52: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-52 06–07

H01L1

Voorbeeld optimalisering vertraging

1e ontbinding in3-input NAND

2e ontbinding in3-input NAND

Vertraging = 6×1,8 = 10,8

Vertraging = 4×1,8 = 7,2 (67%)

Minimalisering

Technologie

Gate array

• Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 53: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-53 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologieGate array Componentenbibliotheek: AOI, OAI, …FPGA

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 54: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-54 06–07

H01L1

Bibliotheek van componenten

ASIC’s hebben AOI en OAI: klein en snel! Voor kleine functies: realiseer de

inverse functie met AND-OR of OR-AND Bijv. 2e voorbeeld minimalisering:

F =

(6,7,10,11,14,15,21,23,25,27,29,31)Realisatie als som van 1-mintermen:

kostprijs = 90 vertraging = 11

Minimale realisatie als OR-AND: kostprijs = 14 (16%) vertraging = 6,2 (56%)

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 55: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-55 06–07

H01L1

Voorbeeld kleine functie

F = (6,7,10,11,14,15,21,23,25,27,29,31) F’= (0,1,2,3,4,5,8,9,12,13,16,17,18,19,20, 22,24,26,28,30)

Kostprijs = 5×1 + 6 = 11 (12%)Vertraging = 1 + 3 = 4 (36%)

1 1 1 1

1 1

1 1

1 1

1 1 1 1

1 1

1 1

1 1w

x

yz z

v

y vwxyz

F’

F

F

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 56: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-56 06–07

H01L1

Grote functies (meerlagen realisatie)

Transformeer naar NAND of NORTransformeer naar NAND of NOR

Realiseer als AND-OR of OR-ANDRealiseer als AND-OR of OR-AND

Vervang zoveel mogelijk 2 lagen poorten

buiten het kritisch pad door AOI/OAI(lagere kost)

Vervang zoveel mogelijk 2 lagen poorten

buiten het kritisch pad door AOI/OAI(lagere kost)

Bepaal kritisch padBepaal kritisch pad

Vervang zoveel mogelijk 2 lagen poorten

op het kritisch pad door AOI/OAI(lagere kost / geen slechtere

vertraging)

Vervang zoveel mogelijk 2 lagen poorten

op het kritisch pad door AOI/OAI(lagere kost / geen slechtere

vertraging)

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 57: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-57 06–07

H01L1

Voorbeeld: F = w’z’ + z(w+y)

1. Realiseer met AND en OR

2. Transformeer naar NAND en NOR

Kostprijs = 14Vertraging =

7,2

3. Bepaal het kritisch pad

Kostprijs = 11 (79%)Vertraging = 5,2 (72%)

y

z

wF

y

z

wF

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 58: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-58 06–07

H01L1

AOI/OAI gebruiken (1e poging)

4. Vervang 2 poorten op kritisch paddoor AOI

5. Vervang 2 poorten buiten kritisch paddoor een component uit de bibliotheek

Kostprijs = 10 (71%)Vertraging = 5,6 (78%)

y

z

w F

y

z

w F

Kostprijs = 10 (71%)Vertraging = 5,6 (78%)

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 59: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-59 06–07

H01L1

AOI/OAI gebruiken (2e poging)

4. Vervang 2 poorten op kritisch paddoor OAI

5. Vervang 2 poorten buiten kritisch paddoor een component uit de bibliotheek

Kostprijs = 7 (50%)Vertraging = 3,6 (50%)

y

z

w F

Kostprijs = 10 (71%)Vertraging = 5,6 (78%)

y

z

w F

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 60: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-60 06–07

H01L1

AOI/OAI gebruiken (3e poging)

4. Vervang 2 poorten op kritisch paddoor OAI

4. Analyseer het nieuwe kritische pad

Kostprijs = 10 (71%)Vertraging = 3,8 (53%)

Kostprijs = 9 (64%)Vertraging = 3,8 (53%)

y

z

wF

y

z

wF

Minimalisering

Technologie

• Gate array

Chip-ontwerp

• FPGA

Tijdsgedrag

Basisblokken RTL

Page 61: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-61 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologieGate arrayComponentenbibliotheek FPGA

Tijdsgedrag

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

Technologie

• Gate array

• Chip-ontwerp

FPGA

Tijdsgedrag

Basisblokken RTL

Page 62: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-62 06–07

H01L1

Aanpassing aan FPGA

CLB2 functies van 4 variabelen1 functie van 5 variabelen

Aanpassing analoog aan vorige methode, maar zoek naar subschakelingen van 4 of 5 variabelen i.p.v. AOI/OAI

Voor FPGA’s (of ASIC’s) gebeurt de aanpassing voorprototype: software (automatisch)eindproduct: handmatige optimalisering

kanvoordelig zijn

Minimalisering

Technologie

• Gate array

• Chip-ontwerp

FPGA

Tijdsgedrag

Basisblokken RTL

Page 63: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-63 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie

TijdsgedragHazards vermijden

Basisbouwblokken op RTL-niveau(ADD, ALU, MUX, …)

Minimalisering

Technologie

Tijdsgedrag

• Hazard

Basisblokken RTL

Page 64: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-64 06–07

H01L1

Hazard

= bijkomende niveauverstoring (‘glitch’) t.g.v. tijdsgedrag

Statische hazard:constant niveau vertoont verstoringstatische 1-hazard:

uitgang moet 1 blijven maar wordt even 0statische 0-hazard:

uitgang moet 0 blijven maar wordt even 1 Dynamische hazard:

uitgang schakelt niet eenmaal(bijv. 1 0) maar meerdere malen(bijv. 1 0 1 0)

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 65: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-65 06–07

H01L1

Voorbeeld statische hazard

1

1 1 1x

yz

x

y

y’

z

a

b

F

0 1 2 3 4 5 6

Statische 1-hazard

x

y

z

y’a

b

F

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 66: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-66 06–07

H01L1

Voorbeeld dynamische hazard

Statisch equivalent:

x F

x’’

0 1 2 3 4 5 6 7 8 9

x

x’

a

F

x’ x’’a

Fx

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 67: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-67 06–07

H01L1

Hazards vermijden

OorzaakVerschil in vertraging van eenzelfde

ingang naar eenzelfde uitgang langs verschillende paden

OplossingVoeg redundante termen toe om

disjuncte gebieden in de Karnaugh-kaart te bedekken 1-hazards:

mintermen voor disjuncte 1-gebieden 0-hazards:

maxtermen voor disjuncte 0-gebieden

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 68: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-68 06–07

H01L1

Hazards vermijden

1

1 1 1x

yz

x

y

y’

z

a

b

F

0 1 2 3 4 5 6

c

x

y

z

y’a

bF

c

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 69: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-69 06–07

H01L1

Hazard-problemen

Hazards zijn moeilijk handmatig te detecteren simulatie tijdsgedrag belangrijk

De kans op hazards vergroot naarmate tPLH en tPHL meer verschillen

Wanneer zijn hazards een probleem? Als signaalovergangen gebruikt worden (bijv.

klok)

Als signaalniveaus gebruikt worden en de hazard komt op een slecht ogenblik (cfr. sequentiële schakelingen)

Samen met de klok van een synchrone schakeling

Gelijk wanneer in een asynchrone schakeling

Minimalisering

Technologie

Tijdsgedrag

Hazard

Basisblokken RTL

Page 70: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-70 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU (De)multiplexerPrioriteitsencoderVergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 71: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-71 06–07

H01L1

Interludium: XOR-poort

Herkenbaar aan dambordpatroon

Realiseerbaar als boom van 2-input XOR’s

Bruikbaar als programmeerbare inverter

xx

0x

x’1

0 1 0 1

1 0 1 0

0 1 0 1

1 0 1 0x

y

zw

x y z w 0 0 1 1

1 1 0 0

0 0 1 1

1 1 0 0x

y

zw

x y z

x y z w= (x y) (z w)

xyzw

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 72: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-72 06–07

H01L1

Halve opteller (‘Half Adder’)

0 0

0 1xi

yici+1

0 1

1 0xi

yisi

HA

xi yi

ci+1

si

1 CLB

xi yi ci+1 si

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

xi yi

ci+1 si

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 73: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-73 06–07

H01L1

Opteller (‘Full Adder’)

1 CLB

xi yi ci ci+1 si

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 0 1 1 01 1 1 1 1

FA

xi yi

cici+1

si

xiyi

ci

ci+1 si

1

1 1 1ci

xi

yi

ci+1

1 1

1 1ci

xi

yi

si

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 74: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-74 06–07

H01L1

Alternatieve implementatie

1 poort minder,grotere vertraging van xi & yi naar ci+1,dezelfde vertraging van ci naar ci+1

xi yi ci ci+1 si

0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 0 1 1 01 1 1 1 1

FA

xi yi

cici+1

si

xiyi

ci

ci+1 si

yi

1 1

1 1ci

xi

yi

si

1

1 1 1ci

xici+1

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 75: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-75 06–07

H01L1

Ripple-carry opteller

4-bit ripple-carry opteller

FA

x0 y0

c0=0c1

s0

FA

x1 y1

c2

s1

FA

x2 y2

c3

s2

FA

x3 y3

c4

s3

Kritisch pad: x0 of y0 cn: 1 XOR + n AND + n OR

Vertraging: 3,2 + n 2,4 + n 2,4

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 76: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-76 06–07

H01L1

Carry-look-ahead opteller

Ripple-carry opteller is traag omdat het kritisch pad van x0 naar cn+1 lang is

Versnelling mogelijk door cn+1 rechtstreeks (bijv. in 2 lagen) te berekenen uit c0, x0…xn en y0…yn

= ‘carry-look-ahead’ Cascadeerbare oplossing

met ‘carry-generate’ gi

en ‘carry-propagate’ pi :

ci+1 = gi + pi ci

gi = xi yi

pi = xi yi’ + xi’yi

Opmerking: ci+1 hangt nietrechtstreeks af van xi of yi

xiyi

ci

sici+1 pigi

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 77: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-77 06–07

H01L1

Carry-look-ahead opteller

CLA generatorfuncties:

x ycs

g p

xi yisi

x ycs

g p

xi+n−1yi+n−

1

si+n

−1

x ycs

g p

xi+2 yi+2si+2

x ycs

g p

xi+1 yi+1si+1

CLA generator ci

g0 p0gn−1pn−1 g2 p2 g1 p1

c0

c1

ci+1

c3

ci+3

c2

ci+2

cn

ci+n

g(i,i+n−1)p(i,i+n−1)

g(0,n−1)p(0,n−1)

1

1

( , ) ( , )

( , )

( , ) ( 1, )

j ij

kk i

j

j kk i

c g i j p i j c

p i j p

g i j g p k j g

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 78: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-78 06–07

H01L1

Carry-look-ahead opteller

Realisatie van CLA-functies in 2 lagenKritisch pad: xi of yi ci+n:

1 XOR + 1 n-input AND + 1 n-input ORVertraging: 3,2 + 2(1,6 + n0,4) = 6,4 +

0,8n Cascade van k-bit CLA-generators

in logk n niveaus: bijv. n = 24, k = 4

Vertraging = 3,2 + (2logk n − 1)(3,2 + 0,8k) logaritmisch stijgend

CLA CLA

CLA

CLACLA CLACLACLACLA

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 79: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-79 06–07

H01L1

Opteller-aftrekker (‘adder-subtractor’)

Adder/subtractor

X Y

F

SCout

Alleen voor 2-complement!

S Functie Bewerking0 X + Y Optelling

1X − Y = X + Y*

= X + Y’ + 1

Aftrekking

FA

x0 y0

c0c1

f0

FA

x1 y1

c2

f1

FA

x2 y2

c3

f2

FA

x3 y3

c4

f3

S

overflow

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 80: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-80 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU (De)multiplexerPrioriteitsencoderVergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 81: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-81 06–07

H01L1

Parallelle vermenigvuldiger

1-bit × 1-bit vermenigvuldiger

2-bit × 2-bit vermenigvuldiger

a0b0

b0

a0

b1

a1

a0b1

a1b0a1b1

c0c1c2c3Elke term is 1×1-

vermenigvuldiger

b0

a0

a0b0

= AND-poorta0 b0

c0

b0 a0 c0 = a0 × b0

0 0 00 1 01 0 01 1 1

b0b1

a0

b0b1

a1

HAHA

c0c1c2c3

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 82: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-82 06–07

H01L1

4-bit × 3-bit vermenigvuldiger

b0b1

a0b2b3

b0b1

a1 b2b3

4-bit opteller

0

b0b1

a2 b2b3

4-bit opteller

c0c1c2c3c4c5c6

s0s1s2s3cout

s0s1s2s3cout

Kostprijs = O(n×m)

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 83: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-83 06–07

H01L1 2-complement vermenigvuldiger

Hou rekening met de tekenbit Bijv. 11112 × 11112 = 000000012

( 11112 = −110 = −8 + 4 + 2 + 1 )

Converteer naar ‘sign-magnitude’-voorstelling dikwijls minder hardware

1 × −1 11111111

+ 2 × −1

+ 11111110

+ 4 × −1

+ 11111100

+ −8 × −1

+ 00001000

−1 × −1 00000001

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 84: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-84 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU : (Aritmetische &) logische eenheid (De)multiplexerPrioriteitsencoderVergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 85: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-85 06–07

H01L1

Logische eenheid

= component die alle 16 Booleaanse functies van 2 bits kan realiseren

Eenheid voor n bits= n eenheden voor 1 bit

4 bits S3S2S1S0 die de functie selecterenCodering van de selectiebits is identiek

aan het functienummer in de tabel van de mogelijke Booleaanse functies

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 86: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-86 06–07

H01L1

Functies logische eenheid

Functiewaarden voor x,y1-mintermen 00 01 10 11 Uitdrukking

— 0 0 0 0 F0 = 0

m3 0 0 0 1 F1 = xy

m2 0 0 1 0 F2 = xy’

m2 + m3 0 0 1 1 F3 = x

m1 0 1 0 0 F4 = x’y

m1 + m3 0 1 0 1 F5 = y

m1 + m2 0 1 1 0 F6 = xy’ + x’y

m1 + m2 + m3 0 1 1 1 F7 = x + y

m0 1 0 0 0 F8 = (x + y)’

m0 + m3 1 0 0 1 F9 = xy + x’y’

m0 + m2 1 0 1 0 F10 = y’

m0 + m2 + m3 1 0 1 1 F11 = x + y’

m0 + m1 1 1 0 0 F12 = x’

m0 + m1 + m3 1 1 0 1 F13 = x’ + y

m0 + m1 + m2 1 1 1 0 F14 = (xy)’

m0 + m1 + m2 + m3

1 1 1 1 F15 = 1

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 87: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-87 06–07

H01L1 Implementatie logische eenheid

S0S1S2S3

xiyi

fi

LU

xi yi

fi

S0..3

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 88: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-88 06–07

H01L1

Arithmetic-Logic Unit

= component die de volgende functies realiseert:4 aritmetische bewerkingen: optelling,

aftrekking, ‘increment’ (+1), ‘decrement’ (−1)

4 logische bewerkingen: AND, OR, INV, identiteit (doorgeven, nul-operatie)

Realisatie:Opteller voor aritmetische operatiesArithmetic-Logic Extender ervoor

conditionering ingangen opteller(cfr. XOR bij aftrekking)

logische operaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 89: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-89 06–07

H01L1

Implementatie ALU

M

M kiest het type bewerking: 0 = logisch, 1 = aritmetischS0 en S1 kiezen de bewerking

FA

a0 b0

f0

ALE

FA

a1 b1

f1

ALE

FA

a2 b2

f2

ALE

FA

a3 b3

f3

ALE

FA

a4 b4

f4

ALE

cout

S01

X Y

overflow

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 90: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-90 06–07

H01L1

ALU-functies

M S1 S0 Functie F X Y C0

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

AND A AND B A AND B 0 0Identity A A 0 0

OR A OR B A OR B 0 0

Decrement A−1 Aall 1

0Add A+B A B 0

Subtract A−B A B’ 1

Increment A+1 Aall 0

1

Complement A’ A’ 0 0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 91: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-91 06–07

H01L1

Generatie carry-in

1 1M

S1

S0c0

M S1

c0

M S1 S0 Functie F X Y C0

0 0 0 Complement A’ A’ 0 00 0 1 AND A AND B A AND B 0 00 1 0 Identity A A 0 00 1 1 OR A OR B A OR B 0 0

1 0 0 Decrement A−1 Aall 1

0

1 0 1 Add A+B A B 01 1 0 Subtract A−B A B’ 1

1 1 1 Increment A+1 Aall 0

1

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 92: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-92 06–07

H01L1

ALE-implementatie: X

1

1 1

M

S1

S0X

1 1 1

1 1ai

bi

1 1 1 1

1 1 1 1

S1

S0

ba

S0S1

M

M S1 S0 Functie F X Y C0

0 0 0 Complement A’ A’ 0 00 0 1 AND A AND B A AND B 0 00 1 0 Identity A A 0 00 1 1 OR A OR B A OR B 0 0

1 0 0 Decrement A−1 Aall 1

0

1 0 1 Add A+B A B 01 1 0 Subtract A−B A B’ 1

1 1 1 Increment A+1 Aall 0

1

X

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 93: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-93 06–07

H01L1

ALE-implementatie: Y

bi

M

S1

S0Y

ai

1 1

1 1

S1

S0

11

11

ba

S0S1

M

M S1 S0 Function F X Y C0

0 0 0 Complement A’ A’ 0 00 0 1 AND A AND B A AND B 0 00 1 0 Identity A A 0 00 1 1 OR A OR B A OR B 0 0

1 0 0 Decrement A−1 Aall 1

0

1 0 1 Add A+B A B 01 1 0 Subtract A−B A B’ 1

1 1 1 Increment A+1 Aall 0

1

Y

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 94: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-94 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU : (Aritmetische &) logische eenheid (De)multiplexerPrioriteitsencoderVergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 95: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-95 06–07

H01L1

Decoder of DeMultiplexer

2-naar-4 decoder

EA1

A0

C3 C2 C1 C0

Decoder

C3..0

A1..0

E

2 CLB

E A1 A0 C3 C2 C1 C0

0 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 0 0 0 11 0 1 0 0 1 01 1 0 0 1 0 01 1 1 1 0 0 0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 96: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-96 06–07

H01L1

Decoders cascaderen

nm-naar-2nm = n niveaus van m-naar-2m

(2nm − 1)/(2m − 1) elementen

Decoder

C3..0

A1..0

EDecoder

C7..4

A1..0

EDecoder

C11..8

A1..0

EDecoder

C15..12

A1..0

E

Decoder

A3..2

E

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 97: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-97 06–07

H01L1

Selector of Multiplexer

4-naar-1MUX

D3..0

S1..0

Y

In principe: 2-naar-1 MUX is ½ CLBWegens extra voorzieningen:4-naar-1 MUX is 1 CLB

S1 S0 Y

0 0 D0

0 1 D1

1 0 D2

1 1 D3

D3 D2 D1 D0

S1

S0

Y

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 98: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-98 06–07

H01L1 Alternatieve implementatie MUX

Met 3-state buffers

S1 S0 Y

0 0 D0

0 1 D1

1 0 D2

1 1 D3

D3 D2 D1 D0

Y

Deco

der

S1

S0

E Y

0 Z

1 D

D3 D2 D1 D0

Y

Deco

der

S1

S0

D Y

E

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 99: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-99 06–07

H01L1 Alternatieve implementatie MUX

Bus = gedistribueerde versie van MUX Gemakkelijk uit te breiden Nadeel MUX met hoge fan-in

fan-in OR-poort wordt te groot alle ingangen moeten naar 1 centrale plaats

3-state buffer meestal gratis in een FPGA elke CLB heeft er een die aan een horizontale

lange lijn verbonden kan worden

D1D2D3 D0

Deco

der

S1

S0

Bus

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 100: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-100 06–07

H01L1

Multiplexers cascaderen

4-naar-1MUX

S3..2

4-naar-1MUX

D7..4

S1..0

4-naar-1MUX

D11..8

S1..0

4-naar-1MUX

D15..12

S1..0

4-naar-1MUX

D3..0

S1..0

Y

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

(De)Mux

• Prioriteits-encoder

• Comparator

• Schuiver

Page 101: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-101 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU : (Aritmetische &) logische eenheid (De)multiplexer PrioriteitsencoderVergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

Prioriteits-encoder

• Comparator

• Schuiver

Page 102: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-102 06–07

H01L1

Prioriteitsencoder

0

D2

D3

D1

D0

Any

0 0 0 0

D2

D3

D1

D0

A1

1 1

1 1 1 11 1 1 1

D2

D3

D1

D0

A0

D3 D2 D1 D0 A1 A0 Any

0 0 0 0 0 0 00 0 0 1 0 0 10 0 1 0 0 1 10 0 1 1 0 1 10 1 0 0 1 0 10 1 0 1 1 0 10 1 1 0 1 0 10 1 1 1 1 0 11 0 0 0 1 1 11 0 0 1 1 1 11 0 1 0 1 1 11 0 1 1 1 1 11 1 0 0 1 1 11 1 0 1 1 1 11 1 1 0 1 1 11 1 1 1 1 1 1

0 0 0 0 0 0 0

0 0 1 0 0 1 10 0 1 1 0 1 10 1 0 0 1 0 10 1 0 1 1 0 10 1 1 0 1 0 10 1 1 1 1 0 11 0 0 0 1 1 11 0 0 1 1 1 11 0 1 0 1 1 11 0 1 1 1 1 11 1 0 0 1 1 11 1 0 1 1 1 11 1 1 0 1 1 11 1 1 1 1 1 1

0 0 0 1 0 0 1

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

Prioriteits-encoder

• Comparator

• Schuiver

Page 103: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-103 06–07

H01L1 Implementatie prioriteitsencoder

0

D2

D3

D1

D0

Any

0 0 0 0

D2

D3

D1

D0

A1

1 1

1 1 1 11 1 1 1

D2

D3

D1

D0

A0

D3

D0

Any A1 A0

Priorityencoder

D3..0

A1..0

Any1,5 CLB

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

Prioriteits-encoder

• Comparator

• Schuiver

Page 104: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-104 06–07

H01L1 Prioriteitsencoders cascaderen

Priorityencoder

D3..0

Priorityencoder

D7..4

Priorityencoder

D11..8

Priorityencoder

D15..12

Priorityencoder

A3..2

Any 4-to-1MUX

A1

4-to-1MUX

A0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

Prioriteits-encoder

• Comparator

• Schuiver

Page 105: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-105 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU : (Aritmetische &) logische eenheid (De)multiplexerPrioriteitsencoder VergelijkenSchuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

Comparator

• Schuiver

Page 106: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-106 06–07

H01L1

Comparator

1

11 1 1 1

y1

x1

x0

y0

G

11 1 1 1

1y1

x1

x0

y0

L

x1 y1 x0 y0G

(X>Y)L (X<Y)

0 0 0 0 0 00 0 0 1 0 10 0 1 0 1 00 0 1 1 0 00 1 0 0 0 10 1 0 1 0 10 1 1 0 0 10 1 1 1 0 11 0 0 0 1 01 0 0 1 1 01 0 1 0 1 01 0 1 1 1 01 1 0 0 0 01 1 0 1 0 11 1 1 0 1 01 1 1 1 0 0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

Comparator

• Schuiver

Gin Lin

Page 107: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-107 06–07

H01L1

x1x0y1y0

Implementatie comparator

1

11 1 1 1

y1

x1

x0

y0

G

11 1 1 1

1y1

x1

x0

y0

L

Comp

x1 y1

x0 (Gin)

y0 (Lin)G

L1 CLB

G L

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

Comparator

• Schuiver

Page 108: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-108 06–07

H01L1

Comparators cascaderen

Comp

x1 y1

Comp

x2 y2

Comp

x3 y3

Comp

x4 y4

Comp

x5 y5

Comp

x6 y6

Comp

x7 y7 x0 y0

G

L

Comp

x1 y1x2 y2

Comp

x3 y3x4 y4

Comp

x5 y5x6 y6

Comp

x7 y7 x0 y0

Comp

Comp

Comp

G L

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

Comparator

• Schuiver

Page 109: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-109 06–07

H01L1

Vergelijken met constanten

Eenvoudigere schakelingen, bijv. x is 8 bits breed

x = 0

x

x = 255 x ≥ 64

x

x < 192x7 x6

x7 x6

x is even

x is oneven

x0

x0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

Comparator

• Schuiver

Page 110: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-110 06–07

H01L1

Ontwerp combinatorische schakelingen

Minimalisering van Booleaanse functies

Impact van technologie Tijdsgedrag Basisbouwblokken op RTL-niveau

Optellen & aftrekken Vermenigvuldigen (A)LU : (Aritmetische &) logische eenheid (De)multiplexerPrioriteitsencoderVergelijken Schuifoperaties

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

Schuiver

Page 111: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-111 06–07

H01L1

Schuifoperaties

m posities schuiven: links ‘<<’, rechts ‘>>’Nieuwe bits

Logisch schuiven– Een bit van een bijkomende ingang

Aritmetisch schuiven– Links schuiven: m nullen rechts erbij– Rechts schuiven: m tekenbits links erbij

(MSB voor 2-complement, 0 anders)

i << m i × 2m i >> m i ÷ 2m

m posities roteren, links of rechtsDe bits die aan de ene kant afvallen

worden er aan de andere kant bijgezet

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

Schuiver

Page 112: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-112 06–07

H01L1

Implementatie schuifoperatiesS2 S1 S0 functie

0 X X1 0 01 0 11 1 01 1 1

d0d1d2d3S2S1S0

L-in R-in

no shiftshift leftrotate leftshift rightrotate right

4-to-1MUX

4-to-1MUX

4-to-1MUX

4-to-1MUX

MM

y3 y2 y1 y0

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

Schuiver

Page 113: Combina- torische schakelingen KATHOLIEKE UNIVERSITEIT 3-13-106–07H01L1 Inhoudstafel  Inleiding  De basis van digitaal ontwerp  Combinatorische schakelingen:

Combina-torische

schakelingen

KATHOLIEKE UNIVERSITEIT

3-113 06–07

H01L1

‘8-bit barrel left rotator’

MMMMMMMM

MMMMMMMM

MMMMMMMM

S0

S1

S2

Minimalisering

Technologie

Tijdsgedrag

Basisblokken RTL

• Opteller

• Vermenig-vuldiger

• ALU

• (De)Mux

• Prioriteits-encoder

• Comparator

Schuiver