Hardware/Software Codesign
|
|
- Felicia Melton
- 6 years ago
- Views:
Transcription
1 Hardware/Software Codesign 3. Partitioning Marco Platzner Lothar Thiele by the authors 1 Overview A Model for System Synthesis The Partitioning Problem General Partitioning Methods HW/SW-Partitioning Methods Case Studies 2
2 A Model for System Synthesis Synthesis = Allocation + Binding + Scheduling on the System Level: Partitioning = Allocation + Binding Graph Models Œ Problem Graph» vertices: functional and communication objects» edges: dependencies Œ Architecture Graph» vertices: functional and communication resources» edges: directed communication channels Œ Specification Graph» problem graph + architecture graph + possible mappings 3 Problem Graph task graph problem graph communication 7 4 4
3 Architecture Graph target architecture architecture graph RISC v RISC bus v bus HWM1 HWM2 v HWM1 point-to-point link v ptp v HWM2 5 Specification Graph v RISC v bus 7 v HWM1 2 v ptp 6 v HWM2 4 6
4 Allocation, Binding 1 5 v RISC v bus 3 7 v HWM1 2 v ptp 6 v HWM2 4 7 Example: homogeneous Multiprocessor Allocation given find Binding and Schedule with Œ minimal latency or Œ guaranteed deadlines v PE1 v PE2 v PE3 M PE1 M PE2 M PE3 bus v bus 8
5 Example: Hw/Sw Partitioning in its simplest form only two blocks: SW and HW (bi-partitioning) processor v processor bus v bus ASIC v ASIC 9 Partitioning Levels of Abstractions Œ structural partitioning: at the register transfer (RTL) level, at the netlist level» split a digitial circuit and map it to several devices (FPGAs, ASICs)» system parameters are relatively well-known (area, delay)» no more comparison of design alternatives possible Œ functional partitioning: at the system level» comparison of design alternatives possible (design space exploration)» system parameters are unknown Å estimation (analysis, simulation, rapid prototyping) 10
6 The Partitioning Problem Definition: The partitioning problem is to assign n objects O ={o 1,..., o n } to m blocks (also called partitions) P={p 1,..., p m }, such that l p 1 p 2... p m = O l l p i p j = { } i,j: i j and cost c(p) are minimized. the general partitioning problem is NP-complete 11 Cost Metrics - Example cost function : f(c, L, P) = k 1 h C (C,C) + k 2 h L (L,L) + k 3 h P (P,P) C system cost in [$] L execution time in [sec] P power consumption in [W] h C, h L, h P functions that determine how much C, L, P violate the design constraints C, L, P (penalty) k 1, k 2, k 3 weighting and normalization 12
7 General Partitioning Methods exact methods Œ enumeration Œ Integer Linear Programs (ILP) heuristic methods Œ constructive methods» random mapping» hierarchical clustering Œ iterative methods» Kernighan-Lin Algorithm» Simulated Annealing» Evolutionary Algorithms (EA) 13 Integer Linear Programs (1) binary variables x i,k Œ x i,k = 1: object o i in block p k Œ x i,k = 0: object o i not in block p k cost c i,k, if object o i is in block p k integer linear program: x i, k m k= 1 x { 0,1} i, k = 1 minimize 1 i n,1 k m 1 i n m n k= 1i= 1 x i, k c i, k 1 k m,1 i n 14
8 Integer Linear Programs (2) additional constraints Œ example: maximum number of h k objects in block k n xi, k hk 1 i= 1 k m ILP is NP-complete Œ in the worst-case exponential runtime Œ solved by branch&bound algorithms Œ formulation gets difficult when constraints are non-linear 15 Constructive Methods random mapping Œ each object is assigned to a block randomly hierarchical clustering Œ stepwise grouping of objects Œ closeness function determines how desirable it is to group two objects constructive methods Œ are often used to generate a starting partition for iterative methods Œ show the difficulty of finding proper closeness functions 16
9 Hierarchical Clustering - Example (1) v 5 = v 1 v 3 v v v 3 v 2 10 v v 4 4 v 4 closeness function: arithmetic mean of weights 17 Hierarchical Clustering - Example (2) v 6 = v 2 v 5 v 5 10 v 6 v v 4 v 4 18
10 Hierarchical Clustering - Example (3) v v 7 = v 6 v 4 v 7 v 4 19 Hierarchical Clustering - Example (4) step 3: v 7 = v 6 v 4 step 2: v 6 = v 2 v 5 cut lines (partitions) step 1: v 5 = v 1 v 3 v 1 v 2 v 3 v 4 20
11 Iterative Methods - Kernighan-Lin (1) Generation of bi-partitions: re-group the object which leads to the largest gain in cost v 6 v 1 v 3 v 2 v 4 v 5 v 7 v 8 v 9 example: cost = number of edges crossing the partitions 21 Iterative Methods - Kernighan-Lin (2) Extensions Œ re-group the object which leads to the largest gain in cost or the smallest loss in cost» as long as a better partition is found: from all n objects, virtually re-group the best, then from the remaining n-1 objects again the best, etc., until all objects have been re-grouped from this n partitions take that with smallest cost and actually perform the corresponding re-group operations» escapes from global minima» asymptotic complexity O(n 3 ) Œ partitioning into m blocks: O(mn 3 ) 22
12 Iterative Methods - Simulated Annealing (1) from Physics: Œ metal and gas take on a minimal-energy state during cooling down (under certain constraints):» at each temperature, the system reaches a thermodynamic equilibrium» the temperature is decreased sufficiently slowly Œ probability that a particle jumps to a higher-energy state: P( e, e, T ) = e i j ei e k T B j application to Combinatorial Optimization Œ energy = cost of a solution (partition) Œ cost decreases with temperature, sometimes (with a certain probability) increases in cost are accepted 23 Iterative Methods - Simulated Annealing (2) temp = temp_start; cost = c(p); while (Frozen() == FALSE) { while (Equilibrium() == FALSE) { P = RandomMove(P); cost = c(p ); deltacost = cost - cost; if (Accept(deltacost, temp) > random[0,1)) { P = P ; cost = cost ; } } temp = DecreaseTemp (temp); } Accept() = min(1, e deltacost k temp ) 24
13 Iterative Methods - Simulated Annealing (3) Cooling Down: DecreaseTemp(), Frozen()» temp_start = 1.0» temp = α temp (typical: 0.8 α 0.99)» terminate when temp < temp_min or there is no more improvement Equilibrium: Equilibrium()» after defined number of iterations or when there is no more improvement Complexity Œ from exponential to constant, depending on the implementation of the functions Equilibrium(), DecreaseTemp(), and Frozen() Œ the longer the runtime, the better the quality of results Œ typical: construct functions to get polynomial runtimes 25 Iterative Methods - EA (1) Principles of Evolution å Selection Cross-over ê Mutation 26
14 Iterative Methods - EA (2) minimize g(x) = x² =one solution fitnesscalculation fitness = 9 selection next generation mutation cross-over 27 Applications Domain of EA Problem is: GLIIXVH FRPSOH[ Œ Examples:» system synthesis» route planning in robotics» container loading Multi criteria optimization Œ multiple criteria that are conflicting» example: performance vs. cost vs. power consumption Œ EA find Pareto-fronts (set of Pareto points) 28
15 Dominance, Pareto Points (1) Definition: A (design) point J i is dominated by J k, if J k is better or equal than J i in each criteria. Ji f J k Definition: A point is Pareto-optimal or a Pareto-point, if it is not dominated. 29 Dominance, Pareto Points (2) execution time cost 30
16 Pareto-Ranking Fitness function: execution time = = 1: Ji p J F ( J ) i 1.. N, J 0 : else J i F (1) = 0 F (2) = 1 F (3) = 2 F (4) = 0 F (5) = 0 F (6) = 5 cost 31 EA - Case Study (1) 32
17 EA - Case Study (2) 33 EA - Case Study (3) frame memory dual ported frame memory block matching module input module subtract/add module DCT/IDCT module 34 output module Huffman encoder
18 HW/SW Partitioning simplest case: bi-partitioning (processor-asic system) P = {p SW, p HW } software-oriented approach: P = {O, {}} Œ in software we can realize all functions Œ but the performance may be inacceptably low migrate objects into hardware to improve performance hardware-oriented approach: P = {{}, O} Œ in hardware the performance is sufficient Œ but the cost might be too high migrate objects into software to lower cost 35 Greedy Algorithms Migration of objects into the other block (hw/sw), until there is no more improvement repeat { P old = P; for i = 1 to n { if (f(move(p, o i )) < f(p)) { P = Move(P, o i ); } } until (P == P old ) cost function 36
19 Yorktown Silicon Compiler (YSC) functional partitioning of hardware Œ input: functional description at the level of arithmetic and logic expressions Œ partitioning into functional units of a datapath (ALUs, register) Œ method: hierarchical clustering Œ closeness function: Closeness( p, p min i j maxsize sharedwires( pi, p ) = maxwires( P) c 3 2 ) { size( p ), ( )} ( ) + ( ) i size p j size pi size p j j maxsize c 37 Hw/Sw Partitioning - Vulcan Input: program in HardwareC Œ C extended by a process concept and inter process communication Œ specification with constraits (min/max-times and rates) Target architecture: single-processor / single-asic Œ one global bus, one global memory Œ processor is the bus master Abstraction level: basic blocks and operations Œ derministic computation times Œ internal/external non-deterministic computation times Method: HW-oriented Greedy-Algorithm Œ cost function includes HW-cost, memory requirement, performance, and synchronization effort 38
20 Hw/Sw Partitioning - Cosyma Input: Program in C x Œ C extended by a process concept and inter process communication Œ specification with min/max-times Target architecture: processor + coprocessor Œ coupled by shared memory Œ computations on the processor and on the coprocessor may not overlap Abstraction level: basic blocks Method: SW-oriented, 2 loops: Œ inner loop: Simulated Annealing with cost function that measures the gain in computation time for a hardware-realization of a block Œ outer loop: synthesis to get estimations for the inner loop 39
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 informationDesign Space Exploration
Design Space Exploration SS 2012 Jun.-Prof. Dr. Christian Plessl Custom Computing University of Paderborn Version 1.1.0 2012-06-15 Overview motivation for design space exploration design space exploration
More informationEE382N: Embedded System Design and Modeling
EE382N: Embedded System Design and Modeling Lecture 11 Mapping & Exploration Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 11: Outline
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 informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 10 Task Partitioning Sources: Prof. Margarida Jacome, UT Austin Prof. Lothar Thiele, ETH Zürich Andreas Gerstlauer Electrical and Computer Engineering University
More informationHardware/Software Partitioning of Digital Systems
Hardware/Software Partitioning of Digital Systems F. Dufour Advisor: M. Radetzki Department of Technical Computer Science University of Stuttgart Seminar Embedded Systems Outline 1 Partitioning and digital
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 informationEE382V: System-on-a-Chip (SoC) Design
EE382V: System-on-a-Chip (SoC) Design Lecture 8 HW/SW Co-Design Sources: Prof. Margarida Jacome, UT Austin Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu
More informationStandard Optimization Techniques
12 Standard Optimization Techniques Peter Marwedel Informatik 12 TU Dortmund Germany 2009/12/10 Graphics: Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft cliparts. All Microsoft restrictions
More informationCo-synthesis and Accelerator based Embedded System Design
Co-synthesis and Accelerator based Embedded System Design COE838: Embedded Computer System http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer
More informationAn Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR An Introduction to FPGA Placement Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationHardware-Software Codesign. 1. Introduction
Hardware-Software Codesign 1. Introduction Lothar Thiele 1-1 Contents What is an Embedded System? Levels of Abstraction in Electronic System Design Typical Design Flow of Hardware-Software Systems 1-2
More informationStandard Optimization Techniques
12 Standard Optimization Techniques Peter Marwedel TU Dortmund, Informatik 12 Germany Springer, 2010 2012 年 12 月 19 日 These slides use Microsoft clip arts. Microsoft copyright restrictions apply. Structure
More informationOptimization Techniques for Design Space Exploration
0-0-7 Optimization Techniques for Design Space Exploration Zebo Peng Embedded Systems Laboratory (ESLAB) Linköping University Outline Optimization problems in ERT system design Heuristic techniques Simulated
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 informationECE 5775 (Fall 17) High-Level Digital Design Automation. More Binding Pipelining
ECE 5775 (Fall 17) High-Level Digital Design Automation More Binding Pipelining Logistics Lab 3 due Friday 10/6 No late penalty for this assignment (up to 3 days late) HW 2 will be posted tomorrow 1 Agenda
More informationHardware/Software Codesign
Hardware/Software Codesign SS 2016 Prof. Dr. Christian Plessl High-Performance IT Systems group University of Paderborn Version 2.2.0 2016-04-08 how to design a "digital TV set top box" Motivating Example
More informationPrevious Exam Questions System-on-a-Chip (SoC) Design
This image cannot currently be displayed. EE382V Problem: System Analysis (20 Points) This is a simple single microprocessor core platform with a video coprocessor, which is configured to process 32 bytes
More informationHeuristic Optimisation Methods for System Partitioning in HW/SW Co-Design
Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp Vienna University of Technology Institute of Communications and Radio-Frequency Engineering
More informationBi-Objective Optimization for Scheduling in Heterogeneous Computing Systems
Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems Tony Maciejewski, Kyle Tarplee, Ryan Friese, and Howard Jay Siegel Department of Electrical and Computer Engineering Colorado
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 informationHardware-Software Codesign
Hardware-Software Codesign 8. Performance Estimation Lothar Thiele 8-1 System Design specification system synthesis estimation -compilation intellectual prop. code instruction set HW-synthesis intellectual
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 informationHigh-Level Synthesis (HLS)
Course contents Unit 11: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 11 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis
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 informationNon-deterministic Search techniques. Emma Hart
Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting
More informationEvolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang
Evolutionary Algorithm for Embedded System Topology Optimization Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang Agenda Introduction to the problem Principle of evolutionary algorithm Model specification
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 informationMULTI-OBJECTIVE DESIGN SPACE EXPLORATION OF EMBEDDED SYSTEM PLATFORMS
MULTI-OBJECTIVE DESIGN SPACE EXPLORATION OF EMBEDDED SYSTEM PLATFORMS Jan Madsen, Thomas K. Stidsen, Peter Kjærulf, Shankar Mahadevan Informatics and Mathematical Modelling Technical University of Denmark
More informationTask Allocation for Minimizing Programs Completion Time in Multicomputer Systems
Task Allocation for Minimizing Programs Completion Time in Multicomputer Systems Gamal Attiya and Yskandar Hamam Groupe ESIEE Paris, Lab. A 2 SI Cité Descartes, BP 99, 93162 Noisy-Le-Grand, FRANCE {attiyag,hamamy}@esiee.fr
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 informationTELCOM2125: Network Science and Analysis
School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 2 Part 4: Dividing Networks into Clusters The problem l Graph partitioning
More informationDesign Space Exploration Using Parameterized Cores
RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR Design Space Exploration Using Parameterized Cores Ian D. L. Anderson M.A.Sc. Candidate March 31, 2006 Supervisor: Dr. M. Khalid 1 OUTLINE
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 informationPlace and Route for FPGAs
Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming
More informationCAD Algorithms. Placement and Floorplanning
CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:
More 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 informationHardware Software Partitioning of Multifunction Systems
Hardware Software Partitioning of Multifunction Systems Abhijit Prasad Wangqi Qiu Rabi Mahapatra Department of Computer Science Texas A&M University College Station, TX 77843-3112 Email: {abhijitp,wangqiq,rabi}@cs.tamu.edu
More informationEEL 5722C Field-Programmable Gate Array Design
EEL 5722C Field-Programmable Gate Array Design Lecture 19: Hardware-Software Co-Simulation* Prof. Mingjie Lin * Rabi Mahapatra, CpSc489 1 How to cosimulate? How to simulate hardware components of a mixed
More informationNon-convex Multi-objective Optimization
Non-convex Multi-objective Optimization Multi-objective Optimization Real-world optimization problems usually involve more than one criteria multi-objective optimization. Such a kind of optimization problems
More informationDesign Space Exploration for Hardware/Software Codesign of Multiprocessor Systems
Design Space Exploration for Hardware/Software Codesign of Multiprocessor Systems A. Baghdadi, N-E. Zergainoh, W. Cesario, T. Roudier, A.A. Jerraya TIMA Laboratory - Grenoble France Arexsys, R&D - Meylan
More informationA Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems
A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems AutOrI LAB, DIA, Roma Tre Email: mandal@dia.uniroma3.it January 16, 2014 Outline 1 An example Assignment-I Tips Variants
More informationAlgorithm Design (4) Metaheuristics
Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )
More informationResearch Incubator: Combinatorial Optimization. Dr. Lixin Tao December 9, 2003
Research Incubator: Combinatorial Optimization Dr. Lixin Tao December 9, 23 Content General Nature of Research on Combinatorial Optimization Problem Identification and Abstraction Problem Properties and
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationCOE 561 Digital System Design & Synthesis Introduction
1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design
More informationHardware/Software Partitioning using Integer Programming. Ralf Niemann, Peter Marwedel. University of Dortmund. D Dortmund, Germany
Hardware/Software using Integer Programming Ralf Niemann, Peter Marwedel Dept. of Computer Science II University of Dortmund D-44221 Dortmund, Germany Abstract One of the key problems in hardware/software
More informationOptimal Implementation of Simulink Models on Multicore Architectures with Partitioned Fixed Priority Scheduling
The 39th IEEE Real-Time Systems Symposium (RTSS 18) Optimal Implementation of Simulink Models on Multicore Architectures with Partitioned Fixed Priority Scheduling Shamit Bansal, Yecheng Zhao, Haibo Zeng,
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 informationSimulated Annealing. Slides based on lecture by Van Larhoven
Simulated Annealing Slides based on lecture by Van Larhoven Iterative Improvement 1 General method to solve combinatorial optimization problems Principle: Start with initial configuration Repeatedly search
More informationHW SW Partitioning. Reading. Hardware/software partitioning. Hardware/Software Codesign. CS4272: HW SW Codesign
CS4272: HW SW Codesign HW SW Partitioning Abhik Roychoudhury School of Computing National University of Singapore Reading Section 5.3 of textbook Embedded System Design Peter Marwedel Also must read Hardware/software
More informationECE 5775 (Fall 17) High-Level Digital Design Automation. Fixed-Point Types Analysis of Algorithms
ECE 5775 (Fall 17) High-Level Digital Design Automation Fixed-Point Types Analysis of Algorithms Announcements Lab 1 on CORDIC is released Due Friday 9/8 @11:59am MEng TA: Jeffrey Witz (jmw483) Office
More informationIntroduction VLSI PHYSICAL DESIGN AUTOMATION
VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.
More 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 informationHardware Accelerators
Hardware Accelerators José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2014-04-08 José Costa (DEI/IST) Hardware Accelerators 1 Outline Hardware
More informationKarthik Narayanan, Santosh Madiraju EEL Embedded Systems Seminar 1/41 1
Karthik Narayanan, Santosh Madiraju EEL6935 - Embedded Systems Seminar 1/41 1 Efficient Search Space Exploration for HW-SW Partitioning Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS
More informationLecture 7: Introduction to Co-synthesis Algorithms
Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today
More informationArtificial Intelligence
Artificial Intelligence Local Search Vibhav Gogate The University of Texas at Dallas Some material courtesy of Luke Zettlemoyer, Dan Klein, Dan Weld, Alex Ihler, Stuart Russell, Mausam Systematic Search:
More informationMOGAC: A Multiobjective Genetic Algorithm for the Co-Synthesis of Hardware-Software Embedded Systems
MOGAC: A Multiobjective Genetic Algorithm for the Co-Synthesis of Hardware-Software Embedded Systems Robert P. Dick and Niraj K. Jha Department of Electrical Engineering Princeton University Princeton,
More informationHandling Constraints in Multi-Objective GA for Embedded System Design
Handling Constraints in Multi-Objective GA for Embedded System Design Biman Chakraborty Ting Chen Tulika Mitra Abhik Roychoudhury National University of Singapore stabc@nus.edu.sg, {chent,tulika,abhik}@comp.nus.edu.sg
More informationHETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS
HETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS Jing Lin, Akshaya Srivasta, Prof. Andreas Gerstlauer, and Prof. Brian L. Evans Department of Electrical and Computer Engineering The
More informationAn evolutionary annealing-simplex algorithm for global optimisation of water resource systems
FIFTH INTERNATIONAL CONFERENCE ON HYDROINFORMATICS 1-5 July 2002, Cardiff, UK C05 - Evolutionary algorithms in hydroinformatics An evolutionary annealing-simplex algorithm for global optimisation of water
More informationConstraint-driven System Partitioning
Constraint-driven System Partitioning. L. López-Vallejo J. Grajal and J. C. López Dept. Ing. Electrónica Dept. Señales Sistemas y Radiocomunicación Dept. Informática ETSIT Univ. Politécnica adrid ETSIT
More informationCollaborative Hardware/Software Partition of Coarse-Grained Reconfigurable System Using Evolutionary Ant Colony Optimization
Collaborative Hardware/Software Partition of Coarse-Grained Reconfigurable System Using Evolutionary Ant Colony Optimization Dawei Wang, Sikun Li, Yong Dou College of Computer Science National University
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 Outline Local search techniques and optimization Hill-climbing
More informationGeneral Purpose Methods for Combinatorial Optimization
General Purpose Methods for Combinatorial Optimization 0/7/00 Maximum Contiguous Sum 3-4 9 6-3 8 97-93 -3 84 Σ = 87 Given:... N Z, at least one i > 0 ind i, j such that j k k = i is maximal 0/7/00 0/7/00
More informationA Multiobjective Optimization Model for Exploring Multiprocessor Mappings of Process Networks
A Multiobjective Optimization Model for Exploring Multiprocessor Mappings of Process Networks Cagkan Erbas Dept. of Computer Science University of Amsterdam Kruislaan 43, 198 SJ Amsterdam, The Netherlands
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 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 informationAdvance CPU Design. MMX technology. Computer Architectures. Tien-Fu Chen. National Chung Cheng Univ. ! Basic concepts
Computer Architectures Advance CPU Design Tien-Fu Chen National Chung Cheng Univ. Adv CPU-0 MMX technology! Basic concepts " small native data types " compute-intensive operations " a lot of inherent parallelism
More informationEEL 4783: HDL in Digital System Design
EEL 4783: HDL in Digital System Design Lecture 10: Synthesis Optimization Prof. Mingjie Lin 1 What Can We Do? Trade-offs with speed versus area. Resource sharing for area optimization. Pipelining, retiming,
More informationLong Term Trends for Embedded System Design
Long Term Trends for Embedded System Design Ahmed Amine JERRAYA Laboratoire TIMA, 46 Avenue Félix Viallet, 38031 Grenoble CEDEX, France Email: Ahmed.Jerraya@imag.fr Abstract. An embedded system is an application
More informationSolving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm
Solving the Maximum Cardinality Bin Packing Problem with a Weight Annealing-Based Algorithm Kok-Hua Loh Nanyang Technological University Bruce Golden University of Maryland Edward Wasil American University
More informationEmbedded Systems CS - ES
Embedded Systems - 1 - ASAP Schedules REVIEW NOP 1 + 2 + < 3-4 - NOP - 2 - ALAP Schedules REVIEW NOP 1 2 3 - + 4 - + < NOP - 3 - (Resource constrained) List Scheduling REVIEW Source: Teich: Dig. HW/SW
More informationAnand Raghunathan
ECE 695R: SYSTEM-ON-CHIP DESIGN Module 2: HW/SW Partitioning Lecture 2.13: HW/SW Co-Synthesis: Automatic Partitioning Anand Raghunathan raghunathan@purdue.edu Fall 2014, ME 1052, T Th 12:00PM-1:15PM 2014
More informationModularity CMSC 858L
Modularity CMSC 858L Module-detection for Function Prediction Biological networks generally modular (Hartwell+, 1999) We can try to find the modules within a network. Once we find modules, we can look
More informationUsing Speculative Computation and Parallelizing techniques to improve Scheduling of Control based Designs
Using Speculative Computation and Parallelizing techniques to improve Scheduling of Control based Designs Roberto Cordone Fabrizio Ferrandi, Gianluca Palermo, Marco D. Santambrogio, Donatella Sciuto Università
More informationEvolutionary Algorithms. CS Evolutionary Algorithms 1
Evolutionary Algorithms CS 478 - Evolutionary Algorithms 1 Evolutionary Computation/Algorithms Genetic Algorithms l Simulate natural evolution of structures via selection and reproduction, based on performance
More information920 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 10, OCTOBER 1998
920 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 10, OCTOBER 1998 MOGAC: A Multiobjective Genetic Algorithm for Hardware Software Cosynthesis of Distributed
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 informationMarkov Chain Analysis Example
Markov Chain Analysis Example Example: single server with a queue holding up to requests 0 denotes the arrival rate denotes the service rate Steady-state analysis: mapping of Markov chain on a set of linear
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationCrew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)
In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning
More informationLocal Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )
Local Search and Optimization Chapter 4 Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld ) 1 2 Outline Local search techniques and optimization Hill-climbing
More informationFloorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence
Floorplan and Power/Ground Network Co-Synthesis for Fast Design Convergence Chen-Wei Liu 12 and Yao-Wen Chang 2 1 Synopsys Taiwan Limited 2 Department of Electrical Engineering National Taiwan University,
More information3 INTEGER LINEAR PROGRAMMING
3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=
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 informationA New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment
A New Approach to Execution Time Estimations in a Hardware/Software Codesign Environment JAVIER RESANO, ELENA PEREZ, DANIEL MOZOS, HORTENSIA MECHA, JULIO SEPTIÉN Departamento de Arquitectura de Computadores
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 informationEmbedded Systems CS - ES
Embedded Systems - 1 - Codesign Definition and Key Concepts REVIEW Codesign The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent
More informationArtificial Intelligence
Artificial Intelligence Informed Search and Exploration Chapter 4 (4.3 4.6) Searching: So Far We ve discussed how to build goal-based and utility-based agents that search to solve problems We ve also presented
More informationCodesign Framework. Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web.
Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available in their web. Embedded Processor Types General Purpose Expensive, requires
More informationEnergy-Aware Scheduling for Acyclic Synchronous Data Flows on Multiprocessors
Journal of Interconnection Networks c World Scientific Publishing Company Energy-Aware Scheduling for Acyclic Synchronous Data Flows on Multiprocessors DAWEI LI and JIE WU Department of Computer and Information
More informationEmbedded System Design Modeling, Synthesis, Verification
Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner Chapter 4: System Synthesis Outline System design trends Model-based synthesis Transaction level model
More informationCS 137 Part 7. Big-Oh Notation, Linear Searching and Basic Sorting Algorithms. November 10th, 2017
CS 137 Part 7 Big-Oh Notation, Linear Searching and Basic Sorting Algorithms November 10th, 2017 Big-Oh Notation Up to this point, we ve been writing code without any consideration for optimization. There
More informationUsing Dynamic Voltage Scaling to Reduce the Configuration Energy of Run Time Reconfigurable Devices
Using Dynamic Voltage Scaling to Reduce the Configuration Energy of Run Time Reconfigurable Devices Yang Qu 1, Juha-Pekka Soininen 1 and Jari Nurmi 2 1 Technical Research Centre of Finland (VTT), Kaitoväylä
More informationLecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration
TKT-1426 Digital design for FPGA, 6cp Fall 2011 http://www.tkt.cs.tut.fi/kurssit/1426/ Tampere University of Technology Department of Computer Systems Waqar Hussain Lecture Contents Lecture 1: Introduction
More informationHigh Level Synthesis. Shankar Balachandran Assistant Professor, Dept. of CSE IIT Madras
High Level Synthesis Shankar Balachandran Assistant Professor, Dept. of CSE IIT Madras shankar@cse.iitm.ac.in References and Copyright Tetbooks referred (none required) [Mic94] G. De Micheli Synthesis
More informationDigital Hardware-/Softwaresystems Specification
Digital Hardware-/Softwaresystems Specification Seminar Architecture & Design Methods for Embedded Systems Summer Term 2006 University of Stuttgart Faculty of Computer Science, Electrical Engineering and
More information