EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.)
|
|
- Juliet Delilah Lyons
- 5 years ago
- Views:
Transcription
1 EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2 Introduction to Behavioral Synthesis (cont.) Relationship to silicon compilation Stochastic Algorithms and Learning EE244 Fall Role of VHDL In general, VHDL syntax is sufficient and probably not worth re-working. In some cases VHDL goes too far. e.g. if(clk quiet for 4) A := B+1; In some cases not far enough e.g. Synchronizing elements in dataflow view. We need a Policy-of-Use for VHDL-based synthesis In-progress within the industry (e.g. Synopsys) NSF/DARPA group looking into it. International standards groups also working on some issues world wide (e.g. IEEE DATC). EE244 Fall Page 1
2 D D D D D D D Implications of Deep Submicron Languages versus Models: A Software Analogy "C" Pascal Silage f77 Lisp UDL-I VHDL Intermediate Form Hardware Intermediate Form Von Neumann Computer Hardware Implementation EE244 Fall An Alternate View of Synthesis mmake arbitrary "cut" through the logic such that the machine is partitioned. Cut line EE244 Fall Page 2
3 An Alternate View of Synthesis Ordered set of signals crossing cut represent an encoding of an abstract type Logic synthesis: For all possible independent cuts, choose an encoding of the cut (in time and "wires") such that the objective function (literal count, performance, etc.) is optimized. EE244 Fall An Alternate View of Synthesis η η Behavioral Synthesis: Given a set of abstract types (sets) at the behavioral level, encode them in terms of lower-level abstract types such that the synthesis objective is met. EE244 Fall Page 3
4 An Alternate View of Synthesis The encoding is simply a list (array?) of values for each member of the set The process is repeated until all types are encoded in terms of members of the type Boolean. EE244 Fall An Alternate View of Synthesis OPCODE: { add, sub, mult, div, and, or, xor } add: [ a, b ] sub: [ a, c ] mult: [ a, d ] div: [ b, a ] and: [ b, b ] or: [ b, c ] xor: [ b, d ] TWOBIT: { a, b, c, d } a: [ 0, 0 ] b: [ 0, 1 ] c: [ 1, 0 ] d: [ 1, 1 ] BOOLEAN: { 0, 1} add: [ 0,0,0,1 ] sub: [ 0,0,1,0 ] mult: [ 0,0,1,1 ] div: [ 0,1,0,0 ] and: [ 0,1,0,1 ] or: [ 0,1,1,0 ] xor: [ 0,1,1,1 ] EE244 Fall Page 4
5 Two Approaches to Combinational and Sequential Optimization "Bottom Up": Given a fully-encoded (Boolean) description of the problem, iteratively re-encode the machine to achieve the best result possible. "Top Down": Given an unencoded ("high-level", behavioral) description of the machine, find an encoding that achieves the best possible result. EE244 Fall An Alternate View of Synthesis: Implications Redundant Encodings: e.g One-hot for controllers; redundant arithmetic (Matsushita, ISSCC89); Wallace Tree as hierarchical encoding; Carry-Save as space-time encoding. Finite-State Machine: Special case of constrained encoding: ouput encoding of secondary outputs = input encoding of secondary inputs. EE244 Fall Page 5
6 D D D D D D D Implications of Deep Submicron Abstract Datatype Approach to Consistency: A Software Analogy VHDL Flavors Common Lisp Franz CAR, CDR CONS COND VHDL Synchronous Combinational Asynchronous Hardware Intermediate Form (The Lambda Calculus) Provides symbolic canonical form (Boolean Algebra? HOL?) sequential canonical form? EE244 Fall Simulated Annealing with Learning Introduction and Overview Training Simulated-Annealing-Based Placement Decision-Theoretic Network Partitioning EE244 Fall Page 6
7 High-Level Goals Use principles of rationality (Bayesian probability and decision theory) to model complex problems and the use of expensive resources Use data engineering to help understand opportunities for addressing and simplifying the complexity inherent in most EDA optimization problems EE244 Fall Complexity Kinds of Complexity Computational: computational complexity or intractability. Informational: in determining relevant and missing information, and amount of information needed before work can begin. Conceptual: in terms of the depth of understanding required for the person programming the task. Organizational: in terms of the people in the task and their management. Complexity Agents Rationality The Problem! A Framework Key Principle EE244 Fall Page 7
8 Rationality Use probability and decision theory to optimize the use of an agent s constrained resources Probabilities (not just frequencies) Utilities The belief that node N will be in the 2nd partition at termination of the Fidducia and Mattheysses algorithm;during operation of a partitioning algorithm, Belief about the correlation between the size of the cut-set in the current pass, and the size of the cut-set in the final pass; Belief about whether the distance or shortest path between two cells provides some information about the cells placement during operation of a partitioning algorithm. Usual concerns in electronic design: area, timing, power, yield, etc. EE244 Fall Data Engineering Develop understanding of complex problems by visualization, analysis and optimization Information Theory Optimization Rapid Prototyping Data Engineering Learning and Statistics Visualization EE244 Fall Page 8
9 Our Proposal: Stochastic Optimizer with Learning Working Memory Complex Objective Function Stochastic Inference Engine Move Set Goals: Use incremental learning (Bayesian, etc.) to capture knowledge Use stochastic pattern recognition Train using well-characterized problems Physical design, Logic synthesis Domain-Specific Knowledge Pack Identify effective approaches to parallel implementation EE244 Fall Overall Flow of Experiment blif MIS OCT Wolfe Learning Anneal.cel result Timberwolf SC-4 Data Analysis & Visualization Matlab result Not possible to obtain TimberWolf 7 for this work, but expect to work with University of Washington on clustering project EE244 Fall Page 9
10 Selecting a Candidate Move Comparison... Model Evaluation m Choose Set Selected Move MAX(*) (β 1 p 1, β 2 p 2,, β n p n ) (p 1, p 2,, p n ), for each of m moves EE244 Fall Parameters in the Model p 1 : The Euclidian distance between two cells p 2 : The square of the distance between C 1 and the origin (0,0) (a control parameter) p 3 : The square of the distance between C 2 and the origin (0,0) (a control parameter) p 4 : The number of connections between C 1 and C 2 p 5 : The total weighted connectivity of the cells in the candidate move p 6, p 7 : Force change to weighted center of gravity Cost Function: Change in the size of the maximum net bounding-box for all nets connected to the candidate cells to be swapped EE244 Fall Page 10
11 Cost Estimate vs. TimberWolf Chip Area 0.5 Normalized Area Normalized Cost Estimate MOSAICO chip area using MSU standard-cell library vs. sum of net bounding-box lengths EE244 Fall Examples Used for Placement ID Name Cells Nets Used to train the model: 1 C C C apex i10 1,269 1,526 6 i i i i Used to test the model: 10 C C6288 1,893 1,925 EE244 Fall Page 11
12 Results for Trained Placement Trained Model Conventional Example Best Average Worst Std. Dev. Best Average Worst Std. Dev. C , , ,460 2, , , ,460 2,484 C499 77,942 83,019 89,188 1,699 92,788 98, ,230 1,984 C880 83,433 89,984 96,782 2, , , ,730 2,132 apex6 281, , ,010 4, , , ,280 4,552 i10 1,582,200 1,638,000 1,689,200 14,289 1,842,800 1,887,600 1,931,000 14,018 i6 146, , ,510 2, , , ,790 3,369 i7 199, , ,390 2, , , ,510 3,905 i8 369, , ,770 5, , , ,290 5,300 i9 156, , ,310 3, , , ,500 3,262 C , , ,720 8, , , ,450 7,148 C6288 2,199,200 2,261,600 2,337,600 19,716 2,598,100 2,658,000 2,722,700 20,667 EE244 Fall Three Approaches Comparison... Selected Move Model Evaluation Conventional Trained Untrained Annealing Model Model only one MAX(m moves) MAX( m moves) only one (β 1 p 1 +β 2 p 2 + +β n p n ) (p 1 +p 2 + +p n )/m m Choose Set m=1 m=10 m=10 EE244 Fall Page 12
13 Performance of Trained Model: Apex Number of Solutions Trained Model Untrained Model Conventional Final Solution Cost (x10^3) EE244 Fall Percentage Improvement for Placement Example Best Average Worst C % 18% 15% C499 16% 16% 15% C880 17% 16% 14% apex6 17% 16% 15% i10 14% 13% 13% i6 17% 17% 17% i7 15% 16% 16% i8 17% 15% 14% i9 16% 17% 15% C % 16% 15% C % 15% 14% EE244 Fall Page 13
14 Variation of Parameter Model Weights with Temperature Zone 100% Relative Weight of Model Parameter 80% 60% 40% 20% 0% P2 P3 P5 P1 P6 P7 P4-20% T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 Temperature Zones EE244 Fall Netlist Partitioning Routinely used as an essential preprocessing step for placement and in routing. One standard approach used is the Fidducia and Mattheysses (FM) algorithm (related to Lin- Kernighan (LK) algorithm). While implementing Dutt and Deng s PROP 1 approach, we identified and analyzed two improvements for regular FM. 1 A Probability-Based Approach to VLSI Circuit Partitioning, Proc. ACM/IEEE Design Automation Conf., June 1996 EE244 Fall Page 14
15 Examples for Partitioning Example Nets Cells I/O s C C C C C C6288 1,925 1, biomed 5,742 6,514 0 struct 1,920 1,952 0 industry2 13,419 12,637 0 industry3 21,923 15,406 0 EE244 Fall Examples for Partitioning Example Nets Cells I/O s avq-small 22,124 21, avq-large 25,384 25, s9234 5,844 5,866 0 s ,651 8,772 0 s ,383 10,470 0 s ,828 18,148 0 s ,843 23,949 0 s ,717 20,995 0 golem 144, ,048 0 EE244 Fall Page 15
16 Netlist Partitioning node (cell) pa rtition of cost 4 net List of cells and nets Cut the cells into two parts to minimize the number of nets that contain cells in each part Is a coarse approximation to the general constraint satisfaction problem, placement, etc. EE244 Fall Dutt and Deng s PROP DAC 96 best paper Uses probabilistic argument to replace the gain heuristic with another Extensive testing shows is superior nonclustering algorithm EE244 Fall Page 16
17 FM Algorithm Repeat: move a node across the partition so as to increase cost the least, then lock the node so it stays there. Note this may cause a cost increase Until, all nodes are locked. Thus one Pass is completed. Select the intermediate partition with the least cost. Repeat additional passes until no further cost reduction. EE244 Fall Changes in Cost During FM Each segment represents one pass EE244 Fall Page 17
18 Changes in Cost During FM For all later passes seen, the minimum cost partition is always near the end or the beginning of the pass. What does the 90% of computation in the middle of the pass achieve? Is it useful? Hypothesis 1: The full FM pass is an expensive way of making a stochastic move in the space when regular hill-climbing near the current partition fails. EE244 Fall Note on Experimental Evaluation Different algorithms take different amounts of time to complete For different problems, we might have different amounts of time available to complete To do fair comparison need to time-equalize algorithms Do this using the Best-of-N wrapper: Run the algorithm N times from random initialization Return the best value from the N runs EE244 Fall Page 18
19 Stochastic FM Is a simple, strawman, stochastic variation of FM Terminology Stochastic Pass: Accept the next move off the gain bucket with probability δ, where the probability of accepting a down-hill move (if one exists) is 85%. Adaptive-Length Pass: Make regular FM pass but stop short if no improvement in cost is achieved for 200% of the length of the prefix of the last successful pass Algorithm Repeat { Perform stochastic pass of length 5% Hamming distance from current best-partition; Repeat { make adaptive-length passes } until (no improvement); Update current best-partition if last partition is superior; } Until ( Time bound reached or no improvement after 100 passes ) EE244 Fall Stochastic FM: Block Diagram Stochastic FM Stochastic pass Adaptive-length pass yes Time out? no Improvement? yes no Record cost EE244 Fall Page 19
20 Experimental Results We have extensively tested Hypothesis 1 using a number of alternative algorithms. We compared the following three algorithms: FM Half-pass FM (HP-FM: no pass is allowed more than half way) Stochastic FM (S-FM: time bound = time for 1 FM run) We compared the following two algorithms: Best-of-N FM Stochastic FM for longer runs (5 FM runs, 20 FM runs, ) EE244 Fall Comparison: FM vs HP-FM vs S-FM EE244 Fall Page 20
21 Comparison: Best-of-N FM vs long S-FM EE244 Fall Multiple Passes of FM In most practical applications, FM is run multiple times with the Best-of-N wrapper. Question: Can the current run be improved by considering previous runs? (i.e. learning) We have gathered initial data and there appears to be good opportunity to cut many runs short in later runs, and thus double the speed of Best-of-N FM. EE244 Fall Page 21
22 Visualizing Typical Passes Each run colored by final cost. Cost at end of run is correlated with cost 1/2- way through. passes passes EE244 Fall Cutoff Best-of-N FM Simple on-line adaptive model of whether the current run will yield a lower cost solution quality(pass,min-cost) = judges whether to abort run repeat (N times) { } repeat { passes of the current run } until (run terminates normally or quality(pass,min-cost) goes low); Update current best partition; EE244 Fall Page 22
23 Cutoff Best-of-N FM Cutoff best-of-x wrapper FM variant Start Continue Record best cost Runs Costs Passes Current (run, pass) fails quality test? no yes Done N runs? yes no EE244 Fall Best-of-N FM vs Cutoff Best-of-20 EE244 Fall Page 23
24 Cutoff Stochastic FM or DT-FM Decision-Theoretic FM (DTFM): Runs stochastic FM inside a cutoff best-of-n controller Is an adaptive stochastic algorithm: Adapts pass lengths during each run Learns when to abort a run early Currently uses simplistic adaptive schemes for proof-of -concept EE244 Fall DT-FM vs Best-of-N FM and PROP EE244 Fall Page 24
25 Summary DT-FM designed using Data Engineering DT-FM has an adaptive stochastic wrapper around standard FM. Currently has simple adaptive methods for proof of concept. Is comparable to the state-of-the-art PROP algorithm (Dutt & Deng, DAC 96) on all but one problem. For several O(10,000) cell problems, reconstructs best-known partition. EE244 Fall Stochastic Optimization with Learning for Complex Problems PLANS FOR 1997: Continue the development of the learning framework and evaluate incremental learning approaches (Bayesian, etc.) Apply the techniques to one or two new problems: standardcell library generation, optimal clustering for placement Evaluate the effectiveness of adaptive optimization on other problems: BDD variable sifting SPECIFIC MILESTONES AND DELIVERABLES: Complete standard-cell placement evaluation (Mar-97) Implement adaptive approach to BDD variable sifting and evaluate (Jul-97) Formulate approach to optimal clustering problem and implement prototype (Sep-97) Implement incremental learning algorithms in the framework EE244 Fall Page 25
26 Summary Complexity is a key problem in design, and data engineering can help to improve complex algorithms. We have demonstrated the use of data engineering technology can improve simple standard-cell placement and standard net-list partitioning methods by up to 20%. We have identified various opportunities for additional data engineering in optimization and adaptive computation. EE244 Fall Page 26
Hardware-Software Codesign
Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual
More informationEu = {n1, n2} n1 n2. u n3. Iu = {n4} gain(u) = 2 1 = 1 V 1 V 2. Cutset
Shantanu Dutt 1 and Wenyong Deng 2 A Probability-Based Approach to VLSI Circuit Partitioning Department of Electrical Engineering 1 of Minnesota University Minneapolis, Minnesota 55455 LSI Logic Corporation
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 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 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 informationUnit 2: High-Level Synthesis
Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis
More informationIntroduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation
Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system 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 informationVLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007
VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp
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 informationOverall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral.
Outline Last time: Review State Tables & State Transition Diagrams Implementation Using D Flip-Flops Machine Equivalence Incompletely Specified Machines State Assignment & State Coding Schemes Design Example:
More informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
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 informationLinking Layout to Logic Synthesis: A Unification-Based Approach
Linking Layout to Logic Synthesis: A Unification-Based Approach Massoud Pedram Department of EE-Systems University of Southern California Los Angeles, CA February 1998 Outline Introduction Technology and
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 informationOUTLINE Introduction Power Components Dynamic Power Optimization Conclusions
OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions 04/15/14 1 Introduction: Low Power Technology Process Hardware Architecture Software Multi VTH Low-power circuits Parallelism
More informationCombinational Equivalence Checking
Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS
ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE Optimisation problems Optimisation & search Two Examples The knapsack problem
More informationGenetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004
Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004 Introduction Overview One of the principle problems in VLSI chip design is the layout problem. The layout problem is complex
More informationUnit 5A: Circuit Partitioning
Course contents: Unit 5A: Circuit Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Simulated annealing based partitioning algorithm Readings Chapter 7.5 Unit 5A 1 Course
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 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 informationCAD Algorithms. Circuit Partitioning
CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which
More informationMapping-aware Logic Synthesis with Parallelized Stochastic Optimization
Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization Zhiru Zhang School of ECE, Cornell University September 29, 2017 @ EPFL A Case Study on Digit Recognition bit6 popcount(bit49 digit)
More informationHypergraph Partitioning With Fixed Vertices
Hypergraph Partitioning With Fixed Vertices Andrew E. Caldwell, Andrew B. Kahng and Igor L. Markov UCLA Computer Science Department, Los Angeles, CA 90095-596 Abstract We empirically assess the implications
More informationICS 252 Introduction to Computer Design
ICS 252 Introduction to Computer Design Lecture 3 Fall 2006 Eli Bozorgzadeh Computer Science Department-UCI System Model According to Abstraction level Architectural, logic and geometrical View Behavioral,
More informationSystem partitioning. System functionality is implemented on system components ASICs, processors, memories, buses
System partitioning System functionality is implemented on system components ASICs, processors, memories, buses Two design tasks: Allocate system components or ASIC constraints Partition functionality
More informationSOFTWARE ARCHITECTURE For MOLECTRONICS
SOFTWARE ARCHITECTURE For MOLECTRONICS John H. Reif Duke University Computer Science Department In Collaboration with: Allara, Hill, Reed, Seminario, Tour, Weiss Research Report Presentation to DARPA:
More informationModeling and Reasoning with Bayesian Networks. Adnan Darwiche University of California Los Angeles, CA
Modeling and Reasoning with Bayesian Networks Adnan Darwiche University of California Los Angeles, CA darwiche@cs.ucla.edu June 24, 2008 Contents Preface 1 1 Introduction 1 1.1 Automated Reasoning........................
More informationLarge Scale Circuit Partitioning
Large Scale Circuit Partitioning With Loose/Stable Net Removal And Signal Flow Based Clustering Jason Cong Honching Li Sung-Kyu Lim Dongmin Xu UCLA VLSI CAD Lab Toshiyuki Shibuya Fujitsu Lab, LTD Support
More informationBased on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches
Based on slides/material by Topic 11 Peter Y. K. Cheung Department of Electrical & Electronic Engineering Imperial College London K. Masselos http://cas.ee.ic.ac.uk/~kostas J. Rabaey http://bwrc.eecs.berkeley.edu/classes/icbook/instructors.html
More informationIntegrating Probabilistic Reasoning with Constraint Satisfaction
Integrating Probabilistic Reasoning with Constraint Satisfaction IJCAI Tutorial #7 Instructor: Eric I. Hsu July 17, 2011 http://www.cs.toronto.edu/~eihsu/tutorial7 Getting Started Discursive Remarks. Organizational
More informationECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms
ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece7
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationPartitioning Methods. Outline
Partitioning Methods 1 Outline Introduction to Hardware-Software Codesign Models, Architectures, Languages Partitioning Methods Design Quality Estimation Specification Refinement Co-synthesis Techniques
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 informationAddressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers
Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India
More informationA New Decomposition of Boolean Functions
A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces
More informationMachine Learning for Software Engineering
Machine Learning for Software Engineering Introduction and Motivation Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Organizational Stuff Lectures: Tuesday 11:00 12:30 in room SR015 Cover
More informationEE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab
EE595 Part VIII Overall Concept on VHDL VHDL is a Standard Language Standard in the electronic design community. VHDL will virtually guarantee that you will not have to throw away and re-capture design
More informationEECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary
More informationOrganization of Programming Languages CS3200/5200N. Lecture 11
Organization of Programming Languages CS3200/5200N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Functional vs. Imperative The design of the imperative languages
More informationUnit 4: Formal Verification
Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification
More informationCS232 VHDL Lecture. Types
CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.
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 informationMincut Placement with FM Partitioning featuring Terminal Propagation. Brett Wilson Lowe Dantzler
Mincut Placement with FM Partitioning featuring Terminal Propagation Brett Wilson Lowe Dantzler Project Overview Perform Mincut Placement using the FM Algorithm to perform partitioning. Goals: Minimize
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
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 informationTopics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)
Topics Verilog Hardware modeling and simulation Event-driven simulation Basics of register-transfer design: data paths and controllers; ASM charts. High-level synthesis Initially a proprietary language,
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More informationABC basics (compilation from different articles)
1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node
More informationLecture #1: Introduction
Lecture #1: Introduction Kunle Olukotun Stanford EE183 January 8, 20023 What is EE183? EE183 is continuation of EE121 Digital Logic Design is a a minute to learn, a lifetime to master Programmable logic
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 informationstate encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations
State minimization fewer states require fewer state bits fewer bits require fewer logic equations Encodings: state, inputs, outputs state encoding with fewer bits has fewer equations to implement however,
More information(Lec 14) Placement & Partitioning: Part III
Page (Lec ) Placement & Partitioning: Part III What you know That there are big placement styles: iterative, recursive, direct Placement via iterative improvement using simulated annealing Recursive-style
More informationA Linear-Time Heuristic for Improving Network Partitions
A Linear-Time Heuristic for Improving Network Partitions ECE 556 Project Report Josh Brauer Introduction The Fiduccia-Matteyses min-cut heuristic provides an efficient solution to the problem of separating
More informationAn Exact Algorithm for the Statistical Shortest Path Problem
An Exact Algorithm for the Statistical Shortest Path Problem Liang Deng and Martin D. F. Wong Dept. of Electrical and Computer Engineering University of Illinois at Urbana-Champaign Outline Motivation
More informationLecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)
Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University
More informationCS150 Spring 98 R. Newton & K. Pister 1. Common Representations Used in the Design Process. Overall Sequential Design Flow
Outline Last time: Review State Tables & State Transition iagrams Implementation Using Flip-Flops Machine Equivalence Incompletely Specified Machines State Assignment & State Coding Schemes esign Example:
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 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 informationProbabilistic Graphical Models
School of Computer Science Probabilistic Graphical Models Theory of Variational Inference: Inner and Outer Approximation Eric Xing Lecture 14, February 29, 2016 Reading: W & J Book Chapters Eric Xing @
More informationPreclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)
ESE535: Electronic Design Automation Preclass Warmup What cut size were you able to achieve? Day 4: January 28, 25 Partitioning (Intro, KLFM) 2 Partitioning why important Today Can be used as tool at many
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationIEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 2, FEBRUARY
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 2, FEBRUARY 2000 267 Short Papers Hypergraph Partitioning with Fixed Vertices Charles J. Alpert, Andrew E. Caldwell,
More informationCS 242. Fundamentals. Reading: See last slide
CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language
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 informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter Netlist and System Partitioning Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu Chapter Netlist and System Partitioning. Introduction. Terminology. Optimization Goals. Partitioning
More informationCOMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS
COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of
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 informationVerilog for Combinational Circuits
Verilog for Combinational Circuits Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2014 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/
More informationFeature Selection. CE-725: Statistical Pattern Recognition Sharif University of Technology Spring Soleymani
Feature Selection CE-725: Statistical Pattern Recognition Sharif University of Technology Spring 2013 Soleymani Outline Dimensionality reduction Feature selection vs. feature extraction Filter univariate
More informationHardware-Software Codesign. 6. System Simulation
Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation
More informationVHDL for Synthesis. Course Description. Course Duration. Goals
VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes
More informationCopyright 2000, Kevin Wayne 1
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
More informationCSE241 VLSI Digital Circuits UC San Diego
CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level
More informationUsing Genetic Programming to Evolve a General Purpose Sorting Network for Comparable Data Sets
Using Genetic Programming to Evolve a General Purpose Sorting Network for Comparable Data Sets Peter B. Lubell-Doughtie Stanford Symbolic Systems Program Stanford University P.O. Box 16044 Stanford, California
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 informationSYNTHESIS FOR ADVANCED NODES
SYNTHESIS FOR ADVANCED NODES Abhijeet Chakraborty Janet Olson SYNOPSYS, INC ISPD 2012 Synopsys 2012 1 ISPD 2012 Outline Logic Synthesis Evolution Technology and Market Trends The Interconnect Challenge
More informationDesign Methodologies and Tools. Full-Custom Design
Design Methodologies and Tools Design styles Full-custom design Standard-cell design Programmable logic Gate arrays and field-programmable gate arrays (FPGAs) Sea of gates System-on-a-chip (embedded cores)
More informationSynthesis of Combinational and Sequential Circuits with Verilog
Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two
More informationOutline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement
Outline Informed Search ECE457 Applied Artificial Intelligence Fall 2007 Lecture #3 Heuristics Informed search techniques More on heuristics Iterative improvement Russell & Norvig, chapter 4 Skip Genetic
More informationSynthesis at different abstraction levels
Synthesis at different abstraction levels System Level Synthesis Clustering. Communication synthesis. High-Level Synthesis Resource or time constrained scheduling Resource allocation. Binding Register-Transfer
More informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationBACKEND DESIGN. Circuit Partitioning
BACKEND DESIGN Circuit Partitioning Partitioning System Design Decomposition of a complex system into smaller subsystems. Each subsystem can be designed independently. Decomposition scheme has to minimize
More informationHyperparameter optimization. CS6787 Lecture 6 Fall 2017
Hyperparameter optimization CS6787 Lecture 6 Fall 2017 Review We ve covered many methods Stochastic gradient descent Step size/learning rate, how long to run Mini-batching Batch size Momentum Momentum
More informationParallel Simulated Annealing for VLSI Cell Placement Problem
Parallel Simulated Annealing for VLSI Cell Placement Problem Atanu Roy Karthik Ganesan Pillai Department Computer Science Montana State University Bozeman {atanu.roy, k.ganeshanpillai}@cs.montana.edu VLSI
More informationSIR C R REDDY COLLEGE OF ENGINEERING
SIR C R REDDY COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY Course Outcomes II YEAR 1 st SEMESTER Subject: Data Structures (CSE 2.1.1) 1. Describe how arrays, records, linked structures,
More informationResearch Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning
Discrete Dynamics in Nature and Society Volume 25, Article ID 625, 8 pages http://dxdoiorg/55/25/625 Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for
More informationHeuristic Optimization Introduction and Simple Heuristics
Heuristic Optimization Introduction and Simple Heuristics José M PEÑA (jmpena@fi.upm.es) (Universidad Politécnica de Madrid) 1 Outline 1. What are optimization problems? 2. Exhaustive vs. Heuristic approaches
More informationQUANTIZER DESIGN FOR EXPLOITING COMMON INFORMATION IN LAYERED CODING. Mehdi Salehifar, Tejaswi Nanjundaswamy, and Kenneth Rose
QUANTIZER DESIGN FOR EXPLOITING COMMON INFORMATION IN LAYERED CODING Mehdi Salehifar, Tejaswi Nanjundaswamy, and Kenneth Rose Department of Electrical and Computer Engineering University of California,
More informationParallel Global Routing Algorithms for Standard Cells
Parallel Global Routing Algorithms for Standard Cells Zhaoyun Xing Computer and Systems Research Laboratory University of Illinois Urbana, IL 61801 xing@crhc.uiuc.edu Prithviraj Banerjee Center for Parallel
More informationFoundations. Yu Zhang. Acknowledgement: modified from Stanford CS242
Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts
More informationDrexel University Electrical and Computer Engineering Department. ECEC 672 EDA for VLSI II. Statistical Static Timing Analysis Project
Drexel University Electrical and Computer Engineering Department ECEC 672 EDA for VLSI II Statistical Static Timing Analysis Project Andrew Sauber, Julian Kemmerer Implementation Outline Our implementation
More informationFunctional Languages. Hwansoo Han
Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm
More informationModeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface
Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface Cuong Chau ckcuong@cs.utexas.edu Department of Computer Science The University of Texas at Austin April 19, 2016 Cuong Chau (UT Austin)
More informationHardware/Software Co-design
Hardware/Software Co-design Zebo Peng, Department of Computer and Information Science (IDA) Linköping University Course page: http://www.ida.liu.se/~petel/codesign/ 1 of 52 Lecture 1/2: Outline : an Introduction
More informationCS 188: Artificial Intelligence Spring Today
CS 188: Artificial Intelligence Spring 2006 Lecture 7: CSPs II 2/7/2006 Dan Klein UC Berkeley Many slides from either Stuart Russell or Andrew Moore Today More CSPs Applications Tree Algorithms Cutset
More informationSynthesis and Optimization of Digital Circuits
Synthesis and Optimization of Digital Circuits Dr. Travis Doom Wright State University Computer Science and Engineering Outline Introduction Microelectronics Micro economics What is design? Techniques
More information