EE680 Project Report Final 05/05/2010 Zhou Zhao USC ID:
|
|
- Bennett Hampton
- 5 years ago
- Views:
Transcription
1 Group Formation Group member: Zhou Zhao, Raj Shah EE680 Project Report Final 05/05/2010 Zhou Zhao USC ID: Job Assignment My job is to design a intelligent FPGA intra router, which has following objective functions. 1. Global route one FPGA to detect track congestions. 2. Suggest global and detail placement modifications to make sure routability. 3. Detail route the FPGA to assign proper configurations for each via based on the result of global router. 4. Minimize routing length of critical paths such as clock signal and control signals. Algorithm and Heuristic Description Programming IDE: NetBeans 6.8 in Mac OS X Snow Leopard Programming Language: Java SE 6 with JUNG for graph visualization General approach for global and detail routing 1. Since both global and detail routing can me modeled as undirected sparse graph, a general approach is developed to maximize code re-usability. The approach includes two phases, which are initial routing to give a quick but unoptimized solution and optimization using simulated annealing (SA). At first, the program will do weight estimation based on netlist distribution. Then, the netlist is selected and routed in random order using weighted Lee algorithm for both two and multi-terminal nets. The characteristics of weighted Lee algorithm have the capabilities to avoid congestion or most frequently routed vertices on the graph. However, the situation of overlap still exist to route all nets. In the initial stage, the situations of overlap are permitted and the number of these congested areas are counted. 2. At the second stage of optimization process, the algorithm of simulated annealing is used. The common priority for both global and detail route is to minimize congestion. In the global routing, the congestion mean that the number of routed nets through one tack is higher than the track's maximum capacity. For the detail routing, only one net can go through one wire. In addition, the via at the cross-point of two wires is occupied, once the detail routing change from vertical to horizontal direction or vice versa. If the via is occupied, other net can not use the via. Therefore, the via violation is also considered in detail routing. The objective functions of global and detail routing are shown below,, in which Tov is the number of tracks which are congested. Tpl is the total path length of routed netlist and Tv is the number of used vias. Note than, there is an additional term Tf in the objective function of detail routing, which stands for the number of violated vias. The flowchart of intra routing is shown below,
2 In the global initial routing, the program will generate a first solution which permit congestion, then simulated annealing will minimize the number of congested tracks. If there is at least one congested track after optimization, the global router will feedback only the nets which are related to congested track to placement module. The process of global routing is quick in evaluating whether the placement can be routed and needs less memory resource without concerning FPGA details. However, there is possibility that the detail router will fail, though the global routing is successful. Therefore, the program will conduct detail routing based on the results of global routing. Between the processes of global and detail routing, the netlist will be assigned randomly along global routed paths. Note that, since there is no vias between adjacent switch-boxes. The assignment module will make sure net is at the same row or column between adjacent switch-boxes, but dog-legs are injected randomly. In the detail routing of each switch-boxes, the process is similar to the global routing, but the optimization process will minimize both wire and via congestions. Features of program 1. Regular expression is used for importing netlist. If the format of netlist is not consistent, the program can still import the netlist. 2. Recursive functions are constructed in back trace process of Lee algorithm and vertical constraint graph of leftedge algorithm. 3. Rip-up and re-route process employ weighted Lee algorithm to accelerate finding routing solution without congestion. The difference between initial weight estimation and re-route is that initial route is using rectangle to estimate congestion before netlist is routed. However, in the process of rip-up and re-route, the netlist has already been routed. Therefore, the weight is along each paths. Once one net is re-routed with different path, the distribution of weight is different, therefore other routing paths have probability to have different paths. Both process of simulated annealing and weighted Lee algorithm is to minimize congestion. Before showing the program output, the coordinates of vertices and edges used in graph model are described. For instance, a FPGA of 4*4 CLB array can be modeled by a simple graph shown below. For simplicity of explanation, the top-left and bottom-right vertices can be represented by Vx[0,0] and Vx[8,8], respectively. The x is the ID of vertices. The edge between vertices is represented by Ey[1,0] between V0[0,0] and V1[1,0]. Since some vertices are null, the annotation is only used for description, which is not consistent with practical data structure in programming. Otherwise, the memory resources are wasted.
3 The standard test case is shown below, with FPGA configuration file of LICOUNT=6, SICOUNT=4, LI_CLB_NUM_P1=5, LI_IO_PIN_NUM=3, LI_T1_TRACK_NUM=4, LI_T2_TRACK_NUM=3, LI_T3_TRACK_NUM=4, LI_T4_TRACK_NUM=3 INPUT_SIGNAL(G1) 26; INPUT_SIGNAL(G2) 34; INPUT_SIGNAL(G3) 42; INPUT_SIGNAL(G4) 18; INPUT_SIGNAL(G5) 40; OUTPUT_SIGNAL(G16) 24; OUTPUT_SIGNAL(G17) 23; G8 = NAND2(G1, G3) 1 1; G9 = NAND2(G3, G4) 1 2; G12 = NAND2(G2, G9) 2 2; G15 = NAND2(G9, G5) 2 3; G16 = NAND2(G8, G12) 3 1; G17 = NAND2(G12, G15) 4 3; The imported netlist will be processed into corresponding vertices in the graph model. For instance, net 1 has a input pin at 26 and is also a input signal of NAND gate at coordinates of 1,1. The corresponding vertices which need to be connected are V9(0,1) and V79(7,8) shown in bold below. {17=[V69(6,7), V71(8,7)], 16=[V47(2,5), V71(8,7)], 1=[V9(0,1), V79(7,8)], 2=[V73(1,8), V29(2,3)], 3=[V9(0,1), V45(0,5), V11(2,1)], 4=[V35(8,3), V11(2,1)], 5=[V31(4,3), V45(0,5)], 8=[V45(0,5), V11(2,1)], 9=[V31(4,3), V29(2,3), V13(4,1)], 12=[V31(4,3), V67(4,7), V45(0,5)], 15=[V67(4,7), V33(6,3)]} Th process of wave propagation and back track in Lee algorithm is shown below. For signal 8 which need to connect vertices V45(0,5) and V11(2,1) will greedily choose minimum weight from the target vertex back to source vertex. The vertices and edges along the path will be constructed on the return of each recursive call. The path of net 8 is V45(0,5), V36(0,4), V38(2,4), V29(2,3), V20(2,2), V11(2,1)], which is equivalent to [E153(0,9), E138(2,8), E123(4,7), E89(4,5), E55(4,3)]
4 The output of program during the process of Lee algorithm is shown below. Initial routing is starting... 2 node signal 17 is routed globally [V69(6,7), V60(6,6), V62(8,6), V71(8,7)] [E233(12,13), E218(14,12), E237(16,13)] 2 node signal 16 is routed globally [V47(2,5), V56(2,6), V58(4,6), V60(6,6), V62(8,6), V71(8,7)] [E191(4,11), E210(6,12), E214(10,12), E218(14,12), E237(16,13)] 2 node signal 1 is routed globally [V9(0,1), V18(0,2), V20(2,2), V22(4,2), V24(6,2), V26(8,2), V35(8,3), V44(8,4), V53(8,5), V62(8,6), V71(8,7), V80(8,8), V79(7,8)] [E51(0,3), E70(2,4), E74(6,4), E78(10,4), E82(14,4), E101(16,5), E135(16,7), E169(16,9), E203(16,11), E237(16,13), E271(16,15), E287(15,16)] 2 node signal 2 is routed globally [V73(1,8), V72(0,8), V63(0,7), V54(0,6), V45(0,5), V36(0,4), V38(2,4), V29(2,3)] [E273(1,16), E255(0,15), E221(0,13), E187(0,11), E153(0,9), E138(2,8), E123(4,7)] [V31(4,3), V40(4,4), V49(4,5), V58(4,6), V67(4,7), V38(2,4), V36(0,4), V45(0,5)] 2 node signal 15 is routed globally [V67(4,7), V58(4,6), V60(6,6), V51(6,5), V42(6,4), V33(6,3)] [E229(8,13), E214(10,12), E199(12,11), E165(12,9), E131(12,7)] After initial routing, the number of congested track = 1 In the end of global initial routing, the number of congested track is one, which is highlighted in ellipse. Its capacity is four according to T1 track, but there are five nets routed through it.
5 After optimization in global routing, random selected nets are rip-up and re-routed. The congestion is minimized with nets are assigned to each sides of switch-boxes for detail routing as shown below. N, S, E, W, stands for north, south, east, and west, respectively.
6 The results of global routing is shown below. {17=[V69(6,7), V78(6,8), V79(7,8), V80(8,8), V71(8,7)], 1=[V9(0,1), V18(0,2), V20(2,2), V22(4,2), V24(6,2), V33(6,3), V42(6,4), V51(6,5), V60(6,6), V69(6,7), V78(6,8), V79(7,8)], 16=[V71(8,7), V62(8,6), V60(6,6), V58(4,6), V56(2,6), V47(2,5)], 2=[V29(2,3), V38(2,4), V47(2,5), V56(2,6), V65(2,7), V74(2,8), V73(1,8)], 3=[V45(0,5), V36(0,4), V27(0,3), V18(0,2), V9(0,1), V20(2,2), V11(2,1)], 4=[V35(8,3), V26(8,2), V24(6,2), V22(4,2), V20(2,2), V11(2,1)], 5=[V31(4,3), V40(4,4), V38(2,4), V36(0,4), V45(0,5)], 8=[V45(0,5), V36(0,4), V27(0,3), V18(0,2), V20(2,2), V11(2,1)], 9=[V31(4,3), V22(4,2), V13(4,1), V40(4,4), V38(2,4), V29(2,3)], 12=[V31(4,3), V40(4,4), V49(4,5), V58(4,6), V67(4,7), V56(2,6), V54(0,6), V45(0,5)], 15=[V33(6,3), V42(6,4), V51(6,5), V60(6,6), V58(4,6), V67(4,7)]} The detail routing is split into two situations. Regularly, if switch-box has assigned signal on any sides, it will be routed in detail. If there is no net assigned to east and west sides of switch-box, I define this switch-box as channel. The situation of normal switch-box is shown below. The nets are North = 1, 0, 2, 0; South = 0, 3, 1, 0; East = 0, 2, 0, 0; West = 0, 0, 3, 0; {1=[Via0(0,0), Via14(2,3)], 2=[Via2(2,0), Via7(3,1)], 3=[Via8(0,2), Via13(1,3)]} The detail routing result in this switch-box is {1=[Via0(0,0), Via1(1,0), Via5(1,1), Via6(2,1), Via10(2,2), Via14(2,3)], 2=[Via2(2,0), Via3(3,0), Via7(3,1)], 3=[Via8(0,2), Via9(1,2), Via13(1,3)]} The example of channel routing is shown above with nets North=0, 1, 0, 4, 1, 0, 5, 3; South = 2, 4, 0, 2, 0, 3, 0, 5; The constructed interval is {1=[1, 4], 2=[0, 3], 3=[5, 7], 4=[1, 3], 5=[6, 7]} with nets = {1=[Via1(1,0), Via4(4,0)], 2=[Via32(0,4), Via35(3,4)], 3=[Via37(5,4), Via7(7,0)], 4=[Via33(1,4), Via3(3,0)], 5=[Via6(6,0), Via39(7,4)]} The result is {1=[Via1(1,0), Via9(1,1), Via10(2,1), Via11(3,1), Via12(4,1), Via4(4,0)], 2=[Via32(0,4), Via24(0,3), Via25(1,3), Via26(2,3), Via27(3,3), Via35(3,4)], 3=[Via37(5,4), Via29(5,3), Via21(5,2), Via13(5,1), Via14(6,1), Via15(7,1), Via7(7,0)], 4=[Via33(1,4), Via25(1,3), Via17(1,2), Via18(2,2), Via19(3,2), Via11(3,1), Via3(3,0)], 5=[Via6(6,0), Via14(6,1), Via22(6,2), Via23(7,2), Via31(7,3), Via39(7,4)]}
Unit 7: Maze (Area) and Global Routing
Unit 7: Maze (Area) and Global Routing Course contents Routing basics Maze (area) routing Global routing Readings Chapters 9.1, 9.2, 9.5 Filling Unit 7 1 Routing Unit 7 2 Routing Constraints 100% 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 informationGraph Models for Global Routing: Grid Graph
Graph Models for Global Routing: Grid Graph Each cell is represented by a vertex. Two vertices are joined by an edge if the corresponding cells are adjacent to each other. The occupied cells are represented
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 informationRouting. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998
Routing Robust Channel Router Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998 Channel Routing Algorithms Previous algorithms we considered only work when one of the types
More informationFault Grading FPGA Interconnect Test Configurations
* Fault Grading FPGA Interconnect Test Configurations Mehdi Baradaran Tahoori Subhasish Mitra* Shahin Toutounchi Edward J. McCluskey Center for Reliable Computing Stanford University http://crc.stanford.edu
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 informationPlacement Algorithm for FPGA Circuits
Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
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 informationLayout DA (Physical Design)
Layout DA (Physical Design) n Floor Planning n Placement and Partitioning n Global Routing n Routing n Layout Compaction 1 Routing n Types of Local Routing Problems n Area Routing u Lee s Algorithm n Channel
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 informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationJRoute: A Run-Time Routing API for FPGA Hardware
JRoute: A Run-Time Routing API for FPGA Hardware Eric Keller Xilinx Inc. 2300 55 th Street Boulder, CO 80301 Eric.Keller@xilinx.com Abstract. JRoute is a set of Java classes that provide an application
More informationGENETIC ALGORITHM BASED FPGA PLACEMENT ON GPU SUNDAR SRINIVASAN SENTHILKUMAR T. R.
GENETIC ALGORITHM BASED FPGA PLACEMENT ON GPU SUNDAR SRINIVASAN SENTHILKUMAR T R FPGA PLACEMENT PROBLEM Input A technology mapped netlist of Configurable Logic Blocks (CLB) realizing a given circuit Output
More informationIntroduction VLSI PHYSICAL DESIGN AUTOMATION
VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.
More informationaccess-list permit deny no access-list access-list permit deny 213
DECnet Commands This section describes the function and displays the syntax of each DECnet command. For more information about defaults and usage guidelines, see the corresponding chapter of the Router
More informationEstimation of Wirelength
Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate
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 informationWire Type Assignment for FPGA Routing
Wire Type Assignment for FPGA Routing Seokjin Lee Department of Electrical and Computer Engineering The University of Texas at Austin Austin, TX 78712 seokjin@cs.utexas.edu Hua Xiang, D. F. Wong Department
More informationIntroduction of ISPD18 Contest Problem
Introduction of ISPD18 Contest Problem Detailed routing can be divided into two steps. First, an initial detailed routing step is used to generate a detailed routing solution while handling the major design
More informationProg. Logic Devices Schematic-Based Design Flows CMPE 415. Designer could access symbols for logic gates and functions from a library.
Schematic-Based Design Flows Early schematic-driven ASIC flow Designer could access symbols for logic gates and functions from a library. Simulator would use a corresponding library with logic functionality
More informationPrerequisites for Rou4ng
Basic Zroute Flow Prerequisites for Rou4ng Library requirements Zroute gets all of the design rule informa4on from the technology file; therefore, you must ensure that all design rules are defined in the
More informationL14 - Placement and Routing
L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist
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 informationECE260B CSE241A Winter Routing
ECE260B CSE241A Winter 2005 Routing Website: / courses/ ece260bw05 ECE 260B CSE 241A Routing 1 Slides courtesy of Prof. Andrew B. Kahng Physical Design Flow Input Floorplanning Read Netlist Floorplanning
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 informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Lecture 16 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and Optimization
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 informationDouble Patterning-Aware Detailed Routing with Mask Usage Balancing
Double Patterning-Aware Detailed Routing with Mask Usage Balancing Seong-I Lei Department of Computer Science National Tsing Hua University HsinChu, Taiwan Email: d9762804@oz.nthu.edu.tw Chris Chu Department
More informationReference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering
FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.
More informationMETHODS TO LOCALIZE SHORTS BETWEEN POWER AND GROUND CIRCUITS
CANADIAN APPLIED MATHEMATICS QUARTERLY Volume 12, Number 1, Spring 2004 METHODS TO LOCALIZE SHORTS BETWEEN POWER AND GROUND CIRCUITS MARK BRAVERMAN, SHENGYUAN CHEN, MARCIO GAMEIRO, NADINE GÄRTNER, YASONG
More informationESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)
ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS) Objective Part A: To become acquainted with Spectre (or HSpice) by simulating an inverter,
More informationEnhanced EDF Scheduling Algorithms for Orchestrating Network-wide wide Active Measurements
Enhanced EDF Scheduling Algorithms for Orchestrating Network-wide wide Active Measurements Prasad Calyam,, Chang-Gun Lee Phani Kumar Arava, Dima Krymskiy OARnet,, The Ohio State University IEEE RTSS, Miami,
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 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 informationChapter 6 Detailed Routing
hapter 6 Detailed Routing 6.1 Terminology 6.2 Horizontal and Vertical onstraint Graphs 6.2.1 Horizontal onstraint Graphs 6.2.2 Vertical onstraint Graphs 6.3 hannel Routing lgorithms 6.3.1 Left-Edge lgorithm
More informationFast and Memory-Efficient Routing Algorithms for Field Programmable Gate Arrays with Sparse Intra-cluster Routing Crossbars
> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 1 Fast and Memory-Efficient Routing Algorithms for Field Programmable Gate Arrays with Sparse Intra-cluster Routing
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 informationPhysical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006
Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 09: Routing Introduction to Routing Global Routing Detailed Routing 2
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 information4. If you are prompted to enable hardware acceleration to improve performance, click
Exercise 1a: Creating new points ArcGIS 10 Complexity: Beginner Data Requirement: ArcGIS Tutorial Data Setup About creating new points In this exercise, you will use an aerial photograph to create a new
More informationFishbone: A Block-Level Placement and Routing Scheme
Fishbone: Block-Level Placement and Routing Scheme Fan Mo EECS, UC Berkeley Robert K. Brayton EECS, UC Berkeley Cory Hall, UC Berkeley 57 Cory Hall, UC Berkeley Berkeley, C97 Berkeley, C97-5-6-6 -5-6-98
More informationEE582 Physical Design Automation of VLSI Circuits and Systems
EE582 Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Preliminaries Table of Contents Semiconductor manufacturing Problems to solve Algorithm complexity
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 informationAN 567: Quartus II Design Separation Flow
AN 567: Quartus II Design Separation Flow June 2009 AN-567-1.0 Introduction This application note assumes familiarity with the Quartus II incremental compilation flow and floorplanning with the LogicLock
More informationAN ACCELERATOR FOR FPGA PLACEMENT
AN ACCELERATOR FOR FPGA PLACEMENT Pritha Banerjee and Susmita Sur-Kolay * Abstract In this paper, we propose a constructive heuristic for initial placement of a given netlist of CLBs on a FPGA, in order
More informationEECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.
Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function. 1.b. Show that a 2-to-1 MUX is universal (i.e. that any Boolean expression can be implemented with
More informationIEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1 RegularRoute: An Efficient Detailed Router Applying Regular Routing Patterns Yanheng Zhang and Chris Chu Abstract In this paper, we propose
More informationCS612 Algorithms for Electronic Design Automation
CS612 Algorithms for Electronic Design Automation Lecture 8 Network Flow Based Modeling 1 Flow Network Definition Given a directed graph G = (V, E): Each edge (u, v) has capacity c(u,v) 0 Each edge (u,
More informationPseudopin Assignment with Crosstalk Noise Control
598 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 20, NO. 5, MAY 2001 Pseudopin Assignment with Crosstalk Noise Control Chin-Chih Chang and Jason Cong, Fellow, IEEE
More informationELGIN ACADEMY Mathematics Department Evaluation Booklet (Main) Name Reg
ELGIN ACADEMY Mathematics Department Evaluation Booklet (Main) Name Reg CfEM You should be able to use this evaluation booklet to help chart your progress in the Maths department from August in S1 until
More informationHardware describing languages, high level tools and Synthesis
Hardware describing languages, high level tools and Synthesis Hardware describing languages (HDL) Compiled/Interpreted Compiled: Description compiled into C and then into binary or directly into binary
More informationCS612 Algorithms for Electronic Design Automation. Global Routing
CS612 Algorithms for Electronic Design Automation Global Routing Mustafa Ozdal CS 612 Lecture 7 Mustafa Ozdal Computer Engineering Department, Bilkent University 1 MOST SLIDES ARE FROM THE BOOK: MODIFICATIONS
More informationVLSI Design Automation Final Project Due: June 26 th, Project: A Router
Project: A Router In lecture, we described how to use the maze routing method to route the wires in a large ASIC, using a 3-dimensional stack of routing grids. In this project assignment, you get to build
More informationIntrusive Routing for Improved Standard Cell Pin Access
Intrusive Routing for Improved Standard Cell Pin Access Vishesh Dokania Prof. Puneet Gupta NanoCAD Lab Department of Electrical Engineering, UCLA MS Project Presentation March 10, 2017 Motivation Standard-cell
More informationFault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults
Fault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults Seungjin Park Jong-Hoon Youn Bella Bose Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science
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 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 informationGenetic Algorithm for Circuit Partitioning
Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationOn the Complexity of the Channel Routing Problem in the Dogleg-free Multilayer Manhattan Model
On the Complexity of the Channel Routing Problem in the Dogleg-free Multilayer Manhattan Model Kornélia Ambrus Somogyi Budapest Tech, email: ambrusne.somogyi.kornelia@nik.bmf.hu András Recski 1 Budapest
More informationLesson 2: First Java Programs
Lesson 2: First Java Programs Lesson 2: First Java Programs Objectives: Discuss why Java is an important programming language. Explain the Java virtual machine and byte code. Choose a user interface style.
More informationTemperature-Aware Routing in 3D ICs
Temperature-Aware Routing in 3D ICs Tianpei Zhang, Yong Zhan and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota 1 Outline Temperature-aware 3D global routing
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 informationKarthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1
Karthik Narayanan, Santosh Madiraju EEL6935 - Embedded Systems Seminar 1/41 1 Efficient Search Space Exploration for HW-SW Partitioning Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS
More informationDECnet Commands. Not all Cisco access servers support DECnet. For more information, refer to the release notes for the current Cisco IOS release.
Digital Equipment Corporation developed the DECnet protocol to provide a way for its computers to communicate with one another. Currently in its fifth major product release, DECnet Phase V is a superset
More informationOPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE ARRAYS. Ryan Fung. Supervisor: Jonathan Rose. April 2002
OPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE ARRAYS by Ryan Fung Supervisor: Jonathan Rose April 2002 OPTIMIZATION OF TRANSISTOR-LEVEL FLOORPLANS FOR FIELD-PROGRAMMABLE GATE
More informationReal Time Operating System
Chapter 11 Real Time Operating System Lesson 06 Case Study of Traffic Light for use of RTOS 51 in Design Assumptions When a vehicle coming from north, Left turn (north to west) allowed directly Left-lane
More informationAnimation of VLSI CAD Algorithms A Case Study
Session 2220 Animation of VLSI CAD Algorithms A Case Study John A. Nestor Department of Electrical and Computer Engineering Lafayette College Abstract The design of modern VLSI chips requires the extensive
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 informationPlacement ABOUT THIS CHAPTER 11.1 INTRODUCTION CHAPTER. Chris Chu Iowa State University, Ames, Iowa
CHAPTER Placement 11 Chris Chu Iowa State University, Ames, Iowa ABOUT THIS CHAPTER Placement is the process of determining the locations of circuit devices on a die surface. It is an important stage in
More informationGenetic Algorithm for FPGA Placement
Genetic Algorithm for FPGA Placement Zoltan Baruch, Octavian Creţ, and Horia Giurgiu Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationSegmented Routing for Speed-Performance and Routability in Field-Programmable Gate Arrays
Segmented Routing for Speed-Performance and Routability in Field-Programmable Gate Arrays Stephen Brown, Muhammad Khellah, and Guy emieux Department of Electrical and omputer Engineering University of
More informationFPGA BASED ADAPTIVE RESOURCE EFFICIENT ERROR CONTROL METHODOLOGY FOR NETWORK ON CHIP
FPGA BASED ADAPTIVE RESOURCE EFFICIENT ERROR CONTROL METHODOLOGY FOR NETWORK ON CHIP 1 M.DEIVAKANI, 2 D.SHANTHI 1 Associate Professor, Department of Electronics and Communication Engineering PSNA College
More informationNiyati Shah Department of ECE University of Toronto
Niyati Shah Department of ECE University of Toronto shahniya@eecg.utoronto.ca Jonathan Rose Department of ECE University of Toronto jayar@eecg.utoronto.ca 1 Involves connecting output pins of logic blocks
More informationPrepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology
Prepared by Dr. Ulkuhan Guler GT-Bionics Lab Georgia Institute of Technology OUTLINE Introduction Mapping for Schematic and Layout Connectivity Generate Layout from Schematic Connectivity Some Useful Features
More informationLaboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013
CME 342 (VLSI Circuit Design) Laboratory 6 - Using Encounter for Automatic Place and Route By Mulong Li, 2013 Reference: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, Erik Brunvand Background
More informationEE 1315: DIGITAL LOGIC LAB EE Dept, UMD
EXPERIMENT # 7: Basic Latches EE 1315: DIGITAL LOGIC LAB EE Dept, UMD Latches are primitive memory elements of sequential circuits that are used in building simple noise filtering circuits and flip-flops.
More informationCS2303 Systems Programming Concepts
Program 5 64 Points Due: February 27, 2008 at 11:59 p.m. {modified February 15, 2008} A Simulation of MANET Source Routing in C++ Note: There is NO late period partial credit points for this assignment!!!
More informationSolutions to Problem 1 of Homework 3 (10 (+6) Points)
Solutions to Problem 1 of Homework 3 (10 (+6) Points) Sometimes, computing extra information can lead to more efficient divide-and-conquer algorithms. As an example, we will improve on the solution to
More informationEnabling DECnet Routing, page 2 (required) Enabling Concurrent Routing and Bridging, page 5 (optional)
Configuring First Published: December 15, 1997 Last Updated: December 14, 2011 The Configuring module describes how to configure the Cisco implementation of the routing protocol. Finding Feature Information
More informationUsing the Routing Demo program
This program is intended to demonstrate the audio routing capability of the Eventide H8000 family Harmonizer brand effects processors. In the following text, these will be referred to as H8000, though
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 informationSYNTHETIC CIRCUIT GENERATION USING CLUSTERING AND ITERATION
SYNTHETIC CIRCUIT GENERATION USING CLUSTERING AND ITERATION Paul D. Kundarewich and Jonathan Rose Department of Electrical and Computer Engineering, University of Toronto Toronto, ON, M5S G4, Canada {kundarew,
More informationc 2011 Yun Wei Chang
c 2011 Yun Wei Chang SINGLE-LAYER BUS ROUTING FOR HIGH-SPEED BOARDS BY YUN WEI CHANG THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationLesson 13: Other Tools in OrCAD Capture
Lesson 13: Other Tools in OrCAD Capture Lesson Objectives After you complete this lesson you will be able to: Add inter-sheet signal references Create a cross reference report (Optional) Generate a Bill
More informationRUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch
RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC Zoltan Baruch Computer Science Department, Technical University of Cluj-Napoca, 26-28, Bariţiu St., 3400 Cluj-Napoca,
More information5. Quartus II Design Separation Flow
5. Quartus II Design Separation Flow June 2012 QII51019-12.0.0 QII51019-12.0.0 This chapter contains rules and guidelines for creating a floorplan with the design separation flow, and assumes familiarity
More informationA Process Model suitable for defining and programming MpSoCs
A Process Model suitable for defining and programming MpSoCs MpSoC-Workshop at Rheinfels, 29-30.6.2010 F. Mayer-Lindenberg, TU Hamburg-Harburg 1. Motivation 2. The Process Model 3. Mapping to MpSoC 4.
More informationHomework #6 (Constraint Satisfaction, Non-Deterministic Uncertainty and Adversarial Search) Out: 2/21/11 Due: 2/29/11 (at noon)
CS121 Introduction to Artificial Intelligence Winter 2011 Homework #6 (Constraint Satisfaction, Non-Deterministic Uncertainty and Adversarial Search) Out: 2/21/11 Due: 2/29/11 (at noon) How to complete
More informationEfficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree
Efficient Multilayer Routing Based on Obstacle-Avoiding Preferred Direction Steiner Tree Ching-Hung Liu, Yao-Hsin Chou, Shin-Yi Yuan, and Sy-Yen Kuo National Taiwan University 1 Outline 2 Outline 3 The
More information1 Introduction and Examples
1 Introduction and Examples Sequencing Problems Definition A sequencing problem is one that involves finding a sequence of steps that transforms an initial system state to a pre-defined goal state for
More informationLecture 3: Tilings and undecidability
Lecture : Tilings and undecidability Wang tiles and the tiling problem A (relatively) small aperiodic tile set Undecidability of the tiling problem Wang tiles and decidability questions Suppose we are
More informationStudy of GALS based FPGA Architecture Using CAD Tool
Study of GALS based FPGA Architecture Using CAD Tool Savitha Devaraj Department of Electronics Engineering Lokmanya Tilak College of Engineering, Navi Mumbai, Maharashtra, India Neeta Gargote Department
More informationLesson 6 Programming Arduino Example 9.7. Chapter-9 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 6 Programming Arduino Example 9.7 1 Multitasking Environment A multitasking environment consists of multiple processes, tasks or threads. Consider Example 9.1. A set of Functions void north_south_green
More informationA Re-router for Reducing Wire Length in Multi- Layer No-Dogleg Channel Routing Swagata Saha Sau a*, Rajat Kumar Pal a
A Re-router Reducing Wire Length in Multi- Layer No-Dogleg Routing Swagata Saha Sau a*, Rajat Kumar Pal a a Department of Computer Science and Engineering, University of Calcutta, JD - 2, Sector-III, Salt
More informationLecture 26, March 16, Chapter 35, Polarization
Physics 5B Lecture 26, March 16, 2012 Chapter 35, Polarization Simple Spectrometer d sin m Resolving power, to separate two lines closely spaced in wavelength by : R mn Resolving Power Two lines not resolved.
More informationThe Xilinx XC6200 chip, the software tools and the board development tools
The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions
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 informationTopics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall
Topics! PLAs.! Memories:! ROM;! SRAM;! DRAM.! Datapaths.! Floor Planning Programmable logic array (PLA)! Used to implement specialized logic functions.! A PLA decodes only some addresses (input values);
More information