VHDL Taal beschrijvingen

Slides:



Advertisements
Verwante presentaties
Inhoudstafel Inleiding De basis van digitaal ontwerp
Advertisements

Cursus VHDL Aansturing van een stappenmotor Peter Slaets KHLim.
VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Het timing model in VHDL
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Wageningen University Meteorologie en Luchtkwaliteit
Materialen en moleculen
Handboek Commercieel Budgetteren: toegepast J. Vanhaverbeke & L
Veevoeding Blok 3 en 4: Ruwvoerbalans melkveehouderij
Dynamica van luchtstromen
Jeugd in het Strafrechtelijk kader Les 3, 2016 ‘Needs’
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Aanleiding Veranderende organisatie
Roundtable De Gefragmenteerde Organisatie
Mictieklachten bij mannen
Hoofdstuk 6 Warmte.
Hoofdstuk 3 In beweging.
Kwaliteitsborging voor het Bouwen
de tweede Bergrede Matteüs 24/25 - deel 6
Belangrijkste wijzigingen
De economie in de gouden eeuw
Kleurenschema’s Inspiratie: steden van de wereld.
Paul Geurts, Gemeente Nijmegen
Herhaling § §12.1: Echografie = geluidsgolven: onschadelijk
Integraal Vastgoedrekenen
Pruiken en revoluties 3.1 De pruikentijd
TONEEL.
Uitnodiging Rabobank-Sprintwedstrijden Het leukste side-event van de Giro d’Italia!! 30 april – uur.
Keuzevoorlichting VWO wiskunde ABCD.
Jan Depauw Onderzoeker/Lector KdG
Beleid, Actualiteit en Praktijk
MIJN GEMIDDELDE SNELHEID
De Lorenzcurve Doel van de Lorenzcurve is inzicht geven in de verdeling van het (nationaal)inkomen over de inkomenstrekkers. Het is een grafische weergave.
Deeleconomie Anke thienpont 1Baswb.
WETENSCHAPPLIJK EN SIGNIFICANTIE
FEW Cursus Gravitatie en kosmologie
Hoofdstuk 8 | Over economische grenzen! (kader)
Formules omschrijven.
Toegepast rekenen HEO Algebra.
Vraagstukken oplossen met behulp van een vergelijking
Logische basisfuncties
Differentiëren van producten
Voorkennis Wiskunde Les 6 Hoofdstuk 2: §2.1 t/m 2.4.
Voorkennis Wiskunde Les 15 Hoofdstuk 7.
Tarieven 2020 Tariefonderbouwing.
GZVW toelichting over privacy, datalekken
Smart Government – Aanpak van deze challenge Filmpje met Jan Paul Woudstra – Korte pitch door Jennifer en Gea – World.
Centre Court te Den Haag
Leerplatform MIRT & METT: (online) participatie in het MIRT
Governance stappenplan Balans na besluit splitsing
De gezonde school en genotmiddelen
Workshop Schooljournaal
CRISPR/Cas begrijpen met modellen en simulaties
Speciale groep bij familie: KOPP / KOV
Een klaaglied Psalm 77.
Uitwisselingsmoment tussen opvang - en onderwijspartners
Kolonisten van Catan Peter Zwart.
SEKSUALITEIT EN HOMOSEKSUALITEIT
De jongere in een Verontrustende situatie: de krachtlijnen en procedure van het decreet van 12 juli 2013.
Hoofdstuk 6 De consument.
Nationaal Congres Klimaatadaptatie, 13 juni 2019
FEB anno 2010 Luc Sels Decaan
Safe harbors bij misbruik van recht en EU-recht: ten einde (raad)?
Venlo, The Netherlands.
Edelgasconfiguratie Orbitalen.
Differentiëren Toepassing..
Grafieken verschuiven. Grafieken vermenigvuldigen.
Wortelfuncties Vergelijkingen en inverse
Transcript van de presentatie:

VHDL Taal beschrijvingen Multivalue logic Functies in VHDL Eigen types definiëren Kloksignalen en testbenches

