INF3430/4431 Kretsteknologier Max. kap. 3
Kretsteknologier (Max. kap. 3) Programmerbar logikk kretser (PLD): Simple Programmable Logic Device (SPLD) Complex Programmable Logic Devices (CPLD) Field Programmable Gate Array (FPGA) Ikke reprogrammerbare logikk kretser: Application-Specific Standard Parts (ASSPs) Application Specific Integrated Circuit (ASICs) System On Chip (SoC) INF3430/4431 2
Følgende gjelder for alle figurer hentet fra læreboka The Design Warrior s Guide to FPGAs Devices,Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com) INF3430/4431 3
Kretsteknologier 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 Transistors ICs (General) SRAMs & DRAMs Microprocessors SPLDs CPLDs ASICs FPGAs INF3430/4431 4
Forskjell mellom prosessor og programmerbar logikk En prosessor programmeres med instruksjoner (som ligger lagret i RAM/ROM). En programmerbar logikk krets programmeres med en kretsbeskrivelse. En programmerbar krets består av konfigurerbare blokker med logikk og konfigurerbare forbindelseslinjer mellom disse blokkene. INF3430/4431 5
Random-Access Memory (RAM) Lagrer binær informasjon i grupper av bit kalt ord (word). Flyktig (volatile): Lagret informasjon forsvinner når spenning skrus av. Typer: Statisk (flip-flop er lagrer data) Dynamisk (elektrisk ladning på kondensatorer lagrer data) INF3430/4431 6
Programmable Read Only Memory (ROM) Logisk lik organisering som RAM (men ulik lagringsteknologi). 1 dekoder (med n innganger og 2 n utganger) + m OR-porter. Kan tradisjonelt programmeres kun en gang/permanent lagring. Ble brukt til oppstartsprogrammer eller enkel logikk. n adresselinjer 1 dekoder m OR-porter m ordlinjer INF3430/4431 7
l l l l l l Programmable Read Only Memory a b c Predefined link Programmable link Address 0 Address 1 Address 2 Address 3 Address 4 Address 5 Address 6 Address 7 a!a b!b c!c & & & & & & & &!a &!b &!c!a &!b & c!a & b &!c!a & b & c a &!b &!c a &!b & c a & b &!c a & b & c Programmable OR array Programmable OR array Predefined AND array w x y INF3430/4431 8
Programmable Array Logic (PAL) Som PLA, men med fast OR array Kan ikke dele produktledd mellom flere OR Mindre programmering (kun AND-array) Mindre fleksibilitet Re-programmerbare utgaver finnes (GAL) l l l Predefined OR array INF3430/4431 9
Programmerbar logikk arkitekturer Utvikling/Størrelse Krets med inn/ut-linjer, logikk, flip-flop er(vipper) og programmerbare forbindelseslinjer. Familier: SPLD - Simple Programmable Logic Device CPLD - Complex Programmable Logic Device FPGA - Field Programmable Gate Array CSoC - Configurable System-on-Chip INF3430/4431 10
Eksempel: GAL22V10 (Lattice) INF3430/4431 11
Eksempel: GAL22V10 (Lattice) INF3430/4431 12
SPLD - Simple Programmable Logic Device Kjennetegn: Minste og billigste typen av programmerbar logikk. Andre betegnelser: PROM (Programmable Read Only Memory) PLA (Programmable Logic Array) PAL (Programmable Array Logic, Vantis) GAL (Generic Array Logic, Lattice, Lattice) Programmering: Fuses eller ikke-flyktig minne som EPROM, EEPROM eller FLASH. INF3430/4431 13
PLD programmerer INF3430/4431 14
CPLD - Complex Programmable Kjennetegn: Logic Device En typisk CPLD har 2 til 64 ganger så mye logikk som en SPLD. Andre betegnelser: EPLD (Erasable Programmable Logic Device) EEPLD (Electrically-Erasable Programmable Logic Device) MAX (Multiple Array matrix, Altera) Programmering: Ikke-flyktig minne som EPROM, EEPROM eller FLASH (også SRAM er nå tilgjengelig). INF3430/4431 15
CPLD INF3430/4431 16
Eksempel-Max3000A (Altera) INF3430/4431 17
Eksempel-Max3000A (Altera) INF3430/4431 18
Eksempel-Max3000A (Altera) INF3430/4431 19
FPGA -Field Programmable Gate Array Kjennetegn: Tilbyr typisk en større mengde logikk på en krets enn det CPLD gjør. Andre betegnelser: LCA (Logic Cell Array) pasic (programmable ASIC), Cypress Flex, Apex, Cyclone, Arria, Stratix (Altera) ProASIC, IGLOO (Microsemi tidl. Actel) ORCA (Lucent) Spartan, Virtex, Artix, Kintex (Xilinx) Programmering: Statisk minne (SRAM) eller anti-fuse teknologi (også noen med EEPROM eller FLASH finnes). INF3430/4431 20
FPGA INF3430/4431 21
Eksempel på logikk blokk/celle (FPGA) Kombinatorisk logikk Sekvensiell logikk INF3430/4431 22
Look-Up Table (LUT) 0 0 INF3430/4431 23
Utvikling programmerbare kretser INF3430/4431 24
ASIC: Application Specific Integrated Circuit ASICs Gate Arrays Structured ASICs Standard Cell Full Custom Increasing design complexity ASIC: Brukerutviklet IC INF3430/4431 25
Når bør en bruke FPGA (CPLD)? Status: Førstevalg for digital logikk design med unntak av: Enkle eller tidskritiske design (ASIC/PAL/diskret logikk bedre) Produkt skal produseres i stort antall (ASIC bedre) Veldig komplekse design (ASIC) Design der minimalisering av effektforbruk er kritisk (mobile applikasjoner) ASIC vs FPGA 1500 4000 nye ASIC prosjekter hvert år 450 000 nye FPGA prosjekter hvert år INF3430/4431 26
Fordeler med FPGA vs. ASIC Kortere utviklingstid på grunn av enkel reprogrammering. Kan re-programmeres i system ute i felt. Mindre økonomisk risiko (produksjon av en ASIC-krets er dyrt og den kan ikke reprogrammeres). INF3430/4431 27
Power consumption ASIC vs FPGA (example) http://www.chipdesignmag.com/print.php?articleid=115?issueid=11 INF3430/4431 28