ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

Size: px
Start display at page:

Download "ECE U530 Digital Hardware Synthesis. Course Accounts and Tools"

Transcription

1 ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden 2.1, 2.2, 5.1, 5.2 Complete tutorial by Monday Sept 18 Quiz in class on Monday, Sept 25 based on tutorial ECE U530 F06 Course Accounts and Tools You must have a COE account for this course Programming assignments will be done on WinCOE systems on second floor of Snell Engineering or 9 Hayden labs Tools: Xilinx ISE version 6.2i, Modelsim 5.7e If you are registered for this class, A sub-directory called Courses/ECEU530 will automatically appear in your home directory IMPORTANT: Do NOT create this directory! Do not use this as your active working directory! only files submitted for homework should be in this directory use your home directory (Z:) for all design work! tutorial should be done in your home directory 2

2 Xilinx and Modelsim Tutorial Create a directory for this course in your COE home directory: Open an Explorer window (right click on Start and choose Explore) Navigate to Coewin winusers User_Name This is your directory on the COE system Create a new folder called 530local: right click in the directory and choose New Folder (You may already have a folder called ECEU530) Note: It is important that you not put empty spaces in any directory in the path for this course. The software tools do not recognize empty spaces. All names must be 8 characters or less. 3 For Help with Tools For help with Xilinx or Modelsim: send an to mel@coe.neu.edu Tell me, as specifically as possible: what the problem is what machine you are running on and where Is it a problem in Modelsim or Xilinx... For help with login, coe account,etc. send to: help@coe.neu.edu 4

3 5 6

4 7 Analysis Elaboration Simulation Synthesis Design Processing 8

5 Analysis Check for syntax and semantic errors syntax: grammar of the language semantics: the meaning of the model Analyze each design unit separately entity declaration architecture body Analyzed design units are placed in a library in an implementation dependent internal form current library is called work 9 Elaboration Flattening the design hierarchy create ports create signals and processes within architecture body for each component instance, copy instantiated entity and architecture body repeat recursively bottom out at purely behavioral architecture bodies Final result of elaboration flat collection of signal nets and processes 10

6 Elaboration Example d0 reg4(struct) bit0 d_latch d q q0 clk d1 bit1 d_latch d q q1 clk d2 bit2 d_latch d q q2 clk d3 bit3 d_latch d q q3 en clk gate and2 a y b int_clk clk 11 Elaboration Example d0 reg4(struct) bit0 d_latch(basic) d q q0 clk bit1 d1 d_latch(basic) d q q1 clk bit2 d2 d_latch(basic) d q q2 clk bit3 d3 d_latch(basic) d q q3 gate clk en clk and2(basic) a y b int_clk process with variables and statements 12

7 Simulation Execution of the processes in the elaborated model Discrete event simulation time advances in discrete steps when signal values change events A processes is sensitive to events on input signals specified in wait statements resumes and schedules new values on output signals schedules transactions event on a signal if new value different from old value 13 14

8 Test Benches Testing a design by simulation Use a test bench model an architecture body that includes an instance of the design under test applies sequences of test values to inputs monitors values on output signals either using simulator or with a process that verifies correct operation 15 Test Bench Example entity test_bench is end entity test_bench; architecture test_reg4 of test_bench is signal d0, d1, d2, d3, en, clk, q0, q1, q2, q3 : bit; begin dut : entity work.reg4(behav) port map ( d0, d1, d2, d3, en, clk, q0, q1, q2, q3 ); stimulus : process is begin d0 <= 1 ; d1 <= 1 ; d2 <= 1 ; d3 <= 1 ; wait for 20 ns; en <= 0 ; clk <= 0 ; wait for 20 ns; en <= 1 ; wait for 20 ns; clk <= 1 ; wait for 20 ns; d0 <= 0 ; d1 <= 0 ; d2 <= 0 ; d3 <= 0 ; wait for 20 ns; en <= 0 ; wait for 20 ns; wait; end process stimulus; end architecture test_reg4; 16

9 Regression Testing Test that a refinement of a design is correct that lower-level structural model does the same as a behavioral model Test bench includes two instances of design under test behavioral and lower-level structural stimulates both with same inputs compares outputs for equality Need to take account of timing differences 17 Regression Test Example architecture regression of test_bench is signal d0, d1, d2, d3, en, clk : bit; signal q0a, q1a, q2a, q3a, q0b, q1b, q2b, q3b : bit; begin dut_a : entity work.reg4(struct) port map ( d0, d1, d2, d3, en, clk, q0a, q1a, q2a, q3a ); dut_b : entity work.reg4(behav) port map ( d0, d1, d2, d3, en, clk, q0b, q1b, q2b, q3b ); stimulus : process is begin d0 <= 1 ; d1 <= 1 ; d2 <= 1 ; d3 <= 1 ; wait for 20 ns; en <= 0 ; clk <= 0 ; wait for 20 ns; en <= 1 ; wait for 20 ns; clk <= 1 ; wait for 20 ns; wait; end process stimulus;... 18

