Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 376 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
376
Dung lượng
5,01 MB
Nội dung
with VHDL
Volnei A. Pedroni
Circuit Design
Circuit Designwith VHDL
Volnei A. Pedroni
This textbook teaches VHDL using system examples com-
bined with programmable logic and supported by laboratory
exercises. While other textbooks concentrate only on lan-
guage features,
Circuit Designwith VHDL
offers a fully inte-
grated presentation of VHDL and design concepts by
including a large number of complete design examples,
illustrative circuit diagrams, a review of fundamental design
concepts, fully explained solutions, and simulation results.
The text presents the information concisely yet completely,
discussing in detail all indispensable features of the VHDL
synthesis. The book is organized in a clear progression, with
the first part covering the circuit level, treating foundations
of VHDL and fundamental coding, while the second part cov-
ers the system level (units that might be located in a library
for code sharing, reuse, and partitioning), expanding upon
the earlier chapters to discuss system coding.
Part I, “Circuit Design,” examines in detail the back-
ground and coding techniques of VHDL, including code
structure, data types, operators and attributes, concurrent
and sequential statements and code, objects (signals, vari-
ables, and constants), design of finite state machines, and
examples of additional circuit designs. Part II, “System
Design,” builds on the material already presented, adding
elements intended mainly for library allocation; it examines
packages and components, functions and procedures, and
additional examples of system design. Appendixes on pro-
grammable logic devices (PLDs/FPGAs) and synthesis tools
follow Part II. The book’s highly original approach of teach-
ing through extensive system examples, as well as its
unique integration of VHDL and design, makes it suitable
both for use by students in computer science and electrical
engineering.
Volnei A. Pedroni earned his Ph.D. in electrical engineering
from Caltech. He is currently Professor of Electrical
Engineering at CEFET-PR (Federal Center of Technological
Education of Parana), Brazil.
The MIT Press
Massachusetts Institute of Technology
Cambridge, Massachusetts 02142
http://mitpress.mit.edu
0-262-16224-5
,!7IA2G2-bgcceb!:t;K;k;K;k
Circuit Design
with
VHDL
Pedroni
46183Pedroninew 2004-10-11 14:06 Page 1
TLFeBOOK
Circuit Designwith VHDL
TLFeBOOK
TLFeBOOK
Circuit Designwith VHDL
Volnei A. Pedroni
MIT Press
Cambridge, Massachusetts
London, England
TLFeBOOK
6 2004 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical
means (including photocopying, recording, or information storage and retrieval) without permission in
writing from the publisher.
This book was set in Times New Roman on 3B2 by Asco Typesetters, Hong Kong and was printed and
bound in the United States of America.
Library of Congress Cataloging-in-Publication Data
Pedroni, Volnei A.
Circuit designwith VHDL/Volnei A. Pedroni.
p. cm.
Includes bibliographical references and index.
ISBN 0-262-16224-5 (alk. paper)
1. VHDL (Computer hardware description language) 2. Electronic circuit design.
3. System design. I. Title.
TK7885.7.P43 2004
621.39
0
5—dc22 2004040174
10 987654321
TLFeBOOK
To Claudia, Patricia, Bruno, and Ricardo
TLFeBOOK
TLFeBOOK
Contents
Preface xi
I CIRCUITDESIGN 1
1 Introduction 3
1.1 About VHDL 3
1.2 Design Flow 3
1.3 EDA Tools 4
1.4 Translation of VHDL Code into a Circuit 5
1.5 Design Examples 8
2 Code Structure 13
2.1 Fundamental VHDL Units 13
2.2 LIBRARY Declarations 13
2.3 ENTITY 15
2.4 ARCHITECTURE 17
2.5 Introductory Examples 17
2.6 Problems 22
3 Data Types 25
3.1 Pre-Defined Data Types 25
3.2 User-Defined Data Types 28
3.3 Subtypes 29
3.4 Arrays 30
3.5 Port Array 33
3.6 Records 35
3.7 Signed and Unsigned Data Types 35
3.8 Data Conversion 37
3.9 Summary 38
3.10 Additional Examples 38
3.11 Problems 43
4 Operators and Attributes 47
4.1 Operators 47
4.2 Attributes 50
4.3 User-Defined Attributes 52
4.4 Operator Overloading 53
TLFeBOOK
4.5 GENERIC 54
4.6 Examples 55
4.7 Summary 60
4.8 Problems 61
5 Concurrent Code 65
5.1 Concurrent versus Sequential 65
5.2 Using Operators 67
5.3 WHEN (Simple and Selected) 69
5.4 GENERATE 78
5.5 BLOCK 81
5.6 Problems 84
6 Sequential Code 91
6.1 PROCESS 91
6.2 Signals and Variables 93
6.3 IF 94
6.4 WAIT 97
6.5 CASE 100
6.6 LOOP 105
6.7 CASE versu s IF 112
6.8 CASE versu s WHEN 113
6.9 Bad Clocking 114
6.10 Using Sequential Code to Design Combinational Circuits 118
6.11 Problems 121
7 Signals and Variables 129
7.1 CONSTANT 129
7.2 SIGNAL 130
7.3 VARIABLE 131
7.4 SIGNAL versus VARIABLE 133
7.5 Number of Registers 140
7.6 Problems 151
8 State Machines 159
8.1 Introduction 159
8.2 Design Style #1 160
8.3 Design Style #2 (Stored Output) 168
viii Contents
TLFeBOOK
8.4 Encoding Style: From Binary to OneHot 181
8.5 Problems 183
9 Additional Circuit Designs 187
9.1 Barrel Shifter 187
9.2 Signed and Unsigned Comparators 191
9.3 Carry Ripple and Carry Look Ahead Adders 194
9.4 Fixed-Point Division 198
9.5 Vending-Machine Controller 202
9.6 Serial Data Receiver 208
9.7 Parallel-to-Serial Converter 211
9.8 Playing with a Seven-Segment Display 212
9.9 Signal Generators 217
9.10 Memory Design 220
9.11 Problems 225
II SYSTEM DESIGN 231
10 Packages and Components 233
10.1 Introduction 233
10.2 PACKAGE 234
10.3 COMPONENT 236
10.4 PORT MAP 244
10.5 GENERIC MAP 244
10.6 Problems 251
11 Functions and Procedures 253
11.1 FUNCTION 253
11.2 Function Location 256
11.3 PROCEDURE 265
11.4 Procedure Location 266
11.5 FUNCTION versus PROCEDURE Summary 270
11.6 ASSERT 270
11.7 Problems 271
12 Additional System Designs 275
12.1 Serial-Parallel Multiplier 275
12.2 Parallel Multiplier 279
Contents ix
TLFeBOOK
[...]... what is at the circuit level is seen in one part of the book, while what is at the system level is in another While books on VHDL give limited emphasis to digital design concepts, and books on digital design discuss VHDL only briefly, the present work completely integrates them It is indeed a design- oriented approach To achieve the above-mentioned integration between VHDL and digital design, the following... and comments TLFeBOOK I CIRCUIT DESIGN TLFeBOOK TLFeBOOK 1 1.1 Introduction About VHDLVHDL is a hardware description language It describes the behavior of an electronic circuit or system, from which the physical circuit or system can then be attained (implemented) VHDL stands for VHSIC Hardware Description Language VHSIC is itself an abbreviation for Very High Speed Integrated Circuits, an initiative... creation of VHDL Its first version was VHDL 87, later upgraded to the so-called VHDL 93 VHDL was the original and first hardware description language to be standardized by the Institute of Electrical and Electronics Engineers, through the IEEE 1076 standard An additional standard, the IEEE 1164, was later added to introduce a multi-valued logic system VHDL is intended for circuit synthesis as well as circuit. .. Structure of the Book The book is divided into two parts: Circuit Design and System Design The first part deals with everything that goes directly inside the main code, while the second deals with units that might be located in a library (for code sharing, reuse, and partitioning) In summary, in Part I we study the entire background and coding techniques of VHDL, which includes the following: Code structure:... during such a project are summarized in figure 1.1 We start the design by writing the VHDL code, which is saved in a file with the extension TLFeBOOK 4 Chapter 1 VHDL entry (RTL level) Compilation Netlist (Gate level) Optimization Synthesis Optimized netlist (Gate level) Simulation Place & Route Physical device Simulation Figure 1.1 Summary of VHDL design flow .vhd and the same name as its ENTITY’s name The... AND cin); END dataflow; Circuit Figure 1.3 Example of VHDL code for the full-adder unit of figure 1.2 circuit, and of an ARCHITECTURE, which describes how the circuit should function We see in the latter that the sum bit is computed as s ¼ a a b a cin, while cout is obtained from cout ¼ a.b þ a.cin þ b.cin From the VHDL code shown on the left-hand side of figure 1.3, a physical circuit is inferred, as... the outputs do behave as expected 1.5 Design Examples As mentioned in the preface, the book is indeed a design- oriented approach to the task of teaching VHDL The integration between VHDL and Digital Design is achieved through a long series of well-detailed design examples A summary of the complete designs presented in the book is shown below Adders (examples 3.3 and 6.8 and section 9.3) ALU (examples... piece of VHDL code: LIBRARY declarations, ENTITY, and ARCHITECTURE 2.1 Fundamental VHDL Units As depicted in figure 2.1, a standalone piece of VHDL code is composed of at least three fundamental sections: LIBRARY declarations: Contains a list of all libraries to be used in the design For example: ieee, std, work, etc ENTITY: Specifies the I/O pins of the circuit ARCHITECTURE: Contains the VHDL code... generate the masks for an ASIC 1.3 EDA Tools There are several EDA (Electronic Design Automation) tools available for circuit synthesis, implementation, and simulation using VHDL Some tools (place and route, for example) are o¤ered as part of a vendor’s design suite (e.g., Altera’s Quartus II, which allows the synthesis of VHDL code onto Altera’s CPLD/FPGA chips, or Xilinx’s ISE suite, for Xilinx’s CPLD/FPGA... (Application Specific Integrated Circuits) Once the VHDL code has been written, it can be used either to implement the circuit in a programmable device (from Altera, Xilinx, Atmel, etc.) or can be submitted to a foundry for fabrication of an ASIC chip Currently, many complex commercial chips (microcontrollers, for example) are designed using such an approach A final note regarding VHDL is that, contrary to . 02142
http://mitpress.mit.edu
0-262-16224-5
,!7IA2G2-bgcceb!:t;K;k;K;k
Circuit Design
with
VHDL
Pedroni
46183Pedroninew 2004-10-11 14:06 Page 1
TLFeBOOK
Circuit Design with VHDL
TLFeBOOK
TLFeBOOK
Circuit Design with VHDL
Volnei. with VHDL
Volnei A. Pedroni
Circuit Design
Circuit Design with VHDL
Volnei A. Pedroni
This textbook teaches VHDL using system examples com-
bined with