Multivalue logic Het overloaden van functies en operatoren: uitbreiden van aantal mogelijke signaalwaarden naast ‘0’ en ‘1’. Doel: meer informatie geven over de signaaltoestand tijdens simulatie. Voorbeeld: AND poort met hoog impedante ingangen: De waarheidstabel is: Hoe beschrijf je dit in VHDL? AND 1 Z TYPE tri IS (‘0’, ‘1’,’Z’); FUNCTION “AND” (left, right: tri) RETURN tri IS TYPE tri_array IS ARRAY (tri, tri) OF tri; CONSTANT and_table : tri_array := ((‘0’,’0’,’0’), (‘0’,’1’,’1’), (‘0’,’1’,’1’)); BEGIN RETURN and_table (left, right); END FUNCTION “AND”;

STD_ULOGIC type AND waarheids tabel voor std_ulogic type: IEEE 1164: standaard die 9 mogelijke waarden en bij behorende functies beschrijft: TYPE std_ulogic IS (‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’, ‘-‘); ‘U’ Unitialized ‘X’ geforceerde onbekende ‘0’ geforceerde 0 ‘1’ geforceerde 1 ‘Z’ hoge impedantie ‘W’ zwakke onbekende ‘L’ zwakke 0 ‘H’ zwakke 1 ‘-‘ don’t care AND waarheids tabel voor std_ulogic type: AND U X 1 Z W L H - Met std_ulogic mag maar 1 waarde aan een signaal worden toegekend. Dus 1 source (out, inout, buffer, driver) Meerder sources op signaal (bv uitgangen van tri state buffer) kan alleen met std_logic

Multiple outputs Std_logic staat toe dat meerdere outputs aan een signaal verbonden worden Std_logic kan gedefinieerd worden als een subtype van std_ulogic omdat het slechts een uitbreidende functie is en de signaalwaarden niet veranderd. Wat gebeurt er als a <= ‘0’, en a <=’1’ , bij std_logic? En bij std_ulogic? a <= out1 a <= out2 U X 1 Z W L H - Alles bevindt zich in een gecompileerde package waarvan een library IEEE is gemaakt, de standaard die je hieruit wil gebruiken is std_logic: declareren voor elke entity, geldt dan ook voor alle bijbehorende architectures. LIBRARY IEEE; USE IEEE.std_logic_1164.all OPDRACHT: Schrijf functie voor AND poort met 4 value logic(0 ,1, Z, X) waarvoor geldt (met afnemende prioriteit): 1 of meer inputs 0 geeft output 0, 1 of meer inputs X geeft output X

Eigen types definiëren VHDL staat de gebruiker toe om eigen types te definiëren: enumerated (opsomming) types. ARCHITECTURE gedrag OF processor IS TYPE my_state(reset, idle, dma_cycle, int_cycle); … SIGNAL state, next_state : my_state; SIGNAL two_bit : STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN state <= reset; // correct state <= 00; // NIET correct state <= two_bit; // NIET correct END gedrag; Kun je dit wel implementeren? Synthese tools bieden wel de mogelijkheid om enumerated types te mappen naar een bitpatroon.

Klok signaal maken: Reset signaal maken: Concurrent: clock <= NOT clock AFTER 10ns; Werkt alleen als clock van type bit is, anders initialiseren: SIGNAL clock : std_logic := ‘0’; Process: clk: PROCESS IS BEGIN Clock <= ‘0’; WAIT FOR 10 ns; Clock <= ‘1’; WAIT FOR 10ns; END PROCESS clk; rst: PROCESS IS BEGIN reset <= ‘1’; WAIT FOR 5 ns; reset <= ‘0’; WAIT FOR 5ns; WAIT; END PROCESS rst; Reset signaal maken:

Resultaten naar file schrijven: Wegschrijven van stoplicht state met tijd op een regel; monitor: PROCESS (hoofdweg_groen, zijweg_groen) IS VARIABELE linebuffer : line; BEGIN Write(linebuffer, NOW) IF hoofdweg_groen = ‘1’ THEN Write(linebuffer, STRING’(“Hoofdweg is groen) ELSE Write(linebuffer, STRING’(“Zijweg is groen) END IF; Writeline(output, linebuffer) END PROCESS; OPDRACHT: maak een testbench die klok synchroon een 4 bits teller signaal genereert als output. De klok is 2 MHz en de output ijlt 100ns na op de klok.