Simulering med ModelSim En kort introduktion

Relevanta dokument
Simulering med ModelSim En kort introduktion

Simulera med ModelSim

Laboration i digitalteknik Introduktion till digitalteknik

Introduktion till syntesverktyget Altera Max+PlusII

Flödesschema som visar hur man använder Quartus II.

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

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

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

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

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Försättsblad till skriftlig tentamen vid Linköpings universitet

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

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

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

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

Introduktion till xdigiflex-simulatorn

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

Sekvensnät i VHDL del 2

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

INTRODUKTION TILL VIVADO

Konstruktion av digitala system - VHDL

Konstruktionsmetodik för sekvenskretsar

BILAGA 5 Fi2Utrymmen Bilaga till CAD-kravspecifikation med förvaltningsinformation Version 1.0

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

NetBeans 5.5. Avsikt. Projektfönster

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Medicinska Bilder, TSBB31. Lab: Mätvärden på Medicinska Bilder

F5 Introduktion till digitalteknik

Steg 16 Video Debut video capture Video pad editor Windows 7/8

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

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Monitor Pro V7.x SCADA. Förstå och skapa symboler

Datorlaboration 0, Programmering i C++ (EDA623)

Introduktion till LTspice

NetBeans 7. Avsikt. Projektfönster

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

Laboration i digitalteknik

ALEPH ver. 16 Introduktion

Laboration: Grunderna i MATLAB

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

En kort introduktion till. FEM-analys

KALKYLATOR LABORATION4. Laborationens syfte

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

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

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

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

Så här skriver du ditt första program i C++

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

Datorlaboration 0, Programmering i C++ (EDAF30)

Medicinska Bilder, TSBB31. Lab: Mätvärden på Medicinska Bilder

INTRODUKTION TILL OrCAD

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

Digital elektronik CL0090

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Tenta i Digitalteknik

Laboration 1 Introduktion till Visual Basic 6.0

Laboration VHDL introduktion

Digital elektronik CL0090

Handbok Färgredigeraren. Artur Rataj Översättare: Stefan Asserhäll

DIGITALTEKNIK. Laboration D172

(2B1560, 6B2911) HT08

Manual Demoväska RFID. Manual Demoväska. Sara Svensson/Monika Lindgren/Fredrik Karlsson Version BnearIT AB 1(17)

PSpice hemma. Som simuleringsprogramvara använder vi Orcad PSpice, samma program kommer sedan att användas I elektronikkurserna.

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

VHDL och laborationer i digitalteknik

BILAGA 1 ADVES MANUAL 1 (7)

Laboration Fuzzy Logic

LÄR DIG ANVÄNDA DIN MAC. från grunden! Nu med Mac OS X Leopard! Harry Peronius

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Innehåll i detta dokument

Kortlaboration DIK. Digitalteknik, kombinatorik.

Docker i Windows 8.1 med Hyper-V

Eclipse en handledning

Medicinska Bilder, TSBB31. Lab3: Mätvärden på Medicinska Bilder

IE1205 Digital Design: F9: Synkrona tillståndsautomater

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

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

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

F5 Introduktion till digitalteknik

Eclipse. Kort genomgång

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Lab 1 Analog modulation

7. PANELEN MONITOR. Tidskodens standardinställning. Du kan ändra visning till enbart bildrutor med menykommandot

2 Eclipse en handledning

Manual GISportalen (MapGuide) På Internet

Skapa en solid modell av innanmätet från en annan solid

Tenta i Digitalteknik

Sortering av cylindrar

LABORATIONSINSTRUKTION

Visa stora ikoner utan text i Command Manager = Större arbetsyta

Laborationshandledning

Installationsanvisning för kursens programvara på egen dator

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Transkript:

Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2017 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D Linköpings universitet SE-581 83 Linköping 013-28 10 00, www.liu.se 1

Simulering i ModelSim Följande dokument beskriver steg för steg hur en VHDL-modell simuleras i Modelsim. Sist i dokumentet finns några övningsexempel. 1. Kopiera zip-arkivet TSEA22 från kurshemsidan till H:/ och välj Extract All. 2. Starta Modelsim Start All Programs ModelsimSE.. Modelsim Close 3. Skapa ett projekt File New Project Project name: XOR_sim Project Location: H:/TSEA22/VHDL_lektion/XOR OK Add Existing File: H:/TSEA22/VHDL_lektion /XOR/XOR_gate.vhd OK Close I fliken Library finns en lista på alla tillgängliga bibliotek och dess tillhörande objekt. Konstruktion finns under work. I fliken Project listas alla VHDL-filer som finns i det nuvarande projektet. 4. Kompilering Compile Compile all 5. Simulering För att simulera kretsen måste insignaler specificeras. Detta kan antingen göras med GUI:t, via transcriptfönstret eller genom att skriva in de kommandon som ska köras i ett makro, en.do-fil, som sedan anropas från transcriptfönstret. Börja med att följa stegen i guiden för GUI:t. När ni kör kommandona från GUI:t kommer motsvarande textkommandon att dyka upp i transcriptfönstret. Skapa sedan en fil sim.do där ni klipper in de kommandon ni vill köra. Run Length och run-knapp GUI Library: work/xor_gate Höger klick Simulate Objects: markera alla signaler Höger klick Add Wave Signaler Wave: högerklicka på a, välj Clock : offset= 25ns, Duty= 50, Period= 100ns. OK Wave: högerklicka på b, välj Force : Value= 0, OK Force Value 1, Delay for = 200ns, OK Ändra Run Length till 400 ns Klicka på run 2

