Projectiemateriaal Jan Van Campenhout AJ 2004-2005 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 Oefeningen op maandag 10:00 – 12:45 Evaluatie 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 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 Sequentiële bouwblokken 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 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 ontwerpruimte Een definitie van termen logisch Systeem Algoritme R/T circuit Gedrag Logische Structuur 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ërarchie het 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ërarchie abstractie: 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 niveaus de digitale abstractie V3=f(v1,v2) D v3 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 niveaus de digitale abstractie 1 x D beeldt analoge waarden af op digitale via de definitie van de intervallen L en H D H L Digitale Elektronica
Logische niveaus en transfercurve de eigenschappen van D en f D en f moeten aan een aantal voorwaarden voldoen om nuttige logische functies te realiseren i1 i2 o v1 v2 V3=f(v1,v2) D v3 Digitale Elektronica
Logische niveaus en transfercurve de 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ërarchie logische niveaus Digitale Elektronica
Ruismarges het 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
Ruismarges de opbouw van reële circuits: bordniveau Digitale Elektronica
Ruismarges de 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
Ruismarges keuze 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ërarchie abstractie 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ërarchie abstractie van het tijdsmodel Digitale Elektronica
De gedragshiërarchie abstractie: 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 niveau synchrone circuits In Out Combinatorische circuits De meeste circuits op logisch en R/T-niveau zijn synchroon De hoogste klokfrequentie wordt bepaald door het traagste combinatorisch pad Registers Klok Flip-flop-delay Klok Combin. delay Flip-flop instel Digitale Elektronica
De gedragshiërarchie R/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 Entity RMS is port( inp : in sample; outp : out result; start : in bit; busy : out bit; ck : in bit ); 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 Digitale Elektronica
De gedragshiërarchie algoritmisch 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
Voorbeeld grafische gedragsrepresentatie op algoritmisch niveau lsq usq Inp >>10 <-a[ ] =? a[ ]<- **2 **2 >? 1 1 + + 1 <? +1024 + - - - - + + Digitale Elektronica
De gedragshiërarchie systeemniveau 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ërarchie tijdmodellen Digitale Elektronica
De structuurhiërarchie: Logisch vs. Fysisch netwerk kast bord chip Digitale Elektronica
Voorbeeld de netlijst van een poortdiagram op logisch niveau Digitale Elektronica
Voorbeeld logische structuur op R/T-niveau Digitale Elektronica
Voorbeeld fysische structuur op R/T-niveau: standard-cell en modules Digitale Elektronica
Voorbeelden fysische structuur op R/T-niveau: standard-cell en modules Digitale Elektronica
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
Het ontwerptraject Informele vereisten Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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 Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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 Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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 Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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 Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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 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 Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch Digitale Elektronica
Het ontwerptraject de fysische ontwerpsstap 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 (back annotation) Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch Digitale Elektronica
Het ontwerptraject effectieve realisatie Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch 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