VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.

Slides:



Advertisements
Verwante presentaties

Advertisements

KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World •Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies)
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
 De Robot  Het Programma  Film By Martijn Hazenboom.
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
Inhoudstafel Inleiding De basis van digitaal ontwerp
Digitale Elektronica en Processoren
Arduino project.
bewerkingen in programmeeromgevingen
VHDL Taal beschrijvingen
VBA en VBS Een introductie.
Instructie Programmeren Task 1 5JJ70. Task 1.1: Hello World Klik naast de laatste accolade in de grijze kantlijn om een breakpoint neer te zetten, anders.
Computervaardigheden Hoofdstuk 4 — Scripting (Let op: dit is enkel voor studenten Biologie.)
1 SOCS Hoofdstuk 1 Programmeertaal C. 2 Kenmerken van C Hogere programmeertaal  Grote verzameling types, strenge type controle  Zelf nieuwe types definiëren.
Cursus VHDL Aansturing van een stappenmotor Peter Slaets KHLim.
Hogere-orde functies: herhaald patroon? Parametrizeer! product :: [Int]  Int product [ ]= product (x:xs)= 1 product xs x * and :: [Bool]  Bool and [
Les 2 Basisbouwstenen (deel 1)
8C120 Inleiding Meten en Modelleren 8C120 Prof.dr.ir. Bart ter Haar Romeny Faculteit Biomedische Technologie Biomedische Beeld Analyse
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Auteursomgeving voor Digitale Componenten
Frank Stalpers en Ad Baars
Methoden en argumenten
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur laag-niveau programmeren uit hoofdstuk 15 van Alan Burns, Andy Wellings,
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
Title VHDL Introductie FirstName LastName – Activity / Group.
Visual Basic.
PHP functies.
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
P. 1 Vakgroep Informatietechnologie Structuur Deel II C++ Classes Namespaces Type casting Reference types Constructors en Destructors Memory Management.
P. 1 Deel I: Programmeertaal C 4. Functies en Macro’s Prof.Dr.Ir. Filip De Turck.
Nationale Officedag6 maart 2008 VBA voor Excel door Lenny Hoeks.
Datastructuren Sorteren, zoeken en tijdsanalyse
Eenvoudig voorbeeld: Steden in Belgie
, 17h30Recursie 1 Inleiding tot recursie Karel Popelier.
Liesbeth Van Raemdonck
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
HAN-University Inleiding tot VHDL, 2010 Bron: Fraunhofer for Integrated Circuits.
Combinatorische logica
Het timing model in VHDL
Tribal Wars Simulator.
Russische roulette Live or die. 7 delen Startmenu Inzet Aantal kogels Het schot While - functie Opnieuw ja/nee High score.
KINN 2010 OOP O Object O Georiënteerd P Programmeren.
PHP & MYSQL LES 02 PHP & FORMULIEREN. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
Overerving Inheritance Overerving l Inleiding l Type-extensie l Compatibiliteit van een basistype met zijn extensie l Statisch en dynamisch type l Run.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 6: uitzonderingen en de behandeling van uitzonderingen.
Programmeerstijl Hoofdstuk 21. Visual Basic.NET voor studenten2 Inleiding Belang van een goede programmeerstijl:  Programma’s worden door meerdere mensen.
Slide 1Programmatuur voor real-time controleYolande Berbers RTPReal-Time Programmatuur hoofdstuk 4: het beheersen van complexiteit: programming in the.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Les 1: Zaterdag 10 mei 2014 Wim Peeters
AWK A Pattern scanning and processing language made by Aho Weinberger Kernighan and explained by Albert Montijn.
Instructie Programmeren Task 3 5JJ70. Task 3.1: MIPS Rating Volg de beschrijving in de opdracht om het aantal assembly instructies in de loop uit te vinden.
Minor Project- en Programmamanagement
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
IF() ELSE() LES 4: VOORWAARDEN. BOOL Een variabele die slechts 2 mogelijke waarden kan hebben: true(waar) of false(niet waar) duid je aan met bool bool.
Informatie beoordelen If else Switch En Wiskunde.
Javascript. Voortgang op: Account gegevens Invullen op: Bevestiging ontvangen ( ) via website?
Robby de Robot. Javascript Tot nu toe gebruikt: – document.write(" Hello World "); – alert("tekst") – Toon een waarschuwingsvenster – prompt("tekst",
Gameprogrammeren: Objecten en geheugen
Javascript.
Gameprogrammeren: Methoden
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les6 Templates.
Programmeren woensdag 4 oktober 2017.
SQL Les February 2019.
Gameprogrammeren: Arrays
Transcript van de presentatie:

VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output »voor de hoog niveau beschrijving Procedures –verkorte componenten met meerdere outputs »voor de hoog niveau beschrijving Declaratie van een functie of procedure Ofwel in het begin van een architectuur Ofwel in een package Declaratie van een functie of procedure Ofwel in het begin van een architectuur Ofwel in een package

VHDL Peter Slaets KHLim Functie regels Er is maar een Return waarde Parameters kunnen alleen maar input zijn –“in” hoeft niet gedeclareerd te worden Parameters mogen niet veranderd worden Wait instructies zijn niet toegelaten Alle statements moeten sequentiële statements zijn Interne variabelen mogen gedeclareerd worden Signalen mogen niet gedeclareerd worden

VHDL Peter Slaets KHLim Functie voorbeeld package majorities is function majority (a, b, c: bit) return bit; package body majorities is function majority (a, b, c: bit) return bit is begin return ((a and b) or (a and c) or (b and c)); end majority; end majorities;

VHDL Peter Slaets KHLim Procedure regels Parameters kunnen output en input zijn –“in” hoeft niet gedeclareerd te worden Alle statements moeten sequentiële statements zijn Wait statements zijn toegelaten Interne variabelen mogen gedeclareerd worden Signalen mogen niet gedeclareerd worden

VHDL Peter Slaets KHLim Procedure D FF procedure dff (signal d: std_logic_vector; signal clk, rst: std_logic; signal q, q_bar: out std_logic_vector) is begin if rst = '1' then q '0'); elsif clk'event and clk = '1' then q <= d; q_bar <= not d; end if; end procedure;

VHDL Peter Slaets KHLim Overloading Het creëren van verschillende functies die dezelfde operaties definiëren voor verschillende types. Bv: "+" is in standaard VHDL gedefinieerd voor numeric types(integer, float, …) maar niet voor bit-vectoren –Door overloading kan dit ook voor bitvectors

VHDL Peter Slaets KHLim Overloading operator voorbeeld function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is constant length: INTEGER := maximum(L'length, R'length); variable result : STD_LOGIC_VECTOR (length-1 downto 0); begin result := SIGNED(L) + SIGNED(R); return std_logic_vector(result); end; function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is variable result : STD_LOGIC_VECTOR (L'range); begin result := SIGNED(L) + R; return std_logic_vector(result); end; function "+"(L: STD_LOGIC_VECTOR; R: STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is constant length: INTEGER := maximum(L'length, R'length); variable result : STD_LOGIC_VECTOR (length-1 downto 0); begin result := SIGNED(L) + SIGNED(R); return std_logic_vector(result); end; function "+"(L: STD_LOGIC_VECTOR; R: INTEGER) return STD_LOGIC_VECTOR is variable result : STD_LOGIC_VECTOR (L'range); begin result := SIGNED(L) + R; return std_logic_vector(result); end;