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

Relevanta dokument
Digitala elektroniksystem

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

VHDL och laborationer i digitalteknik

Digital elektronik CL0090

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

DESIGN AV SEKVENTIELL LOGIK

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

VHDL 1. Programmerbara kretsar

std_logic & std_logic_vector

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

L15 Introduktion modern digital design

KALKYLATOR LABORATION4. Laborationens syfte

Konstruktionsmetodik för sekvenskretsar

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

Simulering med ModelSim En kort introduktion

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

Tenta i Digitalteknik

Översikt, kursinnehåll

Konstruktion av digitala system - VHDL

Sekvensnät. William Sandqvist

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

Digital- och datorteknik

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

Talrepresentation. Heltal, positiva heltal (eng. integers)

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

Tenta i Digitalteknik

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

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

LABORATIONSINSTRUKTION LABORATION

Digital elektronik och inbyggda system

Digital elektronik CL0090

Programmerbar logik och VHDL. Föreläsning 1

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

Digitala projekt Elektro- och informationsteknik

Digital- och datorteknik

Tenta i Digitalteknik

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

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

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

VHDL2. Sekvensnätsexemplet

Digital- och datorteknik

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

Tenta i Digitalteknik

VHDL2. Sekvensnätsexemplet

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

VHDL3. Angående buffer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

DIGITALTEKNIK. Laboration D172

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

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

Digital- och datorteknik

Digitalteknik syntes Arne Linde 2012

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

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1.

DESIGN AV KOMBINATORISK LOGIK

IE1205 Digital Design: F6 : Digital aritmetik 2

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

Digital Aritmetik Unsigned Integers Signed Integers"

Digitalteknik syntes. Digitalteknik syntes Arne Linde 2012

Tenta i Digitalteknik

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

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

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2

Digital IC konstruktion

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Grindar och transistorer

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Omtentamen IE Digital Design Måndag 14/

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

IE1204/IE1205 Digital Design

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

En studie av två olika 32-bitars adderarstrukturer

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

FÖRELÄSNING 13. Sekvenskretsar - vippor och latchar. Digitalt konstruktionsexempel. Föreläsning 13

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

Digital IC konstruktion

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

Digital Design IE1204

Laboration Kombinatoriska kretsar

Tentamen i IE1204/5 Digital Design Torsdag 29/

Laboration 6. A/D- och D/A-omvandling. Lunds universitet / Fakultet / Institution / Enhet / Dokument / Datum

Studiehandledning. Digitalkonstruktion 5p

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

IE1205 Digital Design: F7 : Kombinatorik

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Tentamen IE Digital Design Måndag 23/

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Digital IC konstruktion

INTRODUKTION TILL VIVADO

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

Datorkonstruktion. Datorkonstruktion 2018, 8hp

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

Elektriska kretsar och fält - några exempel på tillämpningar

Transkript:

Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1

Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter. Utvecklingskostnad och prestanda låga. Rekonfigurerbara kretsar. Utvecklingskostnad och prestanda medelhöga. Applikationsspecifika kretsar. Utvecklingskostnad och prestanda höga -> stora serier. Hög integration (System på kisel), digitalt och analogt. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 2

Introduktion Moderkort med processor Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 3

Introduktion Processorn hjärnan i systemen Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 4

Introduktion 45-nm X4 i7-2008 Source: Intel Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 5

Introduktion 65-nm SOI X4 Phenom - 2008 Source: AMD Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 6

Introduktion FlexCore en Chalmersprocessor Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 7

Introduktion Utbyggbar processor Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 8

Introduktion FlexCore-chip Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 9

Konstruktion av digital hårdvara Hårdvarubeskrivande språk: Ett mjukvaruliknande språk som beskriver hårdvaran funktionellt/logiskt. VHDL, Verilog, etc. Konstruktionsmetodik Låt oss bygga en ALU Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 10

Konstruktionsmetodik Specifikation 0000: Signed add A B Add 0101: A OR B Op Logic Outs Clk Reset Shift Skift-operationer Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 11

Konstruktionsmetodik In- och utregister Inregister ALU Utregister Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 12

Konstruktionsmetodik VHDL öppna ALUns portar entity ALU is port(clk : in std_logic; Reset : in std_logic; A : in std_logic_vector(31 downto 0); B : in std_logic_vector(31 downto 0); Op : in std_logic_vector(3 downto 0); Outs : out std_logic_vector(31 downto 0)); end ALU; Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 13

Konstruktionsmetodik VHDL inkludera adderare architecture t RTL of ALU is component Adder port ( OpA : in std_logic_vector(31 downto 0); OpB : in std_logic_vector(31 downto 0); Cin : in std_logic; Cout : out std_logic; Result : out std_logic_vector(31 t downto 0)); end component; Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 14

Konstruktionsmetodik VHDL definiera register process begin if Reset='1' then ALU_inA <= (others => '0'); ALU_inB <= (others => '0'); elsif rising_edge(clk) then ALU_inA <= A; ALU_inB <= B; end if; end process; Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 15

Konstruktionsmetodik VHDL definiera logik process begin case ALU_ op is when "0000" => ALU_Out <= Add_Out;... when "0101" => ALU_Out <= ALU_InA or ALU_InB; Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 16

Konstruktionsmetodik Verifiering Simulering av hårdvarubeskrivningen avslöjar om vi konstruerat det vi avsett, om specifikationen och VHDL-implementationen överensstämmer. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 17