10 Regression Test Example verify : process is begin wait for 10 ns; assert q0a = q0b and q1a = q1b and q2a = q2b and q3a = q3b report implementations have different outputs severity error; wait on d0, d1, d2, d3, en, clk; end process verify; end architecture regression; 19 20

11 Synthesis Register Transfer Level Synthesis: Translates register-transfer-level (RTL) design into gate-level netlist Restrictions on coding style for RTL model Tool dependent High Level Synthesis Translate behavioral code to RTL level Beyond the scope of this course Logic Level Synthesis Tranlate gate-level net list into implementation technology 21 Basic Design Methodology Requirements RTL Model Simulate Synthesize Gate-level Model Simulate Test Bench ASIC or FPGA Place & Route Timing Model 22 Simulate

12 Modeling Digital Systems: Definitions System is made up of components connected by signals Model interface to components (entity) and their behavior (architecture) A signal carries logical values logical values: 1 and 0 these are abstractions for real voltage values convenient for modeling digital systems Signals change value over time a change in value is an event A time ordered sequence of events on a signal produces a waveform 23 Example: Half Adder Inputs Outputs a b s c c = a. b s = a + b a c b Half adder s 24

13 Half Adder Timing a b s c time a b c s Event on b: XOR evaluates causes s to change value There is a propagation delay associated with a logic gate evaluating 25 Events and Signals Event: 0 1 transition 1 0 transition Signal values: 0, 1 When simulator starts, signals are undefined: U What happens if I have a short circuit? Driving both 0 and 1 on same wire: X (meaning for simulation, not for synthesis) High Impedance output: Z Don t Care: 26

14 Signal Types In VHDL all signals have types We use the type std_logic It is defined in a package: ieee.std_logic_1164.all It defines a std_logic signal to be able to have values: 0, 1, X, U, Z, and 3 others 27 Half Adder in VHDL Describe entity, architecture library ieee; use ieee.std_logic_1164.all; entity half_adder is port (a,b: in std_logic; sum, carry: out std_logic); end entity half_adder; half_adder is the name of the entity port ( ); is the port list 28

15 VHDL syntax VHDL syntax: coment ; ends a line VHDL is case INsensitive halfadder is the same as HALFADDER is the same as halfadder From the language templates in the Xilinx tool: entity ENTITY_NAME is port ( <port_declarations> ); end ENTITY_NAME; 29 VHDL ports port (a,b: in std_logic; sum, carry: out std_logic); A port is described as: A signal name A mode: in, out or inout (many synthesis tools do not allow inout) A type we are using std_logic library ieee; use ieee.std_logic_1164.all; ieee package defines the type std_logic and operators on std_logic (and, or,...) Packages are stored in a library 30

16 Half Adder Architecture So far we have only described the interface Architecture describes how the half adder behaves architecture blogic of half_adder is begin sum <= (a xor b) after 5 ns; carry <= (a and b) after 5 ns; end architecture blogic; Boolean logic operators: and, or, nand, nor, xor, xnor, not these are defined in package std_logic 31 Signal Assignment sum <= (a xor b) after 5 ns; <= is signal assignment signal assignment always has some delay associated with it sum <= (a xor b) after 5 ns; gets evaluated whenever a or b change sum gets updated 5 nseconds later (simulator) To understand this, need to know something about how the simulator works 32

17 Event: 0 1 transition 1 0 transition Events Over time, a sequence of events on a signal produce a waveform on that signal The effects of an event propagate through the circuit: events on inputs cause changes on internal signals and on output signals ouputs are inputs to other circuits... Digital circuits are modeled with: events, delays, concurrent operation, waveforms 33 VHDL Simulator Assumption: All gates have some delay between input changing and output changing minimum delay is δ Simulator models delays, events, concurrency Events change in value at a discrete point in time In other words, transitions are instantaneous There is no delay for the transition itself 34

18 VHDL s Simulation Model 1. Initialize all signals, set time to t =0 2. For all signals that have events at time t, activate processes, statements or gates triggered by those signals 3. Evaluate processes and schedule events on outputs to occur at future time (never NOW!) by putting events in time queue 4. If there are more events (or simulation time not over) Then update t to next event and go to step 2 Else simulation over Next event may be at t + δ, t + 5ns, t + 2 minutes VHDL Simulation This is discrete event simulation: Advance time to next event Only model events or changes in the circuit Alternative: advance time to next possible time and simulate. This is NOT used in VHDL. Two stages: propagate events and signals and evaluate their effects Schedule outputs to change some time in the future 36

19 Simulation Definitions Signals are values on wires that change over time Components (gates, flip-flops,...) take signals as inputs and generate signals as outputs A system is a set of components connected by wires An event occurs on a signal when it changes value An event has a time associated with it 37 Discrete Event Simulation Discrete Event Simulation (DES) has an event list data structure: Ordered list of future events Ordered by time stamp of event time stamp is time in future that event will occur Simulator clock keeps track of current time in system State of simulation: value of all signals at current time Initially all signals are uninitialized 38

20 39 40

