EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.)

Size: px
Start display at page:

Download "EE244: Design Technology for Integrated Circuits and Systems Outline Lecture 9.2. Introduction to Behavioral Synthesis (cont.)"

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 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 information

Eu = {n1, n2} n1 n2. u n3. Iu = {n4} gain(u) = 2 1 = 1 V 1 V 2. Cutset

Eu = {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 information

Estimation of Wirelength

Estimation 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 information

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. 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 information

COE 561 Digital System Design & Synthesis Introduction

COE 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 information

Unit 2: High-Level Synthesis

Unit 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 information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction 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 information

Hardware 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 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 information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI 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 information

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

EN2911X: 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 information

Overall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral.

Overall 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 information

MODELING 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. 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 information

L14 - Placement and Routing

L14 - 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 information

Linking Layout to Logic Synthesis: A Unification-Based Approach

Linking 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 information

Genetic Algorithm for Circuit Partitioning

Genetic 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 information

OUTLINE Introduction Power Components Dynamic Power Optimization Conclusions

OUTLINE 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 information

Combinational Equivalence Checking

Combinational 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 information

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

ARTIFICIAL 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 information

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004

Genetic 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 information

Unit 5A: Circuit Partitioning

Unit 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 information

CAD Flow for FPGAs Introduction

CAD 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 information

Parallel Implementation of VLSI Gate Placement in CUDA

Parallel 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 information

CAD Algorithms. Circuit Partitioning

CAD 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 information

Mapping-aware Logic Synthesis with Parallelized Stochastic Optimization

Mapping-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 information

Hypergraph Partitioning With Fixed Vertices

Hypergraph 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 information

ICS 252 Introduction to Computer Design

ICS 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 information

System 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 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 information

SOFTWARE ARCHITECTURE For MOLECTRONICS

SOFTWARE 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 information

Modeling 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 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 information

Large Scale Circuit Partitioning

Large 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 information

Based on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches

Based 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 information

Integrating Probabilistic Reasoning with Constraint Satisfaction

Integrating 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 information

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms

ECE 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 information

Binary Decision Diagrams and Symbolic Model Checking

Binary 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 information

Partitioning Methods. Outline

Partitioning 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 information

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Introduction. 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 information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing 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 information

A New Decomposition of Boolean Functions

A 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 information

Machine Learning for Software Engineering

Machine 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 information

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

EE595. 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 information

EECS 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 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 information

Organization of Programming Languages CS3200/5200N. Lecture 11

Organization 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 information

Unit 4: Formal Verification

Unit 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 information

CS232 VHDL Lecture. Types

CS232 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 information

Very Large Scale Integration (VLSI)

Very 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 information

Mincut Placement with FM Partitioning featuring Terminal Propagation. Brett Wilson Lowe Dantzler

Mincut 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 information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - 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 information

Wojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA

Wojciech 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 information

Topics. Verilog. Verilog vs. VHDL (2) Verilog vs. VHDL (1)

Topics. 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 information

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Overview. 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 information

ABC basics (compilation from different articles)

ABC 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 information

Lecture #1: Introduction

Lecture #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 information

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Overview. 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 information

state encoding with fewer bits has fewer equations to implement state encoding with more bits (e.g., one-hot) has simpler equations

state 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

(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 information

A Linear-Time Heuristic for Improving Network Partitions

A 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 information

An Exact Algorithm for the Statistical Shortest Path Problem

An 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 information

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

Lecture 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 information

CS150 Spring 98 R. Newton & K. Pister 1. Common Representations Used in the Design Process. Overall Sequential Design Flow

CS150 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 information

Basic Idea. The routing problem is typically solved using a twostep

Basic 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 information

ICS 252 Introduction to Computer Design

ICS 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 information

Probabilistic Graphical Models

Probabilistic 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 information

Preclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)

Preclass 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 information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. 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 information

IEEE 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 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 information

CS 242. Fundamentals. Reading: See last slide

CS 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 information

Placement Algorithm for FPGA Circuits

Placement 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 information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

COMPARATIVE 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 information

Exploring Logic Block Granularity for Regular Fabrics

Exploring 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 information

Verilog for Combinational Circuits

Verilog 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 information

Feature Selection. CE-725: Statistical Pattern Recognition Sharif University of Technology Spring Soleymani

Feature 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 information

Hardware-Software Codesign. 6. System Simulation

Hardware-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 information

VHDL for Synthesis. Course Description. Course Duration. Goals

VHDL 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 information

Copyright 2000, Kevin Wayne 1

Copyright 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 information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 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 information

Using 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 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 information

Routing. 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 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 information

SYNTHESIS FOR ADVANCED NODES

SYNTHESIS 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 information

Design Methodologies and Tools. Full-Custom Design

Design 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 information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis 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 information

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

Outline. 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 information

Synthesis at different abstraction levels

Synthesis 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 information

Example: Map coloring

Example: 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 information

BACKEND DESIGN. Circuit Partitioning

BACKEND 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 information

Hyperparameter optimization. CS6787 Lecture 6 Fall 2017

Hyperparameter 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 information

Parallel Simulated Annealing for VLSI Cell Placement Problem

Parallel 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 information

SIR C R REDDY COLLEGE OF ENGINEERING

SIR 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 information

Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning

Research 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 information

Heuristic Optimization Introduction and Simple Heuristics

Heuristic 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 information

QUANTIZER 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 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 information

Parallel Global Routing Algorithms for Standard Cells

Parallel 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 information

Foundations. Yu Zhang. Acknowledgement: modified from Stanford CS242

Foundations. 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 information

Drexel 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 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 information

Functional Languages. Hwansoo Han

Functional 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 information

Modeling Asynchronous Circuits in ACL2 Using the Link-Joint Interface

Modeling 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 information

Hardware/Software Co-design

Hardware/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 information

CS 188: Artificial Intelligence Spring Today

CS 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 information

Synthesis and Optimization of Digital Circuits

Synthesis 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