INF 3430/4430. Simuleringsmetodikk

Like dokumenter
INF 3430/4430. Simuleringsmetodikk

INF 3430/4431. Simuleringsmetodikk

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

INF3430. VHDL byggeblokker og testbenker

INF3430/4431. VHDL byggeblokker og testbenker

INF3430/4430. Grunnleggende VHDL

Simulering, syntese og verifikasjon (Max kap. 19)

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

INF3340/4340. Synkrone design Tilstandsmaskiner

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3430. VHDL byggeblokker og testbenker forts.

TELE2010A Digital Systemkonstruksjon

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

INF3340. Tilstandsmaskiner

INF3430/4431. VHDL byggeblokker og testbenker forts.

INF3340/4431. Tilstandsmaskiner

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

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

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

INF3430/4431. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

Synkron logikk. Sekvensiell logikk; to typer:

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

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

Forelesning 7. Tilstandsmaskin

INF1400. Tilstandsmaskin

Kapittel 5 Tilstandsmaskin

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

Entities and architectures. Kapittel 3

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

Agenda Funksjoner og prosedyrer. Funksjoner

INF2270. Datamaskin Arkitektur

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

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:

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

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

INF1400. Tilstandsmaskin

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

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

TDT4165 PROGRAMMING LANGUAGES. Exercise 4 RC-kretser

Tilstandsmaskiner (FSM) Kapittel 5

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

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

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

MAX MIN RESET. 7 Data Inn Data Ut. Load

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

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

1. Å lage programmer i C++

Kombinatorisk og synkron logikk. Kapittel 4

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

UNIVERSITETET I OSLO

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Løsningsforslag INF1400 H04

Obligatorisk oppgave 1 INF1020 h2005

1. Å lage programmer i C++

Velkommen til en liten demo av Novapoint DCM 19 basis

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

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

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

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Prototyping med Arduino del 2

Oppgavesett videregående kurs i NVivo 9

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

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

INF2270. Sekvensiell Logikk

INF1400 Kap4rest Kombinatorisk Logikk

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

Programmerbar logikk. CPLD og FPGA. Fys3270(4270)

Betinget eksekvering og logiske tester i shell

Dataveier og optimalisering. Kapittel 9

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering

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

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

WORKSHOP BRUK AV SENSORTEKNOLOGI

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

Hangman. Level. Introduksjon

1 Kodegenerering fra Tau Suiten

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

UNIVERSITETET I OSLO

Cadence Oppstart og Skjemategning

Repetisjon digital-teknikk. teknikk,, INF2270

Arduino med Atmel studio 6.x (6.1)

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

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

Løsningsforslag til eksamen i INF2270

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

Fig1. Den konvekse innhyllinga av 100 tilfeldige punkter i planet (de samme som nyttes i oppgaven.)

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

UNIVERSITETET I OSLO

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

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

Ekvivalente stier (Equivalence of Path, EOP) i storm

INF120: Oblig 3. Yngve Mardal Moe

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

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

Transkript:

INF 3430/4430 Simuleringsmetodikk 02.11.2005

Agenda Event driven simulation Simulering av VHDL-modeller Selvtestende testbenker Verifikasjon av syntetisert/plassert design mot RTL-kode Fil-operasjoner Eksempel på RAM modell og simulering av lesing/skriving mot denne INF3430/4430 Side 2

Event driven simulering Konseptet event driven betyr at simuleringen drives framover i tid av endringer (event er) Endringer på innganger (stimuli) Endringer på utganger som igjen trigger nye endringer Alle signaldrivere modelleres med en forsinkelse vi kaller delta-delay. Et delta-delay tilsvarer en forsinkelse på 0 fs (femto) og gir en mekanisme for et sette eventer korrekt inn i en eventkø. INF3430/4430 Side 3

Eventkøer og delta-delay I kretsen til høyre har alle elementer null forsinkelse. Null forsinkelse modelleres som delta-delay Det betyr at alle eventer generert ved current simulation time blir schedulert til å hende et deltadelay senere. Bruk av delta-delay sikrer at forskjellige simulatorer gir samme resultat. Delta-delay medfører stadige oppdatering og innsetting av nye eventer i eventkø. INF3430/4430 Side 4

Eventkøer og delta-delay INF3430/4430 Side 5

Simulering av VHDL-modeller Datatypen time er forhåndsdefinert i std.vhd Funksjonen now returnerer nåværende simuleringstid Implementasjonsavhengig INF3430/4430 Side 6

Timing attributter INF3430/4430 Side 7

Timing attributter INF3430/4430 Side 8

