EE 582 (Physical Design Automation of VLSI Circuits and Systems)
Assignment 4
In this assignment, you will solve a few floorplanning problems using a linear programming solver.
Go to the lp_solve website and download a proper one (version 5.5.2.0. If you are a window user, download lp_solve_5.5.2.0_IDE_Setup.exe).
Install or compile it.
1. Floorplanning of non-rotatable hard blocks.
The following shows a list of blocks with their dimensions (width and height).
Formulate it into a linear programming problem and solve it (minimize the floorplan area).
Five hard blocks (width, height).
B1 (2, 4)
B2 (5, 4)
B3 (3, 3)
B4 (4, 4)
B5 (2, 3)
What to submit
Linear programming formulation
Final floorplan (figure)
2. Floorplanning of rotatable hard blocks.
Use the same five blocks listed above. All of them are rotatable.
Formulate it into a linear programming problem and solve it (minimize the floorplan area).
What to submit
Linear programming formulation
Final floorplan (figure)
3. Floorplanning of soft blocks.
Use the same five blocks listed above. All of them are soft. Aspect ratio (height/width) = [0.7, 1.4]
Formulate it into a linear programming problem and solve it (minimize the floorplan area).
What to submit
Linear programming formulation
Final floorplan (figure)
4. Floorplanning of more complex benchmarks
Download the following file.
wget http://eecs.wsu.edu/~daehyun/teaching/2014_EE582/assignments/a04.tar.gz
Unzip it.
tar xvfz a04.tar.gz
You will see five benchmark files (.ilp).
The following explains the format of the files. (All the hard blocks are rotatable)
hard - # blocks
width 1, height 1
width 2, height 2
...
soft - # blocks
area 1, aspect ratio 1 (min), aspect ratio 1 (max)
area 2, aspect ratio 2 (min), aspect ratio 2 (max)
...
Make a program to automatically construct a linear programming formulation for a given input file.
Run it to generate a linear programming formulation file for each benchmark.
Use lp_solve to solve the problem.
What to submit
Final floorplan dimensions (width and height) for each benchmark
Source code