INF3430/4430. Grunnleggende VHDL. 11-Sep-06

Like dokumenter
INF3430. VHDL byggeblokker og testbenker

INF3430/4430. Grunnleggende VHDL

INF3430/4431. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker forts.

Entities and architectures. Kapittel 3

INF 3430/4430. Simuleringsmetodikk

INF 3430/4431. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk

Kombinatorisk og synkron logikk. Kapittel 4

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430. VHDL byggeblokker og testbenker forts.

INF3430/4430. Kombinatoriske og sekvensielle byggeblokker implementert i VHDL :57

INF3430/4431 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter

INF 3430/4430. Viktige momenter i syntese og for valg av teknologi

Synkron logikk. Sekvensiell logikk; to typer:

Store design. Kapittel 6

VHDL En kjapp introduksjon VHDL. Oversikt. VHDL versus C(++)/Java

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Agenda Funksjoner og prosedyrer. Funksjoner

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

TELE2010A Digital Systemkonstruksjon

Simulering, syntese og verifikasjon (Max kap. 19)

INF3430. Fasit eksamen Høst Oppgave 1 6. Oppgave A B C D E 1 X X 2 X 3 X X 4 X X 5 X X 6 X

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4431. Viktige momenter i syntese og for valg av teknologi Chipscope

INF3430/4431. Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Design med ASIC og FPGA (Max kap.7 og 18)

FYS 3270(4270) Data-assistert konstruksjon av kretselektronikk (tidligere Fys 329) Fys3270(4270)

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

F4 IN HDL. Yngve Hafting,

Tilstandsmaskiner (FSM) Kapittel 5

INF3340/4431. Tilstandsmaskiner

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

INF3340/4340. Synkrone design Tilstandsmaskiner

Oppgave 1 En 4-input Xilinx LUT med innhold 9009 (hex) realiserer en: A xor-xor-or B xor-xor-nand C xor-xor-nor D xor-xor-and E xor-xor-xor

Gruppe(r): 2EY Eksamenstid, fra-til: Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

INF3340. Tilstandsmaskiner

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Kort repetisjon fra forrige gang. Kombinatorisk logikk

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

UNIVERSITETET I OSLO

Oppsummering av digitalteknikkdelen

INF1510: Bruksorientert design

INF3430 Høsten ChipScope PRO - En kort innføring

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Organisering og ledelse av hardware-utvikling

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

MAX MIN RESET. 7 Data Inn Data Ut. Load

Hvorfor lære om maskinvare*?

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

INF3430/4430 Høsten Designflyt Utviklingsverktøyene Modelsim og Xilinx ISE

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

INF1400. Karnaughdiagram

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

AlgDat 10. Forelesning 2. Gunnar Misund

Design med ASIC og FPGA (Max kap.7 og 18)

Versjon2.0/ ChipScope PRO - En kort innføring

Løsningsforslag til eksamen i INF2270

SIE 4005, 8/10 (3. Forelesn.)

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Repetisjon digital-teknikk. teknikk,, INF2270

INF 3430/4430. UNISIM, SIMPRIM og Vital-bibliotekene Xilinx Corelib Test og design for testbarhet

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Del 1 En oversikt over C-programmering

Høgskolen i Sør-Trøndelag Avdeling for teknologi

Dagens tema. Dagens temaer hentes fra kapittel 3 i læreboken. Repetisjon, design av digitale kretser. Kort om 2-komplements form

INF3430/4431 Høsten Laboppgave 4 System on Chip (SoC) konstruksjon

Digital logic level: Oppsummering

INF3430. Kretsteknologier Programmeringsteknologier VHDL-Access datatyper

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

GJENNOMGANG UKESOPPGAVER 9 TESTING

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning

kl 12:00 - mandag 31. mars 2008 Odde: uke 11 (12. mars 2008) Utlevert: fredag 7. mars 2008 Like: uke 13 (26. mars 2008) Regneøving 4

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

