De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Inhoud (1) De ontwerpruimte en haar terminologie

Verwante presentaties


Presentatie over: "Inhoud (1) De ontwerpruimte en haar terminologie"— Transcript van de presentatie:

1 Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica

2 Synthese van poortnetwerken doelstellingen
Het ontwerpen van poortnetwerken die een opgegeven (partiële) functie realiseren Dit doen op een ‘optimale’ manier Optimaliteitscriteria snelheid kostprijs dissipatie betrouwbaarheid Digitale elektronica

3 Synthese van poortnetwerken snelheidscriterium
Snelheid van netwerk wordt bepaald door doorlooptijd van langste pad afhankelijk van snelheid van poorten op dit pad afhankelijk van lengte van dit pad Wij veronderstellen hier: snelheid poort onafhankelijk van complexiteit (aantal ingangen) => padlengte minimaliseren Wanneer men met EN- en OF-poorten werkt heeft men in het algemeen 2 niveaus nodig (DSV) Digitale elektronica

4 Synthese van poortnetwerken kostprijscriterium
Kostprijs van netwerk wordt bepaald door aantal poorten in netwerk complexiteit van poorten (aantal inputs) Precieze verhouding sterk afhankelijk van technologie (b.v. invertors) Wij zullen invertors niet aanrekenen in kostprijs Digitale elektronica

5 Synthese van poortnetwerken kostprijscriterium
Onze doelstelling: realiseer twee-niveau EN/OF-circuits met minimaal aantal EN-poorten minimaal aantal ingangen van EN-poorten Circuittopologie wordt weergegeven door som-van-productenvorm F=x’yz + xz + xz’ Digitale elektronica

6 Synthese van poortnetwerken synthesedoelstelling
Voor enkelvoudige functies: Leid een representatie af van de functie in de gedaante van een Boolese vorm als som van een minimaal aantal producten van een minimaal aantal factoren Voor meervoudige functies: Leid een representatie af van de functies in de gedaante van een stelsel Boolese vormen als sommen van een gezamenlijk minimaal aantal producten van een minimaal aantal factoren Digitale elektronica

7 Synthese van poortnetwerken benaderingen voor twee-niveauminimalisatie
algebraïsche minimalisatie vereenvoudig de Boolese vorm door louter symbolische manipulatie en toepassing van vereenvoudigende herschrijfregels implicantenmethoden: McCluskey’s algoritme vereenvoudig de Boolese vorm door gebruik te maken van geometrische kubus-interpretatie en bedekking via een exhaustieve constructieve techniek topologische en heuristische methoden vergelijkbaar met voorgaande, maar maak gebruik van topologische eigenschappen van kubusbedekkingen Digitale elektronica

8 Algebraïsche technieken
Herschrijftechniek die gebruik maakt van betekenisbewarende regels Digitale elektronica

9 Algebraïsche technieken de methode van Zissos
Herschrijfalgoritme: werk haakjes uit door propagatie van complementen naar binnen distributiviteit verwijder redundantie: schrap termen die bedekt worden door andere termen, schrap identieke factoren, ... bereken optionele producten van alle koppels en voeg bij de vorm. Schrap opnieuw termen die bedekt worden door andere termen (de optionele producten) Itereer de laatste stap waarbij ook hogere-ordeproducten bekeken worden. Digitale elektronica

10 Algebraïsche technieken de methode van Zissos
eenvoudig voorbeeld Digitale elektronica

11 Algebraïsche technieken de methode van Zissos
hogere-ordeproducten Digitale elektronica

12 Algebraïsche technieken de methode van Zissos
Soms moet men veel dieper itereren: Digitale elektronica

13 Algebraïsche technieken de methode van Zissos
Digitale elektronica

14 Combinatorische Minimalisatie in twee niveaus
Doel: zoek minimale som-van-productenvorm, voor realisatie in PLA-achtige structuur Implicantenmethode: gebaseerd op het combineren van implicanten tot priemimplicanten het zoeken van een minimale lijst priemimplicanten die de functie bedekken Digitale elektronica

