Placement study at ESA Filomena Decuzzi David Merodio Codinachs

Slides:



Advertisements
Similar presentations
Simulation of Fracturable LUTs
Advertisements

ECE 506 Reconfigurable Computing Lecture 6 Clustering Ali Akoglu.
Interconnect Complexity-Aware FPGA Placement Using Rent’s Rule G. Parthasarathy Malgorzata Marek-Sadowska Arindam Mukherjee Amit Singh University of California,
BSPlace: A BLE Swapping technique for placement Minsik Hong George Hwang Hemayamini Kurra Minjun Seo 1.
Congestion Driven Placement for VLSI Standard Cell Design Shawki Areibi and Zhen Yang School of Engineering, University of Guelph, Ontario, Canada December.
Clustering of Large Designs for Channel-Width Constrained FPGAs Marvin TomGuy Lemieux University of British Columbia Department of Electrical and Computer.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Power Modeling and Architecture Evaluation for FPGA with Novel Circuits for Vdd Programmability Yan Lin, Fei Li and Lei He EE Department, UCLA
Reconfigurable Computing (EN2911X, Fall07)
CS294-6 Reconfigurable Computing Day 2 August 27, 1998 FPGA Introduction.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 24: Computer-Aided Design using Tanner Tools Prof. Sherief Reda Division.
The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays The Memory/Logic Interface in FPGA’s with Large Embedded Memory Arrays Steven J.
User Programmable Logic Device: Architecture and CAD Tools TingTing Hwang and C. L. Liu.
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.
Placement by Simulated Annealing. Simulated Annealing  Simulates annealing process for placement  Initial placement −Random positions  Perturb by block.
An automatic tool flow for the combined implementation of multi-mode circuits Brahim Al Farisi, Karel Bruneel, João Cardoso, Dirk Stroobandt.
Power Reduction for FPGA using Multiple Vdd/Vth
Titan: Large and Complex Benchmarks in Academic CAD
LOPASS: A Low Power Architectural Synthesis for FPGAs with Interconnect Estimation and Optimization Harikrishnan K.C. University of Massachusetts Amherst.
Un/DoPack: Re-Clustering of Large System-on-Chip Designs with Interconnect Variation for Low-Cost FPGAs Marvin Tom* Xilinx Inc.
Channel Width Reduction Techniques for System-on-Chip Circuits in Field-Programmable Gate Arrays Marvin Tom University of British Columbia Department of.
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.
Impact of Interconnect Architecture on VPSAs (Via-Programmed Structured ASICs) Usman Ahmed Guy Lemieux Steve Wilton System-on-Chip Lab University of British.
Datta1 Routing for Reliability in Molecular Diode-based Programmable Nanofabrics Kushal Datta, Arindam Mukherjee and Arun Ravindran Department of Electrical.
Congestion Estimation and Localization in FPGAs: A Visual Tool for Interconnect Prediction David Yeager Darius Chiu Guy Lemieux The University of British.
Introduction to FPGAs Dr. Philip Brisk Department of Computer Science and Engineering University of California, Riverside CS 223.
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
1 Synthesizing Datapath Circuits for FPGAs With Emphasis on Area Minimization Andy Ye, David Lewis, Jonathan Rose Department of Electrical and Computer.
QUIZ 1. Question 1) According to the study on “Simultaneous Timing Driven Clustering and Placement for FPGAs”, what is a fragment level move and which.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
FPGA CAD 10-MAR-2003.
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.
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
Robust Low Power VLSI R obust L ow P ower VLSI Using Module Compiler to build FPGA Structures Seyi Ayorinde ECE 6505.
ECE 506 Reconfigurable Computing Lecture 5 Logic Block Architecture Ali Akoglu.
Placement and Routing Algorithms. 2 FPGA Placement & Routing.
1 Architecture of Datapath- oriented Coarse-grain Logic and Routing for FPGAs Andy Ye, Jonathan Rose, David Lewis Department of Electrical and Computer.
Field Programmable Gate Arrays
ETE Digital Electronics
Sequential Programmable Devices
Runtime-Quality Tradeoff in Partitioning Based Multithreaded Packing
Programmable Hardware: Hardware or Software?
Floating-Point FPGA (FPFPGA)
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Verilog Introduction Fall
HeAP: Heterogeneous Analytical Placement for FPGAs
From Silicon to Microelectronics Yahya Lakys EE & CE 200 Fall 2014
Andy Ye, Jonathan Rose, David Lewis
Incremental Placement Algorithm for Field Programmable Gate Arrays
We will be studying the architecture of XC3000.
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
Off-path Leakage Power Aware Routing for SRAM-based FPGAs
A New Hybrid FPGA with Nanoscale Clusters and CMOS Routing Reza M. P
Measuring the Gap between FPGAs and ASICs
CprE / ComS 583 Reconfigurable Computing
Chapter 3b Leakage Efficient Chip-Level Dual-Vdd Assignment with Time Slack Allocation for FPGA Power Reduction Prof. Lei He Electrical Engineering Department.
Programmable logic and FPGA
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Placement study at ESA Filomena Decuzzi David Merodio Codinachs TEC-EDM

