Introduction to VLSI Design Logic Arrays

Slides:



Advertisements
Similar presentations
Day - 3 EL-313: Samar Ansari. INTEGRATED CIRCUITS Integrated Circuit Design Methodology EL-313: Samar Ansari Programmable Logic Programmable Array Logic.
Advertisements

FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Programmable Logic Devices
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Evolution of implementation technologies
February 4, 2002 John Wawrzynek
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Memory and Programmable Logic
EE4OI4 Engineering Design Programmable Logic Technology.
PROGRAMMABLE LOGIC DEVICES (PLD)
CPLD (Complex Programmable Logic Device)
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
J. Christiansen, CERN - EP/MIC
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
EE3A1 Computer Hardware and Digital Design
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
VGA Interface1 trend toward higher levels of integration Evolution of implementation technologies zLogic gates (1950s-60s) zRegular structures for two-level.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Programmable Logic Devices Zainalabedin Samadi. Embedded Systems Technology  Programmable Processors  Application Specific Processor (ASIP)  Single.
Gunjeet Kaur Dronacharya Group of Institutions. Outline Introduction Random-Access Memory Memory Decoding Error Detection and Correction Programmable.
Programmable Logic Devices
Introduction to VLSI Design Logic Arrays Tsung-Chu Huang Electronics Eng., NCUE 2016/5/10.
Introduction to the FPGA and Labs
Field Programmable Gate Arrays
Introduction to Programmable Logic Devices
Introduction to ASICs ASIC - Application Specific Integrated Circuit
This chapter in the book includes: Objectives Study Guide
Memory and Programmable Logic
EET 1131 Unit 4 Programmable Logic Devices
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
ECE 4110–5110 Digital System Design
From Silicon to Microelectronics Yahya Lakys EE & CE 200 Fall 2014
Logic and Computer Design Fundamentals
Electronics for Physicists
This chapter in the book includes: Objectives Study Guide
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
We will be studying the architecture of XC3000.
The Xilinx Virtex Series FPGA
ECE434a Advanced Digital Systems L02
CSE 370 – Winter 2002 – Comb. Logic building blocks - 1
Programmable Configurations
Introduction to Programmable Logic Devices
Digital Fundamentals Tenth Edition Floyd Chapter 11.
HIGH LEVEL SYNTHESIS.
Programmable Logic- How do they do that?
EEE2243 Digital System Design Chapter 9: Advanced Topic: Physical Implementation by Muhazam Mustapha extracted from Frank Vahid’s slides, May 2012.
The Xilinx Virtex Series FPGA
Electronics for Physicists
"Computer Design" by Sunggu Lee
ECE 352 Digital System Fundamentals
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Introduction to VLSI Design Logic Arrays Tsung-Chu Huang Electronics Eng., NCUE 2016/5/10

Arrays Addressability Cell Unit Architecture Addressable & Non-address Components (Test Key) Transistor switch (Weinberger, SOG, PLA) Logic gates (Random Access Scan) PLA, LUT, CLE, CLB (FPGA) Storage Cell (Memory) Architecture Centralized, Distributed Discrete, Assembled, Embedded

Non-Addressable Arrays

Column Address Decoder Addressable Arrays Row Address Decoder Column Address Decoder

Function of n-to-N Address Decoders An-1…A0 W0 W1 WN 1-Hot Codes in Binary Order, Gray-Coded Order, or other orders Binary Code, Gray-Codes, or other codes

Gate-Level Design of Address Decoders A2 A1 A0 WL0 WL1 WL2 WL3 WL4 WL5 WL6 WL7 The NAND can be substituted by NOR gates The gates can be CMOS cells in cell-based design, or diffusion stripes in transistor-level design.

Pseudo-NMOS Transistor-Level Single-Diffusion Design of Address Decoders A2 A1 A0 WL0 WL1 WL2 WL3 WL7

Evolution of implementation technologies 50’s: Logic gates 60’s: Regular structures for two-level logic muxes and decoders, PLAs 70’s: Programmable sum-of-products arrays PLDs, complex PLDs  PAL, GAL, SPLD 80’s: Programmable gate arrays densities high enough to permit entirely new class of application, e.g., prototyping, emulation, acceleration: FPGA   PLD 90’s: Field Programmable Logic Arrays FPGA ~ CPLD

Digital Logic Truth Table SUM of PRODUCTS 2/25/2019 ‘outline’ of coverage time-plan - What is an FPGA - And why are they important for HEP questions - any time

PLAs A Programmable Logic Array performs any function in sum-of-products form. Literals: inputs & complements Products / Minterms: AND of literals Outputs: OR of Minterms Example: Full Adder

NOR-NOR PLAs ANDs and ORs are not very efficient in CMOS Dynamic or Pseudo-nMOS NORs are very efficient Use DeMorgan’s Law to convert to all NORs

PLA Schematic & Layout

PLAs vs. ROMs The OR plane of the PLA is like the ROM array The AND plane of the PLA is like the ROM decoder PLAs are more flexible than ROMs No need to have 2n rows for n inputs Only generate the minterms that are needed Take advantage of logic simplification

Programmable Logic Devices PLDs 2/25/2019 Different Types SUM of PRODUCTS Prefabricated Programmble Links Reconfigurable Un-programmed State Planes of ANDs, ORs Logic Function Inputs Sums ANDs OR ‘outline’ of coverage time-plan - What is an FPGA - And why are they important for HEP questions - any time Programmed PLD Product Terms Sum of Products

PAL  GAL  CPLD PAL® Structure CPLD Architecture 2/25/2019 ‘outline’ of coverage time-plan - What is an FPGA - And why are they important for HEP questions - any time