15 Implicantenmethoden Wij zijn op zoek naar sommen van producten
met minimaal aantal termen met elk minimaal aantal factoren Implicantenmethoden gebaseerd op geometrische interpretatie van implicant: product van lettervormen is kubus is implicant wanneer volledig bevat in functie Wij zoeken dus een minimaal aantal maximale deelkubussen dat de functie volledig bedekt Digitale elektronica

16 Zoekruimte voor implicantenmethoden
Zoek zo klein mogelijk stel van knopen dat alle basisknopen bedekt 00- 0-0 -00 0-1 -01 01- -10 -11 10- 1-0 1-1 11- 000 001 010 011 100 101 110 111 0-- -0- --0 --1 -1- 1-- --- Digitale elektronica

17 Implicantenmethoden Definities
P is priemimplicant van f a.s.a. voor geen enkele andere implicant Q van f geldt: P  Q P is essentiële priemimplicant van f a.s.a. f op minstens één plaats 1 wordt waar, van alle p.i.’s van f, enkel P = 1 wordt De complete som van f is de som van alle priemimplicanten van f Een niet-redundante som van f is een som van priemimplicanten waaruit geen enkele term kan weggelaten worden Een minimale som is een niet-redundante som met minimale kost Digitale elektronica

18 Implicantenmethoden Relevantie van (priem)implicanten
een optimale realisatie van een functie bestaat enkel uit priemimplicanten elke realisatie (bedekking) van een functie door priemimplicanten bevat altijd alle essentiële priemimplicanten Conclusie: wij moeten op zoek naar de lijst van p.i.’s, en hierin de essentiële p.i.’s opzoeken. Wij moeten deze verzameling dan verder optimaal aanvullen met p.i.’s tot wanneer de functie gerealiseerd wordt Digitale elektronica

19 Implicantenmethoden met de karnaughkaart
x 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 w z y Digitale elektronica

20 Implicantenmethoden met de karnaughkaart
x 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 w z y Digitale elektronica

21 Implicantenmethoden het algoritme van Quine-McCluskey
Digitale elektronica

22 Quine-McCluskey: voorbeeld (n = 4)
Digitale elektronica

23 Implicantenmethoden het algoritme van Quine-McCluskey: stap 1
000- 00-0 0-00 0000 0001 0010 0100 0110 1001 1010 1101 1110 1111 0--0 -001 0-10 -010 01-0 --10 -110 1-01 1-10 11-1 111- Digitale elektronica

24 Implicantenmethoden het algoritme van Quine-McCluskey: stap 2
Digitale elektronica

25 Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen 1
Vaak zijn functies maar partieel gespecificeerd: don’t care-termen (DC) beschouw DC’s als 1-tjes in de eerste stap: vergroot het aantal p.i.’s, alsook hun afmetingen negeer DC’s in tweede stap. Realiseer enkel 1-tjes Digitale elektronica

26 Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen 2
Meestal wil men meerdere functies van dezelfde variabelen gezamenlijk minimaliseren: mogelijk delen van identieke termen in de sommen afzonderlijke minimalisatie en gemeenschappelijk gebruik van termen is niet altijd optimaal Men zoekt priemimplicanten van alle (niet-ledige) producten van deelverzamelingen functies Men zoekt daarin een optimale bedekking Digitale elektronica

27 Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen
0000 f1 0001 f1 0100 f1f2 0011 f1 0101 f1f2 0111 f2 1111 f2 000- f1 0-00 f1 0-0- f1 00-1 f1 0-01 f1 010- f1f2 01-1 f2 -111 f2 Digitale elektronica

28 Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen
Digitale elektronica

29 Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica

