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

Relevanta dokument
Simulering med ModelSim En kort introduktion

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

Simulering med ModelSim En kort introduktion

VHDL 1. Programmerbara kretsar

VHDL och laborationer i digitalteknik

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

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

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

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

Digital elektronik CL0090

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

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

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

Simulera med ModelSim

Konstruktion av digitala system - VHDL

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

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

DIGITALTEKNIK. Laboration D172

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

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

DESIGN AV SEKVENTIELL LOGIK

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

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Digital elektronik CL0090

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Konstruktionsmetodik för sekvenskretsar

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

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

KALKYLATOR LABORATION4. Laborationens syfte

Introduktion till syntesverktyget Altera Max+PlusII

L15 Introduktion modern digital design

VHDL2. Sekvensnätsexemplet

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1.

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

Angående buffer. clk clear >=1 =9?

Tenta i Digitalteknik

Sekvensnät i VHDL del 2

VHDL2. Sekvensnätsexemplet

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

std_logic & std_logic_vector

Digitalteknik syntes Arne Linde 2012

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

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

IE1204/IE1205 Digital Design

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

Sekvensnät. William Sandqvist

Tentamen i Digitalteknik, EITF65

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Omtentamen IE Digital Design Måndag 14/

LAB VHDL-programmering

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Digitala projekt Elektro- och informationsteknik

Tenta i Digitalteknik

Tentamen i IE1204/5 Digital Design Torsdag 29/

Tentamen i Digitalteknik 5p

Tenta i Digitalteknik

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tenta i Digitalteknik

LABORATIONSINSTRUKTION LABORATION

INTRODUKTION TILL VIVADO

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Digital- och datorteknik

F5 Introduktion till digitalteknik

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

IE1204/5 Digital Design typtenta

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

Tentamen i Digital Design

Tentamen IE Digital Design Måndag 23/

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Digitala elektroniksystem

Tenta i Digitalteknik

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1204/5 Digital Design typtenta

Tentamen i IE Digital Design Fredag 21/

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

(2B1560, 6B2911) HT08

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

Översikt, kursinnehåll

LEJON LABORATION3. Laborationens syfte

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

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

Programmerbar logik och VHDL. Föreläsning 4

Introduktion till xdigiflex-simulatorn

KOMBINATORISKA FUNKTIONER...1

Omtentamen med lösningar IE Digital Design Måndag 14/

IE1205 Digital Design: F9: Synkrona tillståndsautomater

VHDL testbänk. Mall-programmets funktion. Låset öppnas när tangenten 1 trycks ned och sedan släpps. William Sandqvist

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Tenta i Digitalteknik

Tentamen i Digitalteknik TSEA22

VHDL3. Angående buffer

F5 Introduktion till digitalteknik

Digital- och datorteknik

Transkript:

Chalmers Tekniska Högskola Institutionen för Data- och Informationsteknik EDA 321 Digitalteknik syntes 2011-2012 Laboration 1 - VHDL 1. EDA-verktyg 2. QuestaSim 3. Kombinatoriska nät 4. Sekvensnät Namn Personnummer Godkänd Handledare Datum Förberedelser: Se sid 16 120105 LABPM1.v9 1

Målsättning - introduktion i till utvecklingsverktyget QuestaSim - repetition av byggblock - konstruktion av kombinatoriska nät i VHDL - simulering - konstruktion av enkel räknare 1. Introduktion till EDA-verktyg Det finns ett stort antal verktyg för elektronikkonstruktion, Electronic Design Automation (EDA). De stora programvaruhusen Cadence, Mentor, Synopsys har verktyg för allt från kisel- till fodonsektronikkonstruktion. Dessutom har många tillverkare av programmerbara kretsar, CPLD, FPGA etc, egna eller inköpta verktyg för att tillgodose behovet hos sina kunder. Alla verktyg är uppbyggda att arbeta med projekt. Ett projekt består av filer för konstruktion av ett system eller av en avgränsad del av ett system. Projektets undermappar och filer hanteras av en project manager som använder ett eget filsystem för detta. Därför: Flytta eller döp aldrig om filer manuellt som tillhör ett projekt utan använd i stället verktygets funktioner för kopiering och arkivering. De flesta verktyg är av gammalt ursprung och har utvecklats sedan årtionden. Det finns kvar delar där filnamn och variabelnamn ej tål svenska tecken, specialtecken, ej får börja/sluta på en siffra etc. Likaså får sökvägar ej vara för långa, det blir svårigheter med mellanslag i namn etc. Använd därför ej för många tecken i filnamn/variabelnamn och begränsa till enbart bokstäverna a-z och siffror. Lägg ej projekt eller filer på skrivbordet utan på C:\temp. 2. QuestaSim Detta är ett verktyg för att simulera en beskrivning av digital elektronik. Beskrivningen är gjord i ett hårdvarubeskrivande språk såsom VHDL (System C, Verilog etc). QuestaSIm är en variant av ModelSim som tillverkas av Modeltech, http://www.model.com. ett dotterbolag till Mentor Graphics. En studentversion av Questa finns på http://www.mentor.com/company/higher_ed/index.cfm. Questa ingår även i ISE WebPac från http://www.xilinx.com/support/download/index.htm 2

