L15 Introduktion modern digital design

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

VHDL 1. Programmerbara kretsar

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

Konstruktionsmetodik för sekvenskretsar

Programmerbar logik och VHDL. Föreläsning 1

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

Digitala projekt Elektro- och informationsteknik

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

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

std_logic & std_logic_vector

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

VHDL och laborationer i digitalteknik

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

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

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

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)

Konstruktion av digitala system - VHDL

DESIGN AV SEKVENTIELL LOGIK

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

DIGITALTEKNIK. Laboration D172

Digital elektronik CL0090

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

KALKYLATOR LABORATION4. Laborationens syfte

INTRODUKTION TILL VIVADO

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

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

Tentamen i Digitalteknik, EITF65

Tenta i Digitalteknik

Översikt, kursinnehåll

Digital elektronik och inbyggda system

TSEA22 Digitalteknik 2019!

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

F5 Introduktion till digitalteknik

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

Digitala elektroniksystem

Digital elektronik CL0090

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Datorkonstruktion. Datorkonstruktion 2018, 8hp

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

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

Digitalteknik syntes Arne Linde 2012

LEJON LABORATION3. Laborationens syfte

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

Sekvensnät. William Sandqvist

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

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

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

Simulering med ModelSim En kort introduktion

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Sekvensnät i VHDL del 2

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

Tentamen i IE1204/5 Digital Design Torsdag 29/

Digitalteknik syntes. Digitalteknik syntes Arne Linde 2012

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Omtentamen IE Digital Design Måndag 14/

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

F5 Introduktion till digitalteknik

LABORATIONSINSTRUKTION LABORATION

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

SEKVENSKRETSAR. Innehåll

Simulering med ModelSim En kort introduktion

Tenta i Digitalteknik

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

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

Programmerbar logik och VHDL. Föreläsning 4

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Repetition och sammanfattning av syntes och analys av sekvensnät

Introduktion till syntesverktyget Altera Max+PlusII

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

Digital Design IE1204

Grindar och transistorer

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

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Introduktion till E-block och Flowcode

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

Tentamen i Digital Design

Tenta i Digitalteknik

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

D0013E Introduktion till Digitalteknik

Digital Design IE1204

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

Sekvensnät Som Du kommer ihåg

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

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

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

IE1204/IE1205 Digital Design

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tenta i Digitalteknik

IE1204/5 Digital Design typtenta

TSEA22 Digitalteknik 2019!

Digital- och datorteknik

VHDL2. Sekvensnätsexemplet

IE1204/5 Digital Design typtenta

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

Transkript:

L15 Introduktion modern digital design

Upplägg LP2 F15 Introduktion till modern digital design F16 Kombinatoriska nät i VHDL F17 Sekvensnät i VHDL F18 Gästföreläsning (Advenica, fortsättningskurser) F19 Konstruktion av datorsystem Labb 4 Stopp Watch 1 labbtillfälle Labb 5 Microprocessor (datorsystem) 2 labbtillfällen

Tidigare i LP1 Tillståndsdiagram Tillståndskodning Tabeller Karnaugh-diagram Booleska funktioner Diskreta komponenter Ledningar

och resultatet Tidskrävande Ibland fungerade det inte Fel i tabeller Fel i Karnaugh-diagram Felkopplat Intel core i7 ~500 000 000 grindar Vi behöver andra verktyg för att konstruera mer komplexa (större) kretsar

Abstraktionsnivåer Hög abstraktionsnivå System Moduler Grindar Transistorer Låg abstraktionsnivå

System-nivå Mål: Uppdelning av systemet i mindre delsystem Gränssnitt och kommunikation mellan delsystem Byggblock Processorer Minnen Moduler Intellectual properties (IP) Hög abstraktionsnivå Få detaljer om hur blocken är uppbyggda

Modul-nivå Mål: Beskriva hur och när information/data förflyttas mellan moduler Byggblock Adderare Komparator Register (parallellkopplade D-vippor) Moduler konstruerade av enkla grindar och D-vippor Abstrakta signaler: heltal, tillstånd, databussar Kallas även Register-Transfer level (RT-level)

Exempel Konstruktion på modul-nivå Konstruera en modulo-6 räknare enligt specifikation till höger med hjälp av komponenter nedan r 2 r 2 Beteende 0 0 Nollställ 0 1 +2 1 0 +3 1 1 +1 3-bit Multiplexer 3-bit Adder 3-bit Register Nollställs om CLR=0

