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



Relevanta dokument
VHDL 1. Programmerbara kretsar

DESIGN AV SEKVENTIELL LOGIK

L15 Introduktion modern digital design

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

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

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

Programmerbar logik och VHDL. Föreläsning 1

VHDL och laborationer i digitalteknik

Konstruktionsmetodik för sekvenskretsar

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

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

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

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

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

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

std_logic & std_logic_vector

DIGITALTEKNIK. Laboration D172

Digitala elektroniksystem

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

Digitala projekt Elektro- och informationsteknik

IE1204/IE1205 Digital Design

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

Konstruktion av digitala system - VHDL

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

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Mintermer. SP-form med tre mintermer. William Sandqvist

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

Digitalteknik syntes Arne Linde 2012

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

Programmerbar logik och VHDL. Föreläsning 4

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

Digital Design IE1204

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

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

Digitalteknik F14. Programmerbara logikkretsar. Digitalteknik F14 bild 1

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

INTRODUKTION TILL VIVADO

KOMBINATORISKA FUNKTIONER...1

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

Digital elektronik CL0090

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

F5 Introduktion till digitalteknik

Simulering med ModelSim En kort introduktion

Tentamen i IE1204/5 Digital Design onsdagen den 5/

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

Digital Design IE1204

Sekvensnät. William Sandqvist

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tenta i Digitalteknik

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

LEJON LABORATION3. Laborationens syfte

Introduktion till syntesverktyget Altera Max+PlusII

Tenta i Digitalteknik

Studiehandledning. Digitalkonstruktion 5p

LABORATIONSINSTRUKTION LABORATION

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

Grindar och transistorer

KALKYLATOR LABORATION4. Laborationens syfte

Tenta i Digitalteknik

Introduktion till E-block och Flowcode

Datorkonstruktion. Datorkonstruktion 2018, 8hp

Laboration VHDL introduktion

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Digital Design IE1204

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

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

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

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

Digital Design IE1204

Digitalteknik: CoolRunner-II CPLD Starter Kit

Läsminne Read Only Memory ROM

Översikt, kursinnehåll

F5 Introduktion till digitalteknik

Programable Logic Devices

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Digital- och datorteknik

(2B1560, 6B2911) HT08

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

LABORATIONSINSTRUKTION

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

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

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

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

Sekvensnät Som Du kommer ihåg

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

Tenta i Digitalteknik

Tentamen IE Digital Design Måndag 23/

Digital- och datorteknik

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

Digital elektronik CL0090

Tenta i Digitalteknik

Generering av analoga signaler från XSV300

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

VHDL3. Angående buffer

SEKVENSKRETSAR. Innehåll

Digitalteknik syntes. Digitalteknik syntes Arne Linde 2012

Digital Design IE1204

Ladderprogrammering steg för steg

Transkript:

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 1

DESIGNFLÖDE FÖR DIGITALA SYSTEM Designspecifikation Verktyg för Computer-Aided Design Simulera och modifiera designen tills den fungerar som önskat Design Entry Simulera designen Överför designen Manuellt eller automatiskt Överför designen till kretsar (fysisk implementation) 2

SCHEMATISK DESIGN Grafisk metod Placera fördefinierade komponenter i ritområdet Koppla ihop komponenternas ingångar och utgångar för att skapa den önskade funktionen 3

EXEMPEL 1: SYNTES AV KOMBINATORISK LOGIK Implementera med tillgängliga grindar funktionen: Z = (A+B) (C+D) 4

EXEMPEL 2: ANALYS AV EN TILLSTÅNDSMASKIN Vad är denna tillståndsmaskins funktion? A=0 A=1 0 1 A=1 A=0 Strukturell beskrivning -Ihopkoppling av fördefinierade komponenter -Netlist på grind-nivå Beskrivning av beteende -Beskriver hur den fungerar -Säger ingenting om hur den är implementerad 5

EXEMPEL 3: DESIGN MED HARDWARE DESCRIPTION LANGUAGES 8-bitsadderare architecture rtl of add8 is begin process (a,b) variable s_var : std_logic_vector(8 downto 0); begin s_var := ( 0 & a) + ('0' & b); s <= s_var(7 downto 0); cout <= s_var(8); end process add; end rtl; a b s cout 6

FORTS. EXEMPEL 3 Automatisk syntes av adderarens kod 7

EXEMPEL 4: TILLSTÅNDSMASKIN Modulo-8 upp-/ner-räknare med enable architecture rtl of fsm is signal count : std_logic_vector(2 downto 0); begin -- rtl process (clk, reset) begin -- process if reset = '0' then count <= (others=>'0'); elsif clk'event and clk = '1' then if enable='1' then case up is when '1' => count <= count + 1; when others => count <= count -1; end case; end if; end if; end process; q <= count; end rtl; enable reset up q 8

FORTS. EXEMPEL 4 Automatisk syntes av räknarens kod 9

HARDWARE DESCRIPTION LANGUAGE Fördelar Jämfört med schematisk design är det enklare att beskriva och läsa designens funktion Koden är oberoende av implementationsteknologi Designen kan implementeras med olika teknologier Koden kan återanvändas Parametriserbar kod 10

IMPLEMENTATIONSTEKNOLOGIER En design kan implementeras i olika teknologier Fysisk implementation (automatisk) Standardkomponenter Programmerbara kretsar Applikationsspecifika t.ex. TTL 74-serien t.ex. PAL, PLA, FPGA ASIC (Application Specific IC) 11

