ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 4: Digital Systems Concepts November 16, 2005.

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

Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Lecture 15 Finite State Machine Implementation
Survey of Reconfigurable Logic Technologies
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Programmable Logic Devices
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
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.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Multiplexers, Decoders, and Programmable Logic Devices
February 4, 2002 John Wawrzynek
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits October 11, 2005.
EE4OI4 Engineering Design Programmable Logic Technology.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Basic Sequential Components CT101 – Computing Systems Organization.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits January 25, 2006.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
BR 1/991 Issues in FPGA Technologies Complexity of Logic Element –How many inputs/outputs for the logic element? –Does the basic logic element contain.
EE3A1 Computer Hardware and Digital Design
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
CPLD Vs. FPGA Positioning Presentation
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.
CEC 220 Digital Circuit Design Programmable Logic Devices
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 2: Introduction to VHDL February 1, 2006.
Survey of Reconfigurable Logic Technologies
2/19/2016http://csg.csail.mit.edu/6.375L11-01 FPGAs K. Elliott Fleming Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
Programmable Logic Devices. Principle of Operation: Example: X = A.B + A’.B’ requires that fuses f1 and f4 to be “blown”.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Thinning Lines Between Software and Hardware Programmable Logic Devices Adam Foust.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Introduction to the FPGA and Labs
Issues in FPGA Technologies
ETE Digital Electronics
Sequential Programmable Devices
Sequential Logic Design
Registers and Counters
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Introduction to Programmable Logic
Electronics for Physicists
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
ASIC 120: Digital Systems and Standard-Cell ASIC Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
We will be studying the architecture of XC3000.
Chapter 13 – Programmable Logic Device Architectures
Electronics for Physicists
Digital Designs – What does it take
Programmable logic and FPGA
Presentation transcript:

ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 4: Digital Systems Concepts November 16, 2005

Outline Summary of previous tutorial The FPGA: LEs, buffers and routing Other FPGA resources: clocks, memories, memory interfaces, multipliers, etc. Soft- and hard-processors in FPGAs Bus interfaces Register files

Summary of Previous Tutorial Other signal values besides ‘0’ and ‘1’ More VHDL data types Attributes, type definitions Generics Splitting a VHDL project across multiple design units and files if … generate, for … generate VHDL 1987 vs vs Test benches –time, procedures, variables, file access, etc.

The FPGA FPGA stands for Field Programmable Gate Array –reprogrammable hardware FPGAs contain –Logic Elements (LEs) which do calculations –Routing resources between LEs –Other specialized functions (memory, multipliers, etc.)

The FPGA: Origins The FPGA is the latest in the family of Programmable Logic Devices (PLDs) First came the Programmable Logic Array (PLA) or Programmable Array Logic (PAL) –implements combinational (non-clocked) logic using array of AND and OR gates –hundreds to thousands of gates Then, the Complex Programmable Logic Device (CPLD) –ability to do sequential circuits –unlike FPGAs, non-volatile –thousands to tens of thousands of gates Field Programmable Gate Array (FPGA) –tens of thousands to millions of gates –often include other resources besides pure logic

FPGA vs. ASIC FPGA –reprogrammable –cheap in small quantities ASIC –mistakes are costly and time consuming to fix –cheap in large quantities –better power consumption –smaller for same functionality

FPGA vs. PSoC or SoC System on a Chip (SoC) or System on a Programmable Chip (PSoC) –Integrates several functional blocks onto one silicon wafer Could include –Microprocessor –RAM, ROM, EEPROM –USB interface –Ethernet interface –Graphics controller –DSP –etc.

FPGA vs. PSoC or SoC SoC is implemented in an ASIC PSoC is implemented in an FPGA Another alternative: “Structured ASICs” –Pre-fab ASICs that take a design implemented and tested in an FPGA and put it into an ASIC Example: Altera HardCopy and HardCopy II – Features –Power usage and speed characteristics of an ASIC –Time from order to production can be as fast as several weeks (as opposed to months for an ASIC) –Cost savings

The FPGA

An FPGA Datasheet Datasheets of any ASIC contain detailed specifications and technical data –FPGAs are no exception Before you start any design, know the FPGA resources –size limitations –speed limitations –number of I/O pins –clock pins and resources –special features You can never have enough FPGA resources

