Today, two main types of programmable logicICs are commonly used: the field programmable gate array FPGA and complexprogrammable logic device CPLD.. • Programmable logic field programmab
Trang 2FPGAs and CPLDs
Trang 3This page intentionally left blank
Trang 4FPGAs and CPLDs
Ian Grout
AMSTERDAM • BOSTON • HEIDELBERG • LONDON
NEW YORK • OXFORD • PARIS • SAN DIEGO
SAN FRANCISCO • SINGAPORE • SYDNEY • TOKYO
Newnes is an imprint of Elsevier
Trang 530 Corporate Drive, Suite 400, Burlington, MA 01803, USA
Linacre House, Jordan Hill, Oxford OX2 8DP, UK
Copyright 2008, Elsevier Ltd All rights reserved.
Material in Chapter 6 is reprinted, with permission, from IEEE Std 1076–2002 for VHDL Language Reference Manual, by IEEE The IEEE disclaims any responsibility or liability resulting from placement and use in the manner described.
MATLABand Simulinkare trademarks of The MathWorks, Inc and are used with permission The MathWorks does not warrant the accuracy of the text or exercises in this book This book’s use or discussion of MATLABand Simulinksoftware or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLABand Simulinksoftware.
Figures based on or adapted from figures and text owned by Xilinx, Inc., courtesy of Xilinx, Inc Copyright Xilinx, Inc., 1995–2005 All rights reserved.
Microsoft product screen shot(s) reprinted with permission from Microsoft Corporation.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.
Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in Oxford, UK:
phone: (þ44) 1865 843830, fax: (þ44) 1865 853333, E-mail: permissions@elsevier.com You may also complete your request online via the Elsevier homepage (http://elsevier.com), by selecting ‘‘Support & Contact’’ then ‘‘Copyright and Permission’’ and then ‘‘Obtaining Permissions.’’
Recognizing the importance of preserving what has been written, Elsevier prints its books on acid-free paper whenever possible.
Library of Congress Cataloging-in-Publication Data
Grout, Ian.
Digital systems design with FPGAs and CPLDs / Ian Grout.
p cm.
Includes bibliographical references and index.
ISBN-13: 978-0-7506-8397-5 (alk paper) 1 Digital electronics 2 Digital circuits — Design
and construction 3 Field programmable gate arrays 4 Programmable logic devices I Title.
TK7868.D5.G76 2008
621.381—dc22
2007044907
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library.
For information on all Newnes publications
visit our Web site at www.books.elsevier.com
Printed in the United States of America
08 09 10 11 12 13 10 9 8 7 6 5 4 3 2 1
Working together to grow
libraries in developing countries
www.elsevier.com | www.bookaid.org | www.sabre.org
Trang 7This page intentionally left blank
Trang 8Preface xvii
Abbreviations xxiii
Chapter 1: Introduction to Programmable Logic 1
1.1 Introduction to the Book 1
1.2 Electronic Circuits: Analogue and Digital 10
1.2.1 Introduction 10
1.2.2 Continuous Time versus Discrete Time 10
1.2.3 Analogue versus Digital 12
1.3 History of Digital Logic 14
1.4 Programmable Logic versus Discrete Logic 17
1.5 Programmable Logic versus Processors 21
1.6 Types of Programmable Logic 24
1.6.1 Simple Programmable Logic Device (SPLD) 24
1.6.2 Complex Programmable Logic Device (CPLD) 27
1.6.3 Field Programmable Gate Array (FPGA) 28
1.7 PLD Configuration Technologies 29
1.8 Programmable Logic Vendors 32
1.9 Programmable Logic Design Methods and Tools 33
1.9.1 Introduction 33
1.9.2 Typical PLD Design Flow 35
1.10 Technology Trends 36
References 38
Student Exercises 40
Chapter 2: Electronic Systems Design 43
2.1 Introduction 43
2.2 Sequential Product Development Process versus Concurrent Engineering Process 52
Trang 92.2.1 Introduction 52
2.2.2 Sequential Product Development Process 53
2.2.3 Concurrent Engineering Process 54
2.3 Flowcharts 56
2.4 Block Diagrams 58
2.5 Gajski-Kuhn Chart 61
2.6 Hardware-Software Co-Design 62
2.7 Formal Verification 65
2.8 Embedded Systems and Real-Time Operating Systems 66
2.9 Electronic System-Level Design 67
2.10 Creating a Design Specification 68
2.11 Unified Modeling Language 70
2.12 Reading a Component Data Sheet 72
2.13 Digital Input/Output 75
2.13.1 Introduction 75
2.13.2 Logic-Level Definitions 79
2.13.3 Noise Margin 81
2.13.4 Interfacing Logic Families 83
2.14 Parallel and Serial Interfacing 89
2.14.1 Introduction 89
2.14.2 Parallel I/O 95
2.14.3 Serial I/O 97
2.15 System Reset 102
2.16 System Clock 105
2.17 Power Supplies 107
2.18 Power Management 109
2.19 Printed Circuit Boards and Multichip Modules 110
2.20 System on a Chip and System in a Package 112
2.21 Mechatronic Systems 113
2.22 Intellectual Property 115
2.23 CE and FCC Markings 116
References 118
Student Exercises 121
Chapter 3: PCB Design 123
3.1 Introduction 123
3.2 What Is a PCB? 125
3.2.1 Definition 125
3.2.2 Structure of the PCB 127
3.2.3 Typical Components 139
3.3 Design, Manufacture, and Testing 144
3.3.1 PCB Design 144 viii Table of Contents
w w w n e w n e s p r e s s c o m
Trang 103.3.2 PCB Manufacture 150
3.3.3 PCB Testing 151
3.4 Environmental Issues 152
3.4.1 Introduction 152
3.4.2 WEEE Directive 153
3.4.3 RoHS Directive 153
3.4.4 Lead-Free Solder 154
3.4.5 Electromagnetic Compatibility 154
3.5 Case Study PCB Designs 155
3.5.1 Introduction 155
3.5.2 System Overview 157
3.5.3 CPLD Development Board 158
3.5.4 LCD and Hex Keypad Board 160
3.5.5 PC Interface Board 163
3.5.6 Digital I/O Board 166
3.5.7 Analogue I/O Board 168
3.6 Technology Trends 171
References 173
Student Exercises 175
Chapter 4: Design Languages 177
4.1 Introduction 177
4.2 Software Programming Languages 177
4.2.1 Introduction 177
4.2.2 C 179
4.2.3 Cþþ 181
4.2.4 JAVATM 183
4.2.5 Visual BasicTM 186
4.2.6 Scripting Languages 189
4.2.7 PHP 191
4.3 Hardware Description Languages 193
4.3.1 Introduction 193
4.3.2 VHDL 194
4.3.3 Verilog-HDL 196
4.3.4 Verilog-A 199
4.3.5 VHDL-AMS 202
4.3.6 Verilog-AMS 205
4.4 SPICE 205
4.5 SystemC 208
4.6 SystemVerilog 209
4.7 Mathematical Modeling Tools 210
References 214
Student Exercises 216
Trang 11Chapter 5: Introduction to Digital Logic Design 217
5.1 Introduction 217
5.2 Number Systems 222
5.2.1 Introduction 222
5.2.2 Decimal–Unsigned Binary Conversion 224
5.2.3 Signed Binary Numbers 226
5.2.4 Gray Code 231
5.2.5 Binary Coded Decimal 232
5.2.6 Octal-Binary Conversion 233
5.2.7 Hexadecimal-Binary Conversion 235
5.3 Binary Data Manipulation 240
5.3.1 Introduction 240
5.3.2 Logical Operations 241
5.3.3 Boolean Algebra 242
5.3.4 Combinational Logic Gates 246
5.3.5 Truth Tables 248
5.4 Combinational Logic Design 256
5.4.1 Introduction 256
5.4.2 NAND and NOR logic 269
5.4.3 Karnaugh Maps 271
5.4.4 Don’t Care Conditions 277
5.5 Sequential Logic Design 277
5.5.1 Introduction 277
5.5.2 Level Sensitive Latches and Edge-Triggered Flip-Flops 282
5.5.3 The D Latch and D-Type Flip-Flop 283
5.5.4 Counter Design 288
5.5.5 State Machine Design 305
5.5.6 Moore versus Mealy State Machines 316
5.5.7 Shift Registers 317
5.5.8 Digital Scan Path 319
5.6 Memory 322
5.6.1 Introduction 322
5.6.2 Random Access Memory 324
5.6.3 Read-Only Memory 325
References 327
Student Exercises 328
Chapter 6: Introduction to Digital Logic Design with VHDL 333
6.1 Introduction 333
6.2 Designing with HDLs 334
x Table of Contents
w w w n e w n e s p r e s s c o m
Trang 126.3 Design Entry Methods 338
6.3.1 Introduction 338
6.3.2 Schematic Capture 338
6.3.3 HDL Design Entry 339
6.4 Logic Synthesis 341
6.5 Entities, Architectures, Packages, and Configurations 344
6.5.1 Introduction 344
6.5.2 AND Gate Example 346
6.5.3 Commenting the Code 353
6.6 A First Design 355
6.6.1 Introduction 355
6.6.2 Dataflow Description Example 356
6.6.3 Behavioral Description Example 357
6.6.4 Structural Description Example 359
6.7 Signals versus Variables 366
6.7.1 Introduction 366
6.7.2 Example: Architecture with Internal Signals 368
6.7.3 Example: Architecture with Internal Variables 372
6.8 Generics 374
6.9 Reserved Words 380
6.10 Data Types 380
6.11 Concurrent versus Sequential Statements 383
6.12 Loops and Program Control 383
6.13 Coding Styles for VHDL 385
6.14 Combinational Logic Design 387
6.14.1 Introduction 387
6.14.2 Complex Logic Gates 388
6.14.3 One-Bit Half-Adder 388
6.14.4 Four-to-One Multiplexer 389
6.14.5 Thermometer-to-Binary Encoder 397
6.14.6 Seven-Segment Display Driver 398
6.14.7 Tristate Buffer 409
6.15 Sequential Logic Design 414
6.15.1 Introduction 414
6.15.2 Latches and Flip-Flops 416
6.15.3 Counter Design 422
6.15.4 State Machine Design 426
6.16 Memories 440
6.16.1 Introduction 440
6.16.2 Random Access Memory 441
6.16.3 Read-Only Memory 444
6.17 Unsigned versus Signed Arithmetic 447
6.17.1 Introduction 447
Trang 136.17.2 Adder Example 448
6.17.3 Multiplier Example 449
6.18 Testing the Design: The VHDL Test Bench 453
6.19 File I/O for Test Bench Development 459
References 471
Student Exercises 472
Chapter 7: Introduction to Digital Signal Processing 475
7.1 Introduction 475
7.2 Z-Transform 496
7.3 Digital Control 509
7.4 Digital Filtering 524
7.4.1 Introduction 524
7.4.2 Infinite Impulse Response Filters 532
7.4.3 Finite Impulse Response Filters 534
References 535
Student Exercises 536
Chapter 8: Interfacing Digital Logic to the Real World: A/D Conversion, D/A Conversion, and Power Electronics 537
8.1 Introduction 537
8.2 Digital-to-Analogue Conversion 543
8.2.1 Introduction 543
8.2.2 DAC Characteristics 548
8.2.3 Types of DAC 555
8.2.4 DAC Control Example 559
8.3 Analogue-to-Digital Conversion 565
8.3.1 Introduction 565
8.3.2 ADC Characteristics 568
8.3.3 Types of ADC 572
8.3.4 Aliasing 577
8.4 Power Electronics 580
8.4.1 Introduction 580
8.4.2 Diodes 581
8.4.3 Power Transistors 585
8.4.4 Thyristors 593
8.4.5 Gate Turn-Off Thyristors 603
8.4.6 Asymmetric Thyristors 604
8.4.7 Triacs 604
8.5 Heat Dissipation and Heatsinks 606
8.6 Operational Amplifier Circuits 610 xii Table of Contents
w w w n e w n e s p r e s s c o m
Trang 14References 612
Student Exercises 613
Chapter 9: Testing the Electronic System 615
9.1 Introduction 615
9.2 Integrated Circuit Testing 621
9.2.1 Introduction 621
9.2.2 Digital IC Testing 624
9.2.3 Analogue IC Testing 629
9.2.4 Mixed-Signal IC Testing 633
9.3 Printed Circuit Board Testing 633
9.4 Boundary Scan Testing 636
9.5 Software Testing 642
References 645
Student Exercises 646
Chapter 10: System-Level Design 647
10.1 Introduction 647
10.2 Electronic System-Level Design 654
10.3 Case Study 1: DC Motor Control 661
10.3.1 Introduction 661
10.3.2 Motor Control System Overview 662
10.3.3 MATLAB/SimulinkModel Creation and Simulation 665
10.3.4 Translating the Design to VHDL 666
10.3.5 Concluding Remarks 674
10.4 Case Study 2: Digital Filter Design 686
10.4.1 Introduction 686
10.4.2 Filter Overview 688
10.4.3 MATLAB/SimulinkModel Creation and Simulation 690
10.4.4 Translating the Design to VHDL 692
10.4.5 Concluding Remarks 698
10.5 Automating the Translation 702
10.6 Future Directions 703
References 704
Student Exercises 705
Additional References 707
Index 717
Trang 15This page intentionally left blank
Trang 16• noun 1 A set of things working together as parts of a mechanism or an
interconnecting network
Oxford Dictionary of English
Trang 17This page intentionally left blank
Trang 18In days gone by, life for the electronic circuit designer seems to have been easier.Designs were smaller, ran at a slower speed, and could easily fit onto a single smallprinted circuit board An individual designer could work on a problem and designscould be specified and developed using paper and pen only The circuit schematicdiagrams that were required could be rapidly drawn on the back of an envelope.
Struck by the success of the early circuit designs, customers started to ask for smaller,faster, and more complex circuits—and at a lower cost The designers started to work
on solving such problems, which has led to the rapidly expanding electronics industrythat we have today Driven by the demand from the customer, new materials andfabrication processes have been developed, new circuit design methodologies anddesign architectures have taken over many of the early traditional design approaches,and new markets for the circuits have evolved
So how is the design problem tackled today? This is not an easy question to answer, andthere is more than one way to develop an electronic circuit solution to any givenproblem However, the design process is no longer the activity of a single individual.Rather, a team of engineers is involved in the key engineering activities of design,fabrication (manufacture), and test All activities now involve the extensive use ofcomputing resources, requiring the efficient use of software tools to aid design
(electronic design automation, EDA and computer aided design, CAD), fabrication(Computer Aided Manufacture, CAM), and test (Computer Aided Test, CAT) Thecircuit is no longer a unique and isolated entity Rather, it is part of a larger system.Increasingly, much of the design work is undertaken at the system level at a suitablyhigh level of design abstraction required to reduce design time and increase the designerefficiency However, when it comes to the design detail, the correctly specified systemmust also work at the basic electric voltage and current level How to go from an
Trang 19effective system-level specification to an efficient and working circuit implementationrequires the skills of good designers who are aided by good design tools.
For the electronic circuit designer at an early stage in the design process, whether toimplement the required circuit functionality using analogue circuit techniques or digitalcircuit techniques must be decided However, sometimes the choice will have already beenmade, and increasingly a digital solution is the preferred choice The wide use of digitalsignal processing (DSP) techniques facilitates complex operations that can provide superiorperformance to an analogue circuit equivalent; indeed some cannot be performed inanalogue Traditionally, DSP functions have been implemented using software programswritten to operate on a target processor The microprocessor (mP), microcontroller (mC),and digital signal processor provide the necessary digital circuits, in integrated circuit (IC)form, to implement the required functions In fact, these processors are to be found in manyeveryday embedded electronics that we take for granted This book could not have beenwritten without the aid of an electronic system incorporating a microprocessor running asoftware operating system that in turn runs the word processor software
Increasingly, the functions that have been traditionally implemented in softwarerunning on a processor-based digital system in the DSP world and many controlapplications are being evaluated in terms of performance that can be achieved insoftware In many cases, the software solution will be slower than is desired, and thebasic nature of the software programmed system means that this speed limitationcannot be overcome The way to overcome the speed limitation is to perform therequired operations in hardware designed for a particular application However,custom hardware solutions will be expensive to acquire
If there were a way to obtain the power of programmability with the power ofhardware speed, then this would be provide a significant way forward
Fortunately, programmable logic provides the power of programmability with thepower of hardware speed by providing an IC with built-in digital electronic circuitrythat is configured by the user for a particular application Many devices can bereconfigured for different applications Today, two main types of programmable logicICs are commonly used: the field programmable gate array (FPGA) and complexprogrammable logic device (CPLD)
Therefore, it is possible to implement a complex digital system that can be developedand the functionality changed or enhanced using either a processor running asoftware program or programmable logic with a specific hardware configuration.xviii Preface
w w w n e w n e s p r e s s c o m
Trang 20For an end-user, the functionality of both types of system will be the same—thedesign details are irrelevant to the end-user as long as the functionality of the unit
is correct In this book, to provide consistency and to differentiate between theprocessor and programmable logic, the following terminology will be used:
• A processor (microprocessor, mP; microcontroller, mC; or digital signalprocessor, DSP) will be programmed for a particular application using asoftware programming language(SPL)
• Programmable logic (field programmable gate array, FPGA; simple
programmable logic device, SPLD; or complex programmable logic device,CPLD) will be configured using a hardware description language (HDL).The aim of this book is to provide a reference source with worked examples inthe area of electronic circuit design using programmable logic In particular, fieldprogrammable gate arrays and complex programmable logic devices will be presentedand examples of such devices provided
The choice whether to use a software-programmed processor or hardware-configuredprogrammable logic device is not a simple one, and many decisions figure into evaluatingthe pros and cons of a particular implementation prior to making a final decision Thisbook will provide an insight into the design capabilities and aspects relating to the designdecisions for programmable logic so that an informed decision can be made
The book is structured as follows:
Chapter 1 will introduce the types of programmable logic device that are availabletoday, their differing architectures, and their use within electronic system design.Additionally, the terminology used in this area will be presented with the aim ofdemystifying the jargon that has evolved
Chapter 2 will provide a background into the area of electronic systems design, thetypes of solutions that may be developed, and the decisions that will need to bemade in order to identify the right technology choice for the design implementation.Typical design flows will be introduced and discussed for the different technologies.Chapter 3 will introduce the design of printed circuit boards (PCBs) These provide themechanical and electrical base onto which the electronic components will be mounted Thecorrect design of the PCB is essential to ensure that the electronic circuit can be realized(implemented) to operate to the correct specification (power supply voltage, thermal [heat]dissipation, digital clock frequency, analogue and digital circuit elements, etc.) and to
Trang 21ensure that the different electronic circuit components interact with each other correctlyand do not provide unwanted effects A correctly designed PCB will allow the circuit toperform as intended A badly designed PCB will prevent the circuit from working
altogether
Chapter 4will discuss the different programming languages that are used to developdigital designs for implementation in either a processor (software-programmedmicroprocessor, microcontroller, or digital signal processor) or in programmablelogic (hardware-configured FPGA or CPLD) The main languages used will beintroduced and examples provided For programmable logic, the main hardwaredescription languages used are Verilog-HDL and VHDL (VHSIC HardwareDescription Language) These are IEEE (Institute of Electrical and ElectronicsEngineers) standards, universally used in both education and industry
Chapter 5will introduce digital logic design principles A basic understanding of theprinciples of digital circuit design, such as Boolean Logic, Karnaugh maps, andcounter/state machine design will be expected However, a review of these principleswill be provided for designs in schematic diagram form and presented such that thedesign functionality may be mapped over a VHDL description in Chapter 6
Chapter 6 will introduce VHDL as one of the IEEE standard hardware descriptionlanguages available to describe digital circuit and system designs in an ASCIItext-based format This description can be simulated and synthesized (Simulationwill validate the design operation, and synthesis will translate the text-based
description into a circuit design in terms of logic gates and the interconnectionsbetween the basic logic gates The gates and gate connections are commonly referred to
as the netlist.) The design examples provided in schematic diagram form in Chapter 5will be revisited and modeled in VHDL
Chapter 7 will introduce the development of digital signal processing algorithms inVHDL and the synthesis of the VHDL descriptions to target programmable logic(both FPGA and CPLD) Such algorithms include digital filters (low-pass, high-pass,and band-pass), digital PID (proportional plus integral plus derivative) controlalgorithms, and the FFT (fast Fourier transform, an efficient implementation of thediscrete Fourier transform, DFT)
Chapter 8 will discuss the interfacing of programmable logic to what is commonlyreferred to as the real world This is the analogue world that we live in, and suchinterfacing requires both the acquisition (capture) and the generation of analogue
xx Preface
w w w n e w n e s p r e s s c o m
Trang 22signals To enable this, the digital programmable logic device will require an interface tothe analogue world For analogue signals to be captured and analyzed in digital, ananalogue-to-digital converter (ADC) will be required For analogue signals to begenerated from the digital, a digital-to-analogue converter (DAC) will be required.
In this book, the convention used for the word analogue will use the -ue at the end ofthe word, unless a particular name already in use is referred to spelled as analog.Chapter 9will introduce the testing of the electronic system In this, failure mechanisms
in hardware and software will be introduced, and the need for efficient and
cost-effective test programs from the prototyping phase of the design through
high-volume manufacture and in-system testing
Chapter 10 will introduce the increasing need to develop programmable logic–baseddesigns at a high level of abstraction using behavioral descriptions of the systemfunctionality, and the increasing requirements to enable the synthesis of thesehigh-level designs into logic With reference to a design flow taking a digital designdeveloped in MATLABor Simulinkthrough a VHDL code equivalent forimplementation in FPGA or CPLD technology, the synthesis of digital control systemalgorithms modeled and simulated in Simulinkwill be translated into VHDL forimplementation in programmable logic
Throughout the book, the HDL examples provided and evaluated can be implementedwithin programmable logic–based circuits that may be designed by the user in addition
to the PCB design examples that are provided These examples have been developed toform the basis of laboratory experiments that can be used to accompany the text.With the broad range of subject material and examples, a feature of the book is itspotential for use in a range of learning and teaching scenarios For example:
1 As an introduction to design of electronic circuits and systems using
programmable logic This would allow for the design approaches,
programmable logic architectures, simulation, synthesis, and the finalconfiguration of an FPGA or CPLD to be undertaken It would also allowfor investigation into the most appropriate HDL coding styles and deviceimplementation constraints to be undertaken
2 As an introduction to hardware description languages, in particular VHDL,allowing for case study designs to be developed and implemented withinprogrammable logic This would allow for VHDL code developers to see the
Trang 23code working on real devices and to enable additional testing of the electroniccircuit with such equipment as oscilloscopes and spectrum analyzers.
3 As an introduction to the design of printed circuit boards, in particularmixed-signal designs (mixed analogue and digital) This would allow issuesrelating to the design of the printed circuit board to be investigated anddesigns developed, fabricated, and tested
4 As an introduction to digital signal processing algorithm development Thiswould allow the basics of DSP algorithms and their implementation inhardware on FPGAs and CPLDs to be investigated through the medium ofVHDL code development, simulation, and synthesis
The VHDL examples can be downloaded and run on the hardware prototypingarrangement that can be built by the reader using the designs provided in the book.This hardware arrangement is centered on a XilinxCoolrunnerTM-II CPLD onwhich to prototype the digital logic ideas, along with a set of input/output (I/O)boards The full set of boards is shown in the figure below
This arrangement consists of five main system boards and an optional
seven-segment display board The appendices and design schematics are available at theauthor’s Web site for this book (refer to http://books.elsevier.com/companions/
9780750683975 and follow the hyperlink to the author’s site)
w w w n e w n e s p r e s s c o m
xxii Preface
Trang 24ADC analogue-to-digital converter
ALU arithmetic and logic unit
AND logical AND operation on two or more digital signals
ANSI American National Standards Institute
AOI automatic optical inspection
ASCII American Standard Code for Information Interchange
ASIC application-specific integrated circuit
ASP analogue signal processor
ASSP application-specific standard product
AWG arbitrary waveform generator
American wire gaugeAXI automatic X-ray inspection
B
BASIC Beginner’s All-purpose Symbolic Instruction Code
BIST built-in self-test
Trang 25bit binary digit
BJT bipolar junction transistor
BNC bayonet Neill-Concelman connector
CERQUAD ceramic quadruple side
CISC complex instruction set computer
CLB configurable logic block
CLCC ceramic leadless chip carrier
ceramic leaded chip carrierCMOS complementary metal oxide semiconductorCOTS commercial off-the-shelf
CPU central processing unit
CSSP customer specific standard product
CTFT continuous-time Fourier transform
xxiv Abbreviations
w w w n e w n e s p r e s s c o m
Trang 26DAC digital-to-analogue converter
DAE differential and algebraic equation
DCI digitally controlled impedance
DCPSS DC power supply sensitivity
DDC direct digital control
DDS direct digital synthesis
DfM design for manufacturability
DfR design for reliability
DfT design for testability
DFT discrete Fourier transform
DIMM dual in-line memory module
Trang 27DRDRAM direct Rambus DRAM
DSP digital signal processing
digital signal processor
DTFT discrete-time Fourier transform
DVD digital versatile disk
E
ECU electronic control unit
EDA electronic design automation
EDIF electronic design interchange format
EIAJ Electronic Industries Association of Japan
EMC electromagnetic compatibility
EMI electromagnetic interference
ENB effective number of bits
EOS electrical overstress
EEPROM electrically erasable PROM
E2EPROM electrically erasable PROM
ERC electrical rules checking
ESD electrostatic discharge
ESIA European Semiconductor Industry Association
ESL electronic system level
ESS environmental stress screening
EX-OR logical EXCLUSIVE-OR operation on two or more digital
signalsxxvi Abbreviations
w w w n e w n e s p r e s s c o m
Trang 28FBGA (FPBGA) fine pitch ball grid array
FCC Federal Communications Commission (USA)
FET field effect transistor
FIFO first-in, first-out
FPAA field programmable analogue array
FPGA field programmable gate array
FR-4 flame retardant with approximate dielectric constant of 4
G
GAL generic array of logic
GDSII Graphic Data System II stream file format
GPIB general purpose interface bus
GTO gate turn-off thyristor
GUI graphical user interface
H
HBT heterojunction bipolar transistor
HDL hardware description language
HSTL high-speed transceiver logic
HTML hyphertext markup language
Trang 29HVI human visual inspection
ICC power supply current (into VCCpin for bipolar circuits)
ICM collector peak current
IDD power supply current (into VDDpin for CMOS circuits)
IDDQ quiescent power supply current (IDD)
IEE power supply current (out of VEEpin for bipolar circuits)
IGND ground current per supply pin
IIH high-level input current
IIL low-level input current
ILSB minimum output current change
IOH high-level output current (logic 1 output)
IOL low-level output current (logic 0 output)
ISS power supply current (out of VSSpin for CMOS circuits)
ISSQ quiescent power supply current (ISS)
I2C (IIC) inter-integrated circuit (inter-IC) bus
in-circuit testerIDC insulation displacement connector
IDE integrated design environment
integrated drive electronicsIEC International Electrotechnical Commission
IEE Institution of Electrical Engineers
IEEE Institute of Electrical and Electronics Engineers
xxviii Abbreviations
w w w n e w n e s p r e s s c o m
Trang 30IET Institution of Engineering and Technology
IIR infinite impulse response
IMAPS International Microelectronics and Packaging Society
infraredISO International Organization for Standardization
ITRS International Technology Roadmap for Semiconductors
J
JEDEC Joint Electron Device Engineering Council
JEITA Japan Electronics and Information Technology Industries
AssociationJETAG Joint European Test Action Group
JETTA Journal of Electronic Testing, Theory, and Applications
JLCC J-leaded chip carrier
K
KSIA Korean Semiconductor Industry Association
L
LC2MOS linear compatible CMOS
leadless chip carrierLCCMOS leadless chip carrier metal oxide semiconductor (also LC2MOS)LCD liquid crystal display
Trang 31LF low frequency
LFSR linear feedback shift register
LIFO last-in, first-out
Linux Linux is not Unix
LSB least significant bit
LSI large-scale integration
LVDS low-voltage differential signaling
MEMs micro electro-mechanical systems
MOSFET metal oxide semiconductor field effect transistorMPGA mask programmable gate array
MSAF multiple stuck-at-fault
MSOP mini-small outline package
MVI manual visual inspection (i.e., HVI)
xxx Abbreviations
w w w n e w n e s p r e s s c o m
Trang 32NMH noise margin for high levels
NML noise margin for low levels
NOT logical NOT operation on a single digital signal
op-amp operational amplifier
OR logical OR operation on two or more digital signals
OVI Open Verilog International
P
Ptot total dissipation
PAL programmable array of logic
program counter
PCBA printed circuit board assembly
PDA personal digital assistant
Trang 33PDF portable document format
PERL practical extraction and report language
proportional plus integralPID proportional plus integral plus derivativePIPO parallel in, parallel out
PLCC plastic leadless chip carrier
plastic leaded chip carrier
PMU precision measurement unit
PRPG pseudorandom pattern generator
pulse width modulatedPXI PC extensions for instrument bus
Q
QTAG Quality Test Action Group
xxxii Abbreviations
w w w n e w n e s p r e s s c o m
Trang 34trademark (registered;TM for unregistered)
RISC reduced instruction set computer
RoHS return of hazardous substances
RTL register transfer level
RTOS real-time operating system
SCSI small computer system interface
Trang 35SiGe silicon germanium
SIM subscriber identity module
SINAD signal to noise plus distortion (SNRþ THD)
SIP single in-line package
SIPO serial in, parallel out
SISO Serial in, serial out
Single input, single outputSISR serial input signature register
S/(Nþ THD) signal to noise plus total harmonic distortion
SOAR safe operating region
SOJ small outline J-lead package
SPI serial peripheral interface
SPICE simulation program with integrated circuit emphasis
SQFP shrink quad flat pack
SRBP synthetic resin-bonded paper
SSAF single stuck-at-fault
SSI small-scale integration
SSOP small shrink outline package
SSTL stub series terminated logic
Trang 36TCE thermal coefficient of expansion
THD total harmonic distortion
TM trademark (unregistered, for registered)
TO transistor outline package (single transistor)
TSIA Taiwan Semiconductor Industry Association
TSMC Taiwan Semiconductor Manufacturing Company
UART universal asynchronous receiver/transmitter
UJT unijunction transistor
ULSI ultra large-scale integration
UNIXTM Uniplexed Information and Computing System (originally
Unics, later renamed Unix)
Trang 37UTP unit test period
V
VCB collector-base voltage
VCC power supply voltage (positive, for bipolar circuits)
VCE0 collector-emitter voltage (IE = 0)
VCEV collector-emitter voltage (VBE= 1.5)
VDD power supply voltage (positive, for CMOS circuits)
VIH minimum input voltage that can be interpreted as a logic 1
VIL maximum input voltage that can be interpreted as a logic 0VLSB minimum output voltage change
VOH minimum output voltage when the output is a logic 1VOL maximum output voltage when the output is a logic 0
VSS power supply voltage (negative, for CMOS circuits)
VASG VHDL Analysis and Standardization Group
VBA Visual BasicTMfor Applications
VCO voltage-controlled oscillator
VHDL VHSIC hardware description language
VHSIC very high-speed integrated circuit
xxxvi Abbreviations
w w w n e w n e s p r e s s c o m
Trang 38VLSI very large-scale integration
VQFP very thin quad flat pack
ZIF zero insertion force socket
Trang 39This page intentionally left blank
Trang 40Introduction to Programmable Logic
1.1 Introduction to the Book
Increasingly, electronic circuits and systems are being designed using technologiesthat offer rapid prototyping, programmability, and re-use (reprogrammability andcomponent recycling) capabilities to allow a system product to be developed in aminimal time, to allow in-service reconfiguration (for normal product upgrading toimprove performance, to provide design debugging capabilities, and for the inevitablerequirement for design bug removal), or even to recycle the electronic components foranother application These aspects are required by the reduced time-to-market andincreased complexities for applications—from mobile phones through computer andcontrol, instrumentation, and test applications So, how can this be achieved using therange of electronic circuit technologies available today? Several avenues are open.The main focus of developing electronics with the above capabilities has been in thedigital domain because the design techniques and nature of the digital signals are wellsuited to reconfiguration
In the digital domain, the choice of implementation technology is essentially whether touse dedicated (and fixed) functionality digital logic, to use a software-programmed,processor-based system (designed based on a microprocessor,mP; microcontroller, mC; ordigital signal processor, DSP), or to use a hardware-configured programmable logicdevice (PLD), whether simple (SPLD), complex (CPLD), or the field programmable gatearray (FPGA) Memory used for the storage of data and program code is integral tomany digital circuits and systems The choices are shown in Figure 1.1
In Figure 1.1, the electronic components used are integrated circuits (ICs) These areelectronic circuits packaged within a suitable housing that contain complete circuitsranging from a few dozen transistors to hundreds of millions of transistors, the