21 How to use the simulator Describe circuit in VHDL Describe inputs to circuit for simulation purposes How are input events described? In simulator, manually set inputs look at outputs or write a testbench to set inputs monitor outputs User writes a testbench: Can be written in VHDL Includes Design Under Test (DUT) as a component Specifies input stimuli, may check outputs Usually no ports in a testbench Usually NOT synthesizable 41 Xilinx has a tool for creating a testbench The Xilinx suite has a tool that will automatically create a testbench for you: You create a waveform using a graphical display The Xilinx Tools automatically translate this into VHDL See ECEU323 lab 1 for using the testbench generator and for automatically launching Modelsim from the Xilinx tools: ECEU323 Lab 1 Section 5.1 You can do the same thing for a VHDL design! This is in the tutorial ECEU323 Lab 2 Section 4.1 explains how to print out the bitmap from your Modelsim waveform window 42

22 Testbench TESTBENCH MODEL Stimuli VHDL Part Model Results File Input File / Graphical Output 43 VHDL Features Designs may be decomposed hierarchically Each design element has both an interface and an architectural specification Architectural specifications can use an algorithm or a structure to define the element's operation, or a mix of the two Concurrency, timing, and clocking can be modelled The logical operation and timing behavior of a design can be simulated 44

23 Modeling Hardware With VHDL Package Generic Entity Ports Behavioral Functional Dataflow Structural Architecture Architecture Architecture Architecture 45 Modeling Hardware with VHDL (2) 46

24 47 48

25 An architecture may use other entities. A high-level architecture may use a lower-level entity multiple times Multiple top-level architectures may use the same lower-level entity This forms the basis for hierarchical system design Hierarchical Design VHDL Language Details In the text file of a VHDL program, the entity declaration and the architecture definition are separated The language is not case sensitive Comments begin with 2 hyphens (--) and finish at the end of the line. VHDL defines many reserved words(port, is, in, out, begin, end, entity, architecture, if, case,...).

26 Entity Declaration Syntax mode specifies the signal direction: in: input to the entity out: output of the entity inout: input and output of the entity signal-type is a built-in or user-defined signal type Architecture Definition Syntax The declarations can appear in any order In signal declarations, internal signals to the architecture are defined: signal signal-names : signal-type;

27 53 54

28 Signals, Variables, Constants A signal describes a waveform A signal is a series of time, event pairs Signals correspond to wires in a circuit A variable is a value Variables have no notion of time associated with them Variables do not directly model something in a circuit Variables are helpers for programming constructs A constant is a variable that cannot be changed Signals and variables can be initialized (Many synthesis tools do not allow signals to be initialized) Constants MUST be initialized, and can never be changed 55 VHDL Types All signals, variables, and constants MUST have an associated type A type specifies the set of valid values for the object and the operators that can be applied to it VHDL is a strongly typed language VHDL has several pre-defined types: integer includes the range through boolean has two values, true and false character includes the characters in the ISO 8-bit character set

29 VHDL Operators Built-in operators for integer and boolean types Enumerated Types Enumerated types are defined by listing the allowed values STD_ULOGIC is an enumerated type in VHDL

30 User Defined Types User-defined types are common in VHDL programs User defined types can be enumerated types or subtypes of an existing type type traffic_light_state is (reset, stop, start, go); subtype bitnum is integer range 31 downto 0; constant BUS_SIZE: integer := 32; VHDL Array Types Array types are also user-defined

31 VHDL Types types scalar types access types file types composite types discrete types floatingpoint types physical types array types record types integer types enumeration types real time unconstrained array types constrained array types integer severity_level bit_vector file_open_status string boolean file_open_kind bit character 61 Constants, Variables, Signals constants have type and value the value never changes variables have type, initial value (optional) updated without delay signals have type always delay before updating variable assignment: sequential statement := evaluates when you come across it in the code signal assignment: concurrent statement <= evaluates when signal on right hand side (RHS) changes I can mix variables and signals I cannot mix types! 62

32 Variables vs. Signals Variables have a current value, changes immediately used in behavioral style code auxilliary functions Signals are a sequence of (value, time) pairs used for wires in a circuit values on signals can be viewed as a waveform 63 Concurrent vs. Sequential Concurrent VHDL statements are active all the time whenever inputs change, outputs can be scheduled to change Sequential VHDL statements are evaluated when they are reached in the program Concurrent and sequential statements can be used to describe combinational hardware Concurrent and sequential statements can be used to describe sequential hardware Type of VHDL statement is about the code, not the circuit! 64

33 VHDL concurrent statements A signal assignment is a concurrent statement: Y <= ((not sel) and A) or (sel and B)); statement is evaluated whenever sel, A, or B change A process statement is a concurrent statement process( A, B, sel) is begin Y <= ((not sel) and A) or (sel and B)); end process; 65 Process statement process ( ) <declarations> sensitivity begin list <sequential statements> end process; If signal on sensitivity list changes, evaluate process A signal assignment statement is a one-line process all signals on the RHS of the signal assignment statement are automatically in the sensitivity list 66

