Digitalteknik syntes. Digitalteknik syntes Arne Linde 2012

Relevanta dokument
Digitalteknik syntes Arne Linde 2012

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

L15 Introduktion modern digital design

Tentamen i IE1204/5 Digital Design onsdagen den 5/

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

VHDL 1. Programmerbara kretsar

Programmerbar logik och VHDL. Föreläsning 1

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Digitala projekt Elektro- och informationsteknik

VHDL och laborationer i digitalteknik

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

SMD033 Digitalteknik. Digitalteknik F1 bild 1

F5 Introduktion till digitalteknik

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digital Design IE1204

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Omtentamen IE Digital Design Måndag 14/

IE1204 Digital Design

Mintermer. SP-form med tre mintermer. William Sandqvist

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Tentamen i IE1204/5 Digital Design Torsdag 29/

Konstruktionsmetodik för sekvenskretsar

DESIGN AV SEKVENTIELL LOGIK

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Angående buffer. clk clear >=1 =9?

F5 Introduktion till digitalteknik

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

Digital Design IE1204

IE1204/IE1205 Digital Design

Digital elektronik CL0090

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

IE1204/5 Digital Design typtenta

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

IE1204/5 Digital Design typtenta

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Digital elektronik CL0090

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digitala system EDI610 Elektro- och informationsteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Sekvensnät. William Sandqvist

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

DIGITALTEKNIK. Laboration D172

Sekvensnät i VHDL del 2

Digitala elektroniksystem

Tentamen i IE1204/5 Digital Design måndagen den 15/

Konstruktion av digitala system - VHDL

std_logic & std_logic_vector

Styrteknik: Grundläggande logiska funktioner D2:1

Simulering med ModelSim En kort introduktion

Tenta i Digitalteknik

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Tenta i Digitalteknik

Tentamen i Digitalteknik, EITF65

Digital- och datorteknik

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

Datorkonstruktion. Datorkonstruktion 2018, 8hp

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Omtentamen med lösningar IE Digital Design Måndag 14/

Digital Design IE1204

Introduktion till syntesverktyget Altera Max+PlusII

Översikt, kursinnehåll

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Tentamen med lösningar IE Digital Design Måndag 23/

Digital- och datorteknik

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Tenta i Digitalteknik

Transistorn en omkopplare utan rörliga delar

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Tentamen IE Digital Design Måndag 23/

Tentamen IE Digital Design Fredag 13/

KALKYLATOR LABORATION4. Laborationens syfte

F1: Introduktion Digitalkonstruktion II, 4p. Digital IC konstruktion. Integrerad krets. System. Algorithm - Architecture. Arithmetic X 2.

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

VHDL3. Angående buffer

Styrteknik: Binära tal, talsystem och koder D3:1

Tentamen i IE1204/5 Digital Design Måndag 27/

Digital- och datorteknik

EDA451 - Digital och Datorteknik 2010/2011. EDA Digital och Datorteknik 2010/2011

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Digital Design IE1204

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Studiehandledning. Digitalkonstruktion 5p

TSEA22 Digitalteknik 2019!

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

Tentamen i IE Digital Design Fredag 21/

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

EDA Digital och Datorteknik 2009/2010

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Flödesschema som visar hur man använder Quartus II.

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Transkript:

1 Digitalteknik syntes 2012

2 Introduktion Terminsregistrera er - snarast Boka labb tider PingPong (Öppnar 00:01) (Individuella labb tider) Köpa kursmaterial - Cremona

3 Upplägg LV 1 Introduktion, digitalteknik, VHDL LV 2 Teknologier, VHDL+lab LV 3 Sekvensnät Laboration 2 VHDL Minimering av sekvensnät LV 4 Asynkrona sekvensnät, LV 5 Syntes, ASIC, lab Sekvensnät LV 6 Testning, laboration Asynkrona nät LV 7 Sammanfattning

4 Personal Arne Linde Föreläsare Examinator Lars Kollberg Laborationschef Övningsledare: Sven Knutson

5 Jag har dyslexi

LV 1 6

7 Laborationer PM LV Rubrik Lab 1 2-3 Inledande VHDL laboration. Simulering. Lab 2 3-4 VHDL Trafikräknare. Simulering. Lab 3 5-6 Synkrona sekvensnät och hasarder Lab 4 6-7 Asynkrona sekvensnät.

9 Rekommenderad litteratur 2008 års bok Pris ca 500kr finns att köpa på Cremona

10 Att läsa emedan ni funderar på kursbok Grundläggande digital- och datorteknik Del 1 Digital teknik Switchnätalgebra. 3.5-4.2 Räknestugan 1 (hemarbete) 2.23,2.28, 2.31, 2.40, 2.42

