Programmerbar logik och VHDL Föreläsning 1
Programmerbar logik och VHDL Programmerbar logik VHDL intro Upplägg, litteratur, examination
Programmerbara kretsar Mikroprocessor Fix hårdvara som kan utföra ett antal fördefinierade operationer Mikrodatorteknik, 15hp Programmerbar logik Programmerbar hårdvara Den här kursen!
Programmerbar logik Programmable Logic Device PLD Tre huvudtyper: SPLD Simple Programmable Logic Device CPLD Complex Programmable Logic Device FPGA Field Programmable Gate Array
SPLD Simple Programmable Logic Device
SPLD Programmering Möjligt att bilda alla SOP termer, alltså godtycklig sanningstabell för A, B, X
SPLD Programmering - exempel X = A XOR B
SPLD Exempel på verklig krets, GAL22V10
SPLD GAL22V10 Programmerbara interconnects Flip flops Möjligt att implementera komplexa funktioner men inte alltför komplexa
CPLD Complex Programmable Logic Device Ett antal kretsar av SPLD-typ kombinerade via en programmerbar interconnect-matris => tillräckligt med logik och I/O för att implementera ett komplett system i ett enda chip men ibland vill man ha ännu mera att köra med
FPGA Field Programmable Gate Array Programmerbara logiska celler Programmerbart switch-nätverk
FPGA LUT, logisk cell Logiska funktioner implementeras inte med hjälp av grindar, utan med Look-Up Tables (LUTs) LUT: I princip ett litet RAMminne som lagrar sanningstabellen för en godtycklig logisk funktion Logisk cell = LUT + flip-flop Exempel på logisk cell med 3-ingångars LUT LUT-tekniken möjliggör extremt hög logik-densitet
Vår FPGA Xilinx Spartan-3E Programmerbar logik motsvarande ca. 100.000 logiska grindar Pris för FPGA-chip: $13
Basys2 Utvecklingskort för Spartan-3E FPGA Expansionskontakter PS/2 USB FPGA VGA 7-seg-displayer Switchar, lysdioder
FPGA Spartan-3E programmering 1.920 LUT (4-ingångars) 1.920 flip flops Konfigurerbart switchnätverk Även speciella block för I/O, RAM, multiplikation, klockhantering, Oändliga möjligheter enorm komplexitet avancerad mjukvara hjälper oss
FPGA Programmering/arbetsgång Den önskade digitala konstruktionen beskrivs med ett hårdvarubeskrivande språk (HDL Hardware Description Language) Mjukvaruverktyg tolkar HDLkoden och genererar en bitstream-fil som används för att konfigurera FPGAn
Basys2 Basys2-kortet är utrustat med ett chip (microcontroller) som gör det enkelt att föra över bitstream-filen till FPGAn via en USB-kabel USB FPGA Spartan-3E är baserad på RAM-teknik => programmeringen är flyktig
VHDL!
VHDL intro
VHDL VHSIC Hardware Description Language (VHSIC = Very High-Speed Integrated Circuit) Ett av två stora hårdvarubeskrivande språk (det andra är Verilog) Utvecklades under 80-talet för att beskriva och modellera digitala system Extremt stort språk vi använder endast en delmängd, för syntes VHDL är inte ett vanligt programmeringsspråk!
Exempel - Komparator Beskrivningar Två ingångsbitar in1 och in0, och en utgångsbit, ut ut ska vara ett om in1 och in2 är lika, annars ska ut vara noll ut = in0 in1 + in0 in1 in1 in0 ut 0 0 1 0 1 0 1 0 0 1 1 1
Exempel - Komparator VHDL-beskrivning library/package -deklaration entity beskriver yttre anslutningar architecture beskriver inre funktionalitet
VHDL Entity Beskriver konstruktionens anslutningar mot omvärlden. Motsvarar black-box-diagrammet. std_logic datatyp för bitar. Kan anta värdena 0 eller 1 (och ett antal andra som främst förekommer vid simulering)
VHDL Architecture Varje entity har minst en architecture. Architecture beskriver funktionen, fyller i black-box-diagrammet. tilldelningsoperator logiska operatorer
VHDL Architecture, variant deklaration av interna signaler concurrent statements utförs parallellt, samtidigt mycket viktigt begrepp inom VHDL
VHDL Architecture, variant Grafisk representation signaler används som ledningstrådar
VHDL Grafisk representation av första varianten
library/package entity architecture med signaler och concurrent statements
Upplägg, litteratur, examination
Föreläsningar Upplägg Denna vecka: Idag, tisdag, onsdag Torsdag reserv Nästa vecka: Måndag, tisdag Torsdag reserv Fredag: Ulf Laborationer 2 st. under v. 6, 7, 8, (9)
Litteratur Utdrag ur FPGAs!? Now What? Vissa sidor ur Introducing the Spartan 3E FPGA and VHDL
Litteratur 1. Introduction to VHDL 2. VHDL Invariants 3. VHDL Design Units 4. VHDL Programming Paradigm 5. Standard models in VHDL Architectures 6. VHDL Operators 7. Finite State Machine Design Using VHDL 8. Structural Modeling In VHDL 9. Registers and Register Transfer Level 10. Data Objects (11. Looping Constructs) 12. Standard Digital Circuits in VHDL Läs!
Litteratur Referens/extraintresserad
Examination Två laborationer (DE3, DE4) Grundnivå + spetsuppgift. Utförs i grupper om två studenter. Gemensamma skriftliga rapporter. VHDL show off Individuellt möte med lärare. => Individuellt betyg på kursens VHDL-block
Examination VHDL show off Individuellt möte med lärare under v. 10, efter avklarade laborationer. Du kommer att bli ombedd att göra en 5-7 min presentation av din lösning till någon av följande laborationsuppgifter: Lab DE3 - ALU (grundnivå) Lab DE3 - Räknare med 7-seg-display (spets) Lab DE4 - Hiss (grundnivå) Lab DE4 - Hiss (spets) Här gäller det för dig att visa upp att du har förstått alla grundläggande begrepp och att du har varit delaktig i lösningen av uppgiften. Presentationen görs på whiteboard/svart tavla, och följs av 5-10 min diskussion. Imponera på oss med dina nyvunna VHDL-kunskaper!
Att läsa Utdrag ur FPGAs!? Now What? Intro till programmerbar logik Free Range VHDL Kapitel 1, 2, 3, 4
FPGA Xilinx nya flaggskepp Virtex UltraScale Över fem miljoner flip-flops Världens största integrerade krets 20 miljarder transistorer! Pris: $30000...