34 Signal Assignment is a Process The signal assignment: Y <= ((not sel) and A) or (sel and B)); Is the SAME as the process statement: process( A, B, sel) is begin Y <= (A and (not sel)) or (B and sel); end process; NOTE: <= -- signal assignment := -- variable assignment = -- comparison if sel = 0 67 Sequential Statements Must be inside a process Why? so simulator knows when to evaluate them Sequential statements: variable assignment if... then... else 68

35 Libraries and Packages Libraries provide a set of hardware designs, components, and functions that simplify the task of designing Packages provide a collection of commonly used data types and subprograms used in a design The following is an example of the use of the IEEE library and its STD_LOGIC_1164 package: LIBRARY ieee; USE ieee.std_logic_1164.all; 69 Signals Signals represent wires and storage elements within a VHDL design Signals may only be defined inside architectures Signals are associated with a data type Signals may have attributes VHDL is a strongly typed language: Explicit type conversion is supported Implicit type conversion is not supported 70

36 Signal Representations Binary number representations are sufficient for software programming languages Forcing 1 Binary 1 Forcing 0 0 Physical wires cannot be modelled accurately using a binary number representation Additional values are necessary to accurately represent the state of a wire 71 IEEE Packages IEEE defined a 9 valued logic system IEEE developed two packages for this system STD_LOGIC_1164.VHD Defines the basic value system and associated functions Used as is by vendors NUMERIC_STD.VHD Provides overloaded arithmetic and other operators for synthesis Vendors have developed their own versions of this 72

37 STD_LOGIC_1164 Data Types STD_LOGIC_1164 is a standardized package that implements a set of data types Data Type STD_ULOGIC STD_ULOGIC_VECTOR STD_LOGIC STD_LOGIC_VECTOR Characteristics MVL 9, Unresolved MVL 9, Unresolved, Array MVL 9, Resolved MVL 9, Resolved, Array IEEE recommends the use of the STD_LOGIC and STD_LOGIC_VECTOR data types 73 STD_LOGIC_ Logic Values IEEE Standard type STD_ULOGIC is ( U,-- Uninitialized X,-- Forcing Unknown 0,-- Forcing 0 1, -- Forcing 1 Z,-- High Impedance W,-- Weak Unknown L,-- Weak 0 H,-- Weak 1 -,-- Don t care ); 74

38 Signal Strengths Needed to model bus contention Logic values have strength 0 strong zero; 1 strong one L weak zero; H weak one Models the effect of source impedance Suppose R is the resolution function, then strong dominates weak, i.e. 0 R H = H R 0 = 0 1 R L = L R 1 = 1 75 Unknown Values X: value is 0 or 1 W: value is L or H X and W are unknown values that arise from: Bus contention, i.e. resolving opposite values of the same strength yields unknowns of that strength 0 R 1 = 1 R 0 = X L R H = H R L = W error conditions, e.g, a flip flop has an unknown state Strength and weakness applied among values and unknowns also, e.g.: L R X = X, 1 R W = 1 76

39 Z and Z represents high impedance, i.e., the output of a tristate buffer that is turned off represents don t care synthesis: represents a logic don t care that can be used for logic minimization Can cause trouble in comparison statements simulation: sometimes acts like an X, is converted to an X when operated on 77 What happens if we connect the outputs of two logic gates to the same point? 78

40 Tristate Logic and Z The most common tristate device is the tristate buffer When E =0, Y = A, i.e. this is a noninverting buffer When E =1, the output is in the high-z state 79 Tristate logic Multiple tristate gates can have their outputs connected together, provided that at most one of them is enabled at any one time If you enable more than one of the gates, you are back to the same old problem of devices fighting one another It is therefore important to design the enable logic correctly 80

