VHDL. Douglas L. Perry. Third Edition

Similar documents
The Designer's Guide to VHDL Second Edition

VHDL: Programming by Example Douglas L. Perry Fourth Edition

C-Based Hardware Design

0. Overview of this standard Design entities and configurations... 5

DATABASE SYSTEM CONCEPTS

ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory

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

Digital System Design with SystemVerilog

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

COE 405 Design Methodology Based on VHDL

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\

VHDL Essentials Simulation & Synthesis

Department of Technical Education DIPLOMA COURSE IN ELECTRONICS AND COMMUNICATION ENGINEERING. Fifth Semester. Subject: VHDL Programming

Declarations. Lexical elements. Type declaration Subtype declaration Constant declaration Signal declaration Variable declaration.

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY

ECOM 4311 Digital System Design using VHDL. Chapter 7

Design Entry: Schematic Capture and VHDL ENG241: Digital Design Week #4

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Description Language VHDL (1) Introduction

Review of Digital Design with VHDL

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

EEL 4783: Hardware/Software Co-design with FPGAs

VHDL: RTL Synthesis Basics. 1 of 59

A bird s eye view on VHDL!

FPGAs: Instant Access

VHDL BASIC ELEMENTS INTRODUCTION

and Networks Data Communications Second Edition Tata McGraw Hill Education Private Limited Managing Director SoftExcel Services Limited, Mumbai

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

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

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

PROGRAMMING AND CUSTOMIZING

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

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

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

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

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

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

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Contents. Appendix D VHDL Summary Page 1 of 23

ECE 3401 Lecture 10. More on VHDL

VHDL Instant. Table of contents. History

APPLIED FORMAL VERIFICATION

Simulation Modeling and Analysis

Design units can NOT be split across different files

ELCT 501: Digital System Design

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

Summary of basic structures

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

JUNE, JULY 2013 Fundamentals of HDL (10EC45) PART A

Embedded Systems CS - ES

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

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

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

VHDL for Synthesis. Course Description. Course Duration. Goals

Short Term Courses (Including Project Work)

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

Introduction to the VHDL language. VLSI Digital Design

The Power of Events. An Introduction to Complex Event Processing in Distributed Enterprise Systems. David Luckham

Digital VLSI Design with Verilog

Introduction to VHDL. Main language concepts

Computer-Aided Digital System Design VHDL

VHDL: skaitmeninių įtaisų projektavimo kalba. 2 paskaita Pradmenys

VHDL Synthesis Reference

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

Topics. Midterm Finish Chapter 7

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

VHDL Coding Styles and Methodologies. Second Edition

MAKING PIC MICROCONTROLLER INSTRUMENTS AND CONTROLLERS

THE AVR MICROCONTROLLER AND EMBEDDED SYSTEMS. Using Assembly and С

SECTION 1 FAMILIARIZATION WITH VHDL

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

Performance Engineering of Real-Time and Embedded Systems. Introduction to VHDL

A Tutorial Introduction 1

Implementation of Low Power High Speed 32 bit ALU using FPGA

A Brief Introduction to Verilog Hardware Definition Language (HDL)

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

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

VERILOG QUICKSTART. Second Edition. A Practical Guide to Simulation and Synthesis in Verilog

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

VHDL simulation and synthesis

CMSC 611: Advanced Computer Architecture

CCNA Cisco Certified Network Associate Study Guide

ECE U530 Digital Hardware Synthesis. Programming Assignments

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

ECOM4311 Digital Systems Design

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

Verilog for High Performance

Contents 1 Basic of Test and Role of HDLs 2 Verilog HDL for Design and Test

Synthesis of Combinational and Sequential Circuits with Verilog

Lab 2: Barrel Shifter Design

CompTIA" Cloud Essentials Certification Study Guide. (Exam CLO-001) ITpreneurs

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 11. Introduction to Verilog II Sequential Circuits

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 9 & 10 : Combinational and Sequential Logic

Hardware Modeling. VHDL Syntax. Vienna University of Technology Department of Computer Engineering ECS Group

Hardware Synthesis. Midia Reshadi. CE Department Science and research branch of Islamic Azad University

Transcription:

VHDL Douglas L. Perry Third Edition McGraw-Hill New York San Francisco Washington, D.C. Auckland Bogota Caracas Lisbon London Madrid Mexico City Milan Montreal New Delhi San Juan Singapore Sydney Tokyo Toronto if

CONTENTS Preface xv Chapter 1 Introduction to VHDL VHSIC Program VHDL as a Standard Learning VHDL VHDL Terms Traditional Design Methods Traditional Schematics Symbols Versus Entities Schematics Versus Architectures Component Instantiation Behavioral Descriptions Concurrent Signal Assignment Event Scheduling Statement Concurrency Sequential Behavior Process Statements Process Declarative Region Process Statement Part Process Execution Sequential Statements Architecture Selection Configuration Statements Power of Configurations 2 2 3 3 4 6 7 7 8 9 10 11 11 12 12 13 13 13 14 14 15 15 Chapter 2 Behavioral Modeling Introduction to Behavioral Modeling Transport Versus Inertial Delay Inertial Delay Transport Delay Inertial Delay Model Transport Delay Model Simulation Deltas D ri vers Driver Creation Bad Multiple Driver Model 17 18 22 22 23 24 25 25 29 29 30

