Install Drot _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a", "bar _ a"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * ~a + c * ~c", "bar _ a"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["aux = a * b", "foo _ aux + x * aux"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ gnd", "bar _ ~Vdd", "xx _ Vdd"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * b + x * (a* b)"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * b + c * d", "bar _ a * b + c * d"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * b + c * d", "bar _ a * b + c * d"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * b + c * d", "bar _ ~(a * b + c * d)"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a * ~a + c * ~c", "bar _ ~(a * b + c * d)"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a+a+a+a+a+a+a"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ a+b+c+d+e+f+g+h"]] _ &ct _ Drot.CellTypeFromExpressions[LIST ["foo _ (x0*x1*x2*x3*x4*x5*x6*x7)+~x0*~(x1*x2*x3*x4*x5*x6*x7)+(x0+~x1+x2)*(x3*x4*x5*x6*x7)+~x8*(x0*x1*x2*x3*x4*x5*x6*x7)+~x0*~(x1*x2*x3*x4*x5*x6*x7)+((x0+~x1+x2)*(x3*x4*x5*x6*x7))"]] _ &adder1 _ Drot.CellTypeFromExpressions[LIST ["sum _ (x1*x2 + ~x1*~x2) *cin + ~cin*(x1*~x2+ ~x1*x2)", "cout _ x1*x2 + cin*x1 + cin*x2"]] _ &adder2 _ Drot.CellTypeFromExpressions[LIST ["sum0 _ (a0*b0 + ~a0*~b0) *cin + ~cin*(a0*~b0+ ~a0*b0)", "aux = a0*b0 + cin*a0 + cin*b0", "sum1 _ (a1*b1 + ~a1*~b1) *aux + ~aux*(a1*~b1+ ~a1*b1)", "cout _ a1*b1 + aux*a1 + aux*b1"]] _ &layout _ $SC _ &mux8 _ Sinix.CreateIcon[Logic.MuxN1[8]] _ CoreProperties.PutCellTypeProp[&mux8, $Layout, &layout] _ &obj _ PWCore.Layout[&mux8] _ PW.Draw[&obj] _ &mux8cg _ Drot.CellTypeFromExpressions[LIST["Output _ Select0*Select1*Select2*In0+Select0*~Select1*Select2*In1+~Select0*Select1*Select2*In2+~Select0*~Select1*Select2*In3+Select0*Select1*~Select2*In4+Select0*~Select1*~Select2*In5+~Select0*Select1*~Select2*In6+~Select0*~Select1*~Select2*In7"]] _ CoreOps.Print[&mux8cg] _ CoreProperties.PutCellTypeProp[&mux8cg, $Layout, &layout] _ &objcg _ PWCore.Layout[&mux8cg] _ PW.Draw[&objcg] _ &cst _ Sinix.CreateIcon[Logic.EqConstant[32, 02BAD2BADH]] _ CoreProperties.PutCellTypeProp[&cst, $Layout, &layout] _ &obj _ PWCore.Layout[&cst] _ PW.Draw[&obj] _ Convert.RopeFromInt[02BAD2BADH, 2, FALSE] _ &cstcg _ Drot.CellTypeFromExpressions[LIST["Output _ In00*~In01*In02*~In03*In04*In05*In06*~In07*In08*~In09*In10*In11*~In12*In13*~In14*~In15*In16*~In17*In18*~In19*In20*In21*In22*~In23*In24*~In25*In26*In27*~In28*In29*~In30*~In31"]] _ CoreOps.Print[&cstcg] _ CoreProperties.PutCellTypeProp[&cstcg, $Layout, &layout] _ &objcg _ PWCore.Layout[&cstcg] _ PW.Draw[&objcg] _ &cst _ Sinix.CreateIcon[Logic.EqConstant[32, 15]] -- 4 ones and 28 zeros _ CoreProperties.PutCellTypeProp[&cst, $Layout, &layout] _ &obj _ PWCore.Layout[&cst] _ PW.Draw[&obj] _ &cstcg _ Drot.CellTypeFromExpressions[LIST["Output _ In00*In01*In02*In03*~In04*~In05*~In06*~In07*~In08*~In09*~In10*~In11*~In12*~In13*~In14*~In15*~In16*~In17*~In18*~In19*~In20*~In21*~In22*~In23*~In24*~In25*~In26*~In27*~In28*~In29*~In30*~In31"]] _ CoreOps.Print[&cstcg] _ CoreProperties.PutCellTypeProp[&cstcg, $Layout, &layout] _ &objcg _ PWCore.Layout[&cstcg] _ PW.Draw[&objcg] ϊTestDrot.cm Copyright Σ 1987 by Xerox Corporation. All rights reserved. Bertrand Serlet September 25, 1987 3:50:56 pm PDT What is important is to have the same number of 0 and 1's! What is important is to have the same number of 0 and 1's! Κ²˜šœ ™ Icode™