41 Resolution CONSTANT resolution_table : stdlogic_table := ( U X 0 1 Z W L H ( 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U', 'U' ), -- U ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X' ), -- X ( 'U', 'X', '0', 'X', '0', '0', '0', '0', 'X' ), -- 0 ( 'U', 'X', 'X', '1', '1', '1', '1', '1', 'X' ), -- 1 ( 'U', 'X', '0', '1', 'Z', 'W', 'L', 'H', 'X' ), -- Z ( 'U', 'X', '0', '1', 'W', 'W', 'W','W', 'X' ), -- W ( 'U', 'X', '0', '1', 'L', 'W', 'L', 'W', 'X' ), -- L ( 'U', 'X', '0', '1', 'H', 'W', 'W', 'H', 'X' ), -- H ( 'U', 'X', 'X', 'X', 'X', 'X', 'X', X', 'X' ) -- - ); 81 STD_LOGIC Definition *** industry standard logic type *** SUBTYPE std_logic IS resolved std_ulogic; unconstrained array of std_logic for use -- in declaring signal arrays TYPE std_logic_vector IS ARRAY ( NATURAL RANGE <>) OF std_logic; 82

42 Resolution Function - Resolved FUNCTION resolved ( s : std_ulogic_vector ) RETURN std_ulogic IS VARIABLE result: std_ulogic := 'Z'; -- weakest state default BEGIN -- the test for a single driver is essential -- otherwise the loop would return 'X' for a single -- driver of '-' and that would conflict with the -- value of a single driver unresolved signal IF (s'length = 1) THEN RETURN s(s'low); ELSE FOR i IN s'range LOOP result := resolution_table(result, s(i)); END LOOP; END IF; RETURN result; END resolved; 83

ECE U530 Digital Hardware Synthesis. Programming Assignments

ECE U530 Digital Hardware Synthesis. Programming Assignments ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 11, 2006 Lecture 2: CAD TOOLS: Xilinx and Modelsim Levels of Design VHDL Introduction ECE U530 F06 Programming Assignments All

More information

CMSC 611: Advanced Computer Architecture

CMSC 611: Advanced Computer Architecture CMSC 611: Advanced Computer Architecture Design Languages Practically everything adapted from slides by Peter J. Ashenden, VHDL Quick Start Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr

More information

Introduction to VHDL. Main language concepts

Introduction to VHDL. Main language concepts Introduction to VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Current standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab

More information

Inthis lecture we will cover the following material:

Inthis lecture we will cover the following material: Lecture #8 Inthis lecture we will cover the following material: The standard package, The std_logic_1164 Concordia Objects & data Types (Signals, Variables, Constants, Literals, Character) Types and Subtypes

More information

EEL 4783: Hardware/Software Co-design with FPGAs

EEL 4783: Hardware/Software Co-design with FPGAs EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description

More information

Basic Language Concepts

Basic Language Concepts Basic Language Concepts Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) Describing Design Entities a sum b carry Primary programming abstraction is a design entity Register, logic block,

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts

More information

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\

CSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,

More information

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden Synthesis from VHDL Krzysztof Kuchcinski Krzysztof.Kuchcinski@cs.lth.se Department of Computer Science Lund Institute of Technology Sweden March 23, 2006 Kris Kuchcinski (LTH) Synthesis from VHDL March

More information

A bird s eye view on VHDL!

A bird s eye view on VHDL! Advanced Topics on Heterogeneous System Architectures A bird s eye view on VHDL Politecnico di Milano Conference Room, Bld 20 19 November, 2015 Antonio R. Miele Marco D. Santambrogio Politecnico di Milano

More information

Introduction to VHDL #1

Introduction to VHDL #1 ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn

More information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware

More information

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -

5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) - Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands

More information

Subprograms, Packages, and Libraries

Subprograms, Packages, and Libraries Subprograms, Packages, and Libraries Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) function rising_edge (signal clock: std_logic) return boolean is declarative region: declare variables

More information

Lecture 3 Introduction to VHDL

Lecture 3 Introduction to VHDL CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

Synthesis of Digital Systems CS 411N / CSL 719. Part 3: Hardware Description Languages - VHDL

Synthesis of Digital Systems CS 411N / CSL 719. Part 3: Hardware Description Languages - VHDL Synthesis of Digital Systems CS 411N / CSL 719 Part 3: Hardware Description Languages - VHDL Instructor: Preeti Ranjan Panda Department of Computer Science and Engineering Indian Institute of Technology,

More information

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized

Multi-valued Logic. Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized Multi-valued Logic Standard Logic IEEE 1164 Type std_ulogic is ( U, uninitialized X, unknown 0, logic 0 1, logic 1 Z, high impedance W, unknown L, logic 0 weak H, logic 1 weak - ); don t care Standard

More information

Concurrent Signal Assignment Statements (CSAs)

Concurrent Signal Assignment Statements (CSAs) Concurrent Signal Assignment Statements (CSAs) Digital systems operate with concurrent signals Signals are assigned values at a specific point in time. VHDL uses signal assignment statements Specify value

More information

C-Based Hardware Design

C-Based Hardware Design LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples

More information

VHDL for FPGA Design. by : Mohamed Samy

VHDL for FPGA Design. by : Mohamed Samy VHDL for FPGA Design by : Mohamed Samy VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

Introduction to VHDL

Introduction to VHDL Introduction to VHDL Agenda Introduce VHDL Basic VHDL constructs Implementing circuit functions Logic, Muxes Clocked Circuits Counters, Shifters State Machines FPGA design and implementation issues FPGA

More information

310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006

310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court

More information

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language

More information

VHDL simulation and synthesis

VHDL simulation and synthesis VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis

More information

Lecture 10 Subprograms & Overloading

Lecture 10 Subprograms & Overloading CPE 487: Digital System Design Spring 2018 Lecture 10 Subprograms & Overloading Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Subprograms

More information

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity

ECEU530. Schedule. ECE U530 Digital Hardware Synthesis. Datapath for the Calculator (HW 5) HW 5 Datapath Entity ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 6, 2006 Classes November 6 and 8 are in 429 Dana! Lecture 15: Homework 5: Datapath How to write a testbench for synchronous

More information

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009

Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009 2065-15 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis 26 October - 20 November, 2009 FPGA Architectures & VHDL Introduction to Synthesis Nizar Abdallah ACTEL Corp.2061