Även Altera erbjuder en gratisversion https://www.altera.com/support/software/download/sof-download_center.html På http://www.model.com finns demo om simulering i ModelSim. 2.1 Starta Questa Skapa först en mapp för filerna. Tänk på att ej har för långa sökvägar. Alla EDAprogram använder stora mängder filer och om projektets filer ligger på en server tar alla operationer längre tid. Placera mappen i C:\Temp. Starta Questa från skrivbordet med. Under Help finns omfattande (!) dokumentation i HTML- och pdf-format. Questa öppnar ett enda stort fönster med delfönster: Till vänster ett Workspace, nedan Transcript-fönstret och vid behov en arbetsyta till höger. Varje delfönster kan lyftas ut (undock) med och sedan lyftas in igen med (dock). Detta är mycket användbart när man har tillgång till flera skärmar. 3

2.2 Skapa ett projekt Ange directory och projektnamn, t ex Default library är alltid work. Inställningarana i Modelsim skall kopieras. 2.3 Halvadderare i VHDL Halvadderaren har två ingångar x och y samt två utgångar s för summa och cut för carry ut. Ange booleska uttrycken för s och cut och rita ett schema med grindar. s= cut=.. Skriv s och cut i VHDL. s <= cut <= 4

2.4 Skapa VHDL-fil (halfadd.vhd) Välj File > New source > VHDL I arbetsytan finns nu ett radnummer. Skriv in VHDL-koden samt spara filen som halfadd.vhd. -- halfadd.vhd -- 111220 name of author LIBRARY ieee; USE IEEE.STD_LOGIC_1164.ALL; ENTITY halfadd IS PORT (x: IN STD_LOGIC; y: IN ST_LOGIC; s: OUT STD_LOGIC; cut:out STD_LOGIC); END halfadd; ARCHITECTURE comb OF halfadd IS BEGIN END comb; Här skall egen kod för s och cut läggas till och komplettera koden ovan med uttrycken för cut och s. VHDL är inte casesensitive. Spara filen som halfadd.vhd. 5

För att Questa skall kunna komma åt filen, måste den adderas till projektet med I Workspace-fönstret under Project-fliken finns nu en fil halfadd.vhd. Under Project-fliken i Transcriptfönstret visas de filer som tillhör projektet. Frågetecknet för filen halfadd.vhd anger att den ej är kompilerad. 2.5 Kompilera Högerklicka på filen i Workspace och välj Compile > Compile selected. eller använd i Toolbar. En felskrift finns nu i transcript-fönstret. Dubbelklicka på felraden så kommer en kryptisk ledtråd: 6

Ofta kan enkla syntaxfel generera många följdfel och därmed många felutskrifter. Rätta därför alltid felen i ordning och kompilera om. Korrigera i halfadd.vhd och tänk på att stänga filen med. När kompileringen gått igenom kommer meddelande i Transcriptfönstret: # Compile of halfadd.vhd was successful. 2.6 Simulering I Workspacefönstret under fliken Library finns nu den kompilerade filen i biblioteket work. Där finns en entitet halfadd och en architecture comb. Högerklicka på entiteten halfadd och välj simulate. Anm. Altenativt välj Start simulation. och sedan i biblioteket Work entiteten halfadd i fönstret Välj sedan View Wave för att lägga till wave-fönstret. Kopiera med musen variablerna i Object-fönstret till vänstra delen av Wavefönstret. (Alternativt skriv i Transcriptfönstret add wave x y s cut.) I början är alla signaler odefinierade, och värdet betecknas med U. Simulering styrs med kommandon i Transcript-fönstret. Nedanstående sekvens återstartar simulatorn, sätter x och y till 0 samt kör i 100 ns. Simuleringen startar alltid från nuvarande tidpunkt. Kommandona force x 1 run 100 följt av force y 1 run 100 7

