2. Inleiding
Wat is een microprocessor
CPLD / FPGA
Types Microprocessoren
Voordelen/nadelen
3. Inleiding
Wat is een microprocessor
CPLD / FPGA
Types Microprocessoren
Voordelen/nadelen
4. Microprocessor (µP)
Één enkele IC waar verschillende
nuttige functies in zitten
De mogelijkheid om een opgeslagen set
instructies uit te voeren om zo taken die
de gebruiker aanmaakt uit te voeren
De mogelijkheid om extern geheugen
IC’s aan te spreken om zo data te lezen
van en te schrijven naar deze geheugen
IC’s
6. Invoereenheden - Uitvoereenheden
Principiële opbouw van een computersysteem
Invoer
eenheid
Geheugen
ALU
Besturings-
eenheid
Uitvoer
eenheid
O
/
P
O
O
R
T
E
N
I
/
P
O
O
R
T
E
N
Input Computer Output
Toetsenbord
Temp. Opnemer
Scherm
Printer
Motor
7. Computer
De computer zelf bestaat uit:
CVE (centrale verwerkingseenheid)
Rekenkundige en logische eenheid (ALU)
Besturingseenheid (Control Unit)
Geheugen
I/O-poorten
Microcomputer = computer waarvan
de CVE nog slechts één chip is.
8. Busstructuur bij een microcomputer
CVE
(MPU)
Geheugen
RAM & ROM
I/O
Poorten
Controlebus
Databus
D0 – D7
Adresbus 16 bit (A0 – A15)
P0 – P7
9. De Microprocessor
ALU
A
Adres Buffer
PC 16bit
S 8bit
IR
Controle
Databuffer
Besturing V
N
Z
C
Conditiecode of
status register
8bit databus
D0 – D7
Controle bus
Adresbus 16 bit
A0 – A15 Interne databus 8bit
13. Programmable Logic Devices (PLDs)
IC waarvan logische functie
geprogrammeerd wordt na fabricage
Meestal zelfs herprogrammeerbaar
PLD (PLA of PAL): two-level structuur
van AND en OR gates met user-
programmable connections
CPLDs (Complex PLDs) en FPGAs
(Field Programmable Gate Arrays)
werden ontworpen om grotere
systemen mee op te zetten
16. PLDs – FPLA:
Field Programmable Logic Array
AND Array (programmeerbaar)
OR Array (programmeerbaar)
17. PLDs
Kleine chips
Werking moet je kennen voor verder
te kunnen
PLDs worden meestal
geprogrammeerd in
programmeertalen zoals ABEL of
PALASM (hardware equivalent van
assembler) ofwel door gebruik te
maken van een schematic capture
tool
18. CPLDs
Complex Programmable Logic Devices
Kan gezien worden als meerdere
PLDs (en een surplus aan
“programmable interconnect”) in 1
chip
Meer logische vergelijkingen of een
gecompliceerder design
Vele 7400-serie ICs vervangen door
1 CPLD!!!
20. CPLDs
Architectuur
Iedere logische blok is eigenlijk een PLD
In een CPLD bevinden zich 4 of meer
logische blokken
Deze logische blokken bestaan zelf uit
macrocellen en “interconnect wiring”
zoals een gewone PLD
21. FPGAs
Field Programmable Gate Arrays
Voor het implementeren van bijna
ieder hardware ontwerp
Prototyping van ontwerpen voor
ASICs
24. FPGAs
Kleine en simpele macrocells zoals in
een PLD (fine-grained architecture)
Grotere en meer complexe macrocells
(coarse-grained)
25. Programmatie CPLD / FPGA
Programmeerbare logica
IC’s waarvan de functie na de fysieke
productie door de klant kan worden
geconfigureerd
VHDL of Verilog (LabVIEW FPGA ?)
26. Overzicht
Wat is een microprocessor
CPLD / FPGA
Types Microprocessoren
Voordelen/nadelen
28. Discrete Processor
“Traditionele” manier van werken
Meerdere fabrikanten (Atmel,
Microchip, ARM, Freescale…)
Geïmplementeerd als een ASIC met
een specifieke “peripheral set” samen
met de processor core
Juiste processor zoeken kost veel tijd
Applicatie kost
Functionele vereisten
Custom Logic of “peripheral
functionality” nodig?
30. Hard processor cores
Hard processor core in een FPGA of CPLD
Zogenaamd “dedicated silicon” in deze
chip.
Voordeel:
de peripherals kunnen op maat gemaakt
worden voor de toepassing
Nadeel:
de core kan niet aangepast worden
Men moet een specifieke FPGA kiezen met een
hard processor core in.
De keuze van fabrikant en FPGA is gelimiteerd
31. Hard processor core - voorbeeld
Altera EXCALIBUR (32-bit hardcore
CPU)
Xilinx Virtex-II PRO (PowerPC 405D5
processor core – 32-bit hardcore
CPU)
32. Soft processor cores
Is volledig geïmplementeerd in de logica van de FPGA
of CPLD (via VHDL / Verilog code)
Ingezet bij een simpel systeem waar enkel de GPIO
(General Purpose Input/Output) moet gemanipuleerd
worden
Past ook in een zeer complex systeem waar een
Operating System nodig en enkele interfaces nodig
zijn (Ethernet, PCI – Peripheral Component
Interconnect), custom IP (Intellectual Property),…)
Nadeel:
Heeft minder goede prestaties dan zijn hard processor core
tegenhanger of de discrete processor.
Voordeel:
Is veel flexibeler; alles is aanpasbaar
Meerdere processoren langs elkaar in 1 chip