11 Varför studera logisk design Är baskunskap för delarna i ett datorsystem. Bygga stora system av enkla byggblock Ger förståelse för hur en dator fungerar Parallellismen i maskinvara ger en grundförståelse för parallell datorbehandling. Ett effektivt sätt att implementera system.

12 Vad lär vi oss i denna kurs Om teknologier och teknikval Grunderna i VHDL Fördjupning i digitalteknik Tid i digitala system (Asynkrona sekvensnät, Hasarder mm) Konstruktionsmetodik (Design för test, testning, syntes mm)

13 Varför VHDL?

14 Applikationer för logik design Konventionella datorsystem Nätverk och kommunikation Inbyggda system Vetenskaplig utrustning Världen är mycket större än PC-maskiner.

15 Figure 1.1. A silicon wafer (courtesy of Altera Corp.).

16

17 Standard Chips Kretsar som realiserar användbara funktioner Oftast relativt små kretsar (några 1000 transistorer) Många kretsar för att realisera en konstruktion Populära fram till tidigt 80-tal Kräver plats (printed circuit board, PCB)

Group of 8 logic cells Memory block Interconnection wires Programerbar logik Har ersatt Standard Chips Många olika typer finns. 18 Figure 1.2. A field-programmable gate array chip (courtesy of Altera Corp.).

Design processen

20 Aspekter på en konstruktion Utvecklings buget Effekt buget Plats buget Styckekostnad KRAV

21 Standard dator Mikrocontroller Signalprocessor Design val Programmerbar logik Färdiga standard kretsar ASIC Kombination

22 Prestanda Standard dator Risk 100 90 80 70 Dator Rekonfigurerbarhet 60 50 40 30 20 Utv-kosstnad 10 0 Testbarhet St-kostnad Plats Effekt

23 Mikrocontroller, DSP Risk Dator DSP Prestanda 100 90 80 70 60 50 40 30 20 Rekonfigurerbarhet Prestanda 100 Utv-kosstnad 10 0 Testbarhet 90 Risk 80 70 Rekonfigurerbarhet 60 50 40 30 20 St-kostnad Plats tv-kosstnad 10 0 Testbarhet Dator Mickocontroller Effekt St-kostnad Plats Effekt

24 Prestanda 80 70 FPGA - ASIC Risk 60 Rekonfigurerbarhet 50 40 tv-kosstnad DSP FPGA 30 20 10 0 Testbarhet Prestanda 100 90 Risk 80 70 60 50 Rekonfigurerbarhet St-kostnad Plats 40 30 20 Effekt Utv-kosstnad 10 0 Testbarhet DSP FPGA ASIC St-kostnad Plats Effekt

25 Dator FPGA Std-krets Prestanda 100 90 Utv-kosstnad Risk Dator FPGA StdKretsar 80 70 60 50 40 30 20 10 0 Rekonfigurerbarhet Testbarhet St-kostnad Plats Effekt

26 Design concept Initial design Simulation Redesign Design correct? No Yes Successful design Figure 1.4. The basic design loop.

En dators struktur 27

IC-kretsens strukturen 28

29 Hur beskriver vi en elektronisk konstruktion Schema Komponenter och nät används sällan idag Analågt och digitalt Nätlista EDIF ett mellanformat Hårdvaru beskrivande språk VHDL Verilog System Verilog Sysem C mf

VHDL grunder Ett system delas in i två delar. Mot omgivningen: interface. Hur systemet kopplas till andra system och omgivningen. Intern funktionell beskrivning av konstruktionen. I VHDL En entity ansluter till den externa omgivningen. En architecture beskriver den interna funktionen. Entity Architecture

VHDL grunder Exempel: Simpel AND grind X Y & f=x Y -- AND gate LIBRARY ieee; USE ieee.std_logic_1164.all; Bibliotek med inbyggda funktioner X Y Och (and) X Y f 0 0 0 0 1 0 1 0 0 1 1 1 X Y

VHDL grunder Exempel: Simpel AND grind - Entity -- AND gate LIBRARY ieee; USE ieee.std_logic_1164.all; X Y X Y 32 ENTITY and2 IS Entity name PORT(x:IN STD_LOGIC; y:in STD LOGIC; f:out STD_LOGIC); END and2;

VHDL grunder Exempel: Simpel AND grind Architecture X Y X Y 33 Bibliotek med inbyggda funktioner Entity -- AND gate LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY and2 IS PORT(x:IN STD_LOGIC; y:in STD LOGIC; f:out STD_LOGIC); END and2; Entity name Architecture ARCHITECTURE arch_and2 OF and2 IS BEGIN Entity name again f<=x AND y; END arch_and2; Architecture name

