HAN-University Inleiding tot VHDL, 2010 Bron: Fraunhofer for Integrated Circuits.

Slides:



Advertisements
Verwante presentaties
SaH L5/L4 2 3 stap naar jury voor inspectie Stap en draf naar pion 2
Advertisements

Update on EduStandard: public-private platform in Dutch education Henk Nijstad, Kennisnet / november 2013.
Agentschap voor Innovatie door Wetenschap en Technologie NCP dienstverlening IWT.
Data Acquisition & Control System
HM-ES-th1 Les 9 Hardware/Software Codesign with SystemC.
Boek reviews Esra ISGUZAR.
PROS2 Les 9 Programmeren en Software Engineering 2.
1 Co-Design at Chess-iT Guus Bosman. 2 Afstuderen bij Chess Net.Footworks tot augustus 2003 Afstuderen augustus 2003 tot maart 2004 Chess full-time vanaf.
Service Coordination Protocols ● Noodzaak (Eddy) ● Coordination protocols (Eddy) ● Infra-structuur (Eddy) ● WS-Coordination (Eddy) ● WS-Transaction (Pepijn)
Proces tot standkoming architectuur
Inhoudstafel Inleiding De basis van digitaal ontwerp

Thursday, 10 July 2014 donderdag 10 juli 2014 Click Klik.
Copyright © 2008 Tele Atlas. All rights reserved. Zet uw Business Data op de kaart: Locaties in eTOM ®
Digitale Elektronica en Processoren
Skilling Up for Power Down.  Gestart door 2 Australiërs Bill Mollison en David Holmgrem in de jaren 70’.  Oorspronkelijke betekenis: ‘permanente landbouw’
Wat is nieuw in MS Project 2010 Wil Jansen.  Dit!!
ICT Infrastructuur.
VHDL Taal beschrijvingen
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur EIT OGO-1.2 addendum (2): Geheugens en timing in.
Nieuwe wegen in ontwerpen met CAD
Goed geregeld?; Het recht als ontwerpvraagstuk Prof. dr. Tom M. van Engers
Introduction multimedia. convergence standards retrieval applications & technology.
TERUGKEER VAN DE PRESENTATIE
De PROFIBUS, PROFINET & IO-Link dag 2011 Share our Vision for Automation.
Presentatie IA Solutions 2005: Programma generatie voor: PLC en SCADA Een update van deze PPT is te downloaden op: Rob Kits - Technisch.
Social Technology How to get the end-user involved Carl Bik Capgemini Nederland bv.
National Institute For Space Research SRON-EO strategie, NL gebruikersgemeenschap, Radboud Koop, 24 sept 2004 Page 1 SRON EO strategie – NL gebruikersgemeenschap.
Light models Waarom? Mockup Independent Mark up Analyse geometrie samenstellingen >100+ Downstream gebruik Exact/gefacetteerd.
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.
Network Address Translation
Exploratie van de ontwerpruimte 2. De Hardware/software-grens Exploratietools Prof. dr. ir. Dirk Stroobandt Academiejaar
Implementatietechnieken voor logische programmeertalen
Specialismen Analyse en verificatie van protocollen Analyse van Petri-netten Component-specificatie Web-based information systems (Query)talen voor Web.
1/1/ / faculty of Computer Science eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(2): Vertalen.
Enterprise Application Integration Walter Moerkerken Ilona Wilmont Integratie Software Systemen 8 mei 2006.
STRUCTUUR, INVARIANTIE, EN TAAL Johan van Benthem Institute for Logic, Language.
Doctoraal voorlichting 2002 Computer Architectuur & Parallelle Systemen groep Andy Pimentel.
1 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam Reehorstconferentie 2007 NLT-module Digitale Techniek Ontwerpen van digitale schakelingen met.
1Ben Bruidegom A Harvard Machine Calculator Calculator  Computer.
1 Woudschotenconferentie 2006 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam NLT-module Digitale Techniek Ontwerpen van digitale schakelingen.
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
3.6 Architecture of HIS. 3.7 Integrity & Integration within HIS Suraja Padarath /10/2007.
Bedrijfsbibliotheek Jeffrey Paarhuis Jos Vinke Pieter-Henk Smits
Title VHDL Introductie FirstName LastName – Activity / Group.
ISA (InformatieSysteemArchitectuur) Geert-Jan Houben.
Datapath & Contol 9.30 Introductie: datatransport via een bus
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
JProject02 Bert Jacobs Ignace Van Tricht 4 juni 2009.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Universal Modeling Language … why you need models? Models are necessary to communicate,
Automation SolutionsMFG/Pro Dutch usergroup 8 februari 2007 ISA S88 & S95 Het gebruik van deze normen in de productie.
D-LUCEA Database of the Longitudinal Utrecht Collection of English Accents Hugo QuenéRosemary Orr UiL OTSUCU Universiteit Utrecht CLARIN-NL Call 3 Kickoff.
Security Technology PICT les 1
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
1 Over het examen (1): Modus Mondeling met schriftelijke voorbereiding 4 uur, 3 onderdelen: –Modellering (  schriftelijk, dan mondeling) –Queries / relationeel.
Dutch Automatic Speech Recognition Using Kohonen Neural Networks Delft University of Technology Faculty of Information Technology and Systems Knowledge-Based.
SaH L5 / L4 stap 3 meter, overgang naar jog, cirkel li, rond pion naar jury. Halverwege terug naar stap, stop en back up. stap naar jury voor inspectie.
DARE SUMMER SCHOOL Metadata Peter van Huisstede / Ursula Oberst 28 juni 2005.
Combinatorische logica
Het timing model in VHDL
Ontwerpen van Digitale Systemen
Taaltheorie en Taalverwerking Parsing Continued. Totnutoe: Top-Down-Parser.
EML en IMS Learning Design
Plan Coordination by Revision in Collective Agent Based Systems Adriaan ter Mors en Gijsbert Deelder Plan Coordination by Revision in Collective.
Usability metrics Gebruiksvriendelijkheid ISO Effectiveness Efficiency Satisfaction Learnability Flexibility En nu? Inleiding Hoe gaan we de gebruiksvriendelijkheid.
Department of Information Technology – Internet Based Communication Networks and Services (IBCN) IBCN Masterproef Schrijven van het boek: Enkele tips en.
1 OMI Modelleren van content. 2 Vocabulary Content “gevangen” in begrippenapparaat: Vocabulary: lijst met termen nauwelijks semantiek Ontology:
Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken
Minor Project- en Programmamanagement
Transcript van de presentatie:

HAN-University Inleiding tot VHDL, 2010 Bron: Fraunhofer for Integrated Circuits

HAN-University 2 Waarom de taal VHDL (VHSLI High Description Language? Doel van de Inleiding tot VHDL Boek: Digital System Design, Zwolinski PP: Scholar Onderwerpen: RTL design flow Basisconcept VHDL Entity en Architectuur Typen Architectuur beschrijvingen Combinaties van typen beschrijvingen: D-Flipflop Testbenches in VHDL

HAN-University Krachtig hulpmiddel bij het ontwerpen van digitale schakelingen: oVastleggen specificaties ontwerp. oSystematische opdeling van ontwerp. oTaal onafhankelijk van technologie. oKunt je eigen ontwerpmethoden kiezen: bottom up/top down. oAllerlei ontwerpstrategien zijn mogelijk: syncroon, asyncroon, PLA, poorten. oHet is een IEEE gestandaardiseerde taal o“Leesbare” taal. Lijkt op C++/ Waarom de taal VHDL? Automatisering: Eletronic Design Automation (EDA) oSynthesis: vertaling van specificaties naar een implementatie in logic gates oSimulatie: checken op goede werking VHDL staat voor: VHSIC-HDL en dat staat voor: Very High Speed Integrated Circuit - High Description Language

HAN-University 4 RTL (Register Transfer Level) Design Flow Implementatie VHDL RTL beschrijvingen RTL simulatie VHDL testbench RTL synthese Structural VHDL Structural simulatie EDIF netlist Place and route back annotation SDF timing information Timing simulatie

HAN-University 5 Basisconcept VHDL Entity en Architectuur Een design unit van een digitaal systeem bestaat uit een: 1) Entity: Geeft de in- en uitgangs relatie van het systeem met zijn omgeving. abcabc y ENTITY entitynaam IS een portlist met in- en uitgangen eventueel een genericlist met fysische en andere parameters END entitynaam 2) Architecture: Geeft een mogelijke implementatie van het systeem. abcabc y & ARCHITECTURE architecturenaam OF entitynaam IS declaraties BEGIN een functionele specificatie van het systeem END architecturenaam

HAN-University 6 Voorbeelden AND poort ENTITY and_poort IS PORT (a, b: IN STD_LOGIC := '0'; x: OUT STD_LOGIC := '0' ); END ENTITY ; ARCHITECTURE gedrag OF and_poort IS BEGIN x <= a AND b; END;

