140 likes | 366 Views
Digitale Elektronica en Processoren. Luc Van Eycken Luc.VanEycken@esat.kuleuven.be. Waar hebben we hardware nodig?. Doelstellingen Praktische informatie. Uiteenlopende toepassingen Krachtige computersystemen Multimedia, spelen Draagbare telecommunicatie Intelligente kledij
E N D
Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be
Waar hebben we hardware nodig? • Doelstellingen • Praktische informatie • Uiteenlopende toepassingen • Krachtige computersystemen • Multimedia, spelen • Draagbare telecommunicatie • Intelligente kledij • Huishoudapparatuur • … • Afhankelijk van de toepassing kan het volgende belangrijk zijn: • Hoge verwerkingskracht(voor ingewikkelde algoritmen) • Zeer laag vermogenverbruik • Zeer compacte implementatie • Goedkoop (voor massaproducten)
Wat zullen we hiervoor nodig hebben? • Doelstellingen • Praktische informatie “System on Chip” • combinatie (op een chip) van één of meerdere • programmeerbare processoren • zeer flexibel • goedkoop qua ontwerp • niet-programmeerbare processoren • hoge verwerkingskracht • compacte implementatie • goedkoop qua componenten & vermogen • kan (beperkt) reconfigureerbaar zijn in sommige implementaties • controle-eenheden om alles aan te sturen
Voorbeeld: de Cell-processor • Doelstellingen • Praktische informatie
Hoe ontwerpen we dit? Hardware Analoog Digitaal Processoren Basiscomponenten Poorten Transistorniveau Fysisch niveau Gedragsniveau (algoritmen) • Doelstellingen • Praktische informatie Software Hardware Digitaal in deze cursus
Wat leren we in deze cursus? • Doelstellingen • Praktische informatie • Inzicht verwerven in het ontwerp van digitale elektronische systemen oppoort- en RTL-niveau • Alle bouwblokken (inclusief processoren) leren kennen die nodig zijn om complexe digitale schakelingen te bouwen • De basisconcepten van programmeertalen voor de beschrijving en ontwerp van digitale hardware (zoals VHDL) leren kennen • Ervaring opdoen met moderne ontwerp-omgevingen(voor FPGA)
Inhoudstafel • Doelstellingen • Praktische informatie • Inleiding • De basis van digitaal ontwerp • Combinatorische schakelingen:geheugenloze schakelingen • Sequentiële schakelingen:schakelingen met geheugen • Niet-programmeerbare processoren • Programmeerbare processoren • Hardware-beschrijvingstalen (VHDL)
Inleiding • Doelstellingen • Praktische informatie • Doelstellingen van de cursus • Praktische informatie • Cursustekst • Oefeningen & labo’s • Examen
Cursusmateriaal • Doelstellingen • Praktische informatie • Verplicht materiaal • transparanten (ook beschikbaar via Toledo) • Zeer sterk aangeraden materiaal • Principles of Digital Design, Daniel D. Gajski,Prentice Hall, 1997, ISBN 0-13-301144-5 • Topics uit andere boeken: • Digital Design: principles & practices, John F. Wakerly,Prentice Hall, 2000, ISBN 0-13-769191-2 • asynchrone sequentiële schakelingen; VHDL • Digital System Design with VHDL, Mark Zwolinski,Prentice Hall, 2000, ISBN 0-201-36063-2 • metastabiliteit; CPLD; FPGA; VHDL • Andere referentiewerken: • The Designer’s Guide to VHDL, Peter J. Ashenden,Morgan Kaufmann, 2002, ISBN 1-55860-674-2
Oefeningen & labo’s • Doelstellingen • Praktische informatie • Traditionele oefeningen over • ontwerp combinatorische schakelingen • ontwerp synchrone sequentiële schakelingen • ontwerp niet-programmeerbare processoren • begrijpen VHDL-beschrijvingen van hardware • Volledig hardware-ontwerp gebruik makend van Xilinx FPGA-hardware en ontwikkelomgeving • Vertaling van een probleem in schema’s • Simulatie van het ontwerp • Uitvoering op de FPGA-hardware
Examen • Doelstellingen • Praktische informatie • Mondeling gesloten boek met schriftelijke voorbereiding • Drie soorten vragen: • Vertaling van een algoritme naar een hardware blokschema • Ontwerp van een FSM • Theorievragen • Voorbeelden van vragen zijn te vinden verderop en op Toledo • Aan het einde van het semester is een extra les als vragenuurtje voorzien
Vertaling van een algoritme naareen hardware blokschema • Doelstellingen • Praktische informatie Ontwerp een FSMD die volgende functie uitvoert: entity fsmd is port(i: in integer range 0 to 255; clk, start: in bit; o: out integer range 0 to 4095); end entity fsmd; architecture behav of fsmd is begin process is variable a,b,c: integer; begin wait until clk = '1'; if start = '0' then o <= 0; else a := i; wait until clk = '1'; b := i; wait until clk = '1'; c := i; wait until clk = '1'; while abs(b-c) <= abs(a-b) loop o <= 5 * abs(a-b); c := i; wait until clk = '1'; end loop; o <= 3 * c + 1; end if; end process; end architecture behav; Ontwerp het datapad tot op RTL componenten en de controller tot op FSM-niveau. Doe ‘left edge register merging’ op je ontwerp.
Ontwerp van een FSM • Doelstellingen • Praktische informatie Maak de goedkoopst mogelijke IC-realisatie van volgende FSM met JK-flip-flops en NAND-poorten:
Enkele theorievragen • Doelstellingen • Praktische informatie • Beschrijf het IEEE-formaat voor getallen met “enkelvoudige precisie vlottende komma voorstelling”. Geef ook aan welke getallen hiermee kunnen voorgesteld worden. • Geef de realisatie en bespreek de werking van een “prioriteitsencoder”. • Wat zijn de verschillende stappen in het ontwerp van een CISC-computer? • Wat zijn de belangrijkste voordelen van het gebruik van VHDL?