De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Digitale elektronica --1-- Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –Het ontwerptraject Boole-algebra en functies –definities.

Verwante presentaties


Presentatie over: "Digitale elektronica --1-- Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –Het ontwerptraject Boole-algebra en functies –definities."— Transcript van de presentatie:

1 Digitale elektronica Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –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

2 Digitale elektronica 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

3 Digitale elektronica 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)

4 Digitale elektronica 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

5 Digitale elektronica 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’

6 Digitale elektronica 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

7 Digitale elektronica 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

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

9 Digitale elektronica 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.

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

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

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

13 Digitale elektronica Algebraïsche technieken de methode van Zissos

14 Digitale elektronica 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

15 Digitale elektronica 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

16 Digitale elektronica Zoekruimte voor implicantenmethoden     Zoek zo klein mogelijk stel van knopen dat alle basisknopen bedekt

17 Digitale elektronica 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

18 Digitale elektronica 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

19 Digitale elektronica Implicantenmethoden met de karnaughkaart x y z w

20 Digitale elektronica Implicantenmethoden met de karnaughkaart x y z w

21 Digitale elektronica Implicantenmethoden het algoritme van Quine-McCluskey

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

23 Digitale elektronica Implicantenmethoden het algoritme van Quine-McCluskey: stap

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

25 Digitale elektronica 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

26 Digitale elektronica 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

27 Digitale elektronica Implicantenmethoden het algoritme van Quine-McCluskey: uitbreidingen 0000 f f f1f f f1f f f1f f f1f f f f f f f f f f1f f f f1f f f f1

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

29 Digitale elektronica Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –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

30 Digitale elektronica 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

31 Digitale elektronica Topologische Methoden complementering Gebaseerd op shannon-decompositie

32 Digitale elektronica Topologische Methoden complementering

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

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

35 Digitale elektronica Topologische Methoden complete som uit kubuslijst: kruisoperatie Toplogische techniek gebaseerd op verschiloperator: zoek bedekking met maximale kubussen van verschil

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

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

38 Digitale elektronica Topologische Methoden voorbeeld

39 Digitale elektronica Topologische Methoden voorbeeld

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

41 Digitale elektronica 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

42 Digitale elektronica 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

43 Digitale elektronica 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

44 Digitale elektronica ESPRESSO: expansie 1

45 Digitale elektronica 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

46 Digitale elektronica 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 L ESS Wij verwijderen L ESS 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 –L e -- de relatief essentiële PI’s: geen enkele kan weg –L t -- de totaal redundante PI’s: volledig bedekt door DC’s –L p -- de partieel redundante PI’s: sommige kunnen weg

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

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

49 Digitale elektronica ESPRESSO: reductie

50 Digitale elektronica ESPRESSO: expansie 2

51 Digitale elektronica ESPRESSO: resultaat

52 Digitale elektronica 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)

53 Digitale elektronica Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –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

54 Digitale elektronica 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

55 Digitale elektronica 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

56 Digitale elektronica 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,..., g 1 (x, y,...),..., g k (x, y,...)) Er bestaan diverse technieken om particuliere vormen voor h, g 1,..., g k te vinden: –factorisatie –multiplexersynthese –spectrale technieken

57 Digitale elektronica 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

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

59 Digitale elektronica 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

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

61 Digitale elektronica 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

62 Digitale elektronica Kernextractie

63 Digitale elektronica 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.

64 Digitale elektronica 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.

65 Digitale elektronica 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 ?

66 Digitale elektronica 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 HOUDEN abcdefxyzw XYZW OPTELLEN abcdefxyzw XYZW OPTELLEN abcdefxyzw XYZW AFTELLEN abcdefxyzw XYZW AFTELLEN abcdefxyzw XYZW OPLADEN abcdefxyzw XYZW OPLADEN abcdefxyzw XYZW

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

68 Digitale elektronica 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

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

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

71 Digitale elektronica Waarom nieuwe DC’s? BCD-teller: ESPRESSO met nieuwe DC’s f x y z w u F G H I f 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)

72 Digitale elektronica 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

73 Digitale elektronica 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)

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

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

76 Digitale elektronica 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)

77 Digitale elektronica 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…)

78 Digitale elektronica De systematische methode van Voith Multiplexer-implicanten y z 0-01 y w x z’ -100 x’ z x’ 10-1 z w y’ z 111- w Tweede Tabel Eerste Tabel 0-0- y z 0-1- w -10- x’ 10-- z w 1--1 z Derde Tabel

79 Digitale elektronica x’z’ y y’z’ 0 y’w z x’z w yz’ x’ xy’ z xz’ 0 zw 1 yz w xw z Derde Tabel De systematische methode van Voith Maximale compatibele verzamelingen Probleem: kies zo groot mogelijk stel implicanten die samen een MUX-boom voorstellen: compatibele verzamelingen 0-0- y z 0-1- w -10- x’ 10-- z w 1--1 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 Compatibele verz. y x z y w z zw y z w w x’ z xz

80 Digitale elektronica 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?

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

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

83 Digitale elektronica Spectrale technieken: voorbeeld

84 Digitale elektronica 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 

85 Digitale elektronica Fontslide 


Download ppt "Digitale elektronica --1-- Inhoud (1) De ontwerpruimte en haar terminologie –De ontwerpruimte –Het ontwerptraject Boole-algebra en functies –definities."

Verwante presentaties


Ads door Google