All (small) C++ programs here are written for immediate convenience of the author. They are not expected to be robust.
MCNC and GSRC benchmarks in blocks/nets/pl format are available here.
Hard version | Soft version (aspect ratio constraints) | |||||
[0.50,2.00] | [0.55,1.80] | [0.59,1.70] | [0.63,1.60] | [0.67,1.50] | ||
MCNC (9 - 49 blks) | txt | soft format | soft format | soft format | soft format | soft format |
GSRC (10 - 300 blks) | txt | soft format | soft format | soft format | soft format | soft format |
ami49_X suite
(98 - 156K blks) dimensions for larger benchmarks are divided by 10 |
txt | --- | --- | --- | --- | --- |
random test cases (6 - 500 blks) dimensions between 1..200 |
all distinct: txt 3-type: txt 2-type: txt |
--- | --- | --- | --- | --- |
These converters deal with the "txt", "soft", "bbb", "blocks/nets/pl" and "yal" formats. Details about the "txt", "soft" and "bbb" formats can be found in CompaSS' manual (available here), The "blocks/nets/pl" and "yal" formats are described here.
blocks2txt (source, Linux executable)
usage: | blocks2txt <input-blocks-file> <output-txt-file> | |
example: | blocks2txt input.blocks output.txt |
blocks2soft (source, Linux executable)
usage: | blocks2soft <input-blocks-file> <output-soft-file> | |
example: | blocks2soft input.blocks output.soft |
txt2blocks (source, Linux executable)
description: | It converts a txt file to a set of output files in blocks/nets/pl format, which contains all the blocks with no nets and pads. The example below creates files output.blocks, output.nets and output.pl | |
usage: | txt2blocks <input-blocks-file> <output-file-prefix> | |
example: | txt2blocks input.txt output |
txt2yal (source, Linux executable)
description: | It converts a txt file to a yal file, which contains all the blocks with no nets and pads. | |
usage: | txt2yal <input-txt-file> <output-yal-file> | |
example: | txt2yal input.txt output.yal |
txt2soft (source, Linux executable)
description: | It converts a txt file to a soft file. The blocks in the soft file have the same area as they do in the txt file, but they are now soft. They can take aspect ratio from 1/<max-aspect-ratio> to <max-aspect-ratio>. In the example below, all blocks can take aspect ratio from 0.5 to 2.0 inclusive. If <max-aspect-ratio> is less than 1, it becomes the aspect-ratio lower bound instead. | |
usage: | txt2soft <input-txt-file> <output-soft-file> <max-aspect-ratio> | |
example: | txt2soft input.txt output.soft 2 |
soft2soft (source, Linux executable)
description: | It allows the user to change the aspect ratio constraints for blocks in the input file. In the example below, the blocks in output.soft can take aspect ratios from 0.33 to 3.00, regardless their aspect ratio constraints in input.soft. | |
usage: | soft2soft <input-soft-file> <output-soft-file> <new-max-aspect-ratio> | |
example: | blocks2soft input.soft output.soft 3 |
bbb2pl (source, Linux executable)
description: | It converts a bbb file to an output pl file, with no pads of course. | |
usage: | bbb2pl <input-bbb-file> <output-pl-file> | |
example: | bbb2pl input.bbb output.pl |
plotout (source, Linux executable)
description: | It plots the packing specified by a bbb file using gnuplot. The gnuplot script "out" is created. Applying "gnuplot out" plots the packing, and saving it in postscript format. | |
usage: | plotout <input-file> <output-file> [options] | |
example: | The following sequence of commands create a postscript file
"output.ps" from "input.bbb" plotout input.bbb output.ps gnuplot out |
|
options: |
|
bbb2matlab (source, Linux executable)
description: | It converts a bbb file to an m-file that draws the packing in Matlab. | |
usage: | bbb2matlab <input-file> <output-file> [options] | |
examples: |
|
|
options: |
|
|
hints: | Suppose output.m is created. In Matlab, the following
sequence of commands may be useful to create a tight eps file output.eps. output; print -deps output.eps |
multiply (source, Linux executable)
description: | It creates a new instance that is X copies of the original. In the example below, output.txt constains 4 copies of input.txt and the dimensions of all blocks in output.txt are 1/C of those in input.txt. C equals 1 if it is not specified. | |
usage: | multiply <input-txt-file> <output-txt-file> <X> [optional down-scaling constant C] | |
example: | multiply input.txt output.txt 4 2 |
txtascend (source, Linux executable)
description: | It sorts the blocks in input.txt according to their areas. Smaller blocks succeed larger blocks. The input instance is expected to be small. It uses a naive quadratic-time sorting algorithm. | |
usage: | txtascend <input-txt-file> <output-txt-file> | |
example: | txtascend input.txt output.txt |
txtdescend (source, Linux executable)
Similar to txtascend, except that it returns the blocks in descending order, according to their areas.
Last update: May 12, 2004