INF3430/4431. VHDL byggeblokker og testbenker forts.

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

Synkron logikk. Sekvensiell logikk; to typer:

INF3430/4431. VHDL byggeblokker og testbenker

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

Kombinatorisk og synkron logikk. Kapittel 4

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Agenda Funksjoner og prosedyrer. Funksjoner

Entities and architectures. Kapittel 3

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF 3430/4431. Simuleringsmetodikk

INF 3430/4430. Simuleringsmetodikk

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

Tilstandsmaskiner (FSM) Kapittel 5

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

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

F4 IN HDL. Yngve Hafting,

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

UNIVERSITETET I OSLO

Det matematisk-naturvitenskapelige fakultet. INF4431 Digital systemkonstruksjon

TELE2010A Digital Systemkonstruksjon

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

INF1400. Sekvensiell logikk del 1

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

INF1400. Sekvensiell logikk del 1

INF3340/4431. Tilstandsmaskiner

INF2270. Sekvensiell Logikk

INF3340/4340. Synkrone design Tilstandsmaskiner

INF3340. Tilstandsmaskiner

Repetisjon digital-teknikk. teknikk,, INF2270

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

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

Forelesning 7. Tilstandsmaskin

UNIVERSITETET I OSLO

INF1400. Tilstandsmaskin

Løsningsforslag til eksamen i INF2270

Forelesning 6. Sekvensiell logikk

UNIVERSITETET I OSLO

INF1400. Tilstandsmaskin

INF Test og design for testbarhet

IN1020. Sekvensiell Logikk

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

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

Løsningsforslag INF1400 H04

Oppgave 1 (Flanke- og nivåstyrte vipper)

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

Digitalstyring sammendrag

TFE4101 Krets- og Digitalteknikk Høst 2016

LØSNINGSFORSLAG 2006

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

Kapittel 5 Tilstandsmaskin

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

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

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

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

5 E, B (16) , 1011 (2) Danner grupper a' fire bit , (2) Danner grupper a' tre bit 1 3 6, 5 4 (8)

INF2270. Datamaskin Arkitektur

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:

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

Oppgave 1 JK-flip-flop (Total vekt 20%)

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

Del 1 En oversikt over C-programmering

UNIVERSITETET I OSLO

Oppsummering digital-teknikk, teknikk, INF2270

Monostabil multivibrator One shot genererer en enkelt puls med spesifisert varighet kretsen har en stabil tilstand

I oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor

Øving 7: Løsningsforslag (frivillig)

Løsningsforslag i digitalteknikkoppgaver INF2270 uke 5 (29/1-4/2 2006)

Datamaskiner og operativsystemer =>Datamaskinorganisering og arkitektur

Repetisjon. Sentrale temaer i kurset som er relevante for eksamen (Eksamen kan inneholde stoff som ikke er nevnt her)

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK, LF DIGITALTEKNIKKDELEN AV EKSAMEN (VERSJON 1)

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

INF2270. Datamaskin Arkitektur

INF1400 Kap4rest Kombinatorisk Logikk

FPGA/ASIC koderegler og designmetodikk Hvordan en FPGA designer kan være minst mulig på lab en

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

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

Obligatorisk oppgave MAT-INF1100. Lars Kristian Henriksen UiO

Transkript:

INF3430/4431 VHDL byggeblokker og testbenker forts.

Innhold Kombinatoriske kretser forts. Concurrent(dataflow) beskrivelser Beskrivelser ved bruk av process Testbenker for kombinatoriske kretser Stimuli Sammenligning rtl/postsyntese model Sekvensielle byggeklosser D-flip-flop Shiftregistre Linear Feedback shiftregistre (LFSR) Testbenker for sekvensielle kretser Timing sjekker Set-up og holde-tids sjekk Asymmetrisk klokke Random pulse generator Side 2

Dekodere (sim/synth) Side 3

Dekodere (sim/synth) Side 4

