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} 