More information

Design units can NOT be split across different files

Design units can NOT be split across different files Skeleton of a Basic VHDL Program This slide set covers the components to a basic VHDL program, including lexical elements, program format, data types and operators A VHDL program consists of a collection

More information

VHDL Part 2. What is on the agenda? Basic VHDL Constructs. Examples. Data types Objects Packages and libraries Attributes Predefined operators

VHDL Part 2. What is on the agenda? Basic VHDL Constructs. Examples. Data types Objects Packages and libraries Attributes Predefined operators VHDL Part 2 Some of the slides are taken from http://www.ece.uah.edu/~milenka/cpe428-02s/ What is on the agenda? Basic VHDL Constructs Data types Objects Packages and libraries Attributes Predefined operators

More information

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1 DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,

More information

Lecture 4. VHDL Fundamentals. George Mason University

Lecture 4. VHDL Fundamentals. George Mason University Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with

More information

ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory

ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory Instructor John Chandy Office: ITEB 437 Office Hours: W10-12 Tel: (860) 486-5047 Email: john.chandy@uconn chandy@uconn.edu Class home page: HuskyCT

More information

VHDL And Synthesis Review

VHDL And Synthesis Review VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only

More information

Contents. Appendix D VHDL Summary Page 1 of 23

Contents. Appendix D VHDL Summary Page 1 of 23 Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data

More information

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :

UNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library : UNIT I Introduction to VHDL VHDL stands for very high-speed integrated circuit hardware description language. Which is one of the programming languages used to model a digital system by dataflow, behavioral

More information

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu November 8, 2006 Midterm Average: 70 Lecture 16: Midterm Solutions Homework 6: Calculator Handshaking HW 6: Due Wednesday, November

More information

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 MARIE CURIE IAPP: FAST TRACKER FOR HADRON COLLIDER EXPERIMENTS 1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 Introduction to VHDL Calliope-Louisa Sotiropoulou PhD Candidate/Researcher Aristotle University

More information

Hardware Description Language VHDL (1) Introduction

Hardware Description Language VHDL (1) Introduction Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for

More information

Verilog HDL is one of the two most common Hardware Description Languages (HDL) used by integrated circuit (IC) designers. The other one is VHDL.

Verilog HDL is one of the two most common Hardware Description Languages (HDL) used by integrated circuit (IC) designers. The other one is VHDL. Verilog HDL is one of the two most common Hardware Description Languages (HDL) used by integrated circuit (IC) designers. The other one is VHDL. HDL s allows the design to be simulated earlier in the design

More information

ECE 545 Lecture 4. Simple Testbenches. George Mason University

ECE 545 Lecture 4. Simple Testbenches. George Mason University ECE 545 Lecture 4 Simple Testbenches George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 2.2.4, Testbenches 2 Testbenches ECE 448 FPGA and ASIC Design with VHDL 3 Testbench

More information

Digital Systems Design

Digital Systems Design IAY 0600 Example: HalfAdder Behavior Structure Digital Systems Design a b Sum Carry 0 0 0 0 0 1 1 0 a b HalfAdder Sum Carry 1 0 1 0 VHDL discussion Dataflow Style Combinational Design 1 1 0 1 a Sum Sum

More information

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University

ECE 545 Lecture 5. Data Flow Modeling in VHDL. George Mason University ECE 545 Lecture 5 Data Flow Modeling in VHDL George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 4, Concurrent Signal Assignment Statements of VHDL 2 Types of VHDL Description

More information

Review of Digital Design with VHDL

Review of Digital Design with VHDL Review of Digital Design with VHDL Digital World Digital world is a world of 0 and 1 Each binary digit is called a bit Eight consecutive bits are called a byte Hexadecimal (base 16) representation for

More information

VHDL: A Crash Course

VHDL: A Crash Course VHDL: A Crash Course Dr. Manuel Jiménez With contributions by: Irvin Ortiz Flores Electrical and Computer Engineering Department University of Puerto Rico - Mayaguez Outline Background Program Structure

More information

ECE 3401 Lecture 10. More on VHDL

ECE 3401 Lecture 10. More on VHDL ECE 3401 Lecture 10 More on VHDL Outline More on VHDL Some VHDL Basics Data Types Operators Delay Models VHDL for Simulation VHDL for Synthesis 1 Data Types Every signal has a type, type specifies possible

More information

CDA 4253 FPGA System Design Introduction to VHDL. Hao Zheng Dept of Comp Sci & Eng USF

CDA 4253 FPGA System Design Introduction to VHDL. Hao Zheng Dept of Comp Sci & Eng USF CDA 4253 FPGA System Design Introduction to VHDL Hao Zheng Dept of Comp Sci & Eng USF Reading P. Chu, FPGA Prototyping by VHDL Examples Chapter 1, Gate-level combinational circuits Two purposes of using

More information

The University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003

The University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003 The University of Alabama in Huntsville ECE Department CPE 526 01 Midterm Exam February 26, 2003 1. (20 points) Describe the following logic expression (A B D) + (A B C) + (B C ) with a structural VHDL