Do-fil Prova nu att göra om simuleringen genom att skriva kommandona i en.do-fil. I XOR-katalogen finns en tom sim.do-fil. Öppna den: File Open Välj Do Files (*.do) Välj sim.do Skriv in följande rader kod i sim.do. Dessa svarar mot GUI-inmatningarna gjorda innan. vsim xor_gate add wave sim:/xor_gate/* force -freeze sim:/xor_gate/a 1 25, 0 75 -r 100 force -freeze sim:/xor_gate/b 0 0, 1 200 run 400 Spara sim.do. Kör filen genom att i transcript-fönstret skriva > do sim.do Om man är nöjd med simulerade variabler men vill t ex modifiera insignalerna så behöver inte simuleringen startas om helt. Då räcker det med att använda restart-kommandot enligt följande kod: # vsim xor_gate # add wave sim:/xor_gate/* restart force force -freeze sim:/xor_gate/a 1 25, 0 75 -r 100 force -freeze sim:/xor_gate/b 0 0, 1 200 run 400 Här har rader i koden kommenterats bort med #. Prova att ändra insignalerna genom att modifiera dofilen och simulera xor-grinden med de nya insignalerna. 6. Visa resultat Resultatet av en simulering visas i Figur 1. Med vänster musknapp flyttas markören, en gul vertikal linje. Värdena vid markerad tidpunkt visas till höger om signalnamnen. Figur 2 visar vågfönstrets zoomfunktionalitet. Figur 1. Resultatet av simuleringen. 3

Figur 2. Wave-fönstrets zoom-funktionalitet. Klicka på musens scrollhjul och rör musen i riktning längs pilarna för att få motsvarande funktion. Mäta tid För att mäta tid mellan två tidpunkter behöver man lägga till en markör. Detta görs på följande sätt. Lägga till markör: Add Cursor Dividers I variabellistan kan det vara trevligt att dela in variabler i t ex in- och ut-gångar. Det finns möjlighet att lägga till så kallade dividers, en slags rubrikrader i signallistan, på följande sätt. Högerklicka på signalen a Add New Divider Divider Name= Ingångar Högerklicka på signalen y Add New Divider Divider Name= Utgångar Byta färg för logiska nivåer I Figur 1är hög signalnivå indikerad med guldfärg. Detta erhålls genom att göra följande inställning: ModelSim fönstret: Tools Edit Preferences.. Wave Windows LOGIC_1 Palette Gold 4

7. Addera en signal i VHDL filen Antag att ni vill skapa en inverterad utsignal till XOR-grinden, dvs z = not y. Börja med att beskriva den nya utsignalen i vhdl-filen XOR_gate.vhd. Detta kan göras i modelsim genom följande steg Gå till Modelsims huvudfönster och fliken Project Höger klicka på XOR_gate.vhd Edit Lägg till signalen z <= not y; Filen kompileras genom att klicka på Project Compile Compile Selected Vid kompilering kan det hända att det dyker upp röda felmeddelanden i transcript-fönstret. Dessa går att dubbelklicka på så ges mer information om vad som gått fel. Om koden kompilerat felfritt står det med grön text i transcript-fönstret att Compile of XOR_gate.vhd was successful. Då är det dags att simulera kretsen do sim.do. Det går att inkludera kompileringssteget i do-filen genom att lägga till raden vcom XOR_gate.vhd först. Exempel på kod: vcom XOR_gate.vhd restart -force force -freeze sim:/xor_gate/a 1 25, 0 75 -r 100 force -freeze sim:/xor_gate/b 0 0, 1 200 run 400 8. Kombinera signaler i vågfönstret. Antag att räknetillståndet på en räknare simulerats fram med 4 tillståndsvariabler. I detta fall vore det trevligare om det i vågfönstret istället för de fyra binära signalerna visade motsvarande hexadecimala siffra. Detta är möjligt. Låt oss göra stegen som krävs för att kombinera utsignalerna för XOR-grinden. Markera de signaler i vågfönstret som skall slås ihop till en vektor i detta fall signal y och z. Höger klick på signal Combine Signals Fyll i vektornamn, Result Name= u, OK Nu ska den nya vektorsignalen dyka upp i vågfönstret och värdena indikeras med binära tvåbitsord. För att visa värdet på vektorn som positiva heltal gör: Wave fönstret: Högerklicka på signalnamnet Radix Unsigned 9. Övriga funktionalitet som kan var bra att känna till Byta färg på en signal Wave fönstret: Höger klick på signal Properties Wave Color Spara vågfönster från en simulering Wave fönstret: File Export Image.. 5

Uppgift 1. Konstruera med hjälp av VHDL en BCD-räknare som har samma funktion som 74LS160 och simulera konstruktionen i Modelsim. I den kopierade katalogen finns en underkatalog med namn Counter. I den katalogen finns Counter.vhd och sim.do som kan användas för att skapa räknaren och simuleringen. Använd funktioner som finns i VHDL, tex a <= a + 1 (minimering mha Karnaughdiagram behöver INTE göras). Simulera det beteende som finns uppritat i databladet för räknaren och som exemplifieras nedan. Insignaler: CLR, LOAD, A, B, C, D, CLK, EN_P, EN_T Utsignaler: Q3, Q2, Q1, Q0, RCO Uppgift 2. Simulera VHDL-filen till kodlåset från lab 2 (uppgift 10). Nedan visas ett förslag på hur simuleringsresultatet kan se ut. I simuleringen har en asynkron clear-signal lagts till som nollställer kretsen vid 25 ns. Värdena på q beror förstås på vald tillståndskodning. Värdena på x ändras asynkront vid n*100 + 10 ns där n är ett heltal. Den synkroniserade insignalen är x_sync. Utsignalen betecknas u. Uppgift 3. Gör förberedelseuppgiften till laboration 4. Se sida 2 och 3 i labkompendiet. 6