Olyasmit lehet csinalni hogy egy Verilog modulban ket module instance parameterei ugyanazok legyenek, azaz az a mas(od)ik instance parameterei orokoljek az elsot? Peldaul ez ugye mukodik:
module inner
#( parameter p0 = 0,
parameter p1 = 0,
parameter p2 = 0
)
( inout ...
);
...
endmodule
module outer
( inout ...
);
inner i0 ( ... );
inner i1 ( ... );
endmodule
module top
( ...
);
...
outer something ( ... );
defparam something.i0.p0 = 42;
defparam something.i0.p1 = 137;
defparam something.i0.p2 = 992;
defparam something.i1.p0 = 42;
defparam something.i1.p1 = 137;
defparam something.i1.p2 = 992;
...
endmoduleEz igy viszont elsore nem megy:
module inner
#( parameter p0 = 0,
parameter p1 = 0,
parameter p2 = 0
)
( inout ...
);
...
endmodule
module outer
( inout ...
);
inner i0 ( ... );
inner i1 ( ... );
defparam i1.p0 = i0.p0;
defparam i1.p1 = i0.p1;
defparam i1.p2 = i0.p2;
endmodule
module top
( ...
);
...
outer something ( ... );
defparam something.i0.p0 = 42;
defparam something.i0.p1 = 137;
defparam something.i0.p2 = 992;
...
endmoduleIgen, lehetne a p0, p1, p2 az a outer module parametere is, es akkor ugy a problema megoldhato, de ezt (elso korben legalabbis) nem szeretnem a dolog gyakorlatban picit komplexebb volta miatt (gyk attol lesz komplexebb hogy a gyakorlatban 3 darab ilyen instance van, de az input/output wiring az kicsit mas viszont reszben at is fed). Itt a defparam-ok jobb oldalan milyen tipusu kifejezesek lehetnek? A masodik esetben a feladat az lenne - vagyis a kolto arra gondolt - hogy az i1 instance egy-az-egyben orokolje az i0 instance parametereit, barhogyis adjuk meg azt. Koszi :)
- 156 megtekintés