HAN-University 7 Typen Architectuur beschrijvingen 1. Gedragsbeschrijving: “Wat doet het systeem?” Het gaat hier vaak om grotere systemen en beschrijft wat de verschillende onderdelen van het systeem achtereenvolgens moeten doen (proces). ENTITY crc_model IS PORT (clk: in STD_LOGIC := '0'; bitstroom: in STD_LOGIC := '0'; crc: out STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"); END ENTITY crc_model; ARCHITECTURE gedrag OF crc_model IS BEGIN signalq: STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000"; PROCESS Begin IF clk’EVENT AND clk = ‘1’ THEN q <= q(2 downto 0) & (bitstroom XOR q3); END IF; End PROCESS crc <= q; END gedrag;

HAN-University 8 Typen Architectuur beschrijvingen (vervolg) 2Structuurbeschrijving: “Uit welke componenten bestaat het systeem?” Als het gaat om nauwkeurige tijdsimulaties kun je de onderdelen als component met vastgelegde eigenschappen aanroepen (instantiëren) binnen de architectuur. ARCHITECTURE structuur OF crc-model IS signaal declaraties: de verbindingen (signalen) tussen de losse blokjes: a, q0 etc… Component declaraties: de te gebruiken losse blokjes (modules) NIET NOODZAKELIJK MEER Component configuraties: als er meerdere gecompileerde versies in de WORK directory beschikbaar zijn BEGIN Component instantiaties: L0:xor_poort PORT MAP (x => bitstroom, y => q3, z => a); L1: f_flop PORT MAP(D =>a, clk=> sys_clk, q =>q0); L2: f_flop PORT MAP(D =>q0, clk=> sys_clk, q =>q1); L3: f_flop PORT MAP(D =>q1, clk=> sys_clk, q =>q2); L4: f_flop PORT MAP(D =>q2, clk=> sys_clk, q =>q3); END structuur;

HAN-University 9 Typen Architectuur beschrijvingen (vervolg) 3. Dataflowbeschrijving: “HOE is het systeem opgebouwd?” kenmerkt zich door een aantal parallelle signaaltoewijzingen en beschrijft meestal een logisch netwerk entity crc_model is port (clk: in std_logic := '0'; bitstroom:in std_logic := '0'; crc: out std_logic_vector(3 DOWNTO 0) := "0000"); end entity crc_model; architecture dataflow of crc_model is signalq:std_logic_vector(3 DOWNTO 0) := "0000"; begin process begin wait until clk = '1'; q(0) <= bitstroom XOR q(3); q(1) <= q(0); q(2) <= q(1); q(3) <= q(2); end process; crc <= q; end architecture dataflow;

HAN-University 10 Gedragsbeschrijving van een fulladder Grafische representatie van de entity van een fulladder en de specificatie in tabelvorm: abccarryoutsum fulladder abcabc sum carryout ENTITY fulladder IS PORT(a,b,c: IN bit; s, co OUT bit); END fulladder;

HAN-University 11 Gedragsbeschrijving van een fulladder (vervolg) Architecture met gedrag_1 is niet beter of slechter dan gedrag_2 maar het verschil zit ‘m in de benadering van het probleem. Simulatie resultaten zijn identiek. ARCHITECTURE gedrag_1 OF fulladder IS BEGIN PROCESS VARIABLE x : bit_vector(2 downto 0); BEGIN x := abc; CASE x IS WHEN “000” => co <= ‘0’; s <=’0’; WHEN “001” => co <= ‘0’; s <=’1’; WHEN “010” => co <= ‘0’; s <=’1’; WHEN “011” => co <= ‘1’; s <=’0’; WHEN “100” => co <= ‘0’; s <=’1’; WHEN “101” => co <= ‘1’; s <=’0’; WHEN “110” => co <= ‘1’; s <=’0’; WHEN “111” => co <= ‘1’; s <=’1’; END CASE; END PROCESS; END gedrag_1; ARCHITECTURE gedrag_2 OF fulladder IS BEGIN PROCESS VARIABLE num_int : integer; VARIABLE num_bit : bit_vector(1 downto 0); BEGIN num_int := bin2int(a)+ bin2int(b)+ bin2int(c); num_bit := int2bin(num_int, num_bit’length); s <= num_bit(0); co <= num_bit(1); END PROCESS; END gedrag_2

HAN-University Dataflowbeschrijvingen van een fulladder Parallelle signal toewijzingen die gelijktijdig worden uitgevoerd. De volgorde van de statements binnen de architectuur is niet belangrijk. Bovenstaande beschrijvingen zijn identiek wat betreft simulatie maar de logische netwerken zijn verschillend kunnen zijn: Laat zien!!!! ARCHITECTURE dataflow_1 OF fulladder IS BEGIN co <= (a AND b) OR (b AND c) OR (a AND c); s <= (a XOR b) XOR c; END dataflow_1; ARCHITECTURE dataflow_2 OF fulladder IS SIGNAL p, g, t : BIT; BEGIN s <= p XOR c; co <= g OR t; t <= p AND c; p <= a XOR b; g <= a AND b; END dataflow_2

HAN-University 13 Structuurbeschrijvingen van een fulladder Eerst componenten beschrijven voor bibliotheek met functioneel en dynamisch gedrag: ENTITY and2 IS PORT(i1, i2: IN bit; o1: OUT bit); END and2; ARCHITECTURE dataflow OF and2 IS BEGIN o1 <= i1 AND i2 AFTER 5 ns; END dataflow; ENTITY or3 IS PORT(i1, i2, i3: IN bit; o1: OUT bit); END or3; ARCHITECTURE dataflow OF or3 IS BEGIN o1 <= i1 OR i2 OR i3 AFTER 6 ns; END dataflow; ENTITY xor2 IS PORT(i1, i2: IN bit; o1: OUT bit); END xor2; ARCHITECTURE dataflow OF xor2 IS BEGIN o1 <= i1 XOR i2 AFTER 7 ns; END dataflow; Met de entities kunnen we een structuur-beschrijving maken. Deze zijn dan onderdelen van de structuur. Entities heten dan componenten waaruit het ontwerp bestaat.

HAN-University 14 Structuurbeschrijving van een fulladder (vervolg) In VHDL_93 is de component declaratie niet meer verplicht. De component configuratie natuurlijk wel!! De component configuratie kan ook buiten de architectuur gedefinieerd worden een. Structuurbeschrijving vervangt binnen EDA vaak netlisten en kunnen uit dataflow/gedrags beschrijvingen gegenereerd worden maar ook uit schematic capture. ARCHITECTURE structuur OF fulladder IS Component declaraties (alleen verplicht bij VHDL_87): COMPONENT and2 PORT(i1, i2: IN bit; o1 OUT bit); END COMPONENT; COMPONENT or3 PORT(i1, i2, i3: IN bit; o1 OUT bit); END COMPONENT; COMPONENT xor2 PORT(i1, i2: IN bit; o1 OUT bit); END COMPONENT; Component configuraties: FOR c0, c1, c2: and2 USE ENTITY work.and2(dataflow) FOR c3 : or3 USE ENTITY work.or3(dataflow) FOR c4, c5 : xor2 USE ENTITY work.xor2(dataflow) SIGNAL w1, w2, w3, w4: bit; BEGIN Component instantiaties: c0: and2 PORT MAP (a, b, w2); c1: and2 PORT MAP (a, c, w3); c2: and2 PORT MAP (b, c, w4); c3: or3 PORT MAP (w2, w3, w4, co); c4: xor2 PORT MAP (a, b, w1); c5: xor2 PORT MAP (w1, c, s); END structuur;

HAN-University 15 Combinaties van typen beschrijvingen: D- Flipflop Verschillende beschrijvingen binnen 1 architectuur zijn ook mogelijk. Een voorbeeld is de beschrijving voor een D-Flipflop. ENTITY d_flipflop IS PORT(clk, d: IN bit; q, qn: OUT bit); END d_flipflop; ARCHITECTURE gedrag OF d_flipflop IS SIGNAL state: bit; BEGIN PROCESS (clk): BEGIN IF clk = 1 THEN State <= d; END IF; END PROCESS; q <= state; qn <= NOT state; END gedrag; Dit noem je een gedragsbeschrijving omdat voornamelijk gesteld wordt WAT de schakeling doet en niet HOE deze is opgebouwd

HAN-University 16 Testbench voor een fulladder OPDRACHT: Maak een timingdiagram van de signalen a, b en c. ARCHITECTURE test_for_fulladder OF testbench IS COMPONENT fulladder PORT(a, b, c: IN bit; s, co OUT bit); END COMPONENT; FOR UUT: fulladder USE ENTITY work.fulladder(structuur) SIGNAL a, b, c, s, co: bit; BEGIN a <= ‘0’, ‘1’ AFTER 50 ns; ‘0’ AFTER 100 ns, ‘1’ AFTER 150 ns; ‘0’ AFTER 200 ns, ‘1’ AFTER 250 ns; ‘0’ AFTER 300 ns, ‘1’ AFTER 350 ns; b <= ‘0’, ‘1’ AFTER 100 ns; ‘0’ AFTER 200 ns, ‘1’ AFTER 300 ns; c <= ‘0’, ‘1’ AFTER 200 ns; UUT: fulladder PORT MAP (a, b, c, s, co) END test_for_fulladder;