force x 0 run 100 ger följande signalformer i wave-fönstret: Förändringar i utsignalerna sker omedelbart när insignalen ändras. Vänsterklicka för att få fram den gula markören. Det går att förstora/förminska med +/- Halvadderaren förefaller fungera. Anm. När man arbetar med vektorer kan det vara praktiskt att ändra radix på signalerna. Detta gör genom att markera signalnamnen i message-fönstreet och välja radix till något annat än Binary. 2.7 Simulering med do-fil För att automatisera simuleringarna är det lämpligt att lägga simuleringskommandona i en egen fil, en do-fil. Kommandon i filen exekveras när man skriver do dofilnamn i Transcriptfönstret. 8

Skapa en do-fil och skriv in (eller gör copy-paste) nedanstående -- halfadd.do -- datum namn restart -f force x 0 force y 0 run 100 force x 1 run 100 force y 1 run 100 force x 0 run 100 Spara filen som halfadd.do. Välj Wave-fliken samt simulera med kommandot do halfadd.do. Wave-fönstret raderas och simuleringen körs. Observera att filen halfadd.do ej syns under projektfliken i workspace-fönstret. Filen ligger i rätt bibliotek, men tillhör ej projektet. Högerklicka i workspace och välj Add to project Existing file. Filen syns nu under project-fliken. 2.8 Simuleringskommandon Signaler sätts med f o r c e a 1, om a är deklarerad som STD_LOGIC. En STD_LOGIC_VECTOR aa sätts med force aa 0000 om vektorn består av 4 bitar. En bit i en vektor kan sättas med force aa(2) 1. En STD_INTEGER sätts med f o r c e a a a 3 4. 9

En signal kan sättas till olika värden vid olika tidpunkter. Signalen a sätts till 1 efter 200 ns med force a 1 200ns Flera tidpunkter kan anges på samma rad force aa 0000 0, 0001 200ns, 0010 400 ns Repetetiva förlopp, t ex en klocksignal, genereras med force clk 1 50ns, 0 100ns repeat 100ns clk är här odefinierad mellan 0 och 50ns och visas röd i wave-fönstret, sätts till 1 efter 50 ns, till 0 efter 100 ns. Förloppet upprepas var 100:e ns. Mera korrekt är att skriva force clk 0 0, 1 50ns, 0 100ns -repeat 100ns När man skall gå igenom många olika fall, i detta exempel 4 olika kombinationer på x och y, kan man använda repetitiva förlopp för att generera x och y. Modifiera do-filen till -- halfadd.do -- datum namn restart -f force x 0 0, 1 100 -repeat 200 force y 0 0, 1 200 -repeat 400 run 400 och exekvera denna. En ytterligare effektivisering är att i do-filen lägga till signalerna man vill titta på i stället för att göra copy-paste enligt tidigare. -- halfadd.do -- datum namn restart -f -nowave view signals wave add wave x y s cut force x 0 0, 1 100 -repeat 200.. Det är nu tillräckligt att starta simuleringen och enbart köra do-filen 10

3. Laborationsuppgifter kombinatoriska nät 3.1 Att koda kombinatoriska nät i VHDL Ett kombinatoriskt nät kan realiseras med grindar och skrivas i VHDL med AND, OR-operatorer. I språket finns även andra möjligheter som tydligare beskriver funktionen hos nätet. I parallella delen med en WITH-SELECT-sats WITH addata SELECT freq <= "11" WHEN x"ff", "10" WHEN x"7f", "01" WHEN x"3f", "01" WHEN x"03", "10" WHEN x"01", "11" WHEN x"00", "00" WHEN OTHERS; Notationen x FF anger hexadecimala värdet FF I parallella delen med en WHEN-ELSE-sats freq <= "11" WHEN addata = x"ff" ELSE "10" WHEN addata = x"7f" ELSE "01" WHEN addata = x"3f" ELSE "01" WHEN addata = x"03" ELSE "10" WHEN addata = x"01" ELSE "00"; I sekventiella delen med en CASE-sats: process(addata) begin case addata is when X"FF" => freq <= X"3"; when X"7F" => freq <= X"2"; etc when others; end case; end process; 11

