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).

What to submit


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


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


4. Floorplanning of more complex benchmarks

Download the following file.

Unzip it.

You will see five benchmark files (.ilp).

The following explains the format of the files. (All the hard blocks are rotatable)

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