PROGRAMMABLE ARRAY LOGIC PAL Förkonstruerade byggblock med många AND-/OR-grindar Använder sig egentligen av NOR- och NAND-grindar Kretsen kan konfigureras ( programmeras ) genom att bryta kopplingar Blockdiagram för den programmerbara kretsen implementerar logiska uttryck på Summa av Produkt (SOP) form inputs AND matrix product term OR matrix outputs 12

INNAN PROGRAMMERING Alla möjliga kopplingar är tillgängliga innan programmering AND-plan Programmerbar koppling OR-plan 13

EFTER PROGRAMMERING Kopplingar tas bort Fuse Normalt har man kopplingar och tar bort de man inte behöver Anti-fuse Normalt har man inga kopplingar, och skapar de man behöver A B C AB B'C AC' B'C' A F0 F1 F2 F3 14

EXEMPEL Förenklad notation alla kopplingar ritas ej ut Visa när det finns en koppling till ingången Implementera F0=AB + A B och F1=CD + C D A B C D AB A'B' CD' C'D AB+A'B' CD'+C'D 15

GATE-ARRAYS Enkla logikgrindar Transistorer implementerar kombinatoriska och sekventiella kretsar Interconnects Trådar för att koppla ihop block I/O block Speciella block för koppling till externa signaler Lägg till kopplingar för interconnects Metalltrådar läggs till 16

BYGGA STORA PROGRAMMERBARA KRETSAR Alternativ 1: CPLD (Complex Prog. Logic Device) Sätt flera PALs på samma chip Lägg till programmerbara interconnects mellan PALs Alternativ 2: FPGA Ger samma funktion som Gate-array Kallas Field Programmable Gate Array (FPGA) Detta kräver Ett sätt att implementera konfigurerbara logiska grindar Ett sätt att göra kopplingarna på 17

FIELD-PROGRAMMABLE GATE ARRAYS PAL-kretsar 10 100 grindar per chip Field Programmable Gate Arrays Altera MAX Family Actel Programmable Gate Array Xilinx Logical Cell Array 10000 flera miljoner grindar per chip 18

FPGA Logikblock Implementerar kombinatorisk och sekventiell logik Interconnects Trådar för att koppla ihop block I/O block Speciella block för koppling till externa signaler 19

FPGA FRÅN XILINX CLB CLB Slew Rate Control Passive Pull-Up, Pull-Down Vcc Switch Matrix D Q Output Buffer Pad CLB CLB Q D Delay Input Buffer Programmable Interconnect C1 C2 C3 C4 I/O Blocks (IOBs) H1 DIN S/R EC G4 G3 G2 G1 F4 F3 F2 F1 K G Func. Gen. F Func. Gen. H Func. Gen. DIN F' G' H' G' H' DIN F' G' H' H' F' 1 1 S/R Control S/R Control D SD Q EC RD D SD Q EC RD Y X Configurable Logic Blocks (CLBs) 20

COMPUTER-AIDED DESIGN Det är inte praktiskt möjligt att göra en design för en FPGA manuellt För mycket logik att hantera Hardware description language (HDL) Hög-nivå specifikation för logiken Validering: hög-nivå simulering Används för att hitta designfel tidigt i designfasen Syntes av logik Kompilerar HDL-program till grindar Överföring av designen till implementeringsteknologin (FPGA) 21

VHDL ETT HÅRDVARUBESKRIVNINGSSPRÅK (HDL) Det finns två HDLs som har en väl spridd användning VHDL Verilog HDL VHDL Very High Speed Integrated Circuit Hardware Description Language Historia Skapades av Amerikanska Försvarsdepartementet för att dokumentera designer Standardiserades av IEEE (1076 VHDL) 1993 22

BAKGRUND TILL VHDL Problem Ökade krav på design, implementering och test av system med ökande komplexitet på kortare tid Lösning (?) Ett hög-nivåspråk som tillåter beskrivning av digital hårdvara (HDL) HDL och CAD stöder automatisk syntes av designer Programmerbar logik för snabb implementering 23

BAKGRUND TILL VHDL Anledningar att använda HDL Hög-nivåspråk kan bli kraftfulla och flexibla Designen kan göras oberoende av implementeringsteknologi (teknologioberoende) Standardiserade språk gör det möjligt att använda CADverktyg från olika leverantörer (plattformsoberoende) Kortar ned tiden från idé till produkt eller prototyp 24

DESIGNFLÖDE FÖR FPGA Design Entry architecture rtl of fsm is signal count : std_logic_vector(2 downto 0); begin -- rtl process (clk, reset) begin -- process if reset = '0' then count <= (others=>'0'); elsif clk'event and clk = '1' then if enable='1' then case up is when '1' => count <= count + 1; when others => count <= count -1; end case; end if; end if; end process; q <= count; end rtl; Simulera och modifiera designen tills den fungerar som önskat Simulera designen Automatisk överföring av designen Syntes av logik (Automatisk) Implementering (Automatisk) Place and Route 25

DESIGNVERKTYG I VHDL Data från komponenttillverkaren Specificerade av designern Design Entry Test Bench Generera testdata Analysera resultaten Teknologi Data för grindarna t.ex. fördröjningar, energianvändning Direktiv t.ex. klockfrekvens VHDL-simulator Syntesverktyg Vågformer Netlist på grindnivå 26

DESIGNVERKTYG II Netlist på grindnivå Place & Route -verktyg Post-layout -simulering Binär-fil för programmering av komponenten Grind-fördröjningar efter place & route Vågformer 27

SLUT PÅ FÖRELÄSNING 8 Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 28