Challenges of FPGA Physical Design
|
|
- Anna Tucker
- 5 years ago
- Views:
Transcription
1 Challenges of FPGA Physical Design Larry McMurchie 1 and Jovanka Ciric Vujkovic 2 1 Principal Engineer, Solutions Group, Synopsys, Inc., Mountain View, CA, USA 2 R&D Manager, Solutions Group, Synopsys, Inc., Mountain View, CA, USA Notice of Copyright This material is protected under the copyright laws of the U.S. and other countries and any uses not in conformity with the copyright laws are prohibited. Copyright for this document is held by the creator authors and sponsoring organizations of the material, all rights reserved. This document has been submitted to, and reviewed and posted by, the editors of DAC.com. Please recycle if printed.
2 Page 2 of 8 ARTICLE: FPGA Physical Design Challenges of FPGA Physical Design Larry McMurchie 1 and Jovanka Ciric Vujkovic 2 1 Principal Engineer, Solutions Group, Synopsys, Inc., Mountain View, CA, USA 2 R&D Manager, Solutions Group, Synopsys, Inc., Mountain View, CA, USA Abstract Today s FPGAs are able to satisfy the design requirements of a larger percentage of the market that had previously only been served by ASICs. At each successive process node, FPGAs become more attractive alternatives to ASICs for many low- and medium-volume applications because of their lower cost per gate, shorter time to market and lower development risk. Unique features such as programmability and partial re-configuration are advantages that allow better return on investment, power reduction, and access to new application domains. In this article, we will address the challenges in physical design (placement, packing, routing) for FPGAs. Such challenges include the inevitable improvements in performance and power as well as runtime reduction, enabling of incremental changes with design preservation, and partitioning to support team design. Index Terms Physical design, FPGA.
3 Page 3 of 8 I. INTRODUCTION Modern FPGAs have heterogeneous architectures that consist of regularly spaced logic elements covering the whole die. Typically, columns spanning the height of the chip contain memories, DSPs, clock buffers and IOs. Some devices contain processor cores that occupy part of the die. Logic elements contain lookup tables, sequential elements, adders and multiplexers. An example of an FPGA is depicted in Figure 1. Logic Block DSP Memory Processor core Figure 1: FPGA architecture. The FPGA design flow (Figure 2) starts with RTL descriptions and design constraints, and the result is a netlist that is mapped onto the library elements in the FPGA device. After logic synthesis and mapping, a designer can use an FPGA vendor s (Actel, Altera, Lattice, Xilinx, etc.) place and route (P&R) tool to do placement, routing and bit stream generation. Physical synthesis tools from third-party vendors, such as Synopsys Synplify Premier, perform physical synthesis steps such as global placement, optimizations, detailed placement and routing. The optimized netlist is annotated with placement and routing information and forwarded to the FPGA vendor s P&R tool to finish the flow and generate the bit stream. The benefits of using physical synthesis are better timing performance, timing correlation and timing closure.
4 Page 4 of 8 Logic Synthesis Physical Synthesis Global Placement Detailed Placement Partial Routing Vendor Placement Vendor routing, DRC, Bitstream generation Figure 2: Physical design flow for FPGAs. II. PLACEMENT CHALLENGES FOR FPGAS Because of the heterogeneous architectures of FPGAs, traditional ASIC tools such as analytic placers need to be modified and adapted to FPGA architectures. The heterogeneity in FPGAs is reflected in discrete locations for big macro blocks such as DSPs, memories, etc., as shown in Figure 1. The placement algorithms need to be resource-aware: flip-flops, LUTs, carry chains, and macro blocks need to be placed at the corresponding sites on the device. Another difference that arises from the ASIC world is delay modeling. Unlike ASICs, FPGA routing architectures are very granular, typically consisting of fast, short wires that are scarce, followed by medium-length wires spanning a few rows and/or columns, and long wires that span a large number of rows and columns. A given net delay can vary dramatically depending on which type of wire is selected for routing the signal. Placement algorithms that were successfully used in ASIC design can be adapted for use in the global placement stage for FPGAs [1] [2] [3] [4] [7]. To reduce routing congestion, proven successful ASIC approaches such as white-space handling [10] [11] can be used in FPGA global placement. Simulated annealing is used widely in FPGAs because of its capability to model complex cost functions that can capture the heterogeneous delay model in FPGAs, packing cost and congestion [5]. For example, VPR placement and routing [12] was used in the Altera P&R tool and has at its core a simulated annealing algorithm. Interesting work that models the placement problem as a graphembedding of the netlist on the metric space representing FPGA delays is presented in [8], with promising results on Xilinx devices. Partitioning-based placement for FPGAs is another available technique [13]. A comprehensive survey of FPGA design automation techniques is provided in [15].
5 Page 5 of 8 In our experience, the best placement approach is a hybrid of ASIC techniques and methods that account for the granularity of FPGA architectures. The role of global placement is to obtain a coarse placement with architecture-independent optimizers and smoothened cost functions that include wire length, timing and congestion factors. Predicting accurate timing at this level is difficult because delay estimation is crude, placement can have overlaps, and legalization is not guaranteed. Integration of packing in the global placement stage is crucial to alleviate some of these problems. The role of the packing algorithm is to pack the logic cells (LUTs, flip-flops, carry chain, and muxes) into the logic block, while satisfying the legalization rules inside the logic block. Timing and performance improvement can be accomplished with multiple iterations of architecture-dependent optimizations, fast legalization and the global solver. The challenge is to carry over the improvements in worst and total negative slack in the global placement phase through legalization steps and detailed placement to the final timing signoff. The role of the detailed placer is to take advantage of the FPGA architecture in the packing strategy, wire usage and integration with physical synthesis optimizations such as replication, rewiring, retiming and logic restructuring. Efficient reservation and management of routing resources during detailed placement can ensure good timing correlation, optimization of critical paths and better congestion handling, all of which translate into better design performance [14]. An example of the importance of managing routing resources in the detailed placer is shown in Figure 3. The fastest route to the LUT input pin A6 is through a bounce programmable interconnect point (pip) AX. This pip AX is also the only pip to connect to a D input of a flip-flop in the same slice. If the flip-flop is not occupied, the fastest connection to the LUT is achieved. But if a FF is placed in the same slice such that it needs the AX pip to route to its input, the net to the LUT will take a detour with noticeable delay increase. If the FF was not critical, then placing it in the same slice was not a good choice by the detailed placer. switch matrix switch matrix slice Net1 slice A6 LUT A6 LUT FF AX AX Net1 Net2 Figure 3: Physical example of bounce routes effect on placement.
6 Page 6 of 8 III. ROUTING CHALLENGES FOR FPGAS Routing in FPGAs is similar to ASIC routing; however, there are important differences. Routing resources in FPGAs are discrete switches at fixed locations, whereas in ASICs the resources are relatively continuous and non-directional. Thus, FPGA routing architectures are more appropriately modeled as directed graphs. The first challenge is to represent the directed routing graph (which today contains billions of elements) in a compact structure that can be efficiently accessed. There are numerous examples of mature design databases in EDA that might be used to compactly represent the routing graph. One particular open-source effort is OpenAccess (OA) [16]. OA can be used to represent a wide variety of architecture-related data, from structural RTL down to layout. It utilizes IC-specific data compression techniques that reduce disk and memory usage. Efficient access of the graph is required by the innermost loops in all routers, which traverse the directed graph and compute costs of the nodes in the graph. Although a database such as OA could reduce the memory footprint, it is doubtful that access of the elements of a directed graph would be fast enough to be incorporated into the innermost loop of the router. Hence, hand-crafted structures and access methods are required. The routing problem itself is one of finding conflict-free routes and meeting timing constraints. Routers today use a variety of approaches to satisfy these goals. Some perform a congestion-based route first to find a conflict-free routing, and then attempt to optimize routes on critical paths. Others attempt to satisfy both (i.e., conflict and criticality) objectives simultaneously. In this latter category, the Pathfinder algorithm [9] has been used with considerable success for the last two decades to solve this problem. Pathfinder starts with a delay-optimal route for all nets, ignoring conflicts caused by multiple signals occupying the same nodes. During subsequent reroutes, Pathfinder introduces costs for conflicts, but in a gradual fashion. Such costs are determined by the number of rerouting attempts as well as the criticality of the nets vying for the same node. The fundamental idea is to give priority to critical nets and force less-critical nets to find alternate routes. A key element in the implementation is the gradual change in routing costs, so that a semi-equilibrium state is maintained between rerouting attempts, and sufficient alternate routes are attempted. The plus side is that quality of the final routes is high: clock periods determined by timing analysis using the final routing delays are typically only a few percent degraded from those obtained during the initial route. On the other hand, the multiple rerouting attempts and gradual introduction of costs for conflicts can require substantially longer runtimes than other methods. As a result, the innermost loop of the router must be carefully constructed so that graph traversal and cost calculation are very efficient. Efficient graph queries and methods such as A* are critical for tolerable runtimes. Looking to the future, routing algorithms must adapt to increasingly complex logic blocks. Such complex logic blocks produce more compact (and higher-performance) circuit implementations. Fast local routes are often provided for nearest-neighbor connections. Often, however, algorithms have difficulty allocating such fast local routes and making the tradeoff between delays/slacks of nets that compete for these routes. In the future, special treatment of local routes will be needed. For example, such routes may be determined by the detailed placer and preset for the router, as might be the case for the route shown in Figure 3. IV. RUNTIME CHALLENGES IN PHYSICAL DESIGN Runtime is increasingly one of the main challenges in physical design for FPGAs. Physical synthesis, placement and routing are typically runtime-intensive when they are geared for achieving best performance. For Xilinx Virtex6 devices with more than 300,000 LUTs, and designs with 85% LUT and flip-flop utilization, the runtime from physical synthesis through Xilinx place and route is
7 Page 7 of 8 typically more than 24 hours. Multi-threading and multiprocessing are used to speed up parts of the flow that are inherently parallelizable, such as force calculation in global placement [2] or moves in simulated annealing [6]. In our experience, speedups of 2.4X on eight cores are obtained by parallelizing the conjugate gradient solver used in the global placer. The best speedups are achieved at the highest levels of the algorithms or by partitioning the design and running each partition on separate cores. Unfortunately, logical hierarchies are typically not appropriate for physical design partitioning because instances from different hierarchies must be placed close or packed together to achieve best performance. The challenge is therefore to partition the design such that physical synthesis can be run on each partition separately without a significant sacrifice in QoR. Speedups of up to 30 percent in logic synthesis can be achieved by partitioning the design into modules and mapping each module onto a separate thread or processor. In the physical synthesis step this is much harder, because the place and route steps for the modules are intertwined unless the design is partitioned into non-overlapping regions. If place and route for each module is done separately on a different processor, with the results stitched back together, speedups of the physical design part of the flow could be achieved to a similar degree as in logic synthesis. V. INCREMENTAL PHYSICAL DESIGN FLOWS With increased design size, incremental flows are a very important aspect of reducing runtime and maintaining timing closure when only a small part of the design is changed. The goal here is to preserve the performance of the parts of the design that were not modified. The problems of incremental design performed by a single designer are magnified in team design, where designers across multiple geographies and time zones work on different modules that share the same FPGA die. In some applications, floorplanning can easily divide the real estate into separate regions. But in most applications, the locations of macro blocks such as memories and DSPs require that partitions be defined with overlapping regions, requiring sharing of regions between team members. Finding a way to partition the physical design across multiple team members, while preserving resource and timing constraints, will be increasingly important as FPGA designs are created by teams. FPGA vendor tools from Altera and Xilinx have features that allow designers to make changes to a critical block and iterate through logic synthesis and place and route just for that block until timing is closed. Partitions that have not changed are frozen for both placement and routing in order to guarantee timing on that partition. This can result in unroutable placements when changes in other parts of the design require routing resources that were locked for the frozen partition. As some of these problems are addressed in the next generation of incremental flows, practical use by designers will reveal how well the incremental tools have matured and how well they help designers to rapidly close timing when making changes to their designs. VI. CONCLUSION The traditional view of FPGA CAD tools has been that they should be easy to use and pushbutton, with reasonable compile time to enable at least 1-2 compilations per day. As FPGAs move to 32nm process nodes and beyond, the challenges of modeling delay, power consumption and congestion, as well as controlling compile time and turnaround time, will necessitate innovation in physical synthesis. Innovation will come from placement, floorplanning, packing and routing algorithms, as well as delay modeling and design methodology. Meeting these challenges, while maintaining physical design tool ease-of-use and high quality-of-results, is the continuing task before us.
8 Page 8 of 8 REFERENCES [1] B. Halpin, C.-Y. R. Chen and N. Sehgal, Timing Driven Placement Using Physical Net Constraints, Proc. Design Automation Conf., 2001, pp [2] H. Eisenmann and F. M. Johannes, Generic Global Placement and Floorplanning, Proc. Design Automation Conf., 1998, pp [3] P. Splinder and F. Johannes, Fast and Robust Quadratic Placement With an Exact Linear Net Model, Proc. ICCAD, 2006, pp [4] C. Alpert, A. B. Kahng, G. Nam, S. Reda, and P. Villarrubia, A Semi-Persistent Clustering Technique for VLSI Circuit Placement, Proc. ISPD, 2005, pp [5] K. Vorwerk, A. Kennings and J. Green, Improving Simulated Annealing-Based FPGA Placement With Directed Moves, IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems 28 (2009), pp [6] A. Ludwin, V. Betz and K. Padalia, High-Quality, Deterministic Parallel Placement for FPGAs on Commodity Hardware, Proc. ACM Intl. Symp. On Field-Programmable Gate Arrays, 2008, pp [7] A. B. Kahng and Q. Wang, Implementation and Extensibility of an Analytic Placer, IEEE Trans. on Computer- Aided Design of Circuits and Systems 24 (2005), pp [8] P. Gopalakrishan, X. Li and L. Pileggi, Architecture-Aware FPGA Placement Using Metric Embedding, Proc. Design Automation Conf., 2006, pp [9] L. McMurchie and C. Ebeling. PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs, Proc. ACM Intl. Symp. On Field-Programmable Gate Arrays, 1995, pp [10] X. Yang, B.-K. Choi and M. Sarrafzadeh, Routability-Driven Whitespace Allocation for Fixed-Die Standard-Cell Placement, IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems 22 (2003), pp [11] S. N. Adya, I. L. Markov and P. G. Villarrubia, On Whitespace in Mixed-Size Placement and Physical Synthesis, Proc. ICCAD, 2003, pp [12] V. Betz and J. Rose, VPR: A New Packing, Placement and Routing Tool for FPGA Research Proc. 7th International Workshop on Field-Programmable Logic and Applications, 1997, pp [13] P. Maidee, C. Ababei and K. Bazargan, Fast Timing-Driven Partitioning-Based Placement for Island Style FPGAs, Proc. Design Automation Conf., 2003, pp [14] J.C. Vujkovic and K. S. McElvain, FPGA Routing With Reservation for Long Lines and Sharing Long Lines, Patent No. WO/2007/ [15] D. Chen, J. Cong and P. Pan, FPGA Design Automation: A Survey, Foundations and Trends in EDA 1(3) (2006), pp [16]
Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion
Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion Chen Li, Cheng-Kok Koh School of ECE, Purdue University West Lafayette, IN 47907, USA {li35, chengkok}@ecn.purdue.edu Patrick
More informationHow Much Logic Should Go in an FPGA Logic Block?
How Much Logic Should Go in an FPGA Logic Block? Vaughn Betz and Jonathan Rose Department of Electrical and Computer Engineering, University of Toronto Toronto, Ontario, Canada M5S 3G4 {vaughn, jayar}@eecgutorontoca
More informationFast FPGA Routing Approach Using Stochestic Architecture
. Fast FPGA Routing Approach Using Stochestic Architecture MITESH GURJAR 1, NAYAN PATEL 2 1 M.E. Student, VLSI and Embedded System Design, GTU PG School, Ahmedabad, Gujarat, India. 2 Professor, Sabar Institute
More informationAdvanced FPGA Design Methodologies with Xilinx Vivado
Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,
More informationExploring Logic Block Granularity for Regular Fabrics
1530-1591/04 $20.00 (c) 2004 IEEE Exploring Logic Block Granularity for Regular Fabrics A. Koorapaty, V. Kheterpal, P. Gopalakrishnan, M. Fu, L. Pileggi {aneeshk, vkheterp, pgopalak, mfu, pileggi}@ece.cmu.edu
More informationEECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history
More informationOutline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic
More informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Placement Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and
More informationChapter 5: ASICs Vs. PLDs
Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.
More informationFPGAs & Multi-FPGA Systems. FPGA Abstract Model. Logic cells imbedded in a general routing structure. Logic cells usually contain:
s & Multi- Systems Fit logic into a prefabricated system Fixed inter-chip routing Fixed on-chip logic & routing XBA Partitioning Global outing Technology Map. XBA XBA Placement outing 23 Abstract Model
More informationECO-system: Embracing the Change in Placement
Motivation ECO-system: Embracing the Change in Placement Jarrod A. Roy and Igor L. Markov University of Michigan at Ann Arbor Cong and Sarrafzadeh: state-of-the-art incremental placement techniques unfocused
More informationECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I
ECE 636 Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays I Overview Anti-fuse and EEPROM-based devices Contemporary SRAM devices - Wiring - Embedded New trends - Single-driver wiring -
More informationFPGA: What? Why? Marco D. Santambrogio
FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much
More informationDesign Compiler Graphical Create a Better Starting Point for Faster Physical Implementation
Datasheet Create a Better Starting Point for Faster Physical Implementation Overview Continuing the trend of delivering innovative synthesis technology, Design Compiler Graphical streamlines the flow for
More informationFast Timing-driven Partitioning-based Placement for Island Style FPGAs
.1 Fast Timing-driven Partitioning-based Placement for Island Style FPGAs Pongstorn Maidee Cristinel Ababei Kia Bazargan Electrical and Computer Engineering Department University of Minnesota, Minneapolis,
More informationComprehensive Place-and-Route Platform Olympus-SoC
Comprehensive Place-and-Route Platform Olympus-SoC Digital IC Design D A T A S H E E T BENEFITS: Olympus-SoC is a comprehensive netlist-to-gdsii physical design implementation platform. Solving Advanced
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationA SURVEY: ON VARIOUS PLACERS USED IN VLSI STANDARD CELL PLACEMENT AND MIXED CELL PLACEMENT
Int. J. Chem. Sci.: 14(1), 2016, 503-511 ISSN 0972-768X www.sadgurupublications.com A SURVEY: ON VARIOUS PLACERS USED IN VLSI STANDARD CELL PLACEMENT AND MIXED CELL PLACEMENT M. SHUNMUGATHAMMAL a,b, C.
More informationCAD Flow for FPGAs Introduction
CAD Flow for FPGAs Introduction What is EDA? o EDA Electronic Design Automation or (CAD) o Methodologies, algorithms and tools, which assist and automatethe design, verification, and testing of electronic
More informationAcademic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures
Academic Clustering and Placement Tools for Modern Field-Programmable Gate Array Architectures by Daniele G Paladino A thesis submitted in conformity with the requirements for the degree of Master of Applied
More informationITOP: Integrating Timing Optimization within Placement
ITOP: Integrating Timing Optimization within Placement Natarajan Viswanathan, Gi-Joon Nam, Jarrod A. Roy, Zhuo Li, Charles J. Alpert, Shyam Ramji, Chris Chu IBM Austin Research Laboratory, 11501 Burnet
More informationPlacement Strategies for 2.5D FPGA Fabric Architectures
Placement Strategies for 2.5D FPGA Fabric Architectures Chirag Ravishankar 3100 Logic Dr. Longmont, Colorado Email: chiragr@xilinx.com Dinesh Gaitonde 2100 Logic Dr. San Jose, California Email: dineshg@xilinx.com
More informationEliminating Routing Congestion Issues with Logic Synthesis
Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an
More informationAutomated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices
Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices Deshanand P. Singh Altera Corporation dsingh@altera.com Terry P. Borer Altera Corporation tborer@altera.com
More informationIterative-Constructive Standard Cell Placer for High Speed and Low Power
Iterative-Constructive Standard Cell Placer for High Speed and Low Power Sungjae Kim and Eugene Shragowitz Department of Computer Science and Engineering University of Minnesota, Minneapolis, MN 55455
More informationOn GPU Bus Power Reduction with 3D IC Technologies
On GPU Bus Power Reduction with 3D Technologies Young-Joon Lee and Sung Kyu Lim School of ECE, Georgia Institute of Technology, Atlanta, Georgia, USA yjlee@gatech.edu, limsk@ece.gatech.edu Abstract The
More informationSynthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool
Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool Md. Abdul Latif Sarker, Moon Ho Lee Division of Electronics & Information Engineering Chonbuk National University 664-14 1GA Dekjin-Dong
More informationEN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)
EN2911X: Lecture 13: Design Flow: Physical Synthesis (5) Prof. Sherief Reda Division of Engineering, rown University http://scale.engin.brown.edu Fall 09 Summary of the last few lectures System Specification
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationStratix vs. Virtex-II Pro FPGA Performance Analysis
White Paper Stratix vs. Virtex-II Pro FPGA Performance Analysis The Stratix TM and Stratix II architecture provides outstanding performance for the high performance design segment, providing clear performance
More informationWhat is Xilinx Design Language?
Bill Jason P. Tomas University of Nevada Las Vegas Dept. of Electrical and Computer Engineering What is Xilinx Design Language? XDL is a human readable ASCII format compatible with the more widely used
More informationOn Improving Recursive Bipartitioning-Based Placement
Purdue University Purdue e-pubs ECE Technical Reports Electrical and Computer Engineering 12-1-2003 On Improving Recursive Bipartitioning-Based Placement Chen Li Cheng-Kok Koh Follow this and additional
More informationFPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011
FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level
More informationCHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or
1 CHAPTER 1 INTRODUCTION 1.1. Overview In the modern time, integrated circuit (chip) is widely applied in the electronic equipment. Almost every digital appliance, like computer, camera, music player or
More informationA Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs
A Methodology and Tool Framework for Supporting Rapid Exploration of Memory Hierarchies in FPGAs Harrys Sidiropoulos, Kostas Siozios and Dimitrios Soudris School of Electrical & Computer Engineering National
More informationClock Tree Resynthesis for Multi-corner Multi-mode Timing Closure
Clock Tree Resynthesis for Multi-corner Multi-mode Timing Closure Subhendu Roy 1, Pavlos M. Mattheakis 2, Laurent Masse-Navette 2 and David Z. Pan 1 1 ECE Department, The University of Texas at Austin
More informationSungmin Bae, Hyung-Ock Kim, Jungyun Choi, and Jaehong Park. Design Technology Infrastructure Design Center System-LSI Business Division
Sungmin Bae, Hyung-Ock Kim, Jungyun Choi, and Jaehong Park Design Technology Infrastructure Design Center System-LSI Business Division 1. Motivation 2. Design flow 3. Parallel multiplier 4. Coarse-grained
More informationSynthesizable FPGA Fabrics Targetable by the VTR CAD Tool
Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool Jin Hee Kim and Jason Anderson FPL 2015 London, UK September 3, 2015 2 Motivation for Synthesizable FPGA Trend towards ASIC design flow Design
More informationProgrammable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.
Overview This set of notes introduces many of the features available in the FPGAs of today. The majority use SRAM based configuration cells, which allows fast reconfiguation. Allows new design ideas to
More informationHierarchical Design Using Synopsys and Xilinx FPGAs
White Paper: FPGA Design Tools WP386 (v1.0) February 15, 2011 Hierarchical Design Using Synopsys and Xilinx FPGAs By: Kate Kelley Xilinx FPGAs offer up to two million logic cells currently, and they continue
More informationPlacement techniques for the physical synthesis of nanometer-scale integrated circuits
Graduate Theses and Dissertations Graduate College 2009 Placement techniques for the physical synthesis of nanometer-scale integrated circuits Natarajan Viswanathan Iowa State University Follow this and
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationCircuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk
Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk Andrew A. Kennings, Univ. of Waterloo, Canada, http://gibbon.uwaterloo.ca/ akenning/ Igor L. Markov, Univ. of
More informationSilicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design
Silicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design Wei-Jin Dai, Dennis Huang, Chin-Chih Chang, Michel Courtoy Cadence Design Systems, Inc. Abstract A design methodology for the implementation
More informationOverview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips
Overview CSE372 Digital Systems Organization and Design Lab Prof. Milo Martin Unit 5: Hardware Synthesis CAD (Computer Aided Design) Use computers to design computers Virtuous cycle Architectural-level,
More informationAn Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR An Introduction to FPGA Placement Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR
More informationFPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.
FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More informationSynthesis Options FPGA and ASIC Technology Comparison - 1
Synthesis Options Comparison - 1 2009 Xilinx, Inc. All Rights Reserved Welcome If you are new to FPGA design, this module will help you synthesize your design properly These synthesis techniques promote
More informationPRODUCT-TERM BASED SYNTHESIZABLE EMBEDDED PROGRAMMABLE LOGIC CORES. Andy Chee Wai Yan B.A.Sc, University of British Columbia, 2002
PRODUCT-TERM BASED SYNTHESIZABLE EMBEDDED PROGRAMMABLE LOGIC CORES by Andy Chee Wai Yan B.A.Sc, University of British Columbia, 2002 A thesis submitted in partial fulfillment of the requirements for the
More informationA Path Based Algorithm for Timing Driven. Logic Replication in FPGA
A Path Based Algorithm for Timing Driven Logic Replication in FPGA By Giancarlo Beraudo B.S., Politecnico di Torino, Torino, 2001 THESIS Submitted as partial fulfillment of the requirements for the degree
More informationToward More Efficient Annealing-Based Placement for Heterogeneous FPGAs. Yingxuan Liu
Toward More Efficient Annealing-Based Placement for Heterogeneous FPGAs by Yingxuan Liu A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate Department
More informationIntroduction Warp Processors Dynamic HW/SW Partitioning. Introduction Standard binary - Separating Function and Architecture
Roman Lysecky Department of Electrical and Computer Engineering University of Arizona Dynamic HW/SW Partitioning Initially execute application in software only 5 Partitioned application executes faster
More informationECE260B CSE241A Winter Placement
ECE260B CSE241A Winter 2005 Placement Website: / courses/ ece260b- w05 ECE260B CSE241A Placement.1 Slides courtesy of Prof. Andrew B. Slides courtesy of Prof. Andrew B. Kahng VLSI Design Flow and Physical
More informationFPGA architecture and design technology
CE 435 Embedded Systems Spring 2017 FPGA architecture and design technology Nikos Bellas Computer and Communications Engineering Department University of Thessaly 1 FPGA fabric A generic island-style FPGA
More informationMore Course Information
More Course Information Labs and lectures are both important Labs: cover more on hands-on design/tool/flow issues Lectures: important in terms of basic concepts and fundamentals Do well in labs Do well
More informationRTL Coding General Concepts
RTL Coding General Concepts Typical Digital System 2 Components of a Digital System Printed circuit board (PCB) Embedded d software microprocessor microcontroller digital signal processor (DSP) ASIC Programmable
More informationINTRODUCTION TO FPGA ARCHITECTURE
3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing
More informationDesign Tools for 100,000 Gate Programmable Logic Devices
esign Tools for 100,000 Gate Programmable Logic evices March 1996, ver. 1 Product Information Bulletin 22 Introduction The capacity of programmable logic devices (PLs) has risen dramatically to meet the
More informationPhysical Design For FPGAs Rajeev Jayaraman Xilinx Inc Logic Drive San Jose, CA 95131, USA
Physical Design For FPGAs Rajeev Jayaraman Xilinx Inc. 2100 Logic Drive San Jose, CA 95131, USA rajeev.jayaraman@xilinx.com ABSTRACT FPGAs have been growing at a rapid rate in the past few years. Their
More informationHigh Quality, Low Cost Test
Datasheet High Quality, Low Cost Test Overview is a comprehensive synthesis-based test solution for compression and advanced design-for-test that addresses the cost challenges of testing complex designs.
More informationWojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA
Interconnect Characteristics of 2.5-D System Integration Scheme Yangdong Deng Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213 412-268-5234
More informationConcurrent, OA-based Mixed-signal Implementation
Concurrent, OA-based Mixed-signal Implementation Mladen Nizic Eng. Director, Mixed-signal Solution 2011, Cadence Design Systems, Inc. All rights reserved worldwide. Mixed-Signal Design Challenges Traditional
More informationUNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163
UNIT 4 INTEGRATED CIRCUIT DESIGN METHODOLOGY E5163 LEARNING OUTCOMES 4.1 DESIGN METHODOLOGY By the end of this unit, student should be able to: 1. Explain the design methodology for integrated circuit.
More informationReducing Power in an FPGA via Computer-Aided Design
Reducing Power in an FPGA via Computer-Aided Design Steve Wilton University of British Columbia Power Reduction via CAD How to reduce power dissipation in an FPGA: - Create power-aware CAD tools - Create
More informationDIGITAL DESIGN TECHNOLOGY & TECHNIQUES
DIGITAL DESIGN TECHNOLOGY & TECHNIQUES CAD for ASIC Design 1 INTEGRATED CIRCUITS (IC) An integrated circuit (IC) consists complex electronic circuitries and their interconnections. William Shockley et
More informationLattice Semiconductor Design Floorplanning
September 2012 Introduction Technical Note TN1010 Lattice Semiconductor s isplever software, together with Lattice Semiconductor s catalog of programmable devices, provides options to help meet design
More informationA Methodology for Energy Efficient FPGA Designs Using Malleable Algorithms
A Methodology for Energy Efficient FPGA Designs Using Malleable Algorithms Jingzhao Ou and Viktor K. Prasanna Department of Electrical Engineering, University of Southern California Los Angeles, California,
More informationProblem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.
Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.
More informationHigh Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx
High Capacity and High Performance 20nm FPGAs Steve Young, Dinesh Gaitonde August 2014 Not a Complete Product Overview Page 2 Outline Page 3 Petabytes per month Increasing Bandwidth Global IP Traffic Growth
More informationA VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS
architecture behavior of control is if left_paddle then n_state
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of
More informationSUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, A Low-Power Field-Programmable Gate Array Routing Fabric.
SUBMITTED FOR PUBLICATION TO: IEEE TRANSACTIONS ON VLSI, DECEMBER 5, 2007 1 A Low-Power Field-Programmable Gate Array Routing Fabric Mingjie Lin Abbas El Gamal Abstract This paper describes a new FPGA
More informationProASIC PLUS FPGA Family
ProASIC PLUS FPGA Family Key Features Reprogrammable /Nonvolatile Flash Technology Low Power Secure Single Chip/Live at Power Up 1M Equivalent System Gates Cost Effective ASIC Alternative ASIC Design Flow
More informationCan Recursive Bisection Alone Produce Routable Placements?
Supported by Cadence Can Recursive Bisection Alone Produce Routable Placements? Andrew E. Caldwell Andrew B. Kahng Igor L. Markov http://vlsicad.cs.ucla.edu Outline l Routability and the placement context
More informationTROUTE: A Reconfigurability-aware FPGA Router
TROUTE: A Reconfigurability-aware FPGA Router Karel Bruneel and Dirk Stroobandt Hardware and Embedded Systems Group, ELIS Dept., Ghent University, Sint-Pietersnieuwstraat 4, B-9000 Gent, Belgium {karel.bruneel;dirk.stroobandt}@ugent.be
More informationIntroduction to reconfigurable systems
Introduction to reconfigurable systems Reconfigurable system (RS)= any system whose sub-system configurations can be changed or modified after fabrication Reconfigurable computing (RC) is commonly used
More informationMultilayer Routing on Multichip Modules
Multilayer Routing on Multichip Modules ECE 1387F CAD for Digital Circuit Synthesis and Layout Professor Rose Friday, December 24, 1999. David Tam (2332 words, not counting title page and reference section)
More informationMulti-Million Gate FPGA Physical Design Challenges
Multi-Million Gate FPGA Physical Design Challenges Maogang Wang Cadence Design Systems mgwang@cadence.com Abhishek Ranjan Hier Design Inc ranjan@hierdesign.com Salil Raje Hier Design Inc salil@hierdesign.com
More informationSpiral 2-8. Cell Layout
2-8.1 Spiral 2-8 Cell Layout 2-8.2 Learning Outcomes I understand how a digital circuit is composed of layers of materials forming transistors and wires I understand how each layer is expressed as geometric
More informationLaker 3 Custom Design Tools
Datasheet Laker 3 Custom Design Tools Laker 3 Custom Design Tools The Laker 3 Custom Design Tools form a unified front-to-back environment for custom circuit design and layout. They deliver a complete
More informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationVdd Programmability to Reduce FPGA Interconnect Power
Vdd Programmability to Reduce FPGA Interconnect Power Fei Li, Yan Lin and Lei He Electrical Engineering Department University of California, Los Angeles, CA 90095 ABSTRACT Power is an increasingly important
More informationFPGAs: Instant Access
FPGAs: Instant Access Clive"Max"Maxfield AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO % ELSEVIER Newnes is an imprint of Elsevier Newnes Contents
More informationChapter 5 Global Routing
Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of Routing Regions 5.5 The Global Routing Flow 5.6 Single-Net Routing 5.6. Rectilinear
More informationActel s SX Family of FPGAs: A New Architecture for High-Performance Designs
Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs A Technology Backgrounder Actel Corporation 955 East Arques Avenue Sunnyvale, California 94086 April 20, 1998 Page 2 Actel Corporation
More informationProgrammable Logic Devices II
São José February 2015 Prof. Hoeller, Prof. Moecke (http://www.sj.ifsc.edu.br) 1 / 28 Lecture 01: Complexity Management and the Design of Complex Digital Systems Prof. Arliones Hoeller arliones.hoeller@ifsc.edu.br
More informationFloorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence
Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence Chen-Wei Liu 12 and Yao-Wen Chang 2 1 Synopsys Taiwan Limited 2 Department of Electrical Engineering National Taiwan University,
More information160 M. Nadjarbashi, S.M. Fakhraie and A. Kaviani Figure 2. LUTB structure. each block-level track can be arbitrarily connected to each of 16 4-LUT inp
Scientia Iranica, Vol. 11, No. 3, pp 159{164 c Sharif University of Technology, July 2004 On Routing Architecture for Hybrid FPGA M. Nadjarbashi, S.M. Fakhraie 1 and A. Kaviani 2 In this paper, the routing
More informationBasic Idea. The routing problem is typically solved using a twostep
Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a
More informationHandling Complexities in Modern Large-Scale Mixed-Size Placement
Handling Complexities in Modern Large-Scale Mixed-Size Placement Jackey Z. Yan Natarajan Viswanathan Chris Chu Department of Electrical and Computer Engineering Iowa State University, mes, I 50010 {zijunyan,
More informationMODULAR PARTITIONING FOR INCREMENTAL COMPILATION
MODULAR PARTITIONING FOR INCREMENTAL COMPILATION Mehrdad Eslami Dehkordi, Stephen D. Brown Dept. of Electrical and Computer Engineering University of Toronto, Toronto, Canada email: {eslami,brown}@eecg.utoronto.ca
More informationDigital VLSI Design. Lecture 7: Placement
Digital VLSI Design Lecture 7: Placement Semester A, 2016-17 Lecturer: Dr. Adam Teman 29 December 2016 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from
More informationRippleFPGA: A Routability-Driven Placement for Large-Scale Heterogeneous FPGAs (Invited Paper)
RippleFPGA: A Routability-Driven Placement for Large-Scale Heterogeneous FPGAs (Invited Paper) Chak-Wa Pui, Gengjie Chen, Wing-Kai Chow, Ka-Chun Lam, Jian Kuang, Peishan Tu, Hang Zhang, Evangeline F. Y.
More informationDPlace: Anchor Cell based Quadratic Placement with Linear Objective
DPlace: Anchor Cell based Quadratic Placement with Linear Objective Tao Luo and David Z. Pan Department of Electrical and Computer Engineering The University of Texas at Austin {tluo, dpan}@ece.utexas.edu
More informationVdd Programmable and Variation Tolerant FPGA Circuits and Architectures
Vdd Programmable and Variation Tolerant FPGA Circuits and Architectures Prof. Lei He EE Department, UCLA LHE@ee.ucla.edu Partially supported by NSF. Pathway to Power Efficiency and Variation Tolerance
More informationParallel Implementation of VLSI Gate Placement in CUDA
ME 759: Project Report Parallel Implementation of VLSI Gate Placement in CUDA Movers and Placers Kai Zhao Snehal Mhatre December 21, 2015 1 Table of Contents 1. Introduction...... 3 2. Problem Formulation...
More informationFastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs
FastPlace.0: An Efficient Analytical Placer for Mixed- Mode Designs Natarajan Viswanathan Min Pan Chris Chu Iowa State University ASP-DAC 006 Work supported by SRC under Task ID: 106.001 Mixed-Mode Placement
More information