Chapter 10: Design Options of Digital Systems

Similar documents
Digital Integrated Circuits

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

FYSE420 DIGITAL ELECTRONICS. Lecture 7

Topics. Midterm Finish Chapter 7

INTRODUCTION TO FPGA ARCHITECTURE

CHAPTER 9 MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Programmable Logic Devices

CS310 Embedded Computer Systems. Maeng

ECE 331 Digital System Design

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

Programmable Logic. Any other approaches?

Field Programmable Gate Array

Introduction to Field Programmable Gate Arrays

Programmable Logic Devices (PLDs)

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

Memory and Programmable Logic

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

Chapter 13 Programmable Logic Device Architectures

LSN 6 Programmable Logic Devices

Chapter 5: Tasks, Functions, and UDPs

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

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

An Introduction to Programmable Logic

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

Programable Logic Devices

Code No: R Set No. 1

Chapter 9: Sequential Logic Modules

Chapter 2a: Structural Modeling

Programmable Logic Devices

Memory and Programmable Logic

Computer Structure. Unit 2: Memory and programmable devices

Code No: R Set No. 1

FPGA How do they work?

Follow-up question: now, comment on what each of these acronyms actually means, going beyond a mere recitation of the definition.

FPGA for Dummies. Introduc)on to Programmable Logic

(ii) Simplify and implement the following SOP function using NOR gates:

Code No: R Set No. 1

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

Hardware Synthesis. References

Programmable logic technology

Introduction to Digital Logic Missouri S&T University CPE 2210 Hardware Implementations

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Implementations

Field Programmable Gate Array (FPGA)

Altera FLEX 8000 Block Diagram

PINE TRAINING ACADEMY

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