30 Topologische Methoden gebaseerd op operaties op kubusverzamelingen
Functie voorgesteld door twee of drie kubusverzamelingen: ON, OFF, DC Bedoeling is door bewerkingen op deze verzamelingen complete som en minimale som te bepalen (ook als kubusverzameling) Belangrijke bewerkingen: complementering tautologietest Digitale elektronica

31 Topologische Methoden complementering
Gebaseerd op shannon-decompositie Digitale elektronica

32 Topologische Methoden complementering
Digitale elektronica

33 Topologische Methoden tautologietest
Nodig voor bedekkingstest: Tautologietest bij unate kubuslijsten veel eenvoudiger (unaat=monotoon in elke variabele) Digitale elektronica

34 Topologische Methoden complete som uit kubuslijst
Zoek verzameling van alle maximale kubussen die disjunct zijn met complement Algebraïsche techniek gebaseerd op kubusrepresentatie Digitale elektronica

35 Topologische Methoden complete som uit kubuslijst: kruisoperatie
Toplogische techniek gebaseerd op verschiloperator: zoek bedekking met maximale kubussen van verschil 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 Digitale elektronica

36 Topologische Methoden complete som uit kubuslijst: kruisoperatie
Rekenregels Digitale elektronica

37 Topologische Methoden complete som uit kubuslijst: kruisoperatie
Rekenregels Stelling van Dietmeyer Digitale elektronica

38 Topologische Methoden voorbeeld
Digitale elektronica

39 Topologische Methoden voorbeeld
Digitale elektronica

40 Topologische Methoden De EPI’s en niet-redundante sommen
Digitale elektronica

41 ESPRESSO (Brayton & McMullen)
Heuristisch algoritme voor de efficiënte twee-niveau- minimalisatie (PLA-generatie) van meervoudige Boolese functies Omzeilt de nadelen van het optimaal algoritme van Quine- McCluskey en het zoeken van de complete som Vindt niet gegarandeerd een optimale oplossing Oplossingen echter zeer goed over het algemeen; complexe meer-outputfuncties kunnen geminimaliseerd worden Digitale elektronica

42 ESPRESSO: concepten Hoofdidee: start met zo groot mogelijke implicanten. Vergroot en verklein deze iteratief, met eliminaties van redundantie onderweg. Itereer tot wanneer geen verbetering meer. Stappen van het algoritme: Expansie: laat alle termen groeien tot maximale grootte. Kies groeirichting optimaal om andere termen te bedekken Extractie van EPI’s door consensus-operatie. Bepaal REPI’s, TRPI’s, PRPI’s Reductie en herexpansie (stap 1) tot geen beterschap Laatste reductie (geen bedekking meer). Creatie van nieuwe PI’s Outputreductie Digitale elektronica

43 ESPRESSO: concepten Representatie: stel on-set F en DC-set D voor in ternaire tabelnotatie, met inputdeel en outputdeel Elke toestand van het algoritme is dan een verzameling van kubussen in ternaire notatie De volgende testen moeten frequent uitgevoerd worden: bedekking van een kubus door een lijst intersectie van een kubus met een lijst berekenen van complement van een lijst Methoden steunen sterk op Shannon- decompositie en unate functies Digitale elektronica

44 ESPRESSO: expansie 1 Digitale elektronica

45 ESPRESSO: tot waar expanderen?
Probleem: Men moet weten hoever men een implicant mag expanderen om steeds de functie te realiseren. Oplossing: via het complement van Een implicant mag expanderen zolang hij een ledige intersectie heeft met dit complement Complement van kubuslijst kan snel uitgerekend worden via Shannon-decompositie Digitale elektronica

46 ESPRESSO: PI’s elimineren
Uit de expansiestap krijgt men een lijst van PI’s -- echter niet de complete som ! Deze lijst bevat altijd alle essentiële PI’s LESS Wij verwijderen LESS en behandelen alle termen die zij bedekken als DC’s Meestal realiseert men dan de functie nog niet, en heeft men een lijst L over, bestaande uit Le -- de relatief essentiële PI’s: geen enkele kan weg Lt -- de totaal redundante PI’s: volledig bedekt door DC’s Lp -- de partieel redundante PI’s: sommige kunnen weg Digitale elektronica

