Kompendium - Datorteknik
Kompendium - Datorteknik Kompendium - Datorteknik
Innehåll1 Introduktion till VHDL 41.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Programmerbara kretsar . . . . . . . . . . . . . . . . . . . . . . . 41.2.1 Exempel på PAL, 16R8 . . . . . . . . . . . . . . . . . . . 51.2.2 22V10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.3 CPLD Xilinx 9572 . . . . . . . . . . . . . . . . . . . . . 71.2.4 Minimikrav och goda råd . . . . . . . . . . . . . . . . . . 71.3 En första smak på VHDL . . . . . . . . . . . . . . . . . . . . . . 81.4 Kombinatoriska nät med VHDL . . . . . . . . . . . . . . . . . . 91.5 Sekvensnät med VHDL . . . . . . . . . . . . . . . . . . . . . . . 101.5.1 PORT-satsen: IN, OUT, INOUT och BUFFER . . . . 151.6 Lite grundläggande definitioner . . . . . . . . . . . . . . . . . . . 151.6.1 Identifierare . . . . . . . . . . . . . . . . . . . . . . . . . 151.6.2 Signaler och variabler . . . . . . . . . . . . . . . . . . . 161.7 Datatyper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.7.1 Numeriska datatyper . . . . . . . . . . . . . . . . . . . . 171.7.2 Konstanter . . . . . . . . . . . . . . . . . . . . . . . . . 171.7.3 Uppräkningsbara datatyper och egendefinierade datatyper 171.7.4 Grupperade signaler: array och record . . . . . . . . . . . 181.8 Mer kombinatorik . . . . . . . . . . . . . . . . . . . . . . . . . . 191.8.1 Utanför PROCESS: WITH-SELECT-WHEN . . . . . . . . 191.8.2 Utanför PROCESS: WHEN-ELSE . . . . . . . . . . . . . 201.9 Mer sekvensnät . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.9.1 Inuti PROCESS: IF-THEN-ELSE . . . . . . . . . . . . 201.9.2 Inuti PROCESS: CASE-WHEN . . . . . . . . . . . . . . . 211.9.3 En utvidgning . . . . . . . . . . . . . . . . . . . . . . . . 221.10 Lite extra för att prata med omvärlden . . . . . . . . . . . . . . . 241.10.1 Att använda externa bibliotek . . . . . . . . . . . . . . . 241.11 Syntetiserbar VHDL . . . . . . . . . . . . . . . . . . . . . . . . 242 Utvecklingsverktyget ISE 262.1 En snabblektion i Project Navigator . . . . . . . . . . . . . . . . 262.2 Simulering i ModelSim . . . . . . . . . . . . . . . . . . . . . . . 311
2.2.1 COMPONENT-satsen . . . . . . . . . . . . . . . . . . . 333 Ett miniprojekt: Personnummerkontroll 353.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 Kravspecifikation . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3 Designskiss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4 Översättning till VHDL . . . . . . . . . . . . . . . . . . . . . . . 393.4.1 Synkronisering och enpulsning . . . . . . . . . . . . . . . 393.4.2 10-räknare . . . . . . . . . . . . . . . . . . . . . . . . . 393.4.3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.4 X2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.5 Adderare . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4.6 Register med mod-10 på ingången . . . . . . . . . . . . . 413.4.7 Nätet K . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4.8 Kommentar . . . . . . . . . . . . . . . . . . . . . . . . . 413.5 Simulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6 Programmering av CPLD 9572 . . . . . . . . . . . . . . . . . . . 424 Laborationsuppgift: IR-mottagare 444.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2 Sändaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3 Mottagaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.4 Uppgifter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46A Kopplingsscheman 48A.1 Blockschema 9572 . . . . . . . . . . . . . . . . . . . . . . . . . 48A.2 Pinnar 9572 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48B VHDL-kod 50B.1 Komplett VHDL-kod för personnummermaskinen . . . . . . . . . 50B.2 Testbänk för personnummermaskinen . . . . . . . . . . . . . . . 52C Projektkatalog för DK/IT 2005 55D Virteknik 61E Logikanalysatorn HP54620A 63F Att bygga en liten dator 66F.1 En ackumulatormaskin . . . . . . . . . . . . . . . . . . . . . . . 66F.1.1 Allmänt . . . . . . . . . . . . . . . . . . . . . . . . . . . 66F.1.2 Programmerarmodell . . . . . . . . . . . . . . . . . . . . 66F.1.3 Instruktionsrepertoar. . . . . . . . . . . . . . . . . . . . . 67F.1.4 Adresseringsmoder . . . . . . . . . . . . . . . . . . . . . 69F.1.5 Indexerad adresseringsmod. . . . . . . . . . . . . . . . . 712
- Page 1: Digital Konstruktion TSEA43Ingemar
- Page 5 and 6: Kapitel 1Introduktion till VHDL1.1
- Page 7 and 8: När man ansluter lodräta ledare m
- Page 9 and 10: Figur 1.4: Blockschema över Xilinx
- Page 11 and 12: x
- Page 13 and 14: Exempel: Vi vill bygga ett sekvensn
- Page 15 and 16: u
- Page 17 and 18: 1.6.2 Signaler och variablerVHDL sk
- Page 19 and 20: Sedan kan man deklarera signaler so
- Page 21 and 22: WITH sel SELECTy
- Page 23 and 24: ELSE -- x är 1!CASE q ISWHEN "00"
- Page 25 and 26: • klockan får inte förekomma n
- Page 27 and 28: Kapitel 2Utvecklingsverktyget ISEVi
- Page 29 and 30: Tryck därefter next och sedan på
- Page 31 and 32: TIE | 739 | TIETIE | 838 | countTIE
- Page 33 and 34: END testbench;ARCHITECTURE behavior
- Page 35 and 36: uut: counter PORT MAP(clk => clk,co
- Page 37 and 38: esetHexa−decimalttangentbord4PNR4
- Page 39 and 40: clkrstKBstrobekbSEPREG1X2dvar210-r
- Page 41 and 42: p
- Page 43 and 44: 3.5 SimuleringVi avslutar detta exe
- Page 45 and 46: Kapitel 4Laborationsuppgift:IR-mott
- Page 47 and 48: IR−mottagareCPLDKlock−modulFigu
- Page 49: Bilaga AKopplingsschemanA.1 Blocksc
2.2.1 COMPONENT-satsen . . . . . . . . . . . . . . . . . . . 333 Ett miniprojekt: Personnummerkontroll 353.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.2 Kravspecifikation . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3 Designskiss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.4 Översättning till VHDL . . . . . . . . . . . . . . . . . . . . . . . 393.4.1 Synkronisering och enpulsning . . . . . . . . . . . . . . . 393.4.2 10-räknare . . . . . . . . . . . . . . . . . . . . . . . . . 393.4.3 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.4 X2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.5 Adderare . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4.6 Register med mod-10 på ingången . . . . . . . . . . . . . 413.4.7 Nätet K . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.4.8 Kommentar . . . . . . . . . . . . . . . . . . . . . . . . . 413.5 Simulering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.6 Programmering av CPLD 9572 . . . . . . . . . . . . . . . . . . . 424 Laborationsuppgift: IR-mottagare 444.1 Inledning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2 Sändaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.3 Mottagaren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.4 Uppgifter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46A Kopplingsscheman 48A.1 Blockschema 9572 . . . . . . . . . . . . . . . . . . . . . . . . . 48A.2 Pinnar 9572 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48B VHDL-kod 50B.1 Komplett VHDL-kod för personnummermaskinen . . . . . . . . . 50B.2 Testbänk för personnummermaskinen . . . . . . . . . . . . . . . 52C Projektkatalog för DK/IT 2005 55D Virteknik 61E Logikanalysatorn HP54620A 63F Att bygga en liten dator 66F.1 En ackumulatormaskin . . . . . . . . . . . . . . . . . . . . . . . 66F.1.1 Allmänt . . . . . . . . . . . . . . . . . . . . . . . . . . . 66F.1.2 Programmerarmodell . . . . . . . . . . . . . . . . . . . . 66F.1.3 Instruktionsrepertoar. . . . . . . . . . . . . . . . . . . . . 67F.1.4 Adresseringsmoder . . . . . . . . . . . . . . . . . . . . . 69F.1.5 Indexerad adresseringsmod. . . . . . . . . . . . . . . . . 712