module misc { //module parameters modulepar boolean mp_boolean := true; modulepar { integer mp_int1, mp_int2 := 2; integer mp_int3 := 3;} //template with a single parameter template type1 template1 (integer i) :={ int1 :=i, int2 :=2 } template type1 template11 (integer i) modifies template1 :={ int1 :=i, int2 :=4 } //template with multiple parameters template type1 template2 (integer i1, integer i2) :={ int1 :=i1, int2 :=i2 } type record type2 (integer i1, integer i2) { integer range (i1 .. i2) } type integer range2 (1 .. 10); const type2(1,10) c_range := 3; }