47 ESPRESSO: essentiële PI’s
Probleem: zoek EPI’s zonder de complete som te hebben Oplossing: via de consensus-operatie © Een PI ci is niet essentieel a.s.a. Digitale elektronica

48 ESPRESSO: essentiële PI’s
Voorbeeld: is -0-0 essentieel? Digitale elektronica

49 ESPRESSO: reductie Digitale elektronica

50 ESPRESSO: expansie 2 Digitale elektronica

51 ESPRESSO: resultaat Digitale elektronica

52 ESPRESSO: laatste stap
De laatste stap is outputreductie: men laat in het outputgedeelte zoveel mogelijk 1’tjes weg Motivering: verkleint de fan-in van de OF-poorten. Dit is goedkoper en sneller met poortcircuits, maar ook in PLA’s (minder capacitieve belasting van EN-poorten) Digitale elektronica

53 Inhoud (1) De ontwerpruimte en haar terminologie
Het ontwerptraject Boole-algebra en functies definities en eigenschappen van Boole-algebra en functies representaties van Boolese functies Schakelnetwerken en hun bouwstenen poortnetwerken versus taknetwerken analyse van taknetwerken Standaardcomponenten Programmeerbare componenten ASIC-bouwstenen Synthese van poortnetwerken Algebraïsche minimalisatie Implicantenmethoden: McCluskey’s algoritme Topologische en heuristische methoden Meerniveausynthese Digitale elektronica

54 Meerniveausynthese Tweeniveausynthese niet altijd het beste compromis tussen kostprijs en snelheid Complexiteit van tweeniveaucircuits vaak zeer hoog Snelheid van eenvoudige circuits is soms onnodig groot Snelheid van complexe circuits kan te laag zijn, wegens hoge vereisten qua fan-in Meerniveausynthese is dikwijls een betere keuze Digitale elektronica

55 Tweeniveaurealisatie
y(a,b,c,d,e,f,g) = abeg' + abfg + abe'g + aceg' + acfg + ace'g + deg' + dfg + de'g hoge fan-in van OF-poort veel EN-poorten Digitale elektronica

56 Meerniveausynthese Algemene meerniveausynthese steunt op decompositie van combinatorische functies in eenvoudiger stukken die door functie-samenstelling het gewenste resultaat bereiken: f(x, y, ...) = h(x, y, ..., g1(x, y, ...), ... , gk(x, y, ...)) Er bestaan diverse technieken om particuliere vormen voor h, g1, ..., gk te vinden: factorisatie multiplexersynthese spectrale technieken Digitale elektronica

57 Factorisatie Factorisatie is het herschrijven van een SVP-vorm in een vorm met haakjes, maar met zo weinig mogelijk literals. Meestal beperkt men zich tot serie-parallelvormen (geen inversie op de haakjes); dit is echter geen noodzaak. Voorbeeld: Bij CMOS-schakelingen geeft de reductie in literals een reductie in complexiteit Digitale elektronica

58 CMOS-realisatie evenveel transistorparen als lettervormen (literals)
lange paden kunnen traag zijn Digitale elektronica

59 Factorisatie: meerniveau
De syntactische structuur van de vormen kan de structuur van poort- of taknetwerken vastleggen Men herschrijft de vorm als een stelsel van vergelijkingen door de introductie van tussenvormen Een nieuwe tussenvorm is een nieuwe interne verbinding Digitale elektronica

60 Meerniveaurealisatie
veel minder poorten lagere fan-in langer pad doorheen circuit Digitale elektronica

61 Deling ‘Echte’ factorisatie is niet steeds mogelijk; (algebraïsche) deling in veel meer gevallen: f = d q + r Deling kan recursief voortgezet worden op d, q, r Het zoeken van goede delers gebeurt door de bepaling van de kernen Een kern is een maximale kubusvrije deler Digitale elektronica