34 Grindsymboler ARCHITECTURE arch_not OF not IS BEGIN f<= NOT x; X 1 X END arch_not; Inverterare (not) X f 0 1 1 0 X X ARCHITECTURE arch_or2 OF or2 IS BEGIN f<=x OR y; END arch_or2; X Y 1 Eller (or) X Y X Y f f=x+y 0 0 0 0 1 1 1 0 1 1 1 1 X+Y

35 X Y X Y X Y 1 NOR f=(x+y) f f X Y f 0 0 1 0 1 0 1 0 0 1 1 0 X Y & NAND f=(x Y) VHDL f <= x nor y; VHDL f <= x nand y; X Y f X f=x Y 0 0 0 X f=x Y =1 =1 Y 0 1 1 Y XOR 1 0 1 X f 1 1 0 Y VHDL f <= x xor y; X Y f X Y f 0 0 1 0 1 1 1 0 1 1 1 0 f=x Y eller (X Y) VHDL f <= x xnor y; X Y f 0 0 1 0 1 0 1 0 0 1 1 1

36 VHDL används för: I första hand simulering. Även för specifikation. Den kan i vissa fall syntetiseras till maskinvara.

VHDL grunder forts. Exempel Entity LIBRARY ieee; USE ieee.std_logic_1164.all; Om vi titta på koden från ett annat perspektiv så kan vi se två typer av kod Parallell kod (Concurrent code) ENTITY and_or IS PORT( a:in STD_LOGIC; b:in STD_LOGIC; c:in STD_LOGIC; y_conc:out STD_LOGIC; y_seq:out STD_LOGIC); END and_or; Allt inträffar vid samma tidpunkt. Sekventiell kod (Sequential code) Koden intrepetiteras i sekvens, en rad i taget. Koden måste skrivas i en process Hela processen utförs parallellt med resterande kod.

VHDL grunder forts. Exempel: Architecture med Interna signaler LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY and_or IS PORT( STD_LOGIC); END and_or; a:in STD_LOGIC; b:in STD_LOGIC; c:in STD_LOGIC; y_conc:out STD_LOGIC; y_seq:out ARCHITECTURE arch_and_or OF and_or IS SIGNAL x_conc:std_logic; SIGNAL x_seq:std_logic;

VHDL grunder forts. Exempel: Parallell kod BEGIN x_conc <= a AND b; y_conc <= x_conc OR c; LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY and_or IS PORT( STD_LOGIC); END and_or; a:in STD_LOGIC; b:in STD_LOGIC; c:in STD_LOGIC; y_conc:out STD_LOGIC; y_seq:out ARCHITECTURE arch_and_or OF and_or IS SIGNAL x_conc:std_logic; SIGNAL x_seq:std_logic;

Process namn VHDL grunder forts. Exempel: Process Sensitivety list De signaler som triggar (aktiverar) seq:process(a,b,c) processen BEGIN x_seq <= a AND b; y_seq <= x_seq OR c; END PROCESS seq; LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY and_or IS PORT( STD_LOGIC); END and_or; a:in STD_LOGIC; b:in STD_LOGIC; c:in STD_LOGIC; y_conc:out STD_LOGIC; y_seq:out ARCHITECTURE arch_and_or OF and_or IS SIGNAL x_conc:std_logic; SIGNAL x_seq:std_logic; BEGIN x_conc <= a AND b; y_conc <= x_conc OR c; END arch_and_or; Sekventiell kod

LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY and_or IS PORT( a:in STD_LOGIC; b:in STD_LOGIC; c:in STD_LOGIC; y_conc:out STD_LOGIC; y_seq:out STD_LOGIC); END and_or; ARCHITECTURE arch_and_or OF and_or IS SIGNAL x_conc:std_logic; SIGNAL x_seq:std_logic; BEGIN x_conc <= a AND b; y_conc <= x_conc OR c; seq:process(a,b,c,x_seq) BEGIN x_seq <= a AND b; y_seq <= x_seq OR c; END PROCESS seq; END arch_and_or; Fix 1 En DÅLIG metod! Varför?

x_seq värdet uppdateras omelebart och används direkt i OR satsen. VHDL Fix 2, rätt! Variabel, lokal för processen, ej observerbar utanför processen. seq:process(a,b,c) VARIABLE x_seq:std_logic; BEGIN x_seq := a AND b; y_seq <= x_seq OR c; END PROCESS seq; END arch_and_or; Variabel tilldelning Nya värdet av x_seq används

43 Figure 1.6. A printed circuit board.

Design flöda för en logisk krets.

45 Design concept Initial design Simulation Redesign Design correct? No Yes Successful design Figure 1.4. The basic design loop.

46 Implementation Build prototype Testing Modify prototype Correct? No Yes Minor errors? Yes No Finished PCB Go to A, B, C, or D in Figure 1.7 Figure 1.8. Completion of PCB development.

