INF3430/4430. Grunnleggende VHDL

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

INF3430. VHDL byggeblokker og testbenker

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 Høsten Laboppgave 2 VHDL-programmering Funksjoner og prosedyrer/bibliotek Styring av sjusegmenter

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430. VHDL byggeblokker og testbenker forts.

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

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

Store design. Kapittel 6

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

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

Synkron logikk. Sekvensiell logikk; to typer:

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

Simulering, syntese og verifikasjon (Max kap. 19)

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

TELE2010A Digital Systemkonstruksjon

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Agenda Funksjoner og prosedyrer. Funksjoner

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

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

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

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

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

Tilstandsmaskiner (FSM) Kapittel 5

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

F4 IN HDL. Yngve Hafting,

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

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

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

INF3340/4340. Synkrone design Tilstandsmaskiner

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

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

INF3340/4431. Tilstandsmaskiner

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

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

INF1510: Bruksorientert design

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

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

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

UNIVERSITETET I OSLO

Organisering og ledelse av hardware-utvikling

Hvorfor lære om maskinvare*?

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

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

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

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

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Oppsummering av digitalteknikkdelen

Digital logic level: Oppsummering

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

INF1400. Karnaughdiagram

MAX MIN RESET. 7 Data Inn Data Ut. Load

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

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

Del 1 En oversikt over C-programmering

INF Test og design for testbarhet

Repetisjon digital-teknikk. teknikk,, INF2270

Løsningsforslag INF1400 H04

UNIVERSITETET I OSLO

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

Oversikt over I/O tilkoblinger og moduler på modellbyen

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

INF2270. Datamaskin Arkitektur

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

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

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

AlgDat 10. Forelesning 2. Gunnar Misund

Løsningsforslag til eksamen i INF2270

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

GJENNOMGANG UKESOPPGAVER 9 TESTING

Avanserte byggeblokker (Maxfield kap.13 og 17)

CORBA Component Model (CCM)

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

INF2270. Datamaskin Arkitektur

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

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

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

TDT4258 Eksamen vår 2013

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

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

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

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

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

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

Digitalstyring sammendrag

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

INF3430. Kretsteknologier Programmeringsteknologier VHDL-Access datatyper

1 Innhold QUICK START GUIDE FOR QUARTUS II. Prosjektgruppe 59 Side 3 av 30 1 INNHOLD 3 2 ALTERA QUARTUS II. 4

Designflyt Utviklingsverktøyene Modelsim og Xilinx ISE

Transkript:

INF3430/4430 Grunnleggende VHDL 26.09.2005 20.57

Agenda Entity/architecture Strukturelle design (netlist) Generics Configurations Operatorer-Operator presedence Datatyper Bit / IEEE1164 Std_ulogic /std_logic Concurrent signal assignments Dataflow Process Sequential VHDL Combinational building blocks 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. AD-omformer på testkortet. Hvordan skal vi enkelt simulere handshaken mellom CPLD og denne ved bruk av kommandofil? 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 komponenter parametriserbare (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

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

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 15

Datatyper Meget streng datatypesjekking i VHDL Scalare typer Integer, Real, Enumerated Composite typer Bit, Bit_vector Typen bit kan verdiene X,0,1 Dette er veldig begrensende i forhold til å modellere digital hardware Dette medførte en ny standard, IEEE 1164 INF3430/4430 Side 16

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 17

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 18

Tri-state buffer INF3430/4430 Side 19