Very High Speed Integrated Circuit Har dware Description Language

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

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

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

Digital Systems Design

Hardware Description Language VHDL (1) Introduction

Introduction to VHDL

Contents. Appendix D VHDL Summary Page 1 of 23

Introduction to VHDL #1

Constructing VHDL Models with CSA

The block diagram representation is given below: The output equation of a 2x1 multiplexer is given below:

Chapter 6 Combinational-Circuit Building Blocks

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

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

BASIC VHDL LANGUAGE ELEMENTS AND SEMANTICS. Lecture 7 & 8 Dr. Tayab Din Memon

ECOM 4311 Digital Systems Design

Introduction to VHDL #3

VHDL for FPGA Design. by : Mohamed Samy

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

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

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

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

VHDL: Code Structure. 1

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

Basic Language Constructs of VHDL

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

Lecture 4. VHDL Fundamentals. George Mason University

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

Introduction to VHDL. Main language concepts

VHDL 3 BASIC OPERATORS AND ARCHITECTURE BODY. Design descriptions & design constructions examples are taken from foundation series examples

VHDL And Synthesis Review

Basic Language Concepts

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

Getting Started with VHDL

Lecture 3. VHDL Design Units and Methods. Notes. Notes. Notes

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

Review. LIBRARY list of library names; USE library.package.object; ENTITY entity_name IS generic declarations PORT ( signal_name(s): mode signal_type;

Logic and Computer Design Fundamentals VHDL. Part 1 Chapter 4 Basics and Constructs

EEL 4783: Hardware/Software Co-design with FPGAs

Combinational Logic COMB. LOGIC BLOCK. A Combinational Logic Block is one where the outputs depend only on the current inputs

COVER SHEET: Total: Regrade Info: 1 (8 points) 2 ( 8 points) 3 (16 points) 4 (16 points) 5 (16 points) 6 (16 points) 7 (16 points) 8 (8 points)

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

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

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

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

VHDL Basics. Mehdi Modarressi. Department of Electrical and Computer Engineering, University of Tehran. ECE381(CAD), Lecture 4:

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

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

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

14:332:331. Computer Architecture and Assembly Language Spring Week 6

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

IT T35 Digital system desigm y - ii /s - iii

VHDL for Complex Designs

Chapter 2 Basic Logic Circuits and VHDL Description

5. 0 VHDL OPERATORS. The above classes are arranged in increasing priority when parentheses are not used.

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 3

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

Computer-Aided Digital System Design VHDL

Review of Digital Design with VHDL

Lecture 12 VHDL Synthesis

Sequential VHDL. Katarzyna Radecka. DSD COEN 313

ECE 459/559 Secure & Trustworthy Computer Hardware Design

Control and Datapath 8

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

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

VHDL Packages for Synthesis Base Types Standard bit types may be used Typically IEEE 1164 Std. types are used. CPE 528: Session #9

ENGIN 241 Digital Systems with Lab

DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 3

Entity, Architecture and Process

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Department of Electronics & Communication Engineering Lab Manual E-CAD Lab

14:332:331. Computer Architecture and Assembly Language Fall Week 5

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

ECE 545 Lecture 4. Simple Testbenches. George Mason University

Outline CPE 626. Advanced VLSI Design. Lecture 3: VHDL Recapitulation. Intro to VHDL. Intro to VHDL. Entity-Architecture Pair

Lab # 5. Subprograms. Introduction

VHDL BASIC ELEMENTS INTRODUCTION

VHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2

Declarations of Components and Entities are similar Components are virtual design entities entity OR_3 is

! Initially developed under DOD auspices, later standardized as IEEE standards , , & (standard logic data type)

Lecture 3 Introduction to VHDL

Lattice VHDL Training

Hardware Description Languages. Modeling Complex Systems

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

Hardware Modeling. VHDL Basics. ECS Group, TU Wien

!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"

ELCT 501: Digital System Design

[VARIABLE declaration] BEGIN. sequential statements

EEL 4712 Digital Design Test 1 Spring Semester 2008

PACKAGE. Package syntax: PACKAGE identifier IS...item declaration... END PACKAGE [identifier]

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

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

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

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

Design units can NOT be split across different files

VHDL 200X: The Future of VHDL

The University of Alabama in Huntsville ECE Department CPE Midterm Exam Solution Spring 2016

EE434 ASIC & Digital Systems

VHDL kod yerleşimi. kütüphaneler. Dış görünüş (entity: varlık) İşleyişi, yapısı (architecture: mimari)

SRI SUKHMANI INSTITUTE OF ENGINEERING AND TECHNOLOGY, DERA BASSI (MOHALI)

Sequential Logic - Module 5

Transcription:

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 a structured, statically typed, imperative and object-oriented high-level computer programming language based on Pascal In 1986, VHDL was proposed as an IEEE standard, and in 1987, it was adopted as the IEEE 1076 standard

VHDL Format : Library (1) Library files have commonly used packages and entities in your design. A VHDL package file contains common des ign elements that you can use in the VHDL file source file s that make up design. IEEE created the IEEE VHDL library and std_logic type i n standard 1164. Parts of the IEEE library can be included in an entity by in serting lines like these before your entity declaration Ex. library ieee; use ieee.std_logic_1164.all; most case use ieee.std_logic_arith.all;

VHDL Format : Library (2) std_logic_1164 : defines the basic std_logic data type and a few functions 0 : logic 0, 1 : logic 1, - : Don t care, 'U': uninitialized, 'X': unknown 'Z': High Impedance, 'W': Weak signal, can't tell if it should be 0 or 1. 'L': Weak signal that should probably go to 0 'H': Weak signal that should probably go to 1 logic operation : and, nand, or, nor, xor, xnor, not Ex. signal s1, s2 : std_logic; variable v1, v2 : std_logic; s1 <= 0 ; v1 := 1 ; s2 <= X ; wait for 10 ns; s2 <= s1 and v1; -- 0 v2 := s1 or v1; -- 1

VHDL Format : Library (3) std_logic_arith : defines some types and basic arithmetic operations for representing integers in standard ways a few functions arithmetic functions : +, -, * comparison functions : <, >, <=, >=, =, /= and etc. Ex. signal u1, u2 : unsigned (3 downto 0); signal s1 : signed (3 downto 0); signal s2 : signed (4 downto 0); signal v2 : std_logic_vector (4 downto 0); u1 <= 1001 ; -- = 9 s1 <= 1001 ; -- = -7 wait for 10 ns; s2 <= u1 + s1; -- = 2 v2 := u1 + s1; -- = 0010

VHDL Format : Library (4) std_logic_unsigned : defines all of the same arithmatic (+, -, *), comparison (<, <=, >, >=, =, /=) and shift (shl, shr) operations as the std_logic_arith library. This difference is that the extensions will take std_logic_vector values as arguments and treat them as unsigned integers std_logic_signed Ex. signal u1, u2 : unsigned (3 downto 0); signal s1 : signed (3 downto 0); signal s2 : signed (4 downto 0); signal v2 : std_logic_vector (4 downto 0); u1 <= 1001 ; -- = 9 s1 <= 1001 ; -- = -7 http://www.cs.sfu.ca/~ggbaker/reference/std_logic/

VHDL Format : Entity (1) Specifies the name of entity, the port of the entity and enti ty-related information. Ex 1. ENTITY and2 IS PORT ( a, b : IN BIT; c : OUT BIT ); END and2

VHDL Format : Entity (2) Ex 2. ENTITY mux4 IS PORT ( i0, i1, i2, i3, a, b : IN std_logic; q : OUT std_logic ); END mux4

VHDL Format : Architecture (1) Describes the underlying functionality of the entity and contains the st atements that model the behavior of the entity, always related to the e ntity and describes the behavior of that entity Why make connection between architecture and entity? the entity can have multiple architectures describing the behavior of the entity Ex. Concurrent Assignment ARCHITECTURE dataflow of mux4 IS SIGNAL select : INTEGER; BEGIN select <= 0 WHEN A = 0 AND B = 0 ELSE 1 WHEN A = 1 AND B = 0 ELSE 2 WHEN A = 0 AND B = 1 ELSE 3 ; Q <= i0 AFTER 0.5 NS WHEN select = 0 ELSE i1 AFTER 0.5 NS WHEN select = 1 ELSE i2 AFTER 0.5 NS WHEN select = 2 ELSE i3 ; END dataflow Event Scheduling

VHDL Format : Architecture (2) f = Ā 2 A 3 + A 1 A 3 A 4 Ex. ARCHITECTURE Logicfunc of func2 IS BEGIN f <= ((NOT A 2 ) AND A 3 ) OR (A 1 AND A 3 AND A 4 ); END Logicfunc ; f = (Ā 3 + A 4 ) (Ā 1 + A 4 ) (A 1 + Ā 2 + A 3 + Ā 4 ) Ex. ARCHITECTURE Logicfunc of func2 IS BEGIN f <= ((NOT A 3 ) OR A 4 ) AND ((NOT A 1 ) OR A 4 ) AND (A 1 OR (NOT A 2 ) OR A 3 OR (NOT A 4 )) ; END Logicfunc

VHDL Format : Architecture (3) STRUCTURAL DESIGN

VHDL Format : Architecture (4) STRUCTURAL DESIGN Ex. ARCHITECTURE netlist of mux IS COMPONENT andgate port ( a, b, c : IN bit; d : OUT bit) ; END COMPONENT ; COMPONENT inverter port ( in1 : IN bit; x : OUT bit) ; Definition END COMPONENT ; COMPONENT orgate port ( a, b, c, d : IN bit; x : OUT bit) ; END COMPONENT SIGNAL s0_inv, s1_inv, x1, x2, x3, x4 : BIT; BEGIN U1 : inverter (s0, s0_inv) ; U2 : inverter (s1, s1_inv) ; U3 : andgate (a, s0_inv, s1_inv, x1) ; U4 : andgate (b, s0, s1_inv, x2) ; U5 : andgate (c, s0_inv, s1, x3) ; U6 : andgate (d, s0, s1, x4) ; U7 : orgate (x2 => b, x1 => a, x4 => d, x3 => c, x => x) ; END netlist

VHDL Format : Architecture (5) Sequential Behavior

VHDL Format : Architecture (6) Sequential Behavior Ex. ARCHITECTURE sequential of mux IS PROCESS ( i0, i1, i2, i3, a, b) VARIABLE sel : INTEGER ; BEGIN Process Execution IF a = 0 and b = 0 THEN sel := 0 ; ELSIF a = 1 and b = 0 THEN sel := 1 ; ELSIF a = 0 and b = 1 THEN sel := 2 ; ELSE sel := 3 ; END IF ; CASE sel IS Sequential Statement WHEN 0 => q <= i0; WHEN 1 => q <= i1; WHEN 2 => q <= i2; WHEN 3 => q <= i3; END CASE END PROCESS END sequential