VHDL simuleringssykel VHDL simulering består av to faser: Initialiseringsfase Repeterte eksekveringer av simuleringssykelen Simulering starter ved 0 ns Nåværende simuleringstid, Tc Neste simuleringstid, Tn Tn beregnes ut fra den tidliste forekomst av: TIME high (max. Simuleringstid) Neste gang en driver blir aktivert Neste gang en process terminerer INF3430/4430 Side 9

VHDL simuleringssykel Ved initialisering antar man at alle signaler har hatt sin verdi uendelig lenge Hver simuleringssykel eksekveres ved at Tc settes lik Tn Alle eksplisitte tilordninger (input stimuli) og alle implisitte signaler oppdateres. Begge disse kan forårsake nye eventer, enten et delta delay framover eller til en annen tid. F.eks. A<= 1 after 1 ns; Hvis Tn = Tc er neste cycel en deltacycel INF3430/4430 Side 10

VHDL modellering Husk å innkludere alle relevante signaler på sensitivitetslisten For å gjøre simulering raskere: Bruk et lite antall prosesser Dette kan være i motsetning til godt lesbar kode Bruk av variabler simulerer raskere fordi disse er historieløse og enkle datastrukturer Bruk event istedenfor stable. stabel lager et signal Datatyper som integer simulerer raskere en f.eks. std_logic (mapper direkte til standard datatyper i språket simulatoren er kodet i. INF3430/4430 Side 11

Selvtestende testbenker I en selvtestende testbenk skjekkes alle utganger mot en fasit, og resultat av simulering rapporteres som en Ok eller Not Ok. Fordelen med dette er at man sparer mye tid til gransking av timingdiagrammer. Andre kan lettere vedlikeholde kode fordi man har en entydig virkemåte i fasiten. Krevende oppgave å lage selvtestende testbenker. Xilinx ISE innholder et verktøy, HDL bencher for å lage selvtestende testbenker. Grafisk input/redigering, VHDL output. INF3430/4430 Side 12

HDL bencher Man tegner alle inngangsstimuli og forventede utgangsverdier grafisk. Man før generert en VHDL-testbenk der alle utgangsverdier blir sjekket opp mot forventede verdier. Feil rapporteres Man starter HDL Bencher i processvinduet ved Create New source og så velge Test Bench Waveform INF3430/4430 Side 13

HDL Bencher INF3430/4430 Side 14

HDL bencher Testfil: Decoder.vhd INF3430/4430 Side 15

Generert VHDL testbench Instantiering av UUT Generering av procedure som sjekker output Stimuli process med sjekking av outputs Man kan da foreta syntese av enkeltmoduler og teste at syntesen har gitt korrekt resultat ved å kjøre testbenk på postsynth VHDL modellen, evt.etter place and route INF3430/4430 Side 16

Prosedyre for sjekking av utganger INF3430/4430 Side 17

Stimuli og sjekk av utganger INF3430/4430 Side 18

Sluttrapport INF3430/4430 Side 19

Filoperasjoner Tekstfiler benyttes ofte til å lagre input stimuli og lagre resultater. Resultat-fil kan benyttes for å verifisere f.eks. syntesemodeller opp mot rtl-kode. Resulat-fil kan også benyttes som input stimuli til etterfølgende krets. INF3430/4430 Side 20

Eksempel: Testing av N-bit adder INF3430/4430 Side 21

Testing av N-bit adder (forts) INF3430/4430 Side 22

Utskrift av data til consol (transcript) vindu INF3430/4430 Side 23

Utskrift av data til consol (transcript) vindu INF3430/4430 Side 24

Lesing fra SRAM-Arkitektur Input data register D 7-segment kontroller 4 7-segmenter Adresse teller ADR SRAM CE WE OE SRAM lesekontroller Klokke Trykknapp INF3430/4430 Side 25

Lesing fra RAM, ASM og timing IDLE CS= 1 OE/RD= 1 INC_ADDR=0 PB1= 1 PB1 CS_EN_ST CE RD_EN_ST WAIT_ST INC_ADDR_ST CS= 0' CS=0 OE/RD=0 CS=0 WE OE(RD) ADR DATA DATA_REG INC_ADDR=1 INC_ADR CHECK_BUTTON PB1 = 1 INF3430/4430 Side 26

Sjekk av noen timingparametre nwe do_write D thd_min D'stable(tHD_min)?? D'delayed(tHD_min) D'delayed(tHD_min)'stable(tSD_min)?? tsd_min nwe'delayed(thd_min) nwe'delayed(thd_min)'stable(tpwe_min)? tpwe_min INF3430/4430 Side 27