Retiming. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Size: px
Start display at page:

Download "Retiming. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,"

Transcription

1 Retiming ( 范倫達 ), Ph.. epartment of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2 ldvan@cs.nctu.edu.tw

2 Outlines Introduction efinitions and Properties Solving Systems of Inequalities Retiming Techniques Conclusion Supplement VLSI-SP--2

3 Introduction (/2) Retiming is a transformation technique used to change the locations of delay elements in a circuit without affecting the input/output characteristics of the circuit. Critical path is defined to be the path with the longest computation time among all paths that contain zero delay. The lower bound on the clock period of the circuit can be achieved by retiming. VLSI-SP--3

4 x(n) Application of Retiming Reduce the clock period. () W(n) () a 2 w(n)=ay(n-)+by(n-2) y(n)=w(n-)+x(n) =ay(n-2)+by(n-3)+x(n) b Introduction (2/2) Reduce the number of registers. Reduce the power consumption and logic synthesis. y(n) x(n) 33% reduction () () W(n) W2(n) 3 u.t. 2 u.t. a b 2 y(n) w(n)=ay(n-) w2(n)=by(n-2) y(n)=w(n-)+w2(n-)+x(n) =ay(n-2)+by(n-3)+x(n) VLSI-SP--

5 Outlines Introduction efinitions and Properties Solving Systems of Inequalities Retiming Techniques Conclusion Supplement VLSI-SP--5

6 efinitions G () V, U : node r (V) : retiming value () w(e) : weight of the edge e in G w r (e) : weight of the edge e in Gr w r (e)=w(e)+r(v)-r(u) ex: r()=, r=, r(3)=, r()= Gr () () w r (3 e 2)=w(3 e 2)+r-r(3) =+-= w r (2 e )=w(2 e )+r()-r =+-= VLSI-SP--6

7 Properties of Retiming.2. The weight of the retimed path p=v e V e e k- Vk is given by w r (p)=w(p)+r(vk)-r(v)..2.2 Retiming does not change the number of delays in a cycle..2.3 Retiming does not alter the iteration bound in a FG..2. Adding the constant value j to the retiming value of each node does not change the mapping from G to Gr. VLSI-SP--7

