MIS: A multiple-level logic optimization system
Материал из Модулярная арифметики
Содержание
Параметры запуска
misii -x -c "rp in.dat";"source script.txt";"read_library user.genlib";map;reset_name;print_stats;"print_gate -p";"print_level -l";print_level
Входные данные
Минимизированная таблица истинности (in.dat)
.i 4 .o 2 .ilb A0 A1 B0 B1 .ob X0 X1 .type fdr 1-1- 01 -1-1 10 00-1 01 -100 01 001- 10 1-00 10 .e
Описание библиотеки элементов (user.genlib)
GATE zero0 0 O=CONST0; GATE one0 0 O=CONST1; GATE inv1 1 O=!a; PIN * INV 1 999 0.9 0.3 0.9 0.3 GATE exor2 5.5 O=!(a*b+!a*!b); PIN * UNKNOWN 2 999 1.9 0.5 1.9 0.5 GATE or3 3 O=a+b+c; PIN * INV 1 999 2.4 0.7 2.4 0.7 GATE or2 2 O=a+b; PIN * INV 1 999 1.4 0.5 1.4 0.5 GATE and3 2 O=a*b*c; PIN * INV 1 999 1.0 0.2 1.0 0.2 GATE and2 2 O=a*b; PIN * INV 1 999 1.0 0.2 1.0 0.2 GATE exor2 5.5 O=a*!b+!a*b; PIN * UNKNOWN 2 999 1.9 0.5 1.9 0.5 GATE nor3 3 O=!(a+b+c); PIN * INV 1 999 2.4 0.7 2.4 0.7 GATE nor2 2 O=!(a+b); PIN * INV 1 999 1.4 0.5 1.4 0.5 GATE nand3 3 O=!(a*b*c); PIN * INV 1 999 1.1 0.3 1.1 0.3 GATE nand2 2 O=!(a*b); PIN * INV 1 999 1.0 0.2 1.0 0.2
Параметры запуска (script.txt)
sweep; eliminate -1 simplify eliminate -1 sweep; eliminate 5 simplify resub -a gkx -abt 30 resub -a; sweep gcx -bt 30 resub -a; sweep gkx -abt 10 resub -a; sweep gcx -bt 10 resub -a; sweep gkx -ab resub -a; sweep gcx -b resub -a; sweep eliminate 0 decomp -g * eliminate -1; sweep
Выходные данные
minin.dat pi= 4 po= 2 nodes= 18 lits(sop)= 32
[0] inv1 1.00 (a=A1)
[1] inv1 1.00 (a=A0)
[2] nand2 2.00 (a=[0] b=[1])
[3] inv1 1.00 (a=B0)
[4] nor2 2.00 (a=[2] b=[3])
[5] nand2 2.00 (a=A0 b=[3])
[6] nor2 2.00 (a=[5] b=B1)
[7] nor2 2.00 (a=[4] b=[6])
[8] nand2 2.00 (a=B1 b=A1)
{X0} nand2 2.00 (a=[7] b=[8])
[10] nand2 2.00 (a=[0] b=[1])
[11] inv1 1.00 (a=B1)
[12] nor2 2.00 (a=[10] b=[11])
[13] nand2 2.00 (a=A1 b=[3])
[14] nor2 2.00 (a=[13] b=B1)
[15] nor2 2.00 (a=[12] b=[14])
[16] nand2 2.00 (a=B0 b=A0)
{X1} nand2 2.00 (a=[15] b=[16])
Total number of levels = 5
0: A1 B0 A0 B1
1: [3] [11] [1] [8] [0] [16]
2: [2] [5] [13] [10]
3: [12] [4] [14] [6]
4: [7] [15]
5: {X1} {X0}