DIGITAL SYSTEM FUNDAMENTALS (ECE421) DIGITAL ELECTRONICS FUNDAMENTAL (ECE4220. PROGRAMMABLE LOGIC DEVICES (PLDs)

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

Laboratory Exercise 3

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

Combinational Logic Design with Verilog. ECE 152A Winter 2012

Digital System Design Lecture 7: Altera FPGAs. Amir Masoud Gharehbaghi

register:a group of binary cells suitable for holding binary information flip-flops + gates

EECS150 - Digital Design Lecture 16 - Memory

EE178 Lecture Module 2. Eric Crabill SJSU / Xilinx Fall 2007

Programmable Logic Devices

Configurable Embedded Systems: Using Programmable Logic to Compress Embedded System Design Cycles

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Introduction to Programmable Logic Devices (Class 7.2 2/28/2013)

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

EECS150 - Digital Design Lecture 16 Memory 1

Digital Electronics 27. Digital System Design using PLDs

Field Programmable Gate Array (FPGA) Devices

Fig. 6-1 Conventional and Array Logic Symbols for OR Gate

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

System-on Solution from Altera and Xilinx

Product Obsolete/Under Obsolescence

Code No: 07A3EC03 Set No. 1

QUESTION BANK FOR TEST

FPGAs in a Nutshell - Introduction to Embedded Systems-

Field Program mable Gate Arrays

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Logic & Computer Design CS Professor Dan Moldovan Spring 2010

B.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN

Very Large Scale Integration (VLSI)

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

Copyright by Syed Ashad Mustufa Younus Copyright by Syed Ashad Mustufa Younus

I 4 I 3 I 2 I 1 I 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 T-125. ROM Truth Table (Partial) 1997 by Prentice-Hall, Inc.

Spring 2017 EE 3613: Computer Organization Chapter 5: Processor: Datapath & Control - 2 Verilog Tutorial

EEL 4783: Hardware/Software Co-design with FPGAs

Digital Blocks Semiconductor IP

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

MEMORY AND PROGRAMMABLE LOGIC

Computer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog

Digital Circuit Design Using Xilinx ISE Tools

EEL 4783: Hardware/Software Co-design with FPGAs

Lab 4: Register File and Memory 50 points Instructor: Yifeng Zhu Due: One week

ELCT 501: Digital System Design

Programmable Memory Blocks Supporting Content-Addressable Memory

Typical applications where a CPLD may be the best design approach:

Chapter 3: Dataflow Modeling

SUBJECT CODE: IT T35 DIGITAL SYSTEM DESIGN YEAR / SEM : 2 / 3

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs

Readings: Storage unit. Can hold an n-bit value Composed of a group of n flip-flops. Each flip-flop stores 1 bit of information.

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

Transcription:

Chapter 10: Design Options of Digital Systems Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-1

Syllabus Objectives Design options of digital systems PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-2

Objectives After completing this chapter, you will be able to: Describe the features of system-level design options Describe basic structures and features of cell-based ASICs Describe basic structures and features of gate array ASICs Describe basic structures and features of programmable logic devices (PLDs) Describe basic structures and features of field-programmable gate arrays (FPGAs) Understand how to model PLAs (including PLDs) Understand the issues of voltage tolerance and voltage compliance Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-3

Syllabus Objectives Design options of digital systems Design options Cell-based designs Gate-array-based designs Field-programmable devices PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-4

Design Options of Digital Systems Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-5

System-Level Design Options Chapter 10: Design Options of Digital Systems PCB (printed-circuit board)-based platforms SoPC (System on a programmable chip)-based platforms Also called programmable system chip (PSC) Soft IP+ cell_library-based platforms Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-6

PCB-Based Platforms Consist of discrete standard components µp/µc, peripherals, and memory devices NRE cost low May need additional CPLD/FPGA devices Examples 8051 PIC ARM family Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-7

SoPC-Based Platforms Chapter 10: Design Options of Digital Systems Consist of hard or soft IPs May need additional customized logic modules Examples Xilinx VirtexII pro Spartan 3 (MicroBlaze) Altera Cyclone Series (NIOS) Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-8

Soft IP+ Cell Library-Based platforms Consist of soft IP being configured into an optimized system hardware An example Tensilica s Xtensa Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-9

Design Alternatives of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-10

Comparison of Design Options Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-11

Syllabus Objectives Design options of digital systems Design options Cell-based designs Gate-array-based designs Field-programmable devices PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-12

Basic Structure of Cell-Based ASICs I/O Pads Routing channel Macro Routing channel Complex macro Routing channel Routing channel Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-13

Basic Cell Types Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-14

A Cell-Based D-Type Flip Flop Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-15

Syllabus Objectives Design options of digital systems Design options Cell-based designs Gate-array-based designs Field-programmable devices PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-16

Basic Structures of Gate-Array ASICs Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-17

Basic Structures of Gate Arrays Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-18

Basic Structures of Gate Arrays Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-19

Syllabus Objectives Design options of digital systems Design options Cell-based designs Gate-array-based designs Field-programmable devices PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-20

Shorthand Notations Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-21

Programmable Logic Devices Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-22

Basic Structures of CPLDs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-23

Basic Structures of FPGAs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-24

Basic Structures of PICs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-25

Comparison of PICs Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-26

Syllabus Objectives Design options of digital systems PLD modeling ROM /PLA /PAL PLA modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-27

Basic Structures of ROMs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-28

Basic Structures of PLAs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-29

Basic Applications of PLAs Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-30

A PAL Example --- 16R8 Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-31

Syllabus Objectives Design options of digital systems PLD modeling ROM /PLA /PAL PLA modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-32

PLA Modeling PLA device structures SOP (sum of product) = AND plane + OR plane AND plus OR array NAND plus NAND array POS (product of sum) = OR plane + AND plane OR plus AND array NOR plus NOR array An AND plane or an OR plane a personality array (or memory) Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-33

PLA Modeling A PLA device is modeled by a group of system tasks an appropriate combination of two system tasks A PLA device can be modeled as: Asynchronous Synchronous Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-34

PLA Modeling Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-35

PLA Modeling $async$logic$array(mem_type, input_terms, output_terms); $sync$logic$array(mem_type, input_terms, output_terms); wire a1, a2, a3, a4, a5, a6, a7; reg b1, b2, b3; wire [1:7] awire; reg [1:3] breg; reg [1:7] mem [1:3]; // define personality memory // asynchronous AND plane $async$and$array(mem, {a1, a2, a3, a4, a5, a6, a7}, {b1, b2, b3}); // or using the following statement $async$and$array(mem, awire, breg); // synchronous AND plane forever @(posedge clock) $sync$and$array(mem, {a1, a2, a3, a4, a5, a6, a7}, {b1, b2, b3}); Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-36

Logic Array Personality Defined as an array of reg Width: the number of input terms Depth: the number of output terms Loaded into memory using Chapter 10: Design Options of Digital Systems System tasks $readmemb or $readmemh The procedural assignment statements Can be changed dynamically during simulation Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-37

PLA Modeling The array format 1: taken 0: not taken The plane format (complies with Espresso) 1: true 0: complement? or z: don t care Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-38

PLA Modeling Define PLA personality from file In this example only one and plane is considered module async_array(a1, a2, a3, a4, a5, a6, a7, b1, b2, b3); input a1, a2, a3, a4, a5, a6, a7 ; output b1, b2, b3; reg [1:7] mem[1:3]; // memory declaration for array personality reg b1, b2, b3; initial begin b1 = a1 & a2 // setup the personality from the file array.dat $readmemb ("array.dat", mem); // setup an asynchronous logic array with the input // and output terms expressed as concatenations $async$and$array (mem,{a1, a2, a3, a4, a5, a6, a7},{b1, b2, b3}); end b2 = a3 & a4 & a5 b3 = a5 & a6 & a7 1100000 0011100 0000111 Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-39

PLA Modeling The Array Format Chapter 10: Design Options of Digital Systems Define PLA personality using procedural assignment statements In this example only one and plane is considered input a0, a1, a2, a3, a4, a5, a6, a7; output b0, b1, b2; reg b0, b1, b2; reg [7:0] mem[0:2]; // an example of the usage of array format initial begin // using procedural assignment statements. mem[0] = 8'b11001100; mem[1] = 8'b00110011; mem[2] = 8'b00001111; $async$and$array(mem, {a0,a1,a2,a3,a4,a5,a6,a7}, {b0,b1,b2}); end Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-40

PLA Modeling A = {a0, a1, a2, a3, a4, a5, a6, a7} B = {b0, b1, b2} mem[0] = 8'b11001100; mem[1] = 8'b00110011; mem[2] = 8'b00001111; A = 11001100 -> B = 100 A = 00110011 -> B = 010 A = 00001111 -> B = 001 A = 10101010 -> B = 000 A = 01010101 -> B = 000 A = 11000000 -> B = 000 A = 00111111 -> B = 011 Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-41

A PLA Modeling Example --- Logic Circuit Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-42

A PLA Modeling Example The Array Format // An example of the usage of the array format reg p0, p1, p2, p3; // internal minterms # 0 ns x x x x x # 5 ns 0 0 0 0 0 reg [0:5] mem_and[0:3]; # 10 ns 0 0 1 0 1 reg [0:3] mem_or[1:2]; # 15 ns 0 1 0 1 0 wire x_n, y_n, z_n; # 20 ns 0 1 1 0 0 assign x_n= ~x, y_n= ~y, z_n= ~z; # 25 ns 1 0 0 1 0 initial begin: pla_model_array # 30 ns 1 0 1 1 1 mem_and[0] = 6'b100100; // AND plane # 35 ns 1 1 0 0 0 mem_and[1] = 6'b100010; # 40 ns 1 1 1 1 1 mem_and[2] = 6'b000110; mem_and[3] = 6'b011001; $async$and$array(mem_and, {x, x_n, y, y_n, z, z_n}, {p0, p1, p2, p3}); mem_or[1] = 4'b1101; // OR plane mem_or[2] = 4'b0110; $async$or$array(mem_or, {p0, p1, p2, p3}, {f1, f2}); end Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-43

A PLA Modeling Example The Plane Format reg p0, p1, p2, p3; // internal minterms reg [0:2] mem_and[0:3]; // and plane personality matrix reg [0:3] mem_or[1:2]; // or plane personality matrix // An example of the usage of the plane format initial begin: pla_model_plane $async$and$plane(mem_and, {x, y, z}, {p0, p1, p2, p3}); mem_and[0] = 3'b10?; // define AND plane mem_and[1] = 3'b1?1; mem_and[2] = 3'b?01; mem_and[3] = 3'b010; $async$or$plane(mem_or, {p0, p1, p2, p3}, {f1, f2}); mem_or[1] = 4'b11?1; // define OR plane mem_or[2] = 4'b?11?; end # 0 ns x x x x x # 5 ns 0 0 0 0 0 # 10 ns 0 0 1 0 1 # 15 ns 0 1 0 1 0 # 20 ns 0 1 1 0 0 # 25 ns 1 0 0 1 0 # 30 ns 1 0 1 1 1 # 35 ns 1 1 0 0 0 # 40 ns 1 1 1 1 1 Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-44

Initializing Memory from Files Chapter 10: Design Options of Digital Systems $readmemb( <file_name>,<memory_name>); $readmemb( <file_name>,<memory_name>, <start_addr>); $readmemb( <file_name>,<memory_name>, <start_addr>, <end_addr>); $readmemh( <file_name>,<memory_name>); $readmemh( <file_name>,<memory_name>, <start_addr>); $readmemh( <file_name>,<memory_name>, <start_addr>, <end_addr>); reg [7:0] mem[1:256]; initial $readmemb( mem.data, mem); initial $readmemb( mem.data, mem, 16); initial $readmemb( mem.data, mem, 128, 1); Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-45

Data File Formats Addresses specified with @<address> specified as hexadecimal numbers Data can contain x or z and is separated by white spaces Uninitialized locations default to x For example: @002 // data will be read into memory from location 2 0000 1011 0001 11zz @008 // data will be read into memory from location 8 1111 zz1z Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-46

Syllabus Objectives Design options of digital systems PLD modeling CPLD XC9500 family MAX7000 family FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-47

Basic Structure of CPLD: XC9500XL Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-48

CPLD: XC9500XL --- Function Block Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-49

CPLD: XC9500XL --- Macro of Function Block Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-50

CPLD: XC9500XL --- Switch Matrix Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-51

CPLD: XC9500XL --- I/O Block Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-52

Syllabus Objectives Design options of digital systems PLD modeling CPLD XC9500 family MAX7000 family FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-53

MAX7000 Family --- Basic Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-54

MAX7000 Family --- Macrocell Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-55

MAX7000 Family --- Sharable Expander Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-56

MAX7000 Family --- Parallel Expander Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-57

MAX7000 Family --- IOB Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-58

Syllabus Objectives Design options of digital systems PLD modeling CPLD FPGA Xilinx FPGA devices Altera FPGA devices Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-59

Basic Structure of FPGA: XC4000XL Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-60

FPGA: XC4000XL --- Configurable Logic Block Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-61

FPGA: XC4000XL --- PIA Interconnection lines: Single-length lines Double-length lines Global long-length lines Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-62

FPGA: XC4000XL --- PIA Chapter 10: Design Options of Digital Systems Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-63

FPGA: XC4000XL --- Input/Output Block Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-64

FPGA: XC4000XL --- Macro Library Example Types of macros Soft macros Hard macros Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-65

Syllabus Objectives Design options of digital systems PLD modeling CPLD FPGA Xilinx FPGA devices Altera FPGA devices Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-66

APEX 20K Family --- Basic Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-67

APEX 20K Family --- MegaLAB Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-68

APEX 20K Family --- Logic Element Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-69

APEX 20K Family --- Structure of ESB Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-70

Altera Stratix Family --- Basic Structure Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-71

Syllabus Objectives Design options of digital systems PLD modeling CPLD FPGA Practical issues Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-72

Single Ended vs. Differential Signals Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-73

Voltage Tolerance and Voltage Compliance Voltage tolerant Input voltage tolerance Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-74

Voltage Tolerance and Voltage Compliance Output voltage tolerance Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008~2010, John Wiley 10-75