INF3430/INF4431 Høsten Laboppgave 3 ASM Flytskjema Bruk av moduler i et system og design av tilstandsmaskin

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Tilstandsmaskiner med UML og Java

Kap. 10 Systemutvikling System Engineering

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

INF2270. Datamaskin Arkitektur

TDT4165 PROGRAMMING LANGUAGES. Exercise 4 RC-kretser

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

Litt mer om Arduino. Roger Antonsen Sten Solli INF januar 2011

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

SIE 4005, 2/10 (2. Forelesn.)

Bevisbar sikkerhet. Kristian Gjøsteen. 2. mars 2005

Digitalstyring sammendrag

Generiske mekanismer i statisk typede programmeringsspråk

Transkript:

INF3430/4430 Grunnleggende VHDL 11-Sep-06

Agenda Entity/architecture Strukturelle design (netlist) Generics Configurations Operatorer-Operator presedence Datatyper Bit / IEEE1164 Std_ulogic /std_logic Sequentiell VHDL (Process) Testbench for combinational logic INF3430/4430 Side 2

Entity/architecture Entity og architecture er de to mest grunnleggende byggeklossene i VHDL. Entity Tilkobling mot omverdenen i Portbeskrivelsen Input/output/bi-directional Architecture Beskriver virkemåte En entity kan ha mange architectures Kan benyttes til å beskrive kretsen for flere abstraksjonsnivåer Behavorial (algoritmer) RTL (Register Transfer Level) Post synthesis (netliste) Post Place & Route INF3430/4430 Side 3

Strukturelle design (netlist) Gjenbruk av moduler (entities og architectures) Generiske moduler(generics) F.eks. skalèrbare bussbredder Konfigurerbar funksjonalitet Bryter opp store design til mindre og håndterlige byggeklosser Tenk funksjonelle blokker Sammenkobling av funksjonelle blokker (entities/components/modules) Lettere samarbeid mellom flere i et designteam Viktig med veldefinerte grensesnitt mellom moduler Ethvert entity/architecture-par kan benyttes som en byggekloss i en strukturell beskrivelse INF3430/4430 Side 4

Strukturelle design (netlist) Inputs Component A Instans U1 Component B Instans U2 sammenkoblinger Component C Instans U3 Component A Instans U4 Outputs Hver Component instans har et underliggende Entity/architecture par Vi kan lett gjenbruke entities Vi kan lage et hierarkisk design med så mange undernivåer vi måtte ønske Ikke overdriv Å benytte flere prosesser innenfor en arkitektur er et godt alternativ til et strukturelt design INF3430/4430 Side 5

Testbench Lager stimuli/testomgivelser i VHDL Meget kraftige simuleringsmuligheter Fil I/O Leser testmønstre fra fil Skriver resultater til fil og sammenligner med fasitfil. Fasitfil kan også leses inn og sammenligning mellom resultat og fasit kan utføres innenfor testbench. Kan bygge inn modeller for omkringliggende kretser Særlig viktig dersom man har toveis kommunikasjon mellom UUT (Unit under test) og omkringliggende kretser. Jfr. Handshake signaler. Gir simulator uavhengig test INF3430/4430 Side 6

Testbench Stimuli Unit under Test UUT Outputs Stimuli Unit under Test UUT Stimuli Modell av omkring liggende krets A Stimuli sammenkoblinger Modell av omkring liggende krets B Modell av omkring liggende krets C Outputs INF3430/4430 Side 7

Strukturelle design (netlist) Her hentes entitetene fra working library Sist kompilerte arkitektur benyttes (default binding) INF3430/4430 Side 8

Strukturelle design (netlist) Her spesifiseres eksplisitt hvilke bibliotek entitetene hentes fra. Det spesifiseres også hvilke arkitektur som benyttes INF3430/4430 Side 9

