KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken...

14
KATHOLIEKE UNIVERSITEIT 1-1 06– 07 H01L1 Digitale Digitale Elektronica Elektronica en en Processoren Processoren Luc Van Eycken [email protected]

Transcript of KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken...

Page 1: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

KATHOLIEKE UNIVERSITEIT

1-1 06–07

H01L1

Digitale Digitale Elektronica en Elektronica en ProcessorenProcessoren

Luc Van Eycken

[email protected]

Page 2: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-2 06–07

H01L1 Waar hebben we hardware nodig?

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)

Doelstellingen

• Praktische informatie

Page 3: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-3 06–07

H01L1

Wat zullen we hiervoor nodig hebben?

“System on Chip”= combinatie (op een chip) van één of

meerdereprogrammeerbare processoren

zeer flexibel goedkoop qua ontwerp

niet-programmeerbare processoren hoge verwerkingskracht compacte implementatie goedkoop qua componenten &

vermogen kan (beperkt) reconfigureerbaar zijn in

sommige implementatiescontrole-eenheden om alles aan te sturen

Doelstellingen

• Praktische informatie

Page 4: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-4 06–07

H01L1

Voorbeeld: de Cell-processor

Doelstellingen

• Praktische informatie

Page 5: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-5 06–07

H01L1

Hoe ontwerpen we dit?

Gedragsniveau (algoritmen)Gedragsniveau (algoritmen)

SoftwareSoftware HardwareHardware

Analoog

Transistorniveau

Fysisch niveau

Hardware

DigitaalDigitaal

Processoren

Basiscomponenten

Poorten

in deze cursus

Doelstellingen

• Praktische informatie

Page 6: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-6 06–07

H01L1

Wat leren we in deze cursus?

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)

Doelstellingen

• Praktische informatie

Page 7: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-7 06–07

H01L1

Inhoudstafel

1. Inleiding

2. De basis van digitaal ontwerp

3. Combinatorische schakelingen:geheugenloze schakelingen

4. Sequentiële schakelingen:schakelingen met geheugen

5. Niet-programmeerbare processoren

6. Programmeerbare processoren

7. Hardware-beschrijvingstalen (VHDL)

Doelstellingen

• Praktische informatie

Page 8: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-8 06–07

H01L1

Inleiding

Doelstellingen van de cursus

Praktische informatieCursustekstOefeningen & labo’sExamen

• Doelstellingen

Praktische informatie

Page 9: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-9 06–07

H01L1

Cursusmateriaal

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

• Doelstellingen

Praktische informatie

Page 10: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-10 06–07

H01L1

Oefeningen & labo’s

Traditionele oefeningen overontwerp combinatorische schakelingenontwerp synchrone sequentiële schakelingenontwerp niet-programmeerbare processorenbegrijpen VHDL-beschrijvingen van hardware

Volledig hardware-ontwerp gebruik makend van Xilinx FPGA-hardware en ontwikkelomgevingVertaling van een probleem in schema’sSimulatie van het ontwerpUitvoering op de FPGA-hardware

• Doelstellingen

Praktische informatie

Page 11: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-11 06–07

H01L1

Examen

Mondeling gesloten boek met schriftelijke voorbereiding

Drie soorten vragen:1) Vertaling van een algoritme naar een

hardware blokschema2) Ontwerp van een FSM3) Theorievragen

Voorbeelden van vragen zijn te vinden verderop en op Toledo

Aan het einde van het semester is een extra les als vragenuurtje voorzien

• Doelstellingen

Praktische informatie

Page 12: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-12 06–07

H01L1 Vertaling van een algoritme naareen hardware blokschema

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.

• Doelstellingen

Praktische informatie

Page 13: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-13 06–07

H01L1

Ontwerp van een FSM

Maak de goedkoopst mogelijke IC-realisatie van volgende FSM met JK-flip-flops en NAND-poorten:

00 01 11 10

S0 S0/10 S0/00 S7/00 S2/01

S1 S0/11 S4/11 S4/11 S5/11

S2 S1/01 S2/00 S2/10 S7/10

S3 S0/10 S3/00 S1/00 S2/01

S4 S5/00 S5/11 S2/01 S7/10

S5 S5/00 S4/11 S6/01 S1/10

S6 S7/01 S2/00 S2/10 S7/10

S7 S0/11 S4/11 S5/11 S4/11

• Doelstellingen

Praktische informatie

Page 14: KATHOLIEKE UNIVERSITEIT 1-11-106–07H01L1 Digitale Elektronica en Processoren Luc Van Eycken Luc.VanEycken@esat.kuleuven.be.

Inleiding

KATHOLIEKE UNIVERSITEIT

1-14 06–07

H01L1

Enkele theorievragen

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?

• Doelstellingen

Praktische informatie