8 VLSI-SP--8 Property.2. The weight of the retimed path p=v e V e ek- Vk is given by w r (p)=w(p)+r(vk)-r(v). Proof ) ( ) ( ) ( )) ( ) ( ( ) ( )) ( ) ( ) ( ( ) ( ) ( V r V r p w V r V r w e V r V r w e e w p w k k i i k i i k i i k i i i i k i r r

9 Outlines Introduction efinitions and Properties Solving Systems of Inequalities Retiming Techniques Conclusion Supplement VLSI-SP--9

10 Solving Systems of Inequalities Step : raw a constraint graph (a) raw the node i for each of the N variables r i, i=,2.,n. (b) raw the node N+. (c) For each inequality r i -r j k, draw the edge j i from node j to i with length k. (d) For each node i, i=,2,n, draw the edge N+ i from the node N+ to i with length. Step 2: Solve using a shortest path algorithm (a) The system of inequalities has a solution if and only if the constraint graph contains no negative cycles. (b) If a solution exists, one solution is where r i is the minimumlength path from the node N+ to the node i. VLSI-SP--

11 Example.3. with M=5, N= (/2) Given Inequalities: Step : r - r2 r3 - r 5 r - r r - r3 - r3 - r Step 2 : Ref=U5 Bellman-Ford algorithm r (k) (V) r () r r (3) r () V= V=2 V=3 V= V=5 Floyd-Warshall algorithm R (6) = Solution: r =, r 2 =, r 3 =, r =- VLSI-SP--

12 Example.3. with M=5, N= (2/2) Alternative Computation for Floyd-Warshall algorithm R () = R = - - R (3) = R () = R (5) = - - R (6) = r i,j (m+)=min{r i,k (m)+r k,j ()} VLSI-SP--2

13 Outlines Introduction efinitions and Properties Solving Systems of Inequalities Retiming Techniques Cutset retiming and pipelining Systolic transformation Retiming for clock period minimization Conclusion Supplement VLSI-SP--3

14 Cutset Retiming (/2) efinition: A cutset is a set of edges that can be removed from the graph to create 2 disconnected subgraphs. Procedures: Step : Construct 2 disjointed sub-graphs G and G2 Step 2: Add k delays to each edge from G to G2 and remove k delays from each edge from G2 to G. Feasible solution of cutset retiming wr(g->g2)=w(g->g2)+r(g2)-r(g)=w(g->g2)+k wr(g2->g)=w(g2->g)+r(g)-r(g2)=w(g2->g)-k => -min{w(g->g2)} k min{w(g2->g)} VLSI-SP--

15 Cutset Retiming (2/2) Upper case Cutset = {2->, 3->2, ->} and feasible solution: k Lower case Cutset = {2->, 3->2, ->2} and feasible solution: k G2 G 2 3 k= G2 G 2 k= () () VLSI-SP--5

16 Pipelining Pipelining is a special case of cutset retiming where there are no edges in the cutset from G2 to G, i.e., pipelining applies to graphs without loops. VLSI-SP--6

17 Cutset Retiming and Slow-own Procedure: Replace each delay with N delays to create an N-slow version of the FG. Perform cutset retiming on the N-slow FG. N=2 In (a), CP= & 2 T cp =*+2*2=5 In (c), CP = 2 & 2 T cp =2*+2*2=6 VLSI-SP--7

18 Systolic Transformation z z z ai,2 S b i, 2 ai,2 S b i, 2 z z ai, S b i, ai, S b i, z z z ai, S b i, a i, S b i, Source: L.. Van, "A new 2- systolic digital filter architecture without global broadcast," IEEE Trans. VLSI Systs., vol., pp , Aug. 22. VLSI-SP--8

19 Retiming Relationship Cutset Retiming Pipelining Retiming Systolic Transformation VLSI-SP--9

20 Retiming for Clock Period Minimization (/2) VLSI igital Signal Processing Systems efinition: Φ(G) = max{t(p) : w(p)=} (min. feasible clk period) W(U,V) = min{w(p) : U e V} (U,V) = max{t(p) : U e V and w(p) = W(U,V)} Algorithm for computing W(U,V) and (U,V):. Let M=t max n, where t max is the maximum computation time of the nodes in G and n is the number of nodes in G. 2. Form a new graph G which is the same as G except the edge weights are replaced by w (e)=mw(e)-t(u) for all edges. 3. Solve the all-pairs shortest path problem on G. Let S UV be the shortest path from U to V.. If U V, then W(U,V)=ceiling (S UV /M) and (U,V)=MW(U,V)- S UV +t(v). If U=V, then W(U,V)= and (U,V)=t(U). VLSI-SP--2

21 Retiming for Clock Period Minimization (2/2) W(U,V) and (U,V) are used to determine if there is a retiming solution that can achieve a desired clock period. Given a desired clock period c, if :. feasibility constraint : r(u)-r(v) w(e) for every edge e :U V 2. critical path constraint : r(u)-r(v) W(U,V)- for all vertices U,V in G such that (U,V)>c. There is a feasible retiming solution r such that Φ(Gr) c. VLSI-SP--2

22 Example with c=3 (/3) G G () () () () Step : t max =2, n=, M=t max n=8 Step 2: As G shows. Step 3: S UV Step : W(U,V) 2 3 (U,V) VLSI-SP--22

23 Example with c=3 (2/3) Step 5: Constraints Feasibility constraint: r()-r(3) r()-r() 2 r-r() r(3)-r r()-r Critical path constraint: r()-r r-r(3) r-r() 2 r(3)-r() r(3)-r() 2 r()-r() r()-r(3) Step 6: Constraint Graph VLSI-SP--23

24 Example with c=3 (3/3) Step 7: Using either Bellman-Ford algorithm or Floyd-Warshall algorithm, the retiming values for each node are calculated as r()=r=r(3)=r()= Step 8: Retimed FG can be obtained as () () VLSI-SP--2

25 Example with c=2 (/2) Feasibility constraint: r()-r(3) r()-r() 2 r-r() r(3)-r r()-r Critical path constraint: r()-r() r-r(3) r-r() 2 r(3)-r() r(3)-r - r(3)-r() 2 r()-r() r()-r - r()-r(3) Constraint Graph VLSI-SP--25

26 Example with c=2 (2/2) Using either Bellman-Ford algorithm or Floyd- Warshall algorithm, the retiming values for each node are calculated as r()=-, r= j+ r()=, r= r(3)=-, r()=- r(3)=, r()= Retimed FG can be obtained as () () VLSI-SP--26

27 Conclusion Reduction of clock period, number of registers, and power consumption by retiming for synchronous systems Shortest path algorithms can be used to obtain a retiming solution if one exists. Retiming can also be used as a preprocessing step for folding and for computation of round-off noise as discussed in Chap 6 and, respectively. VLSI-SP--27

28 Supplement Part The Shortest Path Algorithm VLSI igital Signal Processing Systems

29 Shortest Path Algorithms Length : sum of weights Negative cycle : when sum of lengths is negative ex : cycle 2 2 S UV : the shortest path from the node U to the node V. The Bellman-Ford algorithm The Floyd-Warshall algorithm VLSI-SP--29

30 The Bellman-Ford algorithm Single-point shortest path algorithm r () (U)= For k= to n If k U r () (k)=w(u e k) For k= to n-2 For V= to n r (k+) (V)=r (k) (V) For W= to n If r (k+) (V)> r (k) (W)+w(W e V) r (k+) (V)= r (k) (W)+w(W e V) For V= to n For W= to n If r (n-) (V)>r (n-) (W)+w(W e V) return FALSE and exit return TRUE and exit VLSI-SP--3

31 Example U=2 ( node 2 ) r (k) (V) k= k=2 k=3 V= 3 3 V=2 V=3 V= r (3) (V) is the shortest path from node 2 to node V for V=,2,3, VLSI-SP--3

32 The Floyd-Warshall algorithm All-points shortest path algorithm For V= to n For U= to n r () (U,V)=w(U e V) For k= to n For V= to n For U= to n r (k+) (U,V)=r (k) (U,V) If r (k+) (U,V)> r (k) (U,k)+r (k) (k,v) r (k+) (U,V)= r (k) (U,k)+r (k) (k,v) For k= to n For U= to n If r (k) (U,U)< return FALSE and exit return TRUE and exit VLSI-SP--32

33 Example R () -3 R R (3) R () R (5) R (5) (U,V) is the shortest path from the node U to the node V. VLSI-SP--33

Memory, Area and Power Optimization of Digital Circuits

Memory, Area and Power Optimization of Digital Circuits Memory, Area and Power Optimization of Digital Circuits Laxmi Gupta Electronics and Communication Department Jaypee Institute of Information Technology Noida, Uttar Pradesh, India Ankita Bharti Electronics

More information

Folding. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Folding. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, Folding ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2010 ldvan@cs.nctu.edu.tw http://www.cs.nctu.tw/~ldvan/ Outline Introduction Folding Transformation

More information

Iteration Bound. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C.

Iteration Bound. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Iteration Bound ( 范倫達 ) Ph. D. Department of Computer Science National Chiao Tung University Taiwan R.O.C. Fall 2 ldvan@cs.nctu.edu.tw http://www.cs.nctu.tw/~ldvan/ Outline Introduction Data Flow Graph

More information

S Postgraduate Course on Signal Processing in Communications, FALL Topic: Iteration Bound. Harri Mäntylä

S Postgraduate Course on Signal Processing in Communications, FALL Topic: Iteration Bound. Harri Mäntylä S-38.220 Postgraduate Course on Signal Processing in Communications, FALL - 99 Topic: Iteration Bound Harri Mäntylä harri.mantyla@hut.fi ate: 11.10.1999 1. INTROUCTION...3 2. ATA-FLOW GRAPH (FG) REPRESENTATIONS...4

More information

Iteration Bound. Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C.

Iteration Bound. Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Iteration Bound Lan-Da Van ( 倫 ) Ph. D. Department of Computer Science National Chiao Tung University Taiwan R.O.C. Spring 27 ldvan@cs.nctu.edu.tw http://www.cs.nctu.tw/~ldvan/ Outline Introduction Data

More information

Chapter 8 Folding. VLSI DSP 2008 Y.T. Hwang 8-1. Introduction (1)

Chapter 8 Folding. VLSI DSP 2008 Y.T. Hwang 8-1. Introduction (1) Chapter 8 olding LSI SP 008 Y.T. Hang 8- folding Introduction SP architecture here multiple operations are multiplexed to a single function unit Trading area for time in a SP architecture Reduce the number

More information

Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis

Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis Advanced Algorithm Design and Analysis (Lecture 5) SW5 fall 2007 Simonas Šaltenis 3.2.12 simas@cs.aau.dk All-pairs shortest paths Main goals of the lecture: to go through one more example of dynamic programming

More information

Exercises in DSP Design 2016 & Exam from Exam from

Exercises in DSP Design 2016 & Exam from Exam from Exercises in SP esign 2016 & Exam from 2005-12-12 Exam from 2004-12-13 ept. of Electrical and Information Technology Some helpful equations Retiming: Folding: ω r (e) = ω(e)+r(v) r(u) F (U V) = Nw(e) P

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

Chapter 6: Folding. Keshab K. Parhi

Chapter 6: Folding. Keshab K. Parhi Chapter 6: Folding Keshab K. Parhi Folding is a technique to reduce the silicon area by timemultiplexing many algorithm operations into single functional units (such as adders and multipliers) Fig(a) shows

More information

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming. Retiming Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford Outline Structural optimization methods. Retiming. Modeling. Retiming for minimum delay. Retiming for minimum

More information

Shortest Paths. Nishant Mehta Lectures 10 and 11

Shortest Paths. Nishant Mehta Lectures 10 and 11 Shortest Paths Nishant Mehta Lectures 0 and Communication Speeds in a Computer Network Find fastest way to route a data packet between two computers 6 Kbps 4 0 Mbps 6 6 Kbps 6 Kbps Gbps 00 Mbps 8 6 Kbps

More information

Shortest Paths. Nishant Mehta Lectures 10 and 11

Shortest Paths. Nishant Mehta Lectures 10 and 11 Shortest Paths Nishant Mehta Lectures 0 and Finding the Fastest Way to Travel between Two Intersections in Vancouver Granville St and W Hastings St Homer St and W Hastings St 6 Granville St and W Pender

More information

Graphs II - Shortest paths

Graphs II - Shortest paths Graphs II - Shortest paths Single Source Shortest Paths All Sources Shortest Paths some drawings and notes from prof. Tom Cormen Single Source SP Context: directed graph G=(V,E,w), weighted edges The shortest

More information

Title. Ferienakademie im Sarntal Course 2 Distance Problems: Theory and Praxis. Nesrine Damak. Fakultät für Informatik TU München. 20.

Title. Ferienakademie im Sarntal Course 2 Distance Problems: Theory and Praxis. Nesrine Damak. Fakultät für Informatik TU München. 20. Title Ferienakademie im Sarntal Course 2 Distance Problems: Theory and Praxis Nesrine Damak Fakultät für Informatik TU München 20. September 2010 Nesrine Damak: Classical Shortest-Path Algorithms 1/ 35

More information

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009 Solving Shortest Path Problem: Dijkstra s Algorithm October 23, 2009 Outline Lecture 18 Focus on Dijkstra s Algorithm Importance: Where it has been used? Algorithm s general description Algorithm steps

More information

On the Design of High Speed Parallel CRC Circuits using DSP Algorithams

On the Design of High Speed Parallel CRC Circuits using DSP Algorithams On the Design of High Speed Parallel CRC Circuits using DSP Algorithams 1 B.Naresh Reddy, 2 B.Kiran Kumar, 3 K.Mohini sirisha 1 Dept.of ECE,Kodada institute of Technology & Science for women,kodada,india

More information

Vertex Shader Design I

Vertex Shader Design I The following content is extracted from the paper shown in next page. If any wrong citation or reference missing, please contact ldvan@cs.nctu.edu.tw. I will correct the error asap. This course used only

More information

The Shortest Path Problem. The Shortest Path Problem. Mathematical Model. Integer Programming Formulation

The Shortest Path Problem. The Shortest Path Problem. Mathematical Model. Integer Programming Formulation The Shortest Path Problem jla,jc@imm.dtu.dk Department of Management Engineering Technical University of Denmark The Shortest Path Problem Given a directed network G = (V,E,w) for which the underlying

More information

VLSI Implementation of Parallel CRC Using Pipelining, Unfolding and Retiming

VLSI Implementation of Parallel CRC Using Pipelining, Unfolding and Retiming IOSR Journal of VLSI and Signal Processing (IOSR-JVSP) Volume 2, Issue 5 (May. Jun. 203), PP 66-72 e-issn: 239 4200, p-issn No. : 239 497 VLSI Implementation of Parallel CRC Using Pipelining, Unfolding

More information

Delay and Power Optimization of Sequential Circuits through DJP Algorithm

Delay and Power Optimization of Sequential Circuits through DJP Algorithm Delay and Power Optimization of Sequential Circuits through DJP Algorithm S. Nireekshan Kumar*, J. Grace Jency Gnannamal** Abstract Delay Minimization and Power Minimization are two important objectives

More information

Vertex Shader Design II

Vertex Shader Design II The following content is extracted from the paper shown in next page. If any wrong citation or reference missing, please contact ldvan@cs.nctu.edu.tw. I will correct the error asap. This course used only

More information

Shortest Path Problem

Shortest Path Problem Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 07 Single-Source Shortest Paths (Chapter 24) Stephen Scott and Vinodchandran N. Variyam sscott@cse.unl.edu 1/36 Introduction

More information

A VLSI DSP DESIGN AND IMPLEMENTATION O F COMB FILTER USING UN-FOLDING METHODOLOGY

A VLSI DSP DESIGN AND IMPLEMENTATION O F COMB FILTER USING UN-FOLDING METHODOLOGY VLSI SP ESIGN N IMPLEMENTTION O F COM FILTER USING UN-FOLING METHOOLOGY 1 PURU GUPT & 2 TRUN KUMR RWT 1&2 ept. of Electronics and Communication Engineering, Netaji Subhas Institute of Technology -warka

More information

Shortest path problems

Shortest path problems Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths

More information

Chapter 25: All-Pairs Shortest-Paths

Chapter 25: All-Pairs Shortest-Paths Chapter : All-Pairs Shortest-Paths When no negative edges Some Algorithms Using Dijkstra s algorithm: O(V ) Using Binary heap implementation: O(VE lg V) Using Fibonacci heap: O(VE + V log V) When no negative

More information

DSP Architecture Optimization in MATLAB/Simulink Environment

DSP Architecture Optimization in MATLAB/Simulink Environment University of California Los Angeles DSP Architecture Optimization in MATLAB/Simulink Environment A thesis submitted in partial satisfaction of the requirements for the degree Master of Science in Electrical

More information

Verilog Behavioral Modeling

Verilog Behavioral Modeling Verilog Behavioral Modeling Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:

More information

Solving problems on graph algorithms

Solving problems on graph algorithms Solving problems on graph algorithms Workshop Organized by: ACM Unit, Indian Statistical Institute, Kolkata. Tutorial-3 Date: 06.07.2017 Let G = (V, E) be an undirected graph. For a vertex v V, G {v} is

More information

Introduction. I Given a weighted, directed graph G =(V, E) with weight function

Introduction. I Given a weighted, directed graph G =(V, E) with weight function ntroduction Computer Science & Engineering 2/82 Design and Analysis of Algorithms Lecture 05 Single-Source Shortest Paths (Chapter 2) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and no

More information

Digital Systems and Binary Numbers

Digital Systems and Binary Numbers Digital Systems and Binary Numbers ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2018 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outline

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Shortest Path Problem G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 3 GG A.I. 1/42 Outline 1 The Shortest Path Problem Introduction

More information

Introduction. I Given a weighted, directed graph G =(V, E) with weight function

Introduction. I Given a weighted, directed graph G =(V, E) with weight function ntroduction Computer Science & Engineering 2/82 Design and Analysis of Algorithms Lecture 06 Single-Source Shortest Paths (Chapter 2) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu

More information

Algorithms. All-Pairs Shortest Paths. Dong Kyue Kim Hanyang University

Algorithms. All-Pairs Shortest Paths. Dong Kyue Kim Hanyang University Algorithms All-Pairs Shortest Paths Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr Contents Using single source shortest path algorithms Presents O(V 4 )-time algorithm, O(V 3 log V)-time algorithm,

More information

from notes written mostly by Dr. Carla Savage: All Rights Reserved

from notes written mostly by Dr. Carla Savage: All Rights Reserved CSC 505, Fall 2000: Week 9 Objectives: learn about various issues related to finding shortest paths in graphs learn algorithms for the single-source shortest-path problem observe the relationship among

More information

Register Transfer Level in Verilog: Part I

Register Transfer Level in Verilog: Part I Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National

More information

Algorithms on Graphs: Part III. Shortest Path Problems. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..

Algorithms on Graphs: Part III. Shortest Path Problems. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. Shortest Path Problems Algorithms on Graphs: Part III Path in a graph. Let G = V,E be a graph. A path p = e 1,...,e k, e i E,

More information

Parallelization. Marcel Jacomet Josef Goette Bern University of Applied Sciences Bfh-Ti HuCE-microLab, Biel/Bienne.

Parallelization. Marcel Jacomet Josef Goette Bern University of Applied Sciences Bfh-Ti HuCE-microLab, Biel/Bienne. Josef Goette Bern University of Applied Sciences Bfh-Ti HuCE-microLab, Biel/Bienne Marcel.Jacomet@bfh.ch OCT at ata-path FiFo FT huce.ti.bfh.ch/microlab October 11, 2017 to OCT OCT at ata-path FiFo FT

More information

Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction

Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction Rakhi S 1, PremanandaB.S 2, Mihir Narayan Mohanty 3 1 Atria Institute of Technology, 2 East Point College of Engineering &Technology,

More information

Single Source Shortest Paths

Single Source Shortest Paths Single Source Shortest Paths Given a connected weighted directed graph G(V, E), associated with each edge u, v E, there is a weight w(u, v). The single source shortest paths (SSSP) problem is to find a

More information

Lecture 11: Analysis of Algorithms (CS ) 1

Lecture 11: Analysis of Algorithms (CS ) 1 Lecture 11: Analysis of Algorithms (CS583-002) 1 Amarda Shehu November 12, 2014 1 Some material adapted from Kevin Wayne s Algorithm Class @ Princeton 1 2 Dynamic Programming Approach Floyd-Warshall Shortest

More information

Single Source Shortest Path (SSSP) Problem

Single Source Shortest Path (SSSP) Problem Single Source Shortest Path (SSSP) Problem Single Source Shortest Path Problem Input: A directed graph G = (V, E); an edge weight function w : E R, and a start vertex s V. Find: for each vertex u V, δ(s,

More information

Academic Course Description

Academic Course Description Academic Course Description SRM University Faculty of Engineering and Technology Department of Electronics and Communication Engineering VL2003 DSP Structures for VLSI Systems First Semester, 2014-15 (ODD

More information

Lecture 6 Basic Graph Algorithms

Lecture 6 Basic Graph Algorithms CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 6 Basic Graph Algorithms Uttam Thakore University of Illinois at Urbana-Champaign September 30, 2015 Updates ICPC Regionals teams will be

More information

Verilog Dataflow Modeling

Verilog Dataflow Modeling Verilog Dataflow Modeling Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:

More information

Single Source Shortest Path: The Bellman-Ford Algorithm. Slides based on Kevin Wayne / Pearson-Addison Wesley

Single Source Shortest Path: The Bellman-Ford Algorithm. Slides based on Kevin Wayne / Pearson-Addison Wesley Single Source Shortest Path: The Bellman-Ford Algorithm Slides based on Kevin Wayne / Pearson-Addison Wesley Single Source Shortest Path Problem Shortest path network. Directed graph G = (V, E, w). Weight

More information

Single Source Shortest Path

Single Source Shortest Path Single Source Shortest Path A directed graph G = (V, E) and a pair of nodes s, d is given. The edges have a real-valued weight W i. This time we are looking for the weight and the shortest path from s

More information

Sample Solutions to Homework #4

Sample Solutions to Homework #4 National Taiwan University Handout #25 Department of Electrical Engineering January 02, 207 Algorithms, Fall 206 TA: Zhi-Wen Lin and Yen-Chun Liu Sample Solutions to Homework #4. (0) (a) Both of the answers

More information

Dynamic Programming Shabsi Walfish NYU - Fundamental Algorithms Summer 2006

Dynamic Programming Shabsi Walfish NYU - Fundamental Algorithms Summer 2006 Dynamic Programming What is Dynamic Programming? Technique for avoiding redundant work in recursive algorithms Works best with optimization problems that have a nice underlying structure Can often be used

More information

Solutions to Assignment# 4

Solutions to Assignment# 4 Solutions to Assignment# 4 Liana Yepremyan 1 Nov.12: Text p. 651 problem 1 Solution: (a) One example is the following. Consider the instance K = 2 and W = {1, 2, 1, 2}. The greedy algorithm would load

More information

Last week: Breadth-First Search

Last week: Breadth-First Search 1 Last week: Breadth-First Search Set L i = [] for i=1,,n L 0 = {w}, where w is the start node For i = 0,, n-1: For u in L i : For each v which is a neighbor of u: If v isn t yet visited: - mark v as visited,

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

Chapter 24. Shortest path problems. Chapter 24. Shortest path problems. 24. Various shortest path problems. Chapter 24. Shortest path problems

Chapter 24. Shortest path problems. Chapter 24. Shortest path problems. 24. Various shortest path problems. Chapter 24. Shortest path problems Chapter 24. Shortest path problems We are given a directed graph G = (V,E) with each directed edge (u,v) E having a weight, also called a length, w(u,v) that may or may not be negative. A shortest path

More information

Shortest Paths. March 21, CTU in Prague. Z. Hanzálek (CTU) Shortest Paths March 21, / 44

Shortest Paths. March 21, CTU in Prague. Z. Hanzálek (CTU) Shortest Paths March 21, / 44 Shortest Paths Zdeněk Hanzálek hanzalek@fel.cvut.cz CTU in Prague March 21, 2017 Z. Hanzálek (CTU) Shortest Paths March 21, 2017 1 / 44 Table of contents 1 Introduction Problem Statement Negative Weights

More information

Lecture 6: Shortest distance, Eulerian cycles, Maxflow

Lecture 6: Shortest distance, Eulerian cycles, Maxflow DD2458, Problem Solving and Programming Under Pressure Lecture 6: Shortest distance, Eulerian cycles, Maxflow Date: 2008-10-06 Scribe(s): Adam Kull, David Vuorio Lecturer: Douglas Wikström 1 Shortest path

More information

Dijkstra s Algorithm. Dijkstra s algorithm is a natural, greedy approach towards

Dijkstra s Algorithm. Dijkstra s algorithm is a natural, greedy approach towards CPSC-320: Intermediate Algorithm Design and Analysis 128 CPSC-320: Intermediate Algorithm Design and Analysis 129 Dijkstra s Algorithm Dijkstra s algorithm is a natural, greedy approach towards solving

More information

Homework #2 Solution Due Date: Friday, March 24, 2004

Homework #2 Solution Due Date: Friday, March 24, 2004 Department of Electrical and Computer Engineering University of Wisconsin Madison ECE 734 VLSI Array Structures for Digital Signal Processing Homework #2 Solution Due Date: Friday, March 24, 2004 This

More information

Review for Ray-tracing Algorithm and Hardware

Review for Ray-tracing Algorithm and Hardware Review for Ray-tracing Algorithm and Hardware Reporter: 邱敬捷博士候選人 Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Summer, 2017 1 2017/7/26 Outline

More information

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code COPY RIGHT 2018IJIEMR.Personal use of this material is permitted. Permission from IJIEMR must be obtained for all other uses, in any current or future media, including reprinting/republishing this material

More information

Minimum-Cost Spanning Tree. as a. Path-Finding Problem. Laboratory for Computer Science MIT. Cambridge MA July 8, 1994.

Minimum-Cost Spanning Tree. as a. Path-Finding Problem. Laboratory for Computer Science MIT. Cambridge MA July 8, 1994. Minimum-Cost Spanning Tree as a Path-Finding Problem Bruce M. Maggs Serge A. Plotkin Laboratory for Computer Science MIT Cambridge MA 02139 July 8, 1994 Abstract In this paper we show that minimum-cost

More information

Weighted Graph Algorithms Presented by Jason Yuan

Weighted Graph Algorithms Presented by Jason Yuan Weighted Graph Algorithms Presented by Jason Yuan Slides: Zachary Friggstad Programming Club Meeting Weighted Graphs struct Edge { int u, v ; int w e i g h t ; // can be a double } ; Edge ( int uu = 0,

More information

Addis Ababa University, Amist Kilo July 20, 2011 Algorithms and Programming for High Schoolers. Lecture 12

Addis Ababa University, Amist Kilo July 20, 2011 Algorithms and Programming for High Schoolers. Lecture 12 Addis Ababa University, Amist Kilo July 20, 2011 Algorithms and Programming for High Schoolers Single-source shortest paths: Lecture 12 We saw in Lab 10 that breadth-first search can be used to find the

More information

Head, Dept of Electronics & Communication National Institute of Technology Karnataka, Surathkal, India

Head, Dept of Electronics & Communication National Institute of Technology Karnataka, Surathkal, India Mapping Signal Processing Algorithms to Architecture Sumam David S Head, Dept of Electronics & Communication National Institute of Technology Karnataka, Surathkal, India sumam@ieee.org Objectives At the

More information

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018

Object-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018 Object-oriented programming and data-structures CS/ENGRD 20 SUMMER 208 Lecture 3: Shortest Path http://courses.cs.cornell.edu/cs20/208su Graph Algorithms Search Depth-first search Breadth-first search

More information

Classical Shortest-Path Algorithms

Classical Shortest-Path Algorithms DISTANCE PROBLEMS IN NETWORKS - THEORY AND PRACTICE Classical Shortest-Path Algorithms Nesrine Damak October 10, 2010 Abstract In this work, we present four algorithms for the shortest path problem. The

More information

Research Article Design of Synthesizable, Retimed Digital Filters Using FPGA Based Path Solvers with MCM Approach: Comparison and CAD Tool

Research Article Design of Synthesizable, Retimed Digital Filters Using FPGA Based Path Solvers with MCM Approach: Comparison and CAD Tool VLSI Design Volume 204, Article ID 28070, 8 pages http://dx.doi.org/0.55/204/28070 Research Article Design of Synthesizable, Retimed Digital Filters Using FPGA Based Path Solvers with MCM Approach: Comparison

More information

Dynamic Programming II

Dynamic Programming II Lecture 11 Dynamic Programming II 11.1 Overview In this lecture we continue our discussion of dynamic programming, focusing on using it for a variety of path-finding problems in graphs. Topics in this

More information

Dynamic Programming: 1D Optimization. Dynamic Programming: 2D Optimization. Fibonacci Sequence. Crazy 8 s. Edit Distance

Dynamic Programming: 1D Optimization. Dynamic Programming: 2D Optimization. Fibonacci Sequence. Crazy 8 s. Edit Distance Dynamic Programming: 1D Optimization Fibonacci Sequence To efficiently calculate F [x], the xth element of the Fibonacci sequence, we can construct the array F from left to right (or bottom up ). We start

More information

CS420/520 Algorithm Analysis Spring 2009 Lecture 14

CS420/520 Algorithm Analysis Spring 2009 Lecture 14 CS420/520 Algorithm Analysis Spring 2009 Lecture 14 "A Computational Analysis of Alternative Algorithms for Labeling Techniques for Finding Shortest Path Trees", Dial, Glover, Karney, and Klingman, Networks

More information

Routing. Information Networks p.1/35

Routing. Information Networks p.1/35 Routing Routing is done by the network layer protocol to guide packets through the communication subnet to their destinations The time when routing decisions are made depends on whether we are using virtual

More information

5.4 Shortest Paths. Jacobs University Visualization and Computer Graphics Lab. CH : Algorithms and Data Structures 456

5.4 Shortest Paths. Jacobs University Visualization and Computer Graphics Lab. CH : Algorithms and Data Structures 456 5.4 Shortest Paths CH08-320201: Algorithms and Data Structures 456 Definitions: Path Consider a directed graph G=(V,E), where each edge e є E is assigned a non-negative weight w: E -> R +. A path is a

More information

CSE 101, Winter Design and Analysis of Algorithms. Lecture 11: Dynamic Programming, Part 2

CSE 101, Winter Design and Analysis of Algorithms. Lecture 11: Dynamic Programming, Part 2 CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 11: Dynamic Programming, Part 2 Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Goal: continue with DP (Knapsack, All-Pairs SPs, )

More information

Textbook: VLSI ARRAY PROCESSORS S.Y. Kung

Textbook: VLSI ARRAY PROCESSORS S.Y. Kung : 1/34 Textbook: VLSI ARRAY PROCESSORS S.Y. Kung Prentice-Hall, Inc. : INSTRUCTOR : CHING-LONG SU E-mail: kevinsu@twins.ee.nctu.edu.tw Chapter 4 2/34 Chapter 4 Systolic Array Processors Outline of Chapter

More information

ESE535: Electronic Design Automation. Today. Example: Same Semantics. Task. Problem. Other Goals. Retiming. Day 23: April 13, 2011 Retiming

ESE535: Electronic Design Automation. Today. Example: Same Semantics. Task. Problem. Other Goals. Retiming. Day 23: April 13, 2011 Retiming ESE55: Electronic Design Automation Day : April, Retiming Today Retiming Cycle time (clock period) Initial states Register minimization Behavioral (C, MATLAB, ) Arch. Select Schedule RTL FSM assign Two-level,

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

Dynamic Programming. CSE 101: Design and Analysis of Algorithms Lecture 19

Dynamic Programming. CSE 101: Design and Analysis of Algorithms Lecture 19 Dynamic Programming CSE 101: Design and Analysis of Algorithms Lecture 19 CSE 101: Design and analysis of algorithms Dynamic programming Reading: Chapter 6 Homework 7 is due Dec 6, 11:59 PM This Friday

More information

MATH 409 LECTURE 10 DIJKSTRA S ALGORITHM FOR SHORTEST PATHS

MATH 409 LECTURE 10 DIJKSTRA S ALGORITHM FOR SHORTEST PATHS MATH 409 LECTURE 10 DIJKSTRA S ALGORITHM FOR SHORTEST PATHS REKHA THOMAS In this lecture we see the first algorithm to compute shortest paths from a given vertex r to all vertices v in a digraph G without

More information

Chalmers University of Technology. Network Models. April 11, Birgit Grohe

Chalmers University of Technology. Network Models. April 11, Birgit Grohe Chalmers University of Technology Applied Optimisation lp 4 VT08 Network Models April 11, 2008 Birgit Grohe Network Models - Examples Many different problems can be formulated as graph/network models:

More information

Network Models - Examples. Network Models. Definition and Terminology. The Minimum Spanning Tree (MST) Problem

Network Models - Examples. Network Models. Definition and Terminology. The Minimum Spanning Tree (MST) Problem Chalmers University of Technology Applied Optimisa- Network Models - Examples tion lp 4 VT08 Network Models April 11, 2008 Birgit Grohe Many different problems can be formulated as graph/network models:

More information

FINDING MINIMUM COST SPANNING TREE ON BIDIRECTIONAL LINEAR SYSTOLIC ARRAY

FINDING MINIMUM COST SPANNING TREE ON BIDIRECTIONAL LINEAR SYSTOLIC ARRAY Faculty of Sciences and Mathematics, University of Niš, Serbia Available at: http://www.pmf.ni.ac.yu/filomat Filomat 23: (2009), 2 FINDING MINIMUM COST SPANNING TREE ON BIDIRECTIONAL LINEAR SYSTOLIC ARRAY

More information

Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

More information

All Shortest Paths. Questions from exercises and exams

All Shortest Paths. Questions from exercises and exams All Shortest Paths Questions from exercises and exams The Problem: G = (V, E, w) is a weighted directed graph. We want to find the shortest path between any pair of vertices in G. Example: find the distance

More information

Mapping-Aware Constrained Scheduling for LUT-Based FPGAs

Mapping-Aware Constrained Scheduling for LUT-Based FPGAs Mapping-Aware Constrained Scheduling for LUT-Based FPGAs Mingxing Tan, Steve Dai, Udit Gupta, Zhiru Zhang School of Electrical and Computer Engineering Cornell University High-Level Synthesis (HLS) for

More information

Mon Tue Wed Thurs Fri

Mon Tue Wed Thurs Fri In lieu of recitations 320 Office Hours Mon Tue Wed Thurs Fri 8 Cole 9 Dr. Georg Dr. Georg 10 Dr. Georg/ Jim 11 Ali Jim 12 Cole Ali 1 Cole/ Shannon Ali 2 Shannon 3 Dr. Georg Dr. Georg Jim 4 Upcoming Check

More information

The Shortest Path Problem

The Shortest Path Problem The Shortest Path Problem 1 Shortest-Path Algorithms Find the shortest path from point A to point B Shortest in time, distance, cost, Numerous applications Map navigation Flight itineraries Circuit wiring

More information

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 13 Dr. Ted Ralphs IE411 Lecture 13 1 References for Today s Lecture IE411 Lecture 13 2 References for Today s Lecture Required reading Sections 21.1 21.2 References

More information

Classic Graph Theory Problems

Classic Graph Theory Problems Classic Graph Theory Problems Hiroki Sayama sayama@binghamton.edu The Origin Königsberg bridge problem Pregel River (Solved negatively by Euler in 176) Representation in a graph Can all the seven edges

More information

Dynamic-Programming algorithms for shortest path problems: Bellman-Ford (for singlesource) and Floyd-Warshall (for all-pairs).

Dynamic-Programming algorithms for shortest path problems: Bellman-Ford (for singlesource) and Floyd-Warshall (for all-pairs). Lecture 13 Graph Algorithms I 13.1 Overview This is the first of several lectures on graph algorithms. We will see how simple algorithms like depth-first-search can be used in clever ways (for a problem

More information

Design and Analysis of Algorithms 演算法設計與分析. Lecture 13 December 18, 2013 洪國寶

Design and Analysis of Algorithms 演算法設計與分析. Lecture 13 December 18, 2013 洪國寶 Design and Analysis of Algorithms 演算法設計與分析 Lecture 13 December 18, 2013 洪國寶 1 Homework #10 1. 24.1-1 (p. 591 / p. 654) 2. 24.1-6 (p. 592 / p. 655) 3. 24.3-2 (p. 600 / p. 663) 4. 24.3-8 (p. 601) / 24.3-10

More information

Intel Stratix 10 Variable Precision DSP Blocks User Guide

Intel Stratix 10 Variable Precision DSP Blocks User Guide Intel Stratix 10 Variable Precision DSP Blocks User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Intel Stratix

More information

Virtual University of Pakistan

Virtual University of Pakistan Virtual University of Pakistan Department of Computer Science Course Outline Course Instructor Dr. Sohail Aslam E mail Course Code Course Title Credit Hours 3 Prerequisites Objectives Learning Outcomes

More information

MA 252: Data Structures and Algorithms Lecture 36. Partha Sarathi Mandal. Dept. of Mathematics, IIT Guwahati

MA 252: Data Structures and Algorithms Lecture 36. Partha Sarathi Mandal. Dept. of Mathematics, IIT Guwahati MA 252: Data Structures and Algorithms Lecture 36 http://www.iitg.ernet.in/psm/indexing_ma252/y12/index.html Partha Sarathi Mandal Dept. of Mathematics, IIT Guwahati The All-Pairs Shortest Paths Problem

More information

CHAPTER 13 GRAPH ALGORITHMS

CHAPTER 13 GRAPH ALGORITHMS CHAPTER 13 GRAPH ALGORITHMS SFO LAX ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN C++, GOODRICH, TAMASSIA AND MOUNT (WILEY 00) AND SLIDES FROM NANCY

More information

Review of course COMP-251B winter 2010

Review of course COMP-251B winter 2010 Review of course COMP-251B winter 2010 Lecture 1. Book Section 15.2 : Chained matrix product Matrix product is associative Computing all possible ways of parenthesizing Recursive solution Worst-case running-time

More information

Minimum Cost Edge Disjoint Paths

Minimum Cost Edge Disjoint Paths Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during

More information