470 likes | 692 Vues
Digitale Elektronica. Projectiemateriaal Jan Van Campenhout AJ 2004-2005. Doelstellingen. Doelstellingen Vertrouwd worden met begrip ontwerpruimte Vertrouwd worden met wiskundige achtergronden van logische schakelingen Verbanden tussen wiskundige modellen en circuits doorgronden
E N D
Digitale Elektronica Projectiemateriaal Jan Van Campenhout AJ 2004-2005 Digitale Elektronica
Doelstellingen Doelstellingen • Vertrouwd worden met begrip ontwerpruimte • Vertrouwd worden met wiskundige achtergronden van logische schakelingen • Verbanden tussen wiskundige modellen en circuits doorgronden • Belangrijkste basisalgoritmen voor analyse en ontwerp van digitale schakelingen (logisch niveau) leren kennen • Effectieve beheersing verwerven over VHDL • Een goed overzicht krijgen over technologie voor digitaal ontwerp • Inzicht verwerven in synchroon gedrag, compositie en decompositie Voorkennis • Elementaire begrippen van discrete wiskunde: logica, verzamelingleer, relaties, functies, ordeningen • Beperkte hoeveelheid elektronica • Enige vertrouwdheid met MAPLE Digitale Elektronica
Feiten en data Lestijden • maandag 8:30 -- 9:45, woensdag 8:30 – 9:45 Oefeningen op maandag 10:00 – 12:45 • Oefeningen op de computer, in de PC-klas • Practicum in de practicumzaal van ELIS • Aard: analyse en gedeeltelijke synthese met behulp van VHDL • Verantwoordelijken: dr. ir. J. Dambre, ir. H. Eeckhaut, ir. W. Heirman Evaluatie • combinatie van jaarwerk (1/2) en examen (1/2) • examen mondeling, gesloten boek 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 Digitale Elektronica
Inhoud (2) Analyse van sequentiële netwerken • het gedrag van teruggekoppelde poortnetwerken • races en hazards • synchroon versus asynchroon gedrag, geheugencellen Sequentiële bouwblokken Synthese van sequentiële netwerken • incrementele gedragsbeschrijvingen • toestandsminimalisatie • Toestandsassignatie Aspecten van compositie en decompositie • Verfijning en decompositie • Spatiale versus temporale decomposities • Composities van synchrone automaten 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 Digitale Elektronica
De ontwerpruimteEen definitie van termen Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Digitale Elektronica
De Ontwerpruimte Digitale Elektronica
De gedragshiërarchie Elk hiërarchisch niveau heeft zijn eigen representatie-vormen voor de voorstelling van gedrag Relatie tussen lagen: • Opstijgen in de hiërarchie = abstraheren • Afdalen = concretiseren Belangrijke aspecten: • aard: declaratief vs. proceduraal • karakteristieken: tijd, datatypes Digitale Elektronica
De gedragshiërarchiehet circuitniveau Continu tijdsmodel Grootheden Continue fysische en elektrische grootheden: V, I, Z. Verbindingen niet-gericht Gedragsmodellen Modellen voor elektrische en elektronische schakelingen Analytisch: lineaire netwerken, Ebers-Moll, Gummel-Poon, Giacoletto Wiskundig: stelsels van differentiaalvergelijkingen Digitale Elektronica
Voorbeeld: combinatorisch circuit circuitniveau en logisch niveau Gedrag Logische structuur Fysische structuur x = a·sel + b·sel’ Digitale Elektronica
De gedragshiërarchieabstractie: van circuit naar logisch Grootheden Worden afgebeeld op eindige verzamelingen (binair, n-air). Boole-algebra is model voor binaire representaties, maar meestal niet voor n-aire! Gedragsmodellen: functionaliteit geheugenloos gedrag = stelsel Boolese functies sequentieel gedrag = eindige automaat Gedragsmodellen: tijd wordt partieel geordende verzameling van gebeurtenissen gebeurtenis = overgang tussen discrete niveaus Digitale Elektronica
Logische niveausde digitale abstractie i1 o i2 D v1 v3 v2 V3=f(v1,v2) Men wil schakelingen maken die goed logisch gedrag vertonen Logisch gedrag = abstractie van elektrisch gedrag op circuitniveau Abstractiefunctie D beeldt analoge waarden af op digitale Digitale Elektronica
Logische niveausde digitale abstractie D beeldt analoge waarden af op digitale via de definitie van de intervallen L en H 1 x 0 D H L Digitale Elektronica
Logische niveaus en transfercurvede eigenschappen van D en f i1 o i2 D v1 v3 v2 V3=f(v1,v2) Den f moeten aan een aantal voorwaarden voldoen om nuttige logische functies te realiseren Digitale Elektronica
Logische niveaus en transfercurvede eigenschappen van D en f Voor een invertor: • curve mag niet in verboden gebied • circuit moet zowel spannings- als vermogenversterking realiseren Curve hangt af van belasting, voedingsspanning, temperatuur,... Lineaire of passieve netwerken voldoen niet! H L L H Digitale Elektronica
De gedragshiërarchielogische niveaus Digitale Elektronica
Ruismargeshet ontstaan van stoorspanningen In reële circuits is ingangsspanning van poort nooit gelijk aan uitgangsspanning van sturende poort: • ground bounce • capacitieve koppeling • inductieve koppeling Digitale Elektronica
Ruismargesde opbouw van reële circuits: bordniveau Digitale Elektronica
Ruismargesde opbouw van reële circuits: chipniveau Digitale Elektronica
Ruismarges De ruismarge is de reserve die men heeft op de uitgangsspanning alvorens de ingangsspanning ongeldig wordt: DH = Voh,min-Vih,min DL = Vil,max-Vol,max H DH DL L L H Digitale Elektronica
Ruismargeskeuze van L en H Men kiest H en L zodanig dat de totale ruismarge maximaal wordt. Wanneer 1 enkele curve: op plaatsen met helling -1 DH = Voh,min-Vih,min DL = Vil,max-Vol,max H DH DL L L H Digitale Elektronica
Snelheidskenmerken Poortsnelheden worden gekenmerkt door twee grootheden: • stijgtijd en daaltijd • propagatietijd • Deze tijden kunnen verschillen tussen opgaande en neerwaartse transitie • Deze tijden kunnen sterk afhankelijk zijn van de belasting (vooral capacitief) • Off-chip: 1-10 ns; on-chip: 0.1-1 ns tpHL tr Digitale Elektronica
De gedragshiërarchieabstractie van het tijdsmodel Model op logisch niveau van een poort bestaat uit: • functioneel model (relatie tussen waarden) • delay-model (tijdsgedrag) d d t t D D D t t* t t* Digitale Elektronica
De gedragshiërarchieabstractie van het tijdsmodel Digitale Elektronica
De gedragshiërarchieabstractie: van asynchroon naar synchroon Men is vaak maar geïnteresseerd in signaalwaarden op bepaalde ogenblikken: • na verloop van propagatietijd bij combinatorische schakelingen • in bepaalde intervallen van klokperiode in (sommige) sequentiële schakelingen Dit noemt men een synchroon model Veronderstelt de aanwezigheid van een kloksignaal Is maar partiële specificatie van werkelijk gedrag van schakeling Is veel eenvoudiger, en daarom nuttig Digitale Elektronica
Sequentieel gedrag op logisch niveausynchrone circuits Klok Flip-flop-delay Combin. delay Flip-flop instel In Out De meeste circuits op logisch en R/T-niveau zijn synchroon De hoogste klokfrequentie wordt bepaald door het traagste combinatorisch pad Combinatorischecircuits Registers Klok Digitale Elektronica
De gedragshiërarchieR/T-niveau Grootheden Rijen van n-aire grootheden. Elementaire datatypes zoals n-bit geheel getal of FP-getal Gedragsmodellen: functionaliteit logische en aritmetische operaties op bitrijen controle = eindige automaat Gedragsmodellen: tijd meestal synchroon model voor tijd abstractie van tijdsgedrag d.m.v. sequentieel gedrag of pijplijngedrag Digitale Elektronica
Voorbeeld VHDL-representatie van gedrag op R/T-niveau Architecture behaviour of RMS is begin process -- initialise; ... -- operate; loop wait until not(start’stable) and start = ‘1’; busy <= ‘1’; -- input and process; . . . end loop; end process; end behaviour Entity RMS is port( inp : in sample; outp : out result; start : in bit; busy : out bit; ck : in bit ); Digitale Elektronica
De gedragshiërarchiealgoritmisch niveau Grootheden Datastructuren uit programmeertalen. Representatielengte meestal irrelevant Gedragsmodellen: functionaliteit Algoritmen en functies uit programmeertalen Gedragsmodellen: tijd klok en kloksynchroon gedrag verdwijnt tijd = opeenvolging (totale orde) van gebeurtenissen (althans in een sequentieel algoritme) precieze tijdsduur van operatie irrelevant Digitale Elektronica
Voorbeeldgrafische gedragsrepresentatie op algoritmisch niveau l u lsq usq P S S1 Inp 0 >>10 <-a[ ] =? a[ ]<- **2 **2 >? 0 1 1 + <? + 1 +1024 - + - - - + + Digitale Elektronica
De gedragshiërarchiesysteemniveau Grootheden Datastructuren uit programmeertalen. Representatielengte meestal irrelevant Gedragsmodellen: functionaliteit Communicerende processen die acties uitvoeren Processen definiëren functionele relatie tussen inputs en outputs Gedragsmodellen: tijd tijd = partiële orde van tijdsloze gebeurtenissen gelijktijdigheid en oorzakelijk verband tussen acties en activiteiten Digitale Elektronica
De gedragshiërarchietijdmodellen Digitale Elektronica
De structuurhiërarchie: Logisch vs. Fysisch netwerk kast bord chip Digitale Elektronica
Voorbeeldde netlijst van een poortdiagram op logisch niveau Digitale Elektronica
Voorbeeldlogische structuur op R/T-niveau Digitale Elektronica
Voorbeeldfysische structuur op R/T-niveau: standard-cell en modules Digitale Elektronica
Voorbeeldenfysische structuur op R/T-niveau: standard-cell en modules 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 Digitale Elektronica
Het ontwerptraject Informele vereisten Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Ontwerp is een traject in de ontwerpruimte Start bij informele opgave van vereisten Eindigt bij afgewerkt systeem Ideaal enkel een voorwaarts pad; in realiteit iteraties Digitale Elektronica
Het ontwerptraject de formaliseringsstap Informele vereisten Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Eerste hoofdstap is formalisering: het in machineleesbare vorm brengen van vereisten Resultaat is gedragsbeschrijving. Niveau is afhankelijk van complexiteit Digitale Elektronica
Het ontwerptraject de formaliseringsstap Informele vereisten Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Nut van deze stap: • machineverwerkbaar resultaat • ondubbelzinnig • completer dan vereisten Omgekeerde stap: validatie • door simulatie (uitvoerbare formalisering) • door bewijsvoering Digitale Elektronica
Het ontwerptraject de synthesestap Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Tweede hoofdstap is synthese: de overstap van gedrag naar logische structuur. Het resultaat is een structuurbeschrijving op logisch niveau of R/T-niveau Digitale Elektronica
Het ontwerptraject de synthesestap Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Wanneer geautomatiseerd: meestal gesteund op syntaxis van gedragsbeschrijving Moet moeilijke keuze maken tussen ruimte en tijd: • een duur maar snel circuit • een goedkoop maar trager circuit Digitale Elektronica
Het ontwerptraject de fysische ontwerpsstap Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur De volgende stap is generatie: de overstap van logische naar fysische structuur Resultaat is beschrijving van fysische lay-out Gewoonlijk drie deelstappen: • technology mapping • partitionering • plaatsing en routering Digitale Elektronica
Het ontwerptraject de fysische ontwerpsstap Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur Omgekeerde stap: extractie Kan gebruikt worden voor • terugwinnen van de effectieve net list van de realisatie (voor verificatie) • bepalen van fysische eigenschappen van systeem (oppervlakte, capaciteiten, weerstand,…) Ge-extraheerde parameters maken tijdsgetrouwe simulatie mogelijk (backannotation) Digitale Elektronica
Het ontwerptraject effectieve realisatie Systeem Logische Structuur Gedrag Algoritme R/T logisch circuit Fysische Structuur De laatste stap is de eigenlijke fabricage: de realisatie van de concrete schakeling Inverse stap: testen. Gaat na of werkelijke structuur van circuit overeenstemt met ontwerp Digitale Elektronica