More information

Discrete Event Models

Discrete Event Models 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 10 月 28 日 These slides use Microsoft clip arts. Microsoft copyright

More information

VHDL for Complex Designs

VHDL for Complex Designs ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After

More information

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1

Lecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1 Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The

More information

Computer-Aided Digital System Design VHDL

Computer-Aided Digital System Design VHDL بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles

More information

Lecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity

Lecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity Required reading Lecture 4 VHDL Fundamentals P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL George Mason University 2 Example: NAND Gate Design Entity a b z a b z 0

More information

The process. Sensitivity lists

The process. Sensitivity lists The process process itself is a concurrent statement but the code inside the process is executed sequentially Process label (optional) Process declarative region Process body entity Test is, : in bit;

More information

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements What is Verilog HDL? Lecture 1: Verilog HDL Introduction Verilog Hardware Description Language(HDL)? A high-level computer language can model, represent and simulate digital design Hardware concurrency

More information

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.

More information

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements

EECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy

More information

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger

More information

Outline. CPE/EE 422/522 Advanced Logic Design L07. Review: JK Flip-Flop Model. Review: VHDL Program Structure. Review: VHDL Models for a MUX

Outline. CPE/EE 422/522 Advanced Logic Design L07. Review: JK Flip-Flop Model. Review: VHDL Program Structure. Review: VHDL Models for a MUX Outline CPE/EE 422/522 Advanced Logic Design L07 Electrical and Computer Engineering University of Alabama in Huntsville What we know How to model Combinational Networks in VHDL Structural, Dataflow, Behavioral

More information

Designing with VHDL and FPGA

Designing with VHDL and FPGA Designing with VHDL and FPGA Instructor: Dr. Ahmad El-Banna lab# 5-II 1 Agenda Structural way in VHDL Mixed Example 2 Modeling the Structurural way Structural architecture implements the module as a composition

More information

N-input EX-NOR gate. N-output inverter. N-input NOR gate

N-input EX-NOR gate. N-output inverter. N-input NOR gate Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It

More information

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs.

Outline CPE 626. Advanced VLSI Design. Lecture 4: VHDL Recapitulation (Part 2) Signals. Variables. Constants. Variables vs. CPE 626 Lecture 4: VHDL Recapitulation (Part 2) Aleksandar Milenkovic http://www.ece.uah.edu/~milenka http://www.ece.uah.edu/~milenka/cpe626-04f/ milenka@ece.uah.edu Assistant Professor Electrical and

More information

Lecture 12 VHDL Synthesis

Lecture 12 VHDL Synthesis CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University

More information

Multi-valued logic and standard IEEE 1164

Multi-valued logic and standard IEEE 1164 Multi-valued logic and standard IEEE 1164 Jian-Jia Chen (Slides are based on Peter Marwedel) TU Dortmund, Informatik 12 2015 年 11 月 10 日 These slides use Microsoft clip arts. Microsoft copyright restrictions

More information

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language 1 / 15 2014/11/20 0 EDA (Electronic Design Assistance) 0 Computer based language 0 HDL (Hardware Description Language) 0 Verilog HDL 0 Created by Gateway Design Automation Corp. in 1983 First modern hardware

More information

What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993)

What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993) What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993) Only possible to synthesize logic from a subset of VHDL Subset varies according to

More information

CS232 VHDL Lecture. Types

CS232 VHDL Lecture. Types CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2

More information

CPE/EE 422/522. Chapter 8 - Additional Topics in VHDL. Dr. Rhonda Kay Gaede UAH. 8.1 Attributes - Signal Attributes that return a value

CPE/EE 422/522. Chapter 8 - Additional Topics in VHDL. Dr. Rhonda Kay Gaede UAH. 8.1 Attributes - Signal Attributes that return a value CPE/EE 422/522 Chapter 8 - Additional Topics in VHDL Dr. Rhonda Kay Gaede UAH 1 8.1 Attributes - Signal Attributes that return a value A event true if a has just occurred A active true if A has, even if

More information

Embedded Systems CS - ES

Embedded Systems CS - ES Embedded Systems - 1 - REVIEW Hardware/System description languages VDHL VHDL-AMS SystemC TLM - 2 - VHDL REVIEW Main goal was modeling of digital circuits Modelling at various levels of abstraction Technology-independent

More information

VHDL: RTL Synthesis Basics. 1 of 59

VHDL: RTL Synthesis Basics. 1 of 59 VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.

More information

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture) Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There

More information

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL

IE1204 Digital Design L7: Combinational circuits, Introduction to VHDL IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Review of Combinatorial Circuit Building Blocks: VHDL for Combinational Circuits Dr. D. J. Jackson Lecture 2-1 Introduction to VHDL Designer writes a logic circuit description in

More information

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit

VHDL. Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit VHDL VHDL Official Definition: VHSIC Hardware Description Language VHISC Very High Speed Integrated Circuit VHDL Alternative (Student Generated) Definition Very Hard Digital Logic language VHDL Design

