198 research outputs found

    CRoute: a fast high-quality timing-driven connection-based FPGA router

    Get PDF
    FPGA routing is an important part of physical design as the programmable interconnection network requires the majority of the total silicon area and the connections largely contribute to delay and power. It should also occur with minimum runtime to enable efficient design exploration. In this work we elaborate on the concept of the connection-based routing principle. The algorithm is improved and a timing-driven version is introduced. The router, called CROUTE, is implemented in an easy to adapt FPGA CAD framework written in Java, which is publicly available on GitHub. Quality and runtime are compared to the state-of-the-art router in VPR 7.0.7. Benchmarking is done with the TITAN23 design suite, which consists of large heterogeneous designs targeted to a detailed representation of the Stratix IV FPGA. CROUTE gains in both the total wirelength and maximum clock frequency while reducing the routing runtime. The total wire-length reduces by 11% and the maximum clock frequency increases by 6%. These high-quality results are obtained in 3.4x less routing runtime

    OpenPARF: An Open-Source Placement and Routing Framework for Large-Scale Heterogeneous FPGAs with Deep Learning Toolkit

    Full text link
    This paper proposes OpenPARF, an open-source placement and routing framework for large-scale FPGA designs. OpenPARF is implemented with the deep learning toolkit PyTorch and supports massive parallelization on GPU. The framework proposes a novel asymmetric multi-electrostatic field system to solve FPGA placement. It considers fine-grained routing resources inside configurable logic blocks (CLBs) for FPGA routing and supports large-scale irregular routing resource graphs. Experimental results on ISPD 2016 and ISPD 2017 FPGA contest benchmarks and industrial benchmarks demonstrate that OpenPARF can achieve 0.4-12.7% improvement in routed wirelength and more than 2×2\times speedup in placement. We believe that OpenPARF can pave the road for developing FPGA physical design engines and stimulate further research on related topics

    Timing-Driven Macro Placement

    Get PDF
    Placement is an important step in the process of finding physical layouts for electronic computer chips. The basic task during placement is to arrange the building blocks of the chip, the circuits, disjointly within a given chip area. Furthermore, such positions should result in short circuit interconnections which can be routed easily and which ensure all signals arrive in time. This dissertation mostly focuses on macros, the largest circuits on a chip. In order to optimize timing characteristics during macro placement, we propose a new optimistic timing model based on geometric distance constraints. This model can be computed and evaluated efficiently in order to predict timing traits accurately in practice. Packing rectangles disjointly remains strongly NP-hard under slack maximization in our timing model. Despite of this we develop an exact, linear time algorithm for special cases. The proposed timing model is incorporated into BonnMacro, the macro placement component of the BonnTools physical design optimization suite developed at the Research Institute for Discrete Mathematics. Using efficient formulations as mixed-integer programs we can legalize macros locally while optimizing timing. This results in the first timing-aware macro placement tool. In addition, we provide multiple enhancements for the partitioning-based standard circuit placement algorithm BonnPlace. We find a model of partitioning as minimum-cost flow problem that is provably as small as possible using which we can avoid running time intensive instances. Moreover we propose the new global placement flow Self-Stabilizing BonnPlace. This approach combines BonnPlace with a force-directed placement framework. It provides the flexibility to optimize the two involved objectives, routability and timing, directly during placement. The performance of our placement tools is confirmed on a large variety of academic benchmarks as well as real-world designs provided by our industrial partner IBM. We reduce running time of partitioning significantly and demonstrate that Self-Stabilizing BonnPlace finds easily routable placements for challenging designs – even when simultaneously optimizing timing objectives. BonnMacro and Self-Stabilizing BonnPlace can be combined to the first timing-driven mixed-size placement flow. This combination often finds placements with competitive timing traits and even outperforms solutions that have been determined manually by experienced designers

    OPTIMAL AREA AND PERFORMANCE MAPPING OF K-LUT BASED FPGAS

    Get PDF
    FPGA circuits are increasingly used in many fields: for rapid prototyping of new products (including fast ASIC implementation), for logic emulation, for producing a small number of a device, or if a device should be reconfigurable in use (reconfigurable computing). Determining if an arbitrary, given wide, function can be implemented by a programmable logic block, unfortunately, it is generally, a very difficult problem. This problem is called the Boolean matching problem. This paper introduces a new implemented algorithm able to map, both for area and performance, combinational networks using k-LUT based FPGAs.k-LUT based FPGAs, combinational circuits, performance-driven mapping.

    Interconnect-driven floorplanning.

    Get PDF
    Sham Chiu Wing.Thesis (M.Phil.)--Chinese University of Hong Kong, 2002.Includes bibliographical references (leaves 107-113).Abstracts in English and Chinese.Chapter 1 --- Introduction --- p.1Chapter 1.1 --- Motivations --- p.1Chapter 1.2 --- Progress on the Problem --- p.2Chapter 1.3 --- Our Contributions --- p.3Chapter 1.4 --- Thesis Organization --- p.5Chapter 2 --- Preliminaries --- p.6Chapter 2.1 --- Introduction --- p.6Chapter 2.1.1 --- The Role of Floorplanning --- p.6Chapter 2.1.2 --- Wirelength Estimation --- p.7Chapter 2.1.3 --- Different Types of Floorplan --- p.8Chapter 2.2 --- Representations of Floorplan --- p.10Chapter 2.2.1 --- Polish Expressions --- p.10Chapter 2.2.2 --- Sequence Pair --- p.11Chapter 2.2.3 --- Bounded-Sliceline Grid (BSG) Structure --- p.13Chapter 2.2.4 --- O-Tree --- p.14Chapter 2.2.5 --- B*-Tree --- p.16Chapter 2.2.6 --- Corner Block List --- p.18Chapter 2.2.7 --- Twin Binary Tree --- p.19Chapter 2.2.8 --- Comparisons between Different Representations --- p.20Chapter 2.3 --- Algorithms of Floorplan Design --- p.20Chapter 2.3.1 --- Constraint Based Floorplanning --- p.21Chapter 2.3.2 --- Integer Programming Based Floorplanning --- p.21Chapter 2.3.3 --- Neural Learning Based Floorplanning --- p.22Chapter 2.3.4 --- Rectangular Dualization --- p.22Chapter 2.3.5 --- Simulated Annealing --- p.23Chapter 2.3.6 --- Genetic Algorithm --- p.23Chapter 2.4 --- Summary --- p.24Chapter 3 --- Literature Review on Interconnect-Driven Floorplanning --- p.25Chapter 3.1 --- Introduction --- p.25Chapter 3.2 --- Simulated Annealing Approach --- p.25Chapter 3.2.1 --- """Pepper - A Timing Driven Early Floorplanner""" --- p.25Chapter 3.2.2 --- """A Timing Driven Block Placer Based on Sequence Pair Model""" --- p.26Chapter 3.2.3 --- """Integrated Floorplanning and Interconnect Planning""" --- p.27Chapter 3.2.4 --- """Interconnect Driven Floorplanning with Fast Global Wiring Planning and Optimization""" --- p.27Chapter 3.3 --- Genetic Algorithm Approach --- p.28Chapter 3.3.1 --- "“Timing Influenced General-cell Genetic Floorplanning""" --- p.28Chapter 3.4 --- Force Directed Approach --- p.29Chapter 3.4.1 --- """Timing Influenced Force Directed Floorplanning""" --- p.29Chapter 3.5 --- Congestion Planning --- p.30Chapter 3.5.1 --- """On the Behavior of Congestion Minimization During Placement""" --- p.30Chapter 3.5.2 --- """Congestion Minimization During Placement""" --- p.31Chapter 3.5.3 --- "“Estimating Routing Congestion Using Probabilistic Anal- ysis""" --- p.31Chapter 3.6 --- Buffer Planning --- p.32Chapter 3.6.1 --- """Buffer Block Planning for Interconnect Driven Floor- planning""" --- p.32Chapter 3.6.2 --- """Routability Driven Repeater Block Planning for Interconnect- centric Floorplanning""" --- p.33Chapter 3.6.3 --- """Provably Good Global Buffering Using an Available Block Plan""" --- p.34Chapter 3.6.4 --- "“Planning Buffer Locations by Network Flows""" --- p.34Chapter 3.6.5 --- """A Practical Methodology for Early Buffer and Wire Re- source Allocation""" --- p.35Chapter 3.7 --- Summary --- p.36Chapter 4 --- Floorplanner with Fixed Buffer Planning [34] --- p.37Chapter 4.1 --- Introduction --- p.37Chapter 4.2 --- Overview of the Floorplanner --- p.38Chapter 4.3 --- Congestion Model --- p.38Chapter 4.3.1 --- Construction of Grid Structure --- p.39Chapter 4.3.2 --- Counting the Number of Routes at a Grid --- p.40Chapter 4.3.3 --- Buffer Location Computation --- p.41Chapter 4.3.4 --- Counting Routes with Blocked Grids --- p.42Chapter 4.3.5 --- Computing the Probability of Net Crossing --- p.43Chapter 4.4 --- Time Complexity --- p.44Chapter 4.5 --- Simulated Annealing --- p.45Chapter 4.6 --- Wirelength Estimation --- p.46Chapter 4.6.1 --- Center-to-center Estimation --- p.47Chapter 4.6.2 --- Corner-to-corner Estimation --- p.47Chapter 4.6.3 --- Intersection-to-intersection Estimation --- p.48Chapter 4.7 --- Multi-pin Nets Handling --- p.49Chapter 4.8 --- Experimental Results --- p.50Chapter 4.9 --- Summary --- p.51Chapter 5 --- Floorplanner with Flexible Buffer Planning [35] --- p.53Chapter 5.1 --- Introduction --- p.53Chapter 5.2 --- Overview of the Floorplanner --- p.54Chapter 5.3 --- Congestion Model --- p.55Chapter 5.3.1 --- Probabilistic Model with Variable Interval Buffer Inser- tion Constraint --- p.57Chapter 5.3.2 --- Time Complexity --- p.61Chapter 5.4 --- Buffer Planning --- p.62Chapter 5.4.1 --- Estimation of Buffer Usage --- p.62Chapter 5.4.2 --- Estimation of Buffer Resources --- p.69Chapter 5.5 --- Two-phases Simulated Annealing --- p.70Chapter 5.6 --- Wirelength Estimation --- p.72Chapter 5.7 --- Multi-pin Nets Handling --- p.73Chapter 5.8 --- Experimental Results --- p.73Chapter 5.9 --- Remarks --- p.76Chapter 5.10 --- Summary --- p.76Chapter 6 --- Global Router --- p.77Chapter 6.1 --- Introduction --- p.77Chapter 6.2 --- Overview of the Global Router --- p.77Chapter 6.3 --- Buffer Insertion Constraint and Congestion Constraint --- p.78Chapter 6.4 --- Multi-pin Nets Handling --- p.79Chapter 6.5 --- Routing Methodology --- p.79Chapter 6.6 --- Implementation --- p.80Chapter 6.7 --- Summary --- p.86Chapter 7 --- Interconnect-Driven Floorplanning by Alternative Packings --- p.87Chapter 7.1 --- Introduction --- p.87Chapter 7.2 --- Overview of the Method --- p.87Chapter 7.3 --- Searching Alternative Packings --- p.89Chapter 7.3.1 --- Rectangular Supermodules in Sequence Pair --- p.89Chapter 7.3.2 --- Finding rearrangable module sets --- p.90Chapter 7.3.3 --- Alternative Sequence Pairs --- p.94Chapter 7.4 --- Implementation --- p.97Chapter 7.4.1 --- Re-calculation of Interconnect Cost --- p.98Chapter 7.4.2 --- Cost Function --- p.101Chapter 7.4.3 --- Time Complexity --- p.101Chapter 7.5 --- Experimental Results --- p.101Chapter 7.6 --- Summary --- p.103Chapter 8 --- Conclusion --- p.105Bibliography --- p.10

    A framework for fine-grain synthesis optimization of operational amplifiers

    Get PDF
    This thesis presents a cell-level framework for Operational Amplifiers Synthesis (OASYN) coupling both circuit design and layout. For circuit design, the tool applies a corner-driven optimization, accounting for on-chip performance variations. By exploring the process, voltage, and temperature variations space, the tool extracts design worst case solution. The tool undergoes sensitivity analysis along with Pareto-optimality to achieve required specifications. For layout phase, OASYN generates a DRC proved automated layout based on a sized circuit-level description. Morata et al. (1996) introduced an elegant representation of block placement called sequence pair for general floorplans (SP). Like TCG and BSG, but unlike O-tree, B*tree, and CBL, SP is P-admissible. Unlike SP, TCG supports incremental update during operation and keeps the information of the boundary modules as well as their relative positions in the representation. Block placement algorithms that are based on SP use heuristic optimization algorithms, e.g., simulated annealing where generation of large number of sequence pairs are required. Therefore a fast algorithm is needed to generate sequence pairs after each solution perturbation. The thesis presents a new simple and efficient O(n) runtime algorithm for fast realization of incremental update for cost evaluation. The algorithm integrates sequence pair and transitive closure graph advantages into TCG-S* a superior topology update scheme which facilitates the search for optimum desired floorplan. Experiments show that TCG-S* is better than existing works in terms of area utilization and convergence speed. Routing-aware placement is implemented in OASYN, handling symmetry constraints, e.g., interdigitization, common centroid, along with congestion elimination and the enhancement of placement routability

    An Effective Routability-driven Placer for Mixed-size Circuit Designs

    Get PDF
    We propose a routability-driven analytical placer that aims at distributing pins evenly. This is accomplished by including a group of pin density constraints in its mathematical formulation. Moreover, for mixed-size circuits, we adopt a scaled smoothing method to cope with fixed macro blocks. As a result, we have fewer cells overlapping with fixed blocks after global placement, implying that the optimization of the global placement solution is more accurate and that the global placement solution resembles a legal solution more. Routing solutions obtained by a commercial router show that for most benchmark circuits, better routing results can be achieved on the placement results generated by our pin density oriented placer

    Handling the complexity of routing problem in modern VLSI design

    Get PDF
    In VLSI physical design, the routing task consists of using over-the-cell metal wires to connect pins and ports of circuit gates and blocks. Traditionally, VLSI routing is an important design step in the sense that the quality of routing solution has great impact on various design metrics such as circuit timing, power consumption, chip reliability and manufacturability etc. As the advancing VLSI design enters the nanometer era, the routing success (routability issue) has been arising as one of the most critical problems in back-end design. In one aspect, the degree of design complexity is increasing dramatically as more and more modules are integrated into the chip. Much higher chip density leads to higher routing demands and potentially more risks in routing failure. In another aspect, with decreasing design feature size, there are more complex design rules imposed to ensure manufacturability. These design rules are hard to satisfy and they usually create more barriers for achieving routing closure (i.e., generate DRC free routing solution) and thus affect chip time to market (TTM) plan. In general, the behavior and performance of routing are affected by three consecutive phases: placement phase, global routing phase and detailed routing phase in a typical VLSI physical design flow. Traditional CAD tools handle each of the three phases independently and the global picture of the routability issue is neglected. Different from conventional approaches which propose tools and algorithms for one particular design phase, this thesis investigates the routability issue from all three phases and proposes a series of systematic solutions to build a more generic flow and improve quality of results (QoR). For the placement phase, we will introduce a mixed-sized placement refinement tool for alleviating congestion after placement. The tool shifts and relocates modules based on a global routing estimation. For the global routing phase, a very fast and effective global router is developed. Its performance surpasses many peer works as verified by ISPD 2008 global routing contest results. In the detailed routing phase, a tool is proposed to perform detailed routing using regular routing patterns based on a correct-by-construction methodology to improve routability as well as satisfy most design rules. Finally, the tool which integrates global routing and detailed routing is developed to remedy the inconsistency between global routing and detailed routing. To verify the algorithms we proposed, three sets of testcases derived from ISPD98 and ISPD05/06 placement benchmark suites are proposed. The results indicate that our proposed methods construct an integrated and systematic flow for routability improvement which is better than conventional methods
    • …
    corecore