Generics 31 Block Statements 33 Guarded Blocks 37 Chapter 3 Sequential Processing 41 Process Statement 42 Sensitivity List 42 Process Example 42 Signal Assignment Versus variable Assignment 44 Incorrect Mux Example 45 Correct Mux Example 47 Sequential Statements 48 IF Statements 49 CASE Statements 50 LOOP Statements 52 NEXT Statement 55 EXIT Statement 56 ASSERT Statement 58 Assertion BNF 59 WAIT Statements 61 WAIT ON Signal 64 WAIT UNTIL Expression 64 WAIT FOR time_expression 64 Multiple WAIT Conditions 65 WAIT Time-Out 66 Sensitivity List Versus WAIT Statement 68 Concurrent Assignment Problem 69 Passive Processes 72 Chapter 4 Data Types 75 Object Types 76 Signal 76 Variables 78 Constants 79 Data Types 80 Scalar Types 81 Composite Types 88 Incomplete Types 100 File Types 104 File Type Caveats 107 Subtypes 107

IX Chapter 5 Subprograms and Packages Subprograms Function Conversion Functions Resolution Functions Procedures Packages Package Declaration Deferred Constants Subprogram Declaration Package Body 111 112 112 115 121 135 137 138 138 139 140 Chapter 6 Predefined Attributes Value Kind Attributes Value Type Attributes Value Array Attributes Value Block Attributes Function Kind Attributes Function Type Attributes Function Array Attributes Function Signal Attributes Attributes EVENT and LAST_VALUE Attribute LAST_EVENT Attribute ACTIVE and LAST_ACTIVE Signal Kind Attributes Attribute DELAYED Attribute STABLE Attribute QUIET Attribute TRANSACTION Type Kind Attributes Range Kind Attributes 145 146 146 149 151 153 153 156 158 159 160 162 162 163 166 168 170 171 172 Chapter 7 Configurations Default Configurations Component Configurations Lower-Level Configurations Entity-Architecture Pair Configuration Port Maps Mapping Library Entities Generics in Configurations 175 176 178 181 182 183 185 189

Generic Value Specification in Architecture Generic Specifications in Configurations Board-Socket-Chip Analogy Block Configurations Architecture Configurations 192 195 200 204 206 Chapter 8 Chapter 9 Advanced Topics Overloading Subprogram Overloading Overloading Operators Aliases Qualified Expressions User-Defined Attributes Generate Statements Irregulär Generate Statement TextIO Synthesis Register Transfer Level Description Constraints Timing Constraints Clock Constraints Attributes Load Drive Arrival Time Technology Libraries Synthesis Translation Boolean Optimization Flattening Factoring Mapping to Gates 211 212 212 217 221 222 224 226 228 231 237 238 243 244 244 245 246 246 246 247 249 249 250 251 252 253 Chapter 10 VHDL Synthesis Simple Gate Concurrent Assignment IF Control Flow Statements Case Control Flow Statements Simple Sequential Statements Asynchronous Reset 257 258 259 262 263 266

XI Asynchronous Preset and Clear More Complex Sequentia! Statements Four-Bit Shifter State Machine Example 267 269 270 273 Chapter 11 High Level Design Flow RTL Simulation VHDL Synthesis Functional Gate Level Verification Place and Route Post Layout Urning Simulation Static Urning 281 283 285 291 292 294 295 Chapter 12 Top-Level System Design CPU Design Top-Level System Operation Instructions Sample Instruction Representation CPU Top-Level Design Block Copy Operation 297 298 298 299 300 301 307 Chapter 13 CPU: Synthesis Description ALU Comp Control Reg Regarray Shift Trireg 311 314 317 319 329 330 332 334 Chapter 14 CPU: RTL Simulation Testbenches Kinds of Testbenches Stimulus Only Füll Testbench Simulator Specific Hybrid Testbenches Fast Testbench CPU Simulation 337 338 339 341 345 348 350 353 357

Chapter 15 CPU Design: Synthesis Results 365 Control Alu Comp Reg Regarray Shirt Tri reg 368 370 372 374 376 378 380 Chapter 16 Place and Route Place and Route Process Placing and Routing the Device Setting up a project Reading in the Netlist and Performing Place and Route Analyzing the Results 385 386 389 389 392 392 Chapter 1 7 CPU: VITAL Simulation VITAL Library VITAL Simulation Process Overview VITAL Implementation Simple VITAL Model VITAL Architecture Wire Delay Section Flip-Flop Example SDF File VITAL Simulation Back-Annotated Simulation 395 397 398 398 399 402 402 404 408 410 413 Appendix A Standard Logic Package 415 Appendix B VHDL Reference Tables 437 Appendix C Reading VHDL BNF 447 Appendix D VHDL93 Updates Alias Attribute Changes Bit String Literal 451 451 452 454

DELAY_LENGTH Subtype Direct Instantiation Extended Identifiers File Operations Foreign Interface Generate Statement Changes Globally Static Assignment Groups Incremental Binding Postponed Process Pure and Impure Functions Pulse Reject Report Statement Shared Variables Shift Operators SLL shift left logical SRL shift right logical SLA shift left arithmetic SRA shift right arithmetic ROL rotate left ROR rotate right Syntax Consistency Unaffected XNOR Operator 454 454 455 456 457 458 458 459 460 461 462 462 463 463 466 466 466 468 468