47 Att repetera Switchnätalgebra Boolesk algebra Grindsymboler och grindnät Karnaughdiagram

48 An algebraic structure consists of a set of elements B binary operations { +, } and a unary operation { } such that the following axioms hold: 1. the set B contains at least two elements: a, b 2. closure: a + b is in B a b is in B 3. commutativity: a + b = b + a a b = b a 4. associativity: a + (b + c) = (a + b) + c a (b c) = (a b) c 5. identity: a + 0 = a a 1 = a 6. distributivity: a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) 7. complementarity: a + a = 1 a a = 0

49 identity 1. X + 0 = X 1D. X 1 = X null 2. X + 1 = 1 2D. X 0 = 0 idempotency: 3. X + X = X 3D. X X = X involution: 4. (X ) = X complementarity: 5. X + X = 1 5D. X X = 0 commutativity: 6. X + Y = Y + X 6D. X Y = Y X associativity: 7. (X + Y) + Z = X + (Y + Z) 7D. (X Y) Z = X (Y Z)

50 distributivity: 8. X (Y + Z) = (X Y) + (X Z) 8D. X + (Y Z) = (X + Y) (X + Z) uniting: 9. X Y + X Y = X 9D. (X + Y) (X + Y ) = X absorption: 10. X + X Y = X 10D. X (X + Y) = X 11. (X + Y ) Y = X Y 11D. (X Y ) + Y = X + Y factoring: 12. (X + Y) (X + Z) = 12D. X Y + X Z = X Z + X Y (X + Z) (X + Y) concensus: 13. (X Y) + (Y Z) + (X Z) = 13D. (X + Y) (Y + Z) (X + Z) = X Y + X Z (X + Y) (X + Z)

51 de Morgan s: 14. (X + Y +...) = X Y... 14D. (X Y...) = X + Y +... generalized de Morgan s: 15. f (X 1,X 2,...,X n,0,1,+, ) = f(x 1,X 2,...,X n,1,0,,+) establishes relationship between and +

52 Proving theorems (perfect induction) Using perfect induction (complete truth table): e.g., de Morgan s: (X + Y) = X Y NOR is equivalent to AND with inputs complemented X Y X Y (X + Y) X Y 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 (X Y) = X + Y NAND is equivalent to OR with inputs complemented X Y X Y (X Y) X + Y 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0

From Boolean expressions to logic gates More than one way to map expressions to gates 53 e.g., Z = A B (C + D) = (A (B (C + D))) T2 T1 F<= not A and (not B and ( C or D ))); use of 3-input gate A Z A B T1 B Z C D T2 C D

54 Waveform view of logic functions Just a sideways truth table but note how edges don t line up exactly it takes time for a gate to switch its output! time change in Y takes time to "propagate" through gates

Choosing different realizations of a function 55 A B C Z 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 two-level realization (we don t count NOT gates) multi-level realization (gates with fewer inputs) XOR gate (easier to draw but costlier to build)

56 Karnaughdiagram Kan användas för fyra variabler (med visst besvär upp till sex) yz wx 00 01 11 10 00 01 1 1 11 10 W XY Z + W XYZ = W XZ

57 Sammanfattning 0 10 20 30 40 50 60 70 80 90 100 Prestanda Rekonfigurerbarhet Testbarhet Plats Effekt St-kostnad Utv-kostnad Risk Dator Mickocontroller 0 10 20 30 40 50 60 70 80 Prestanda Rekonfigurerbarhet Testbarhet Plats Effekt St-kostnad Utv-kostnad Risk DSP FPGA 0 10 20 30 40 50 60 70 80 90 100 Prestanda Rekonfigurerbarhet Testbarhet Plats St-kostnad Utv-kostnad Risk ASIC StdKretsar

58 VHDL entity architecture Parallell kod Sekventiell PROCESS Sekventiell Sista signal tilldelning gäller! (<=) Tilldelningen sker när vi lämnar PROCESS. Variabel Direkt (:=) Logik NOT, AND, OR, NAND, NOR, XOR, XNOR Alla har samma prioritet så gödsla med parenteser.

59 Att repetera Booleska funktioner Grindar Karnaughdiagram Normalformer (mintermer, maxtermer)

Att Göra! Registrera er! Köp kursbok (Cremona/DC) Boka labbpass för labb 1. (labbpass 1-4 öppnas i natt) Hämta labb-pm, förbered hemuppgifter. (Skall vara utförda innan lab.) (Gör inlämningsuppgiften.) Repetera och gör hemuppgifterna (de som ni tycker är svåra) Använd tiden i räknestugan för att få hjälp, labbförberedelser och inlämningar.