Shift operatorer Shiftoperatorene er i utgangspunktet definert for typen bit_vector Dersom man skal definere de for andre typer må det lages såkalte overload - operatorer. Overload vil si at det eksisterer en operator med sammen navn, men som er skrevet for en annen datatype. sll srl 0' 0' sla sra rol ror Side 5

Shift operatorer Standard bibliotekene definerer ikke shiftoperatorer for std_logic_vector Standard syntesebiblioteket numeric_std IEEE1076.3 definerer to datatyper som er subtyper av std_logic: Unsigned Signed For disse eksiterer det shiftoperatorer (overload) Side 6

N to 2 N Dekoder (sim/synth) Eksemplet nedenfor er et eksempel på en generisk N til 2 N dekoder Er samtidig et eksempel på den strenge typesjekkingen i VHDL typekonverteringsfunksjoner Side 7

Prioritetsenkoder (sim/synth) A3 A2 A1 A0 Y1 Y0 Valid 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1-0 1 1 0 1 - - 1 0 1 1 - - - 1 1 1 Side 8

Prioritetsenkoder (forts) (sim/synth) Side 9

Prioritetsenkoder (forts) (sim/synth) Fornuftig med bruk av default -verdier i en process Gjør bare endring der det er nødvendig Side 10

Generisk prioritetsenkoder (sim/synth) RANGE attributtet ~ 2**n-1 downto 0 Side 11

Prioritetsenkoder Testbench Eksemplet nedenfor lager stimuli til kombinatorisk funksjon uavhengig av antall bit Attributtet x high gir det høyeste bitnummeret til vektoren x og x low det laveste bitnummeret HIGH attributtet ~ høyeste bitnummer LOW attributtet ~ laveste bitnummer Side 12

Paritetstester (sim/synth) Like/odde paritet 1 dersom like/odde antall enere i ord Benyttes for å detektere feil i dataoverføringer 50% dekningsgrad Bruk av range attributet er et alternativ til (n-1 downto 0). Side 13

D-latch/D-flip-flop (sim/synth) Funksjonene rising_edge og falling_edge fra IEEE1164 gir sann (0->1, 1->0) flankedeteksjon If CLK event and CLK= 1 then reagerer på alle overganger til 1 for eksempel U->1. Synteseverktøy tolker ovenstående uttrykk korrekt. NB!! En ufullstendig if then else setning vil syntetiseres til en latch (implied memory) NB!! Side 14

D-flip-flop (sim/synth) Side 15

Set-up/holde tid Innganger må være stabile en viss tid før (set-up tid) og etter (holde-tid) klokkeflanken ellers risikerer man at utgangen går til en metastabil tilstand (verken null eller en). Utgangen vil returnere til 0 eller 1 etter å ha vært i den metastabile tilstanden, men det er usikkert til hvilke. Dvs. systemet er ikke deterministisk lenger. t s t h t s t h t s t h Side 16

Timing og logikksjekk (sim) Stable attributtet kan benyttes for å sjekke set-up og holde-tider Returner TRUE dersom signal har vært stabilt >= tid angitt som inputparameter Plassering av assert i entitet betyr at sjekking blir foretatt for alle arkitekturer tilhørende denne entiteten Side 17

Shiftregister (sim/synth) Side 18

Linear feedback shiftregisters (LFSR) Lages ved å Xor re enkeltbit som kobles tilbake til MSB Tilsynelatende tilfeldig tellesekvens Har kallenavn Pseudo-random generator siden tellesekvensen ser tilfeldig ut. Kan vises at det ikke trengs mer enn tre Xor gates til å lage en random sekvens Enkelte kombinasjoner er bedre (tapper) Benyttes mye i testing av kommunikasjonslinjer og busser Benyttes i forbindelse med kryptering Set Clock n-1 Startverdi (seed) n-2 Pseudo random output 2 1 0 Taps Side 19

Klokkegenerator (sim) Asymmetrisk lav og høy tid (dutycycle) Side 20

Klokke med jitter (sim) Side 21