I sekventiellla delen med en (flera) if-(then-else)-satser: process(addata) begin freq <= 00 if addata = X FF then freq <= X 3 ; else.. end if; end process; Halvadderaren tidigare kan skrivas som t ex process (x,y) begin xy <= x & y; case xy is when 00 => s <= 0 ; c <= 0 ; when 11 => s <= 0 ; c <= 1 ; when others => s <= 1 ; c <= 0 ; end case; end process; 3.2 Uppgifter kombinatoriska nät Konstruera VHDL-koden för samtliga komponenter nedan. Beskrivningar över komponenterna återfinns i kursboken och på nätet. Använd vektorer där så är angivet i uppgifterna. Låt alltid entitet, filnamn och dofil ha samma namn. Tänk på att ej använda Windows för att byta namn på filer utan använd Questa, gör copy öppna ny fil samt paste för att återanvända delar av gamla filer. Simulera genom att använda en do-fil. Använd samma projekt som tidigare och lägg alla filer i en och samma mapp. Kodningen skall ske utan att använda AND- eller OR-grindar. Respektive komponent skall beskrivas med vad den gör, inte hur den kan vara implementerad. VHDL-kod blir i det närmaste oläslig nar man uttrycker i grindar. 3.3 Heladderare Entiten skall vara ENTITY fulladd IS PORT (a,b,cin: IN STD_LOGIC; s,cut: OUT STD_LOGIC); END fulladd; 12

