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}