Components of an FPGA Logic Elements (LEs) Routing Input/Output logic Extra features –clocking –memory –memory interfaces –multipliers

The Logic Element Two main parts –Look-Up Table (LUT) –Flip Flop (FF) Other characteristics –load/clear logic –carry chain logic –LUT/FF bypass logic –clock enable –other routing

The Logic Element Look-Up Table –generally four inputs and one output –can implement any four input boolean expression LEs maintain their configuration while power is applied to the FPGA –need to be re-programmed after power-up or global reset, and before using

Routing Routing logic connects LEs to –other LEs –specialized FPGA resources –input/output pins Different kinds of routing logic –short lines –long lines –carry chains –clock routing

How a Design Goes from VHDL to FPGA Synthesis ( “compilation”) –VHDL to intermediate representation Translate –intermediate representation mapped to LUTs and FFs Map –fit translated design into available resources on FPGA Place and Route –place mapped LUTs and FFs into locations on FPGA –determine best routing subject to timing constraints Programming –generate a bit stream (binary file) which can be loaded into the FPGA at programming time

How a Design Goes from VHDL to FPGA This entire process is extremely non- deterministic –much more so than software compilation Terms and steps on previous slide are “generic” –individual FPGA companies have their own terms and slightly different design flows

Input/Output Logic I/O buffers –input –output –tri-state (“output enable”) Specialized I/O –memory interfaces –high speed differential signalling Modern FPGAs can be wired directly (with appropriate analog support components) to –RAM chips –10/100/1000Base-T Ethernet –SD-SDI, HD-SDI drivers (up to 1.5 Gbps) –etc.

Extra FPGA Features Clock features –Phase/Delay Locked Loops (PLLs/DLLs) –Special routing resources Memory –Block RAM –Distributed RAM Memory interfaces –SD-RAM, DDR, DDR2, etc. –Configuration devices Multipliers

Clocks Modern FPGAs feature multiple onboard PLLs that can be used for –phase/frequency synchronization –frequency multiplication –arbitrary duty cycles Clock routing logic –dedicated clock lines that run to all LEs –reduce clock jitter and skew Generally external clocks must be connected to one of several special pins to use these features

Memory

Block RAM

Distributed RAM

RAM Inference

Memory Interfaces

FPGA Configuration What happens to an FPGA on power-up? –LEs and RAM values are random, or some initialization value such as all 0 An FPGA must be configured before it can be used –Configured by a microprocessor –Dedicated configuration device –CPLD using a non-volatile Flash RAM device

Multipliers

Hard- and Soft-Processors

Soft Processor Exmple: Altera NIOS-II

Hard Processor Example: PowerPC

Interfacing with FPGA Features in VHDL

Buses A bus allows multiple entities to communicate over the same “wires” External buses interface between physical ASICs or FPGAs Internal buses interface between different components within an ASIC or FPGA

An Idle Bus

Bus Read Cycle

Bus Write Cycle

External Bus Interfaces

Internal Buses Separate read and write buses

Buses: What I’ve Skipped Bus arbitration –multiple masters Direct Memory Access (DMA) –Bus mastering See the E&CE 324 course notes for more on buses

Register Files Also called register blocks

What I’ve Skipped Blocks, Libraries/Packages –other modularity features –we’ve had a taste of libraries and packages: library ieee; … Configurations –way to select among multiple architectures Constants –like generics, but within one file File access –useful for test benches, not synthesizable Functions, procedures, variables

Preview of Next Tutorial Digital Systems Concepts –The FPGA: LEs, buffers and routing, other resources –Bus interfaces –Register files –Other FPGA resources: clocks, memories, memory interfaces, multipliers, etc. –Soft- and hard-processors in FPGAs

Summary Summary of previous tutorial Other signal values besides ‘0’ and ‘1’ More VHDL data types Attributes, type definitions Generics Splitting a VHDL project across multiple design units and files if … generate, for … generate VHDL 1987 vs vs Test benches –time, procedures, variables, file access, etc.

UW ASIC Design Team reference material –Accolade VHDL reference (excellent!): many of today’s examples came from here –Bryce Leung’s tutorials (UW ASIC website) –Mike Goldsmith’s tutorials (UW ASIC website) –your course notes my contact info: Jeff Wentworth,