Inhoud 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 --1-- Digitale Bouwstenen standaardcomponenten Digitale bouwstenen Standaardcomponenten Programmeerbare componenten Seq. Comb. SSI MSI LSI VLSI PLAachtigen PLA PAL PLS EPLD Cellarrays Applicatie-specifieke bouwstenen Gate Arrays FPGA Digitale elektronica Standard Cell Full Custom --2-- Standaardcomponenten: sequentiële functies SSI • flip-flops: diverse klok- en datagedragingen MSI • registers • tellers • schuifregisters LSI • registerbanken • processor-bouwblokken VLSI • processors • geheugens • specifieke chips voor consumentenmarkt Digitale elektronica --3-- Flip-flops Definitie van het tijdsgedrag ts th Flanksturing tp Pulssturing Niveausturing ts th ts th O-interval I-interval tp Digitale elektronica --4-- Flip-flops Definitie van het datagedrag D Qn Q’n R S Qn Q’n J K Qn Q’n 0 1 0 0 Qn-1 Q’n-1 0 0 Qn-1 Q’n-1 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 ?? ?? 1 1 Q’n-1 Qn-1 0 1 1 0 D-gedrag R/S-gedrag J/K-gedrag Q’n T Qn 0 1 Qn-1 Q’n-1 Q’n-1 Qn-1 T-gedrag Digitale elektronica --5-- Flip-Flops een overzicht Datagedrag Asynchr S/R 74LS279 D draad Klokgedrag Niveau Flank ** 74LS75 Puls ** Voorbeelden van pdfbestanden 74HC74 74F109 74LS74 7476 T -- -- ** ** J/K -- -- 74LS73A 74LS76 7475 7473 74279 Digitale elektronica --6-- De essentie van synchroon gedrag ts In Out Flanksturing th Combinatorische logica Registers tp Klok Flip-flop propagatie Combinatorisch propagatie Flip-flop instel Digitale elektronica --7-- Klok Regels voor synchroon ontwerp Inputsignalen moeten stabiel zijn gedurende I-interval • Gebruik alleen geheugenelementen met disjuncte I- en O-intervallen • Gebruik alleen geheugenelementen met zelfde klokgedrag • Zorg ervoor dat de klokverschuiving beperkt is tot separatie tussen I en O • Zorg ervoor dat de klok een voldoende periode heeft • Stuur inputs op het correct ogenblik aan Digitale elektronica --8-- Regels voor synchroon ontwerp metastabiliteit Veranderingen van input binnen I-interval • Meestal “normaal” gedrag van FF: resultaat is onvoorspelbaar, maar wel ofwel 0 ofwel 1 • Soms “geen” resultaat: finale waarde wordt ongewoon laat bereikt. Intussen geen betrouwbare waarde: – niet finaal – eventueel halfslachtig niveau – mogelijk zelfs dynamische hazards Digitale elektronica --9-- Regels voor synchroon ontwerp metastabiliteit 74LS74 kloksignaal inputsignaal 30 14 ns outputsignaal Digitale elektronica --10-- Metastabiel gedrag Breuninger’s grafiek C 1 C t MTBF e f cf d 2 Digitale elektronica --11-- Geheugens en processors Er bestaan een aantal generieke functies die het gebruik van hoge integratiedichtheden mogelijk maken Voorwaarde: universele inzetbaarheid Twee belangrijke voorbeelden: • geheugens • processors (+ randchips) Digitale elektronica --12-- Geheugens kenparameters Interne opbouw – statisch (SRAM) – dynamisch (DRAM) Structurele aspecten – Woordbreedte – Capaciteit Functionele aspecten – toegangstijd en -bandbreedte – parallellisme in toegang – asynchrone of synchrone toegang Digitale elektronica --13-- Geheugens interne opbouw: statische geheugens Geheugenwerking gebaseerd op terugkoppeling Cel = elementaire flipflop lage toegangstijd grote basiscel • CMOS: 6 transistors • NMOS: 4 transistors, dissipatie X/Y-adressering Kan in alle technologieën Digitale elektronica --14-- Geheugens interne opbouw: dynamische geheugens Geheugenwerking gebaseerd op ladingsopslag op capaciteit (1 transistor) Lezen dynamisch proces, destructief Digitale elektronica --15-- Geheugens interne opbouw: dynamische geheugens Digitale elektronica --16-- Geheugens functionele aspecten Parallellisme • Toegang tot grote RAMs sequentieel: woord per woord • Kleine statische RAMS (registerbestanden) en speciale geheugens (DPMs, FIFOs) parallel Toegangsprotocollen • Vroeger hoofdzakelijk asynchroon • Voor SRAM: – relatief eenvoudig • Voor DRAM: – sequentieel – opfriscycli – snelle blokmodes • Synchrone protocollen nemen snel toe Digitale elektronica Voorbeelden van pdf-bestanden SRAM SSRAM EDO-RAM SDRAM --17-- Processors Processors worden als bouwblok in grote variëteit gemaakt: • voor algemeen gebruik (zie computerarchitectuur) • voor specifieke toepassingen: DSP, Grafiek, Communicatie • als component voor realisatie van complexe functies: microcontrollers Processors worden ook in toenemende mate als module gebruikt in ASIC-ontwerp of ontwerp met FPGAs Digitale elektronica --18-- Processors microcontrollers Een microcontroller is een sterk geïntegreerde vorm van processor Bevat naast processorkern ook • geheugen (beperkt) • perifere schakelingen Wordt vaak in verschillende varianten gemaakt qua beschikbaar geheugen, snelheid, en soort van meegeïntegreerde functies Gebruik: in ingebedde systemen, waar complexiteit hogere eisen stelt dan snelheid: – printers, toetsenborden, ... – Automobiel, wasmachines, T.V.’s, .. – PLC’s, regelaars, procesautomatisatie Digitale elektronica --19-- Processors microcontrollers: voorbeeld Digitale elektronica --20-- Digitale Bouwstenen programmeerbare componenten Digitale bouwstenen Standaardcomponenten Programmeerbare componenten Seq. Comb. SSI MSI LSI VLSI PLAachtigen PLA PAL PLS EPLD Cellarrays Applicatie-specifieke bouwstenen Gate Arrays FPGA Digitale elektronica Standard Cell Full Custom --21-- Programmeerbare componenten PLA-achtigen: sequencers De PLS: • PLS: PLA met toestandsregister Digitale elektronica --22-- Programmeerbare componenten architecturen: PLA-achtigen (2) De PAL en de PLD: macrocellen met flipflops Voorbeelden van pdf-bestanden MACH pld Cypress pld 22v10 Digitale elektronica --23-- Programmeerbare componenten architecturen: Cell-arrays (1) Digitale elektronica --24-- Programmeerbare componenten Moderne evoluties in FPGA’s Moderne FPGA’s bevatten veel meer dan CLB’s en routing blocks: • Sommige bevatten grote geheugenblokken, en laten toe van CLB’s te groeperen tot geheugenblokken • Sommige bevatten R/T uitbreidingen om snelle ALU’s te maken (carry chains) • Sommige bevatten standaard microprocessor naast programmeerbare array • Sommige bevatten speciale I/O-interfaces: – Naar extern geheugen (DDR-ram) – LVDS en andere snelle verbindingen Digitale elektronica --25-- Digitale Bouwstenen ASIC’s Digitale bouwstenen Standaardcomponenten Programmeerbare componenten Seq. Comb. SSI MSI LSI VLSI PLAachtigen PLA PAL PLS EPLD Cellarrays Applicatie-specifieke bouwstenen Gate Arrays FPGA Digitale elektronica Standard Cell Full Custom --26--