Outline PURPLE platform VPR: External Placement Engine VPR CAD Flow Architectural differences Congestion factor Preliminary results 2

Atmel FPGA 3rd User Group Workshop PURPLE Placement engine Placement engine Front-end Back-end Netlist description Logic position design.fgd design_replace.fgd Atmel FPGA 3rd User Group Workshop Oct 07, 2010 3

VPR: general architecture From VPR website (and several papers): “VPR was written to allow circuits to be placed and routed on a wide variety of FPGAs to facilitate comparisons of different architectures.” “It takes two input files, a netlist describing the circuit to be placed and routed, and a description of the FPGA architecture.” Feasible to use it also for Atmel architecture 4

Versatile Place Route FPGA placement and routing tool Copyright University of Toronto Timing-driven placement VPR paper of 1997 ranks 4th in the most cited FPGA papers in google scholar Optimization engine based on simulated annealing http://www.eecg.toronto.edu/~vaughn/vpr/vpr.html

VPR CAD Flow Input Output Logic blocks in two-level hierarchy: Benchmark Architecture description Output Placement description Routing description Timing analysis Logic blocks in two-level hierarchy: Basic Logic Element (BLE): 1 LUT+1 FF Cluster (n BLEs)

T-VPack T-Vpack perform a timing-driven packing in clusters Fully connected cluster: sharing of all the input and output between all the BLE of the cluster (intra-cluster routing) Logic Cluster Not supported by Atmel architecture

VPR: general enough? Recall (from VPR website and several papers): “VPR was written to allow circuits to be placed and routed on a wide variety of FPGAs to facilitate comparisons of different architectures.” “It takes two input files, a netlist describing the circuit to be placed and routed, and a description of the FPGA architecture.” After deeper study: Several architectural differences complicates the adaptation of VPR to support Atmel architecture See next slides 8

Routing architecture (1) VPR routing architecture Atmel routing architecture

Routing architecture (2) VPR switch box Atmel direct connection

Architecture gap Intra-cluster routing Inter-cluster routing Absence of fully-connected cluster in Atmel architecture Inter-cluster routing Absence of switch box in Atmel architecture Direct connection Partially supported by VPR VPR “as is” produces a very dense placement non routable 11

VPR Cost Timing cost Wiring cost previous timing cost number of nets in the circuit previous wiring cost compensation factor constant [0,1] horizontal span weight critical connection [1,max(default 8)] vertical span

VPR_congestion Yue Zhuo, Hao Li and Saraju P. Mohanty “A congestion driven placement algorithm for fpga synthesis”,In proceeding of the International Conference on Field Programmable Logic and Application,2006 number of bouding boxes covering horizontal size chip vertical size chip small positive integer Always When close to 1 the placement is balanced When greater than 1 the placement is congested ≥ 1

Ex1 Figaro solution 2714 104 2409 2276 133 979 10111 6005 4106 Net IO instance Core Cell netlist instance for routing Macros with RAM Register Buses Local Express

VPR solution VPR VPR_congestion final 714 route contention

VPR_congestion best sol % respect Figaro Net IO instance Core Cell netlist instance for routing Macros with RAM Register Buses Local Express 2714 104 2906 2276 630 979 13051 7110 5941 - 20% 29% 18% 11% final 119 route contention

Conclusion VPR usage is not as generic as initially estimated adaptation to Atmel architecture not trivial VPR ongoing work: Optimization of use of direct connection required Re-define congestion factor on Atmel architecture PURPLE is finished and enables the use of any Placement and Routing Engines Close collaboration with Atmel to keep compatibility with future versions 17