2. Entity, Architecture, Process

Podobné dokumenty
12. VHDL pro verifikaci - Testbench I

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Příklady popisu základních obvodů ve VHDL

Úvod do jazyka VHDL. Jan Kořenek Návrh číslicových systémů

14. Složitější konstrukce

7. Popis konečného automatu

Číslicové obvody a jazyk VHDL

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

Chapter 7: Process Synchronization

Sčítačky Válcový posouvač. Demonstrační cvičení 6

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Násobičky, Boothovo překódování. Demonstrační cvičení 7

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Introduction to MS Dynamics NAV

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Základní znaky. - Ve srovnání se Spice jsou velmi složité a vyžadují dlouhou dobu na plné osvojení. - Velmi nákladné simulační programy.

Souhrn Apendixu A doporučení VHDL

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Mechanika Teplice, výrobní družstvo, závod Děčín TACHOGRAFY. Číslo Servisní Informace Mechanika:

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Návrh ovládání zdroje ATX

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

Pokročilé využití jazyka VHDL. Pavel Lafata

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1

Návrh. číslicových obvodů

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

DATA SHEET. BC516 PNP Darlington transistor. technický list DISCRETE SEMICONDUCTORS Apr 23. Product specification Supersedes data of 1997 Apr 16

1. Seznamte se s výukovou platformou FITkit (

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

Compression of a Dictionary

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Aplikace matematiky. Dana Lauerová A note to the theory of periodic solutions of a parabolic equation

Arduino Ethernet Shield W5100 R3

Vývoj VHDL. Verilog HDL

Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

2N Voice Alarm Station

Arduino Data Logger Shield

Standard VGA (Video Graphics Array)

SPECIFICATION FOR ALDER LED

LOGOMANUÁL / LOGOMANUAL

Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3)

Next line show use of paragraf symbol. It should be kept with the following number. Jak může státní zástupce věc odložit zmiňuje 159a.

EURO přeshraniční platba

DC circuits with a single source

W3500, W3600. Parts Catalogue Seznam dílù

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5

Obsah&/&Content& Všeobecné)podmínky)(v)češtině)) Terms)and)Conditions)(in)english)) )

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

LOGBOOK. Blahopřejeme, našli jste to! Nezapomeňte. Prosím vyvarujte se downtrade

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Nová éra diskových polí IBM Enterprise diskové pole s nízkým TCO! Simon Podepřel, Storage Sales

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Automatika na dávkování chemie automatic dosing

WORKSHEET 1: LINEAR EQUATION 1

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Chapter Základní principy simulace :).

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

Uživatelská příručka. Xperia P TV Dock DK21

Database systems. Normal forms

The tension belt serves as a tension unit. After emptying the belt is cleaned with a scraper.

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 2.díl. České vysoké učení technické Fakulta elektrotechnická

Distribuované systémy a výpočty

Litosil - application

PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES

CZ.1.07/1.5.00/

Britské společenství národů. Historie Spojeného království Velké Británie a Severního Irska ročník gymnázia (vyšší stupeň)

Gymnázium, Brno, Slovanské nám. 7, SCHEME OF WORK Mathematics SCHEME OF WORK. cz

EVROPSKÝ PARLAMENT. Výbor pro dopravu a cestovní ruch PE v Společný postoj Rady (11934/3/2004 C6-0029/ /0130(COD))

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

2N LiftIP. IO Extender. Communicator for Lifts. Version

On large rigid sets of monounary algebras. D. Jakubíková-Studenovská P. J. Šafárik University, Košice, Slovakia

VYSOKÁ ŠKOLA HOTELOVÁ V PRAZE 8, SPOL. S R. O.

Transportation Problem

Kdo jsme Čím se zabýváme Nabídka služeb pro veřejnou správu Ověřeno v praxi u tisíce uživatelů v podnikatelské a bankovní sféře Plně využitelné u

Základy digitální techniky

Invitation to ON-ARRIVAL TRAINING COURSE for EVS volunteers

Co vím o Ázerbájdžánu?

Škola: Střední škola obchodní, České Budějovice, Husova 9. Inovace a zkvalitnění výuky prostřednictvím ICT

Vliv metody vyšetřování tvaru brusného kotouče na výslednou přesnost obrobku

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Stručný úvod do programování v jazyce C 1.díl. České vysoké učení technické Fakulta elektrotechnická

2N LiftIP. Voice Alarm Station. Communicator for Lifts. Version

Palmovka Business center Kancelářské prostory k pronájmu / Offices for lease. Na Žertvách 2247/29, Prague 8

1 Stručný popis jazyku VHDL

