Digitale Elektronica Projectiemateriaal Jan Van Campenhout AJ 2004-2005 Digitale Elektronica --1-- 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 --2-- 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 --3-- 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 --4-- 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 --5-- 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 --6-- De ontwerpruimte Een definitie van termen Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit Fysische Structuur Digitale Elektronica --7-- De Ontwerpruimte Hierachisch Gedrag niveau Logische Structuur Systeem Communicerende Processen Multiprocessor, LANs, Computernetwerk Kasten Algoritme Sequentiële Algoritmen Processor, Geheugen, Periferie Bordniveau, Moederbord, ASIC R/T Machinetaal, Microcode, Register transfer spec. ALU, Datapad, Registers, Controller Macro-cellen, FPGA-macros, MSI/LSI-logica Logisch Eindige Automaten, Boolese Functies Poortdiagram, Flip-flops Standaardcellen, FPGA-primitieven, SSI-logica Circuit Differentiaalvergelijkingen Transistordiagram Rechthoeken, Discrete elementen Digitale Elektronica Fysische Structuur --8-- De gedragshiërarchie Elk hiërarchisch niveau heeft zijn eigen representatievormen 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 --9-- 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 --10-- Voorbeeld: combinatorisch circuit circuitniveau en logisch niveau Gedrag Logische structuur Fysische structuur x = a·sel + b·sel’ ID n 0 I W dL VGS Vt VDS VDS 2 2 Digitale Elektronica --11-- 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 --12-- Logische niveaus de digitale abstractie i1 i2 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 o D v1 v3 v2 V3=f(v1,v2) Digitale Elektronica --13-- Logische niveaus de 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 --14-- Logische niveaus en transfercurve de eigenschappen van D en f D en f moeten aan een i1 i2 aantal voorwaarden voldoen om nuttige logische functies te realiseren o D i 1,i 2 {0,1} 2 : D- 1(i 1), v 1 D- 1(i 2 ) : v 2 D(f (v 1,v 2 )) o(i1,i2 ) v1 v3 v2 V3=f(v1,v2) Digitale Elektronica --15-- 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 H Curve hangt af van belasting, voedingsspanning, temperatuur,... Lineaire of passieve netwerken voldoen niet! L L Digitale Elektronica H --16-- De gedragshiërarchie logische niveaus Digitale Elektronica --17-- 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 --18-- Ruismarges de opbouw van reële circuits: bordniveau Digitale Elektronica --19-- Ruismarges de opbouw van reële circuits: chipniveau Digitale Elektronica --20-- Ruismarges De ruismarge is de reserve die men heeft op de uitgangsspanning alvorens de ingangsspanning ongeldig wordt: DH = Voh,min-Vih,min H DH DL = Vil,max-Vol,max DL L L Digitale Elektronica H --21-- Ruismarges keuze van L en H Men kiest H en L zodanig dat de totale ruismarge maximaal wordt. H Wanneer 1 enkele curve: op plaatsen met helling -1 DH = Voh,min-Vih,min DH DL = Vil,max-Vol,max DL L L Digitale Elektronica H --22-- 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 Digitale Elektronica tpHL tr --23-- De gedragshiërarchie abstractie van het tijdsmodel Model op logisch niveau van een poort bestaat uit: – functioneel model (relatie tussen waarden) – delay-model (tijdsgedrag) Als x (t ): {L,H} X op t dan X (t ) voor d t Als x (t ): X {L,H} op t dan X (t ) voor d t d Als X (t ) = {L,X,H} voor t D d dan * < +D: x(t ) voor * t D Als X (t ) {L,H} voor t D dan * < +D: x(t ) voor * t D Digitale Elektronica D D * --24-- * De gedragshiërarchie abstractie van het tijdsmodel Digitale Elektronica --25-- 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 --26-- Sequentieel gedrag op logisch niveau synchrone circuits De meeste circuits op logisch en R/T-niveau zijn synchroon In Out Combinatorische circuits De hoogste klokfrequentie wordt bepaald door het traagste combinatorisch pad Registers Klok Flip-flop-delay Combin. delay Flip-flop instel Digitale Elektronica --27-- Klok 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 --28-- Voorbeeld VHDL-representatie van gedrag op R/T-niveau Entity port( inp outp start busy ck ); RMS is : : : : : in sample; out result; in bit; out bit; 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 --29-- 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 --30-- Voorbeeld grafische gedragsrepresentatie op algoritmisch niveau P S l S1 u lsq usq Inp 0 >>10 =? <-a[ ] a[ ]<**2 **2 >? 0 1 +1024 1 + + + + <? 1 - - + Digitale Elektronica --31-- 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 --32-- De gedragshiërarchie tijdmodellen Digitale Elektronica --33-- De structuurhiërarchie: Logisch vs. Fysisch netwerk kast bord chip Digitale Elektronica --34-- Voorbeeld de netlijst van een poortdiagram op logisch niveau Digitale Elektronica --35-- Voorbeeld logische structuur op R/T-niveau Digitale Elektronica --36-- Voorbeeld fysische structuur op R/T-niveau: standard-cell en modules Digitale Elektronica --37-- Voorbeelden fysische structuur op R/T-niveau: standard-cell en modules Digitale Elektronica --38-- 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 --39-- Het ontwerptraject Informele vereisten Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit 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 Fysische Structuur Digitale Elektronica --40-- Het ontwerptraject de formaliseringsstap Informele vereisten Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit Eerste hoofdstap is formalisering: het in machineleesbare vorm brengen van vereisten Resultaat is gedragsbeschrijving. Niveau is afhankelijk van complexiteit Digitale Elektronica Fysische Structuur --41-- Het ontwerptraject de formaliseringsstap Informele vereisten Gedrag Nut van deze stap: • • • machineverwerkbaar resultaat ondubbelzinnig completer dan vereisten Logische Structuur Systeem Algoritme R/T logisch circuit Omgekeerde stap: validatie • • door simulatie (uitvoerbare formalisering) door bewijsvoering Fysische Structuur Digitale Elektronica --42-- Het ontwerptraject de synthesestap Gedrag Tweede hoofdstap is synthese: de overstap van gedrag naar logische structuur. Logische Structuur Systeem Algoritme R/T logisch circuit Het resultaat is een structuurbeschrijving op logisch niveau of R/T-niveau Fysische Structuur Digitale Elektronica --43-- Het ontwerptraject de synthesestap Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit 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 Fysische Structuur Digitale Elektronica --44-- Het ontwerptraject de fysische ontwerpsstap De volgende stap is generatie: de overstap van logische naar fysische structuur Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit Resultaat is beschrijving van fysische lay-out Gewoonlijk drie deelstappen: • • • technology mapping partitionering plaatsing en routering Fysische Structuur Digitale Elektronica --45-- Het ontwerptraject de fysische ontwerpsstap Omgekeerde stap: extractie Kan gebruikt worden voor • • Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit 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) Fysische Structuur Digitale Elektronica --46-- Het ontwerptraject effectieve realisatie Gedrag Logische Structuur Systeem Algoritme R/T logisch circuit 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 Fysische Structuur Digitale Elektronica --47--