FPGA CAD 10-MAR-2003.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
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.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Reconfigurable Computing (EN2911X, Fall07)
Evolution of implementation technologies
Lecture 4: FPGA Placement September 12, 2013 ECE 636 Reconfigurable Computing Lecture 4 FPGA Placement.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
February 4, 2002 John Wawrzynek
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
ALTERA UP2 Tutorial 1: The 15 Minute Design. Figure 1.1 The Altera UP 1 CPLD development board. ALTERA UP2 Tutorial 1: The 15 Minute Design.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
1 - ECpE 583 (Reconfigurable Computing): Placing Applications onto FPGAs, Part II Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lecture.
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
CAD for Physical Design of VLSI Circuits
Analytic Placement. Layout Project:  Sending the RTL file: −Thursday, 27 Farvardin  Final deadline: −Tuesday, 22 Ordibehesht  New Project: −Soon 2.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
Julien Lamoureux and Steven J.E Wilton ICCAD
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Programmable Logic Devices
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Datta1 Routing for Reliability in Molecular Diode-based Programmable Nanofabrics Kushal Datta, Arindam Mukherjee and Arun Ravindran Department of Electrical.
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
Introduction to FPGAs Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation
Introduction to FPGA Tools
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
1 Field-programmable Gate Array Architectures and Algorithms Optimized for Implementing Datapath Circuits Andy Gean Ye University of Toronto.
Architecture and algorithm for synthesizable embedded programmable logic core Noha Kafafi, Kimberly Bozman, Steven J. E. Wilton 2003 Field programmable.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Programmable Logic Devices Zainalabedin Samadi. Embedded Systems Technology  Programmable Processors  Application Specific Processor (ASIP)  Single.
1 Architecture of Datapath- oriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer.
Introduction to the FPGA and Labs
Combinational Logic Design
LAB #3 Design of Combinational Logic “The Trip Genie”
Placement study at ESA Filomena Decuzzi David Merodio Codinachs
Dept. of Electrical and Computer Engineering
Electronics for Physicists
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Reconfigurable Computing
Week 5, Verilog & Full Adder
Verilog to Routing CAD Tool Optimization
332:437 Lecture 7 Verilog Hardware Description Language Basics
CPRE 583 Reconfigurable Computing
332:437 Lecture 7 Verilog Hardware Description Language Basics
Topics Logic synthesis. Placement and routing..
FPGA Glitch Power Analysis and Reduction
HIGH LEVEL SYNTHESIS.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Register-Transfer (RT) Synthesis
ECE 697F Reconfigurable Computing Lecture 4 FPGA Placement
Off-path Leakage Power Aware Routing for SRAM-based FPGAs
Digital Designs – What does it take
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

FPGA CAD 10-MAR-2003

Content FPGA CAD design flow; Placement; Routing. (top ten hottest VLSI CAD problems)

FPGA Design Flow Designing with FPGAs is much like the ASICs technology. The Computer Aided Design (CAD) software provided by the FPGA vendor or third part is used to convert the given digital circuit (schematic or a high level description in VHDL or Verilog) into a stream of bits, which is then used to download to the FPGA.

CAD Tools Max+Plus

A Typical FPGA CAD Flow Logic Optimization Placement Routing Design Entry Synthesis Logic Optimization Placement Packing LUTs to CLBs Mapping to k-LUT Routing Simulation Download to FPGA

Placement – Find home for CLBs.

Problem define Assign position(X, Y) to modules; Placement to minimize: total wirelength; critical path wirelength; a combination of them. Estimated model: Circuit quality is determined by placement + routing; Routing is a NP-hard problem. NP-hard problem. (n!) Time is a big issue. Quality and time tradeoff.

circuit before placement

circuit after placement

Heuristic method Constructive methods: Iterative improvement: Partitioning method: min-cut; Clustering. Iterative improvement: Begin with a random or constructive placement; Iterate to improve it; Force directed method; Simulated annealing. Other method: Genetic algorithm;

Minimize cuts during partition Min-Cut Minimize cuts during partition

Force directed method Classical mechanics; Using Hooke’s law; Force vector computed on each module corresponding to all nets connections; Solve a set of non-linear differential equations. force

Simulated annealing Generates best results; (industry standard) Run time is a issue. Model a physical annealing process. VPR placer (placement tools available to us, developed in UoT).

Physical Annealing Take a metal and heat to high temperature until liquidized; Allow it to cool slowly, metal is annealed to a low temperature; Atoms in the metal are at transfer from high energy states to low energy states; Can accept “bad” moves to get global minima. Avoid getting trapped in local minima.

Comparison

Routing-Find the path Maze routing; Pathfinder.

Routing Resource Connection Block Switch Block

Typical Connection

Maze router

Pathfinder router Based on maze router; Shows very high quality results; Negotiation-based router; Each net negotiates the use of shared resources with other nets until none of the resources are shared; Extra weights are added to shared resources. VPR router; Original pathfinder is first developed at the University of Washington. Modification pathfinder(VPR)

Comparison

Questions

Placement + Routing

Design Entry The description of a logic circuit can be entered by using a schematic capture program; VHDL and Verilog interpreter.

Synthesis A circuit description such as VHDL, is first converted to a netlist of basic gates. This process called synthesis.

Logic Optimization technology independent; Improve circuit, while keep functionality correct;

Mapping to LUTs The gates then are mapped into k-input lookup tables (LUT). (most basic brick of FPGA) Chortle. (available to academic, developed in UoT) Minimize total number of LUT, Basic xilinx tech mapping tools follow chortle with modification to handle registers. Minimize delay/area. Largely a solved problem.

Packing LUTs into CLBs Configurable Logic Block (CLB); Grouping the LUTs into CLBs; Simi liar to circuit clustering. Vpack. (available to academic, developed in UoT) Optimize LUT connections Seed BLE, Select next BLE-> shares most inputs and outputs Continue, until cluster full. Hill climbing

Placement Placement is to determining the physical location of each CLBs on the FPGA;

Routing Realize connections among the CLBs by selecting routing resource. wire segments and; routing switches.

Simulation After placement and routing, the implemented design is simulated to ensure its functioning and to verify the timing issues. Design errors can be found and corrected at this stage.

Download bits file to FPGA Once all the necessary steps are completed for implementing the design, the CAD system can download the result to the programming unit that is used to configure the FPGA; After this stage, the programmable device is configured and ready for use.