Dynamic programming. Optimal binary search tree

USER'S MANUAL FAN MOTOR DRIVER FMD-02

Návrh FPGA systémů. Jazyk VHDL, principy simulace. Ing. Jakub Št astný, Ph.D. 1

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Transkript:

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Miloš Bečvář, Martin Novotný, 2006-2011 1

Lecture Outline Entity Architecture Process 2

VHDL language constructs Entity Architecture Process Configuration Package Library 3

Entity, Architecture 4

Comments Everything after -- is a comment Comments end with a new line ------------------------------------------------------------ -- This is a comment ------------------------------------------------------------ entity HALFADD is -- this is also a comment 5

Describes interface only Entity No definition of behavior or internal structure entity MULTIPLEXER is port( A,B,SEL : in bit; Y : out bit ); end MULTIPLEXER; A B SEL SELNON INV AND1 AND2 MULTIPLEXER ASEL OR1 BSEL Y Note: ENTITY, IS, PORT, IN, OUT and END are reserved words of VHDL BIT is a data type VHDL is strictly typed language. 6

Entity entity MULTIPLEXER is port( A,B,SEL : in bit; Y : out bit ); end MULTIPLEXER; bit: values 0 and 1 only MULTIPLEXER A AND1 ASEL SELNON INV OR1 Y B SEL AND2 BSEL library IEEE; use IEEE.std_logic_1164.all; entity MULTIPLEXER is port( A,B,SEL : in std_logic; Y : out std_logic ); end MULTIPLEXER; std_logic: values 0, 1, Z, X, L, H, W, U, - Defined in package std_logic_1164 7

Architecture Describes behavior and/or internal structure of entity Must be associated with a specific entity Single entity can have many architectures Architectural constructs: Processes (sequential programs communicating using signals) Component instantiations (represent structure) Concurrent statements (dataflow description) Architecture is a concurrent environment! 8

Architecture architecture MUX_BODY of MULTIPLEXER is -- declarative part: signal SELNON, ASEL, BSEL : std_logic; Entity name Internal signals -- declarations of: -- internal signals -- components -- constants, data types, A SELNON AND1 MULTIPLEXER ASEL -- executive part: INV OR1 Y B -- processes SEL AND2 BSEL -- component instantiations -- end MUX_BODY; 9

Processes 10

Process Section containing sequential statements Exists inside an architecture Multiple processes interact concurrently connected by signals CLKGENPR : process CLK <= 0 ; wait for 10 ns; CLK <= 1 ; wait for 10 ns; end process CLKGENPR; DFFPR : process (CLK, RESET) if RESET= 1 then Q <= 0 ; elsif CLK EVENT and CLK= 1 then Q <= D; end if; end process DFFPR; Process CLKGENP interacts with process DFFPR using signal CLK. 11

Process VHDL is a concurrent language! => processes run concurrently So-called cooperative multitasking (UNIX: preemptive multitasking) processes must suspend themselves Each process must contain at least one wait statement (note: sensitivity list is a special case of wait statement) Process itself is an infinite loop ABC : process A <= 0 ; wait for 10 ns; B <= 1 ; wait on C, D; Y <= C and D; B <= 0 ; wait until A = 1 ; X <= C; end process ABC; Process is suspended for 10 ns (of simulation time) (in the mean time other processes are run) Process is suspended until an event on signal C or signal D occurs Process is suspended until an event on signal A occurs and condition is satisfied When the end of the process is reached, the process jumps to the ning 12

Processes in the architecture architecture MUX_BODY of MULTIPLEXER is signal SELNON, ASEL, BSEL : std_logic; INV : process A SELNON <= not(sel); wait on SEL; end process; SELNON INV AND1 MULTIPLEXER ASEL OR1 Y AND1 : process ASEL <= A and SELNON; wait on A, SELNON; end process; B SEL AND2 BSEL -- processes AND2, OR1 follow end architecture MUX_BODY; 13

Process with a sensitivity list MUXPR : process if SEL = 0 then Y <= A; else Y <= B; end if; wait on SEL, A, B; end process MUXPR; MUXPR : process (SEL, A, B) if SEL = 0 then Y <= A; else Y <= B; end if; end process MUXPR; Process with sensitivity list must not contain any WAIT statements. Typical usage: synthesizable RTL code. 14

Process with wait statements clkgenpr: process clk<= 0 ; wait for 10 ns; clk<= 1 ; wait for 10 ns; end process clkgenpr; WAIT statements define points where process execution suspends. More powerful Typical usage: testbenches (behavioral description of models in verification environment). Can be used for describing circuit on algorithm level. (commonly called behavioral level). 15