Configuring an FPGA 2/25/2019 JTAG Port Bit Stream Millions of SRAM cells holding LUTs and Interconnect Routing Volatile Memory. Loses configuration when board power is turned off. Keep Bit Pattern describing the SRAM cells in non-Volatile Memory e.g. ROM or Digital Camera card Configuration takes ~ secs ‘outline’ of coverage time-plan - What is an FPGA - And why are they important for HEP questions - any time

Layout EDA in General Technology PCB VLSI FPGA Flow Floor-plan TTL 74XXX Discrete Components VLSI Full-Custom Cell-Based FPGA Embedded Processor Embedded Memory Embedded ASIC CLB Slices LUT (Lookup Table) Flow Floor-plan Partition Modularization Placement Technology mapping Clustering Routing Channel Routing Global Routing

Technology Mapping Mapping generic Boolean functions to a set of specific logic cells. K-Map Queentos Mc Klusky Algo. ESPRESSO Truth Tab. AST Parametric Library

Gate Array Technology (IBM - 1970s) Simple logic gates combine transistors to implement combinational and sequential logic Interconnect wires to connect inputs and outputs to logic blocks I/O blocks special blocks at periphery for external connections Add wires to make connections done when chip is fabbed “mask-programmable” construct any circuit

Field-Programmable Gate Arrays Logic blocks to implement combinational and sequential logic Interconnect wires to connect inputs and outputs to logic blocks I/O blocks special logic blocks at periphery of device for external connections Key questions: how to make logic blocks programmable? how to connect the wires? after the chip has been fabbed

Enabling Technology Cheap/fast fuse connections small area (can fit lots of them) low resistance wires (fast even if in multiple segments) very high resistance when not connected small capacitance (wires can be longer) Pass transistors (switches) used to connect wires bi-directional Multiplexors used to connect one of a set of possible sources to input can be used to implement logic functions

Programming Technologies Fuse and anti-fuse fuse makes or breaks link between two wires typical connections are 50-300 ohm one-time programmable Flash High density Process issues RAM-based memory bit controls a switch that connects/disconnects two wires typical connections are .5K-1K ohm can be programmed and re-programmed easily (tested at factory)

Tradeoffs in FPGAs Logic block - how are functions implemented: fixed functions (manipulate inputs) or programmable? support complex functions, need fewer blocks, but they are bigger so less of them on chip support simple functions, need more blocks, but they are smaller so more of them on chip Interconnect how are logic blocks arranged? how many wires will be needed between them? are wires evenly distributed across chip? programmability slows wires down – are some wires specialized to long distances? how many inputs/outputs must be routed to/from each logic block? what utilization are we willing to accept? 50%? 20%? 90%?

Xilinx Programmable Gate Arrays CLB - Configurable Logic Block 5-input, 1 output function or 2 4-input, 1 output functions optional register on outputs Built-in fast carry logic Can be used as memory Three types of routing direct general-purpose long lines of various lengths RAM-programmable can be reconfigured

Overview of Virtex-E Architecture

The Virtex CLB

Details of One Virtex Slice

Implement any Two 4-input Functions registered

Implement any 5-input Function

Implement Some Larger Functions e.g. 9-input parity

Two Slices: Any 6-input Function from other slice 6-input function

2 Slices: Implement larger functions e.g. 19-input parity from other slice

Fast Carry Chain: Add 2 bits per slice Carry(a,b,cin) Sum(a,b,cin) a b cin

LUTs as Distributed RAM/ROM

LUTs used as memory

Block RAM

IO Blocks

Virtex Routing

Virtex Routing

Non-Local Routing Hex wires Long wires Global signals Tri-state busses Extend 6 CLBs in one direction Connections at 3 and 6 CLBs “Express busses” Take advantage of many metal layers Long wires Extend the length/height of the chip Global signals e.g. clk, reset Tri-state busses Extend across the chip Use for datapath bit-slice

Using the DLL to De-Skew the Clock

Virtex IOB Xilinx FPGAs - 42

Computer-aided Design Can't design FPGAs by hand way too much logic to manage, hard to make changes Hardware description languages specify functionality of logic at a high level Validation - high-level simulation to catch specification errors verify pin-outs and connections to other system components low-level to verify mapping and check performance Logic synthesis process of compiling HDL program into logic gates and flip-flops Technology mapping map the logic onto elements available in the implementation technology (LUTs for Xilinx FPGAs)

CAD Tool Path (cont’d) Placement and routing assign logic blocks to functions make wiring connections Timing analysis - verify paths determine delays as routed look at critical paths and ways to improve Partitioning and constraining if design does not fit or is unroutable as placed split into multiple chips if design it too slow prioritize critical paths, fix placement of cells, etc. few tools to help with these tasks exist today Generate programming files - bits to be loaded into chip for configuration

Xilinx CAD Tools Verilog/VHDL used to specify logic at Hi-level combine with schematics, library components Synplicity compiles Verilog to logic maps logic to the FPGA cells optimizes logic Xilinx APR - automatic place and route (simulated annealing) provides controllability through constraints handles global signals Xilinx Xdelay measure delay properties of mapping and aid Xilinx XACT design editor to view final mapping results

FPGA Design Flow

Applications of FPGAs Implementation of random logic easier changes at system-level (one device is modified) can eliminate need for full-custom chips Prototyping ensemble of gate arrays used to emulate a circuit to be manufactured get more/better/faster debugging done than possible with simulation Reconfigurable hardware one hardware block used to implement more than one function functions must be mutually-exclusive in time can greatly reduce cost while enhancing flexibility RAM-based only option Special-purpose computation engines hardware dedicated to solving one problem (or class of problems) accelerators attached to general-purpose computers