Grind-nivå Mål: Realisera moduler Byggblock Grindar (AND, NOT, etc) D-vippor Digitala signaler Samband mellan in- och utsignaler beskrivs med Booleska ekvationer Race conditions Optimering (carry-look-a-head, )

Transistor-nivå Mål: Realisera grindar och D-vippor Låg abstraktionsnivån Byggblock Transistorer Resistorer Kondensatorer etc. Analogt system Kontinuerliga signaler Mycket detaljerad beskrivning

Olika sätt att betrakta ett system på Funktion Addera A och B, spara resultat i C Struktur ALU 8-bit int Minne Fysiskt utseende

Funktion Fokus på att beskriva sambandet mellan in-och utsignaler Systemet betraktas som en svart låda Den interna implementeringen är ointressant 16 siffrig knappsats 4 siffrig kod Lås upp om koden är Öppna/Lås 1234 Motorstyrt dörrlås

Struktur Beskriver systemets interna uppbyggnad Exempelvis ett kretsschema Vilka komponenter består systemet av Hur är olika komponenter ihopkopplade 16 siffrig knappsats Knappsatsavkodare Komparator Drivkrets för motor Kodminne

Fysiska utseende Beskriver systemets fysiska karaktäristik Fysisk storlek för komponenter Fysisk placering av komponenter Hur är den anslutningen mellan komponenter utformad Ger en mer detaljerad beskrivning av systemet

Översikt abstraktionsnivåer Funktion System spec. Struktur Algoritmer Tillsåndsmasnkin Booleska ekv Subsystem Adderare Grindar Transistorer Transistorer-layout Grind-layout Fysiskt utseende Tillverknings spec.

Design flöde under labbar System spec. Om ett lejon går ut från buren ska lampan fara tändas Funktion Struktur Fysiskt utseende

Design flöde Specifikation Funktion Fysisk utformning Syntes Gå från hög till låg abstraktionsnivå Fysik design Hur ska komponenter placeras Energiförsörjning. Verifikation Testning

Specifikation Om ett lejon går ut från buren ska lampan fara tändas Vad ska kretsen göra Hur snabbt den utföra det Finns det begränsningar på den fysiska storleken Energiförbrukning

Syntes Görs vanligtvis stegvis Högnivå-syntes Modul-nivå-syntes Grind-nivå-syntes Syntes för underliggande hårdvara Ex. CMOS Mer detaljerad beskrivning

Verifikation och testning Verifikation Uppfyller systemet specifikationen? Funktionalitet och prestanda Görs efter varje syntes Testning Fungerar slutprodukten som det är tänkt? Fysiska defekter kan uppstå vid tillverkning

Fysisk design Beroende av vilken teknologi som används Konfigurerbar logik LP2 Processorer (mjukvara C, C++) Datorteknik Digital-Signal-Processor (DSP) mjukvara C, C++ Application-Specific-IC (ASIC) logik på kisel

Application-Specific-IC ASIC Kretsens fysiska utformning bestäms vid tillverkning och kan inte ändras. Full-custom ASIC Standard-cell ASIC Gate array ASIC

Konfigurerbara kretsar Kretsens fysiska utformning kan i viss grad bestämmas av användaren PLD Programmable Logic Device CPLD Complex Programmable Logic Device FPGA Field Programmable Gate Array

Programmable-Logic Device (PLD) Programmerbar anslutning

FPGA Anslutningar till omvärlden Konfigurerbara logikblock Anslutning mellan ledningar och block konfigureras

FPGA - Logikblock A B C Q 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 LUT LUT D D Konfigurerbar Lock-Up-Table (LUT)

Nexys 4 - FPGA development board

ARTIX7 (FPGA) 800 000 Lejonburar 126 800 D-vippor Eng. Flip-Flip (FF)

Jämförelse av teknologier Energiförbrukning Flexibilitet Prestanda Flexibilitet Kostnad Flexibilitet

Electronic-Design-Automation (EDA) Kan utföra vissa designsteg Syntes Fysisk design Algoritmer för att optimera designen Kan INTE omvandla en dålig design till en bra! I den här kursen använder vi Vivado från tillverkaren Xilinx

