This app illustrates the application of Iterative Improvement to VLSI Floorplanning. Iterative Improvement is a general approach to optimization in which small transformations called moves are randomly applied to a configuration (in our case, floorplanning). Moves that decrease the cost of the configuration are always accepted, while moves that increase the cost are always rejected.

The app displays two panels. On the left, it displays a diagram of a floorplan and its estimated cost. On the right, it displays the history of each move attempt as a bar graph. Bars representing accepted moves are shaded green. Bars representing rejected moves are shaded in white. The cost of the move it was accepted is displayed as a small red bar above the bar graph up to the maximum cost scale currently being displayed.


If you’re interested, here is the source code

The main files are in placement/apps

Screenshot - Click to Load Applet