Heladderarens funktion (uppträdande, behavior) är att addera 3 bitar och bilda en summabit och carrybit ut. Ett exempel på läslig kod är temp <= 0 &a + 0 &b + 0 &c där elementen i vektorn temp anger carry ut och summabit. När man syntetiserar till en CPLD, Complex Progammable Device, så implementeras koden som ett grindnät med AND-OR-grindar. När man syntetiserar till en FPGA, Field Programmble Gate Array, implementeras koden som multiplexrar. För att jämföra VHDL-kod med de booleska uttrycken, ange dessa för s och cut på minimal disjunktiv form. s =.... cut =.... 3.4 1-bits komparator Komponenten skall jämföra två bitar a och b samt sätta en av tre utsignaler till ett, övriga till noll. ENTITY comp1 IS PORT(a,b: IN STD_LOGIC; agtb,altb,aeqb: OUT STD_LOGIC); END comp1; 3.5 Prioritetsavkodare 4 2 Beskrivning finns i kusboken. ENTITY encoder42 IS PORT (a: IN STD_LOGIC_VECTOR(3 DOWNTO 0); f: OUT STD_LOGIC_VECTOR(1 DOWNTO 0); z: OUT STD_LOGIC); END encoder42; z = 0 om samtliga ingångar a(i) = 0. Ledning: Använd when else 3.6 Decoder 3-8 ENTITY decoder38 IS PORT(s: IN STD_LOGIC_VECTOR(2 DOWNTO 0); en: IN STD_LOGIC; sut: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder38; 13

3.7 Multiplexer 4 1 ENTITY MUX41 is PORT(inp IN: STD_LOGIC_VECTOR(2 DOWNTO 0); val: IN STD_LOGIC_VECTOR(1 DOWNTO 0); f: OUT sdt_logic); END mux41; 3.8 Realisering av logiska funktioner med multiplexer Multiplexrar är det huvudsakliga byggblocket i en FPGA. Med en 8-1 multiplexer kan man uttrycka varje funktion av 4 variabler, en 4-1 alla funktioner med 5 variabler. Koden för en 2-1 multiplexer är f <= inp(1) WHEN val = 1 ELSE inp(0); Uttryck AND, OR och XOR-funktionerna med 2-1 multiplexrer och lämpliga inverteringar. Skriv all kod i samma fil ENTITY mgates is PORT(a,b: IN STD_LOGIC; mand,mor,mxor: OUT std_logic); END gates; 3.9 4-bits adderare (adder4b.vhd) ENTITY adder4b IS PORT(a,b: IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin: IN STD_LOGIC; s: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END adder4; Bygg upp denna med 4 st 1-bits heladderare (fulladd.vhd) enligt kursboken. Använd COMPONENT. PACKAGE behöver ej användas. 3.10 4-bitars BCD-adderare ENTITY adder4d IS PORT( a,b,cin: IN STD_LOGIC_VECTOR(3 DOWNTO 0); s: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cut: OUT STD_LOGIC); END adder4d; 3.11 4-bitars comparator Detta är en utvidgning av tidigare uppgift till att arbeta med vektorer om 4 bitar. Ingångar a(3:0) och b(3:0) utgångar agtb, aeqb och altb (agtb = 1 anger att a > b). I std-logic biblioteket finns operatorerna = < och > som kan arbeta på vektorer. Prova med olika bibliotek, unsigned, signed. 14

4. Laborationsuppgifter - sekvensnät 4.1 D-vippa Skriv i VHDL-kod (filnamn fde1.vhd) en D-vippa med synkron reset. Reset skall vara aktiv hög. Vippan skall ha en clock enable -ingång en så att vippans utgång q sätts till d enbart när en är hög. Ingångar är clk, reset, d, en och utgången q. ENTITY fde1 IS PORT (clk,reset,d: IN STD_LOGIC; q: OUT STD_LOGIC); END fde1; Skriv en do-fil fde1.do som testar funktionen. 4.2 Binärräknare En binärräknare består av ett register samt ett kombinoriskt nät som adderar ett till insignalen. Här är d och q av typen std_logic_vector. d <= q + 1; PROCESS (clk) BEGIN IF clk event and clk = 1 then q <= d; END; END process; Q anger här räknarens aktuella värde och d anger värdet räknaren får efter nästa klockpuls Synkron reset innebär att registret sätt till noll vid nästa klockpuls, dvs vi skall lägga nollor på registrets D-ingångar D <= 0 WHEN reset = 1 ELSE Q+1 Count enable, ce, innebär att räknaren skall öka med ett för varje klockpuls D <= 0 WHEN reset = 1 ELSE Q + 1 WHEN ce = 1 ELSE q; Denna rad kan skrivas i en process: PROCESS(reset,ce,q) BEGIN IF reset = 1 THEN d <= (OTHERS => 0 ); ELSE IF ce = 1 THEN q = d + 1; ELSE q <= d; END IF; END IF; END PROCESS; 15

Denna kombinatoriska process, tillsammans med den klockade ovan utgör en 4-bitars binärärknare. Konstruera i VHDL en 4-bitars synkron uppräknare (filnamn count4b.vhd) med synkron reset. Reset är aktiv hög. Räknaren skall vara försedd med en count enable - ingång ce och skall räkna enbart då denna är hög. ENTITY count4b IS PORT (clk,reset,ce: IN STD_LOGIC; count: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END count4b; Ofta vill man koppla flera räknare i serie så att när en räknare står på 1111 och dess count enable (ce) är ett, så skall utsigalen ceo, som är ansluen till nästa räknares ce-ingång, vara ett. Modifiera koden och lägg till ceo. Simulera. I kursboken skriver man räknare i en enda klockad process. Tag någon av dessa och komplettera med signalen ceo. Simulera. 5. Redovisning Demonstrera simulering av några uppgifter i avsnitt 3 och 4 för en handledare. Kopiera över alla dina.vhdl- och.do-filer till ditt hemmabibliotek och ta bort dem från c:\temp. 6.Förberedelser Kodning och ev schema till alla uppgifterna i avsnitt 3 och 4. I kursboken Brown, Vranesic: Fundamentals of Digital Logic with VHDL Design, finns ledning till hur man löser samtliga uppgifter. Det finns även ett stort antal web-platser som publicerar VHDL-kod för olika tillämpningar. Hela labben kan utföras i förväg och enbart redovisas vid labtillfället. 7. Inlämningsuppgift Glöm ej veckans inlämningsuppgift! 16