Vivado Källfiler som beskriver systemet Designflöde Spec

Simulering/verifiering i Vivado Testbench A= 1 B= 0 Wait 10ms; A= 0 Insignaler Design Interna signaler Utsignaler

Hadware-Decriptive-Language (HDL) Används för att beskriva kretsar In- och utsignaler Parallella operationer Anslutningar mellan block Beskriva beteende och struktur hos en krets Verilog SystemVerilog VHDL SystemC... Vi kommer att använda VHDL i denna kurs

VHDL Very high speed integrated circuit HDL Utvecklades av US Department of Defencse under 1980-talet Syftet var att standardisera dokumentation av hårdvara Senare utvecklades verktyg för att simulera och utföra syntes Endast en delmängd av VHDL kan användas för syntes

Vanlig programmering vs. HDL:s Källkod Källkod Här slutar likheterna! Kompilator Syntes Maskinkod Hårdvara

VHDL Struktur av källfil Library Entity Architecture Bibliotek som används i källfilen Beskrivning av kretsens utseende Beskrivning av kretsens funktion och uppbyggnad library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity circuit1 is.... end circuit1; architecture behav of circuit1 is.... begin.... end behav; I VHDL gös ingen skillnad på stora och små bokstäver

VHDL - Entity Likt symbolen för en komponent Kretsens yttre utseende Vad heter kretsen Vilka insignaler har den Vilka utsignaler har den

VHDL - Entity Kretsnamn bestäms av utvecklaren G1 G2 clock lejonbur FARA entity lejonbur is port ( G1 : in STD_LOGIC; G2 : in STD_LOGIC; FARA : out STD_LOGIC; ); end lejonbur; clock : in STD_LOGIC Regler: Börjar med en bokstav A-Z Får innehålla A-Z, 0-9 och _ Max ett _ i rad Får inte sluta med _ God praxis: Källfilen har samma namn som kretsen Ex: Kretsnamn: lejonbur Filnamn: lejonbur.vhd

VHDL - Entity Namn på in- och utsignaler G1 G2 clock lejonbur FARA entity lejonbur is port ( G1 : in STD_LOGIC; G2 : in STD_LOGIC; FARA : out STD_LOGIC; ); end lejonbur; clock : in STD_LOGIC Regler: Börjar med en bokstav A-Z Får innehålla A-Z, 0-9 och _ Max ett _ i rad Får inte sluta med _ God praxis: Använd meningsfulla namn Ex. clk_100mhz, clk_50mhz istället för clk1, clk2

VHDL - Entity Signalens riktning sett inifrån kretsen in eller out entity lejonbur is port ( G1 : in STD_LOGIC; G2 : in STD_LOGIC; FARA : out STD_LOGIC; ); end lejonbur; clock : in STD_LOGIC G1 G2 clock lejonbur Insignaler är read-only inne i kretsen Utsignaler är write-only inne i kretsen Signaltyp STD_LOGIC STD_LOGIC_VECTOR FARA

VHDL Några signaltyper Några typer i VHDL BIT : kan anta värdena 0 och 1 STD_LOGIC : kan anta 0, 1 och 7 andra värden STD_LOGIC_VECTOR : vektor av STD_LOGIC Varför ska vi använda STD_LOGIC istället för BIT?

Signalvärden Värdena 1 och 0 räcker inte för att beskriva verkliga ledningar Logisk 1 Logisk 0 Okänt (kortslutning) Inget värde Med signaltypen STD_LOGIC kan vi modellera alla dessa fall

STD_LOGIC Signaltyp som modellerar verkliga signaler/lednignar 9 olika värden, vi använder 5 av dessa 1 : logisk 1 0 : logisk 0 X : okänt U : inget värde - : dont-care Syntes verktyget kommer inte att tillåta att en signal antar värdet X eller U då detta kan förstöra FPGA:n

Signalvärden vid simulering Klocksignal sig1= 1 sig4 inget värde sig3 kortsluten

VHDL - Architecture Beskriver hur kretsen fungerar Kretsens interna struktur Kretsens beteende Kan beskrivas på olika abstraktionsnivåer Samma funktion kan beskrivas på olika sätt

VHDL - Architecture Arkitekturens namn bestäms av utvecklaren Vilken krets (entity) den tillhör architecture behav of lejonbur is begin FARA <= G1 and G2; end behav;