More information

Basic Language Constructs of VHDL

Basic Language Constructs of VHDL Basic Language Constructs of VHDL Chapter 3 1 Outline 1. Basic VHDL program 2. Lexical elements and program format 3. Objects 4. Data type and operators Chapter 3 2 1. Basic VHDL program Chapter 3 3 Design

More information

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification. 1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus

More information

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University

ECE 545 Lecture 8. Data Flow Description of Combinational-Circuit Building Blocks. George Mason University ECE 545 Lecture 8 Data Flow Description of Combinational-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 7, Combinational Circuit Design:

More information

Digitaalsüsteemide disain

Digitaalsüsteemide disain IAY 0600 Digitaalsüsteemide disain VHDL discussion Verification: Testbenches Design verification We want to verify that our design is correct before the target PLD is programmed. The process performed

More information

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for

More information

[1] Douglas L. Perry, VHDL, third edition, ISBN , McRaw- Hill Series on Computer Engineering.

[1] Douglas L. Perry, VHDL, third edition, ISBN , McRaw- Hill Series on Computer Engineering. Lecture 12 1 Reference list [1] Douglas L. Perry, VHDL, third edition, ISBN 0-07-049436-3, McRaw- Hill Series on Computer Engineering. [2] Kevin Skahil, VHDL for programmable logic, ISBN 0-201-89586-2

More information

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez

Introduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez Introduction to VHDL Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez What is VHDL? Very High Speed Integrated Circuit Hardware

More information

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language) Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable

More information

Lattice VHDL Training

Lattice VHDL Training Lattice Part I February 2000 1 VHDL Basic Modeling Structure February 2000 2 VHDL Design Description VHDL language describes a digital system as a set of modular blocks. Each modular block is described

More information

TKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008

TKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL

More information

VHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning

VHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Cengage Learning Design Flow 418_02 2 VHDL Modules 418_02 3 VHDL Libraries library IEEE; use IEEE.std_logic_1164.all; std_logic Single-bit

More information

Lecture 3. VHDL Design Units and Methods. Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory

Lecture 3. VHDL Design Units and Methods. Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory Lecture 3 Entity, Architecture, and Components Examples of Combinational Logic Hands-on in the Laboratory BTF4220 - Digital Electronics 2 Mar. 06, 2015 Bern University of Applied Sciences Agenda Rev. ec317bd

More information

COE 405 Design Methodology Based on VHDL

COE 405 Design Methodology Based on VHDL COE 405 Design Methodology Based on VHDL Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Elements of VHDL Top-Down Design Top-Down Design with

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic

ECE 448 Lecture 3. Combinational-Circuit Building Blocks. Data Flow Modeling of Combinational Logic ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 3, RT-level

More information

2/14/2016. Hardware Synthesis. Midia Reshadi. CE Department. Entities, Architectures, and Coding.

2/14/2016. Hardware Synthesis. Midia Reshadi. CE Department.   Entities, Architectures, and Coding. Hardware Synthesis MidiaReshadi CE Department Science and research branch of Islamic Azad University Email: ce.srbiau@gmail.com Midia Reshadi 1 Chapter 2 Entities, Architectures, and Coding Styles Midia

More information

Menu. Introduction to VHDL EEL3701 EEL3701. Intro to VHDL

Menu. Introduction to VHDL EEL3701 EEL3701. Intro to VHDL 3-Jul-1 4:34 PM VHDL VHDL: The Entity VHL: IEEE 1076 TYPE VHDL: IEEE 1164 TYPE VHDL: The Architecture Mixed-Logic in VHDL VHDL MUX examples See also example file on web: Creating graphical components (Component_Creation.pdf)

More information

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University ECE 545 Lecture 6 Behavioral Modeling of Sequential-Circuit Building Blocks George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 5.1, VHDL Process Chapter 8, Sequential

More information

Very High Speed Integrated Circuit Har dware Description Language

Very High Speed Integrated Circuit Har dware Description Language Very High Speed Integrated Circuit Har dware Description Language Industry standard language to describe hardware Originated from work in 70 s & 80 s by the U.S. Departm ent of Defence Root : ADA Language

More information

PART I THE VHDL LANGUAGE CHAPTER 1: TOP LEVEL VHDL OVERVIEW

PART I THE VHDL LANGUAGE CHAPTER 1: TOP LEVEL VHDL OVERVIEW PART I THE VHDL LANGUAGE CHAPTER 1: TOP LEVEL VHDL OVERVIEW 1.0 VHDL design Units The VHDL language is specifically tailored to designing circuits at both behavioral and gate levels. Although it may be

More information

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory CS211 Digital Systems/Lab Introduction to VHDL Hyotaek Shim, Computer Architecture Laboratory Programmable Logic Device (PLD) 2/32 An electronic component used to build reconfigurable digital circuits

More information

VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit.

VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit. VHDL is a hardware description language. The code describes the behavior or structure of an electronic circuit. Its main applications include synthesis of digital circuits onto CPLD/FPGA (Complex Programmable

More information