62 Kernextractie Digitale elektronica

63 Meervoudige functies (1)
Men zal zal proberen de functies te herschrijven als een stelsel van vergelijkingen met zo weinig mogelijk literals. Stappen van de methode: Factoriseren of delen met zo ‘nuttig’ mogelijke factoren of delers (gemeenschappelijk): eerst gemeenschappelijke deelkernen; dan ook eventueel kubussen. Wanneer winst, zal men de gevonden gemeenschappelijke delen afsplitsen: men voert een nieuwe literal in, en een nieuwe vergelijking. Digitale elektronica

64 Meervoudige functies (2)
Na afsplitsing zal men onderzoeken of de nieuw afgesplitste vorm geen deler is van andere functies (resubstitutie). De residuele functies worden opnieuw geminimaliseerd (b.v. met ESPRESSO), rekening houdend met de nieuwe DON’T CARE condities. Methode is ad hoc, maar levert goede resultaten op. Digitale elektronica

65 Voorbeeld: BCD-teller
Opgave: realiseer combinatorische functies van oplaadbare BCD op-neerteller: 4 functies X Y Z W van 10 variabelen a b c d e f x y z w a b c d f e x y z w X Y Z W ? Digitale elektronica

66 Voorbeeld: BCD-teller
Opgave: realiseer combinatorische functies van oplaadbare BCD op-neerteller: 4 functies X Y Z W van 10 variabelen a b c d e f x y z w HOUDEN abcdefxyzw XYZW OPTELLEN abcdefxyzw XYZW AFTELLEN abcdefxyzw XYZW OPLADEN abcdefxyzw XYZW Digitale elektronica

67 Voorbeeld: BCD-teller
DON’T CARE abcdefxyzw XYZW Digitale elektronica

68 BCD-teller: tweeniveauresultaat
Resultaat behaald met ESPRESSO (in de Berkely SIS-suite) 21 EN-poorten 4 OF-poorten 97 poortinputs fan-in 6 (EN), 7 (OF) 79 literals Digitale elektronica

69 BCD-teller: factorisatie met kernintersecties
Kies de volgende kerndelen: Digitale elektronica

70 BCD-teller: afsplitsen van nieuwe variabelen
Definieer en substitueer in vergelijkingen: Resultaat: 63 literals Digitale elektronica

71 BCD-teller: ESPRESSO met nieuwe DC’s
Waarom nieuwe DC’s? x Knoop F realiseert f = F(y,z) Ten aanzien van G is conditie f = 1 en y,z : F(y,z) = 0 onmogelijk => DC voor G(x,y,f) Als G,H,I ongevoelig aan f voor combinatie van y,z dan is deze DC voor F(y,z) G y f f F z H w I u Digitale elektronica

72 BCD-teller: ESPRESSO met nieuwe DC’s
Na nieuwe ESPRESSO en factorisatie: 54 literals Na resubstitutie van h en afsplitsing gemeenschappelijke kubussen als nieuwe variabelen i, j, k: 53 literals Digitale elektronica

73 Multiplexers en de Shannon-decompositie
Shannon-decompositie van functie leidt tot multiplexer-realisatie: variabelen voor decompositie = controlevariabelen van mux residufuncties = mux-inputs (verder te decomposeren) Digitale elektronica

74 Multiplexers en Shannon-decompositie
x y 1 2 3 z w z’+w zw Digitale elektronica

75 Multiplexers en BDD’s z w y x 1 x y z w 1 z’+w y’z’+zw zw f y’z+zw
1 z 1 z’+w w y y’z’+zw x f y’z+zw zw Digitale elektronica

76 Optimalisaties Optimalisatiemogelijkheden:
keuze van de selectievariabelen op ieder ogenblik (wel bij MUX, niet bij BDD) optimaal hergebruik van reeds gerealiseerde functies (wel bij BDD, niet gegarandeerd bij MUX) Digitale elektronica