Generics I tillegg til portbeskrivelsen kan en entity ha en generic beskrivelse Generics benyttes for å kunne lage parametriserbare komponenter (generiske) Generics benyttes oftest til å overføre timing informasjon eller strukturell informasjon Eksempel 1: Tidsforsinkelser kan variere fra krets til krets, mens virkemåten ellers er lik Eksempel 2: Antall bit kan variere fra krets til krets mens virkemåten ellers er lik. INF3430/4430 Side 10

Generics Delay_length er en subtype av typen time Ikke VHDL 1987 revisjon INF3430/4430 Side 11

Configurations Configurations er en mekanisme for å velge ut en gitt arkitektur til en entitet (component) Nyttig for når vi skal simulere RTL, postsyntese og post place and route Benyttes til å binde sammen hierarki Uten bruk av configurations må man passe på hvilke arkitektur som er sist kompilert og dette kan bli komplisert etter hvert som designet vokser. INF3430/4430 Side 12

Configurations Antar at post syntese modellen er kompilert til biblioteket POSTSYNTH og Post place and route modellen er kompilert til biblioteket POSTROUTE INF3430/4430 Side 13

Sekvensiell VHDL (Processer) En process har en sensitivitetsliste Processen evalueres når et av signalene på sensitivitetslisten endrer verdi I en process dannes èn signaldriver pr.signal. Detter betyr at det er ikke noen konflikt med flere tilordninger pr. signal innenfor èn process. Oppdatering av et signal skjer når processen terminerer. Oppgave: Anta B=0, A skifter fra 0->1. Hva skjer med F og hvorfor? INF3430/4430 Side 14

Operatorer Aritmetikk +, -, *, / Sammenligning >, >=, <, <=, =, /= Logiske operatorer and, nand, or, nor, not, xor, xnor INF3430/4430 Side 15

Operator presedence I VHDL er det kun not-operatoren som blir evaluert før andre (precedence) Alle andre operatorer blir evaluert på lik linje (precedence) Uttrykkene blir evaluert ettersom de er skrevet (venstre mot høyre) For å tvinge fram at et uttrykk evalueres før et annet benyttes paranteser Eksempler: a <= a or b and c = (a or b) and c z <= a and not b and c = a and (not b) and c = c and (a and (not b)) INF3430/4430 Side 16

Datatyper Meget streng datatypesjekking i VHDL Scalare typer Kan holde bare en verdi om gangen Eksempel: Integer, Real, Enumerated (bit), Physical (time) Composite typer Kan holde mer enn en verdi om gangen. Dette er tilfelle for array og record typer Eksempel: Bit_vector Typen bit kan ha verdiene 0,1 Dette er veldig begrensende i forhold til å modellere digital hardware Dette medførte en ny standard, IEEE 1164 INF3430/4430 Side 17

Datatypen Std_logic IEEE 1164 TYPE std_ulogic IS ( ); 'U', -- Uninitialized 'X', -- Forcing Unknown '0', -- Forcing 0 '1', -- Forcing 1 'Z', -- High Impedance 'W', -- Weak Unknown 'L', -- Weak 0 'H', -- Weak 1 '-' -- Don't care SUBTYPE std_logic IS resolved std_ulogic; INF3430/4430 Side 18

Std_Ulogic/Std_logic Std_Ulogic U Unresolved Drivere kan ikke kobles sammen Std_Logic Resolved Verdier definert gjennom en såkalt resolution table Drivere kan kobles sammen og kan modellere: Wired logic Tri-state drivere og busser Pull up/pull down motstander CONSTANT resolution_table : stdlogic_table := ( --------------------------------------------------------- U X 0 1 Z W L H - --------------------------------------------------------- ( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- U ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- X ( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- 0 ( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- 1 ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- Z ( 'U', 'X', '0', '1', 'W', 'W', 'W', 'W', 'X' ), -- W ( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- L ( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- H ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ) -- - ); INF3430/4430 Side 19

Tri-state buffer INF3430/4430 Side 20