Konstruktionsmetodik Simulering Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 18

Konstruktionsmetodik Fler datorhjälpmedel När vår beskrivning är korrekt, omvandlar CAD-verktyg denna beskrivning till fysiska kretsar, under villkor på fördröjning mellan register. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 19

Konstruktionsmetodik ASIC Design Flow Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 20

Konstruktionsmetodik Standardcells-konstruktion Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 21

Konstruktionsmetodik Slutresultatet Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 22

Addition i hårdvara Adderare i processorer Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 23

Addition i hårdvara Addition 111111111111111111111111111 + 000000000000000000000000001 1000000000000000000000000000 Vi måste alltid konstruera för de värsta fallen som kan hända! Längst fördröjning = en carrybit i LSB ripplar ända till MSB. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 24

Addition i hårdvara Ripple-Carry Adder a N-1 b N-1 a 1 b 1 a 0 b 0 0 C N-1 C 1 C 0 + + + S N-1 S 1 S 0 Ripple-carry-adderare adderare (RCA): längsta fördröjningen beror linjärt av ordlängden. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 25

Addition i hårdvara Heladderaren Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 26

Addition i hårdvara Transistorkrets för heladderare a b c c a b b b c a C a c a a a b b b a b c c S Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 27

Addition i hårdvara Titta speciellt på carryvägen a 1 b 1 b 1 a 1 a 0 b 0 b 0 a 0 b 1 a 1 b 1 a 1 a 0 a 0 b 0 a 0 b 0 Det finns nu onödiga inverterare i kritiska vägen. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 28

Addition i hårdvara En snabbare carryväg a 1 b 1 b 1 a 0 b 0 b 0 a 1 C ut1 a 0 C ut0 b 1 a 1 b 1 a 1 a 0 a 0 b 0 a 0 b 0 Utnyttjar att C (a, b, c) = C(a, b, c ) Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 29

Addition i hårdvara Bättre, men fortfarande N a 2 b a 0 b a 2 0 3 b 3 a 1 b 1 C 3 C 2 + + + + C 1 C 0 S 3 S 2 S 1 S 0 Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 30

Addition i hårdvara Studera ingångarna! a N-1 b N-1 a 1 b 1 a 0 b 0 0 C N-1 C 1 C 0 + + + S N-1 S 1 S 0 a och b ansluter till heladderarna utifrån. c kommer från annan heladderare. Gör förbearbetning, utanför kritiska vägen: Generate (a b) och Propagate (a + b) Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 31

Addition i hårdvara Använda P och G i en krets G P Färre transistorer ger lägre grindfördröjning. G = ab P = a + b P G Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 32

Addition i hårdvara En ny operator, istället för + (G 1, P 1 ) (G 0, P 0 ) (G 0 + P 0 G 1, P 0 P 1 ) 0 0 1 0 1 Den s.k. dot-operatorn ger oss möjlighet att bygga associativa funktioner. Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 33

Addition i hårdvara Exempel på addition En 4-bitars addition: (C 3 = G 3, P 3 ) (G 2, P 2 ) (C 2 = G 2 + P 2 G 3, P 2 P 3 ) C 1 = G 1 + P 1 (G 2 + P 2 G 3 ) P 1 P 2 P 3 (G 1, P 1 ) (G 0, P 0 ) C 0 = [G 0 + P 0 G 1 ] + [P 0 P 1 ] (G 2 + P 2 G 3 ) P 0 P 1 P 2 P 3 (G 0 + P 0 G 1, P 0 P 1 ) Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 34

Addition i hårdvara 64-bitars processoradderare position 0 MSB g i =a i &b i old (g =i+1 i, p i ) (g x, p x ), där x i+1, i+2, i+4,... p i = a i b i new g i = old g i (old p i & g x ) x i = a i XOR b i new (g i, p i ) new p i = old p i & p x s i = x i-1 XOR nyast g i utom: s 0 = nyast g 0 utom: s 64 = x 63 position 63 LSB s 0 s 10 s 20 s 30 s 40 s 50 s 60 s 64 Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 35

Addition i hårdvara Logikdjup = 8 (jfr. 64 för RCA) position 0 MSB g i =a i &b i old (g =i+1 i, p i ) (g x, p x ), där x i+1, i+2, i+4,... p i = a i b i new g i = old g i (old p i & g x ) x i = a i XOR b i new (g i, p i ) new p i = old p i & p x s i = x i-1 XOR nyast g i utom: s 0 = nyast g 0 utom: s 64 = x 63 position 63 LSB s 0 s 10 s 20 s 30 s 40 s 50 s 60 s 64 Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 36

Addition i hårdvara Layout för halvadderare Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 37

Addition i hårdvara Layout för heladderare Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 38

Addition i hårdvara Den integrerade kretsen Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 39

Skiss på 16-bitars multiplikator Multiplikation i hårdvara Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 40

Multiplikation i hårdvara Layout av 16 16-bitars bitars multiplikator Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 41

Avslutning Många konstruktionsalternativ! Olika teknologiplattformar. ASIC, FPGA, standardkomponenter. Olika konstruktionsmetoder. Manuell design blandat med CAD-stödd design. Utmaningen: Komplexa system krävs för hög funktionalitet och hög prestanda. Hur konstruerar man dessa? Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 42