EE 582 (Physical Design Automation of VLSI Circuits and Systems)

Assignment 6


In this assignment, you are supposed to complete a sequence-pair-based floorplanning code and run it for a few benchmarks.

Download the following file into your working directory.

Unzip it.

You will see the following files.

You can compile the source codes by just running "make".

Once you have an executable (its name is sa by default), you can run it as follows:

It prints out temperature values and initial/final area values at the end of the messages.

It also generates two output files, init.plt and final.plt, for the initial and final floorplans, respectively. You can see them using gnuplot as follows:


1. Complete the source code and run it for the five benchmarks.

In main.cpp, find function "main ()". In the function, sp is a sequence-pair variable that has all the information of the blocks and a sequence pair.

In main.cpp, we call "simulated_annealing". Your task is to complete the simulated annealing function.

Now, find function "simulated_annealing()" in main.cpp. The function is empty, but has some comments.

Complete the function. Complete function "metropolis()" too. (Refer to the comments in the functions.)

What to submit