77 De systematische methode van Voith
Methode gebaseerd op 2-naar-1 MUX’ers Tabelmethode gelijkend op Quine-McCluskey; nieuwe compositieregel: Leidt tot multiplexerbomen zonder reconvergentie (suboptimaal…) Digitale elektronica

78 De systematische methode van Voith Multiplexer-implicanten
0000 0 0001 0 0010 0 0100 1 1000 0 0011 1 0101 1 1001 0 0110 0 1010 1 1100 0 0111 1 1011 1 1101 0 1110 0 1111 1 Eerste Tabel 000- 0 00-0 0 0-00 y -000 0 00-1 z 0-01 y -001 0 001- w 0-10 0 -010 x 010- 1 01-0 z’ -100 x’ 100- 0 10-0 z 1-00 0 0-11 1 -011 1 01-1 1 -101 x’ 10-1 z 1-01 0 011- w -110 0 101- 1 1-10 y’ 110- 0 11-0 0 -111 1 1-11 1 11-1 z 111- w Tweede Tabel 0-0- y -00- 0 -0-1 z 0-1- w -10- x’ 10-- z 1-0- 0 --11 1 -11- w 1--1 z Derde Tabel Digitale elektronica

79 De systematische methode van Voith Maximale compatibele verzamelingen
Probleem: kies zo groot mogelijk stel implicanten die samen een MUX-boom voorstellen: compatibele verzamelingen Compatibele verz. y x z w zw Derde Tabel 0-0- y -00- 0 -0-1 z 0-1- w -10- x’ 10-- z 1-0- 0 --11 1 -11- w 1--1 z x’z’ y y’z’ 0 y’w z x’z w yz’ x’ xy’ z xz’ 0 zw 1 yz w xw z x’z’,x’z,xy’ x’z’,x’z,xz’ x’z’,x’z,xw z’x’,z’x,zw z’x’,z’x,zy z’y,z’y’,zx’ z’y,z’y’,zw z’y,z’y’,zy yz,yz’,y’x yz,yz’,y’w y z w x’ xz Digitale elektronica

80 Spectrale technieken Idee: pas verliesloze transformatie toe op variabelen van functie om eenvoudiger som-van-producten in de nieuwe variabelen te krijgen Optimale transformatie moet complexiteit maximaal reduceren Hoe meten wij complexiteit? Digitale elektronica

81 Spectrale technieken: complexiteit
Definieer autocorrelatiefunctie van f : Hierin is:  modulo-2 som van binaire representaties (verschuiving) S de som in de gehelen De grootheid stelt dan het aantal koppels 1’tjes voor in f op afstand 1. Digitale elektronica

82 Spectrale technieken: complexiteit
Wij zoeken nu lineaire transformatie y(x) = sx op definitiedomein zodanig dat f(x) = g(y(x)) = g(sx) zodanig dat g(• ) een eenvoudiger functie wordt dan f(• ) De matrix s wordt opgebouwd gebaseerd op de verschuivingen waarvoor grote waarden aanneemt Matrixproduct over  en  (inverteerbaar); nieuwe variabelen zijn combinaties via  van oude variabelen Digitale elektronica

83 Spectrale technieken: voorbeeld
Digitale elektronica

84 Spectrale technieken: rekentechnieken
De spectrale technieken vereisen de berekening van de correlatiefunctie. Kan via snelle spectrale transformatie (Hadamard, b.v.) en toepassing van convolutiestelling Techniek van Varma en Trachtenberg omzeilt rechtstreekse manipulatie van waarheidstabel en Hadamard-transformatie, en werkt in op kubuslijsten (van meervoudige functies). Zij berekenen rechtstreeks voor opgegeven waarden van t Digitale elektronica

85 Fontslide  Digitale elektronica


Download ppt "Inhoud (1) De ontwerpruimte en haar terminologie"

Verwante presentaties


Ads door Google