mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
machxo2: Use attrmvcp pass to move LOC and src attributes from ports/wires to IO cells.
This commit is contained in:
parent
124780ecd9
commit
3674eb34d4
|
@ -188,3 +188,15 @@ module OSCH #(
|
||||||
output SEDSTDBY
|
output SEDSTDBY
|
||||||
);
|
);
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
// IO- "$__" cells for the iopadmap pass. These are temporary cells not meant
|
||||||
|
// to be instantiated by the end user. They are required in this file for
|
||||||
|
// attrmvcp to work.
|
||||||
|
(* blackbox *)
|
||||||
|
module \$__FACADE_OUTPAD (input I, output O); endmodule
|
||||||
|
(* blackbox *)
|
||||||
|
module \$__FACADE_INPAD (input I, output O); endmodule
|
||||||
|
(* blackbox *)
|
||||||
|
module \$__FACADE_TOUTPAD (input I, OE, output O); endmodule
|
||||||
|
(* blackbox *)
|
||||||
|
module \$__FACADE_TINOUTPAD (input I, OE, output O, inout B); endmodule
|
||||||
|
|
|
@ -154,7 +154,7 @@ struct SynthMachXO2Pass : public ScriptPass
|
||||||
{
|
{
|
||||||
if (check_label("begin"))
|
if (check_label("begin"))
|
||||||
{
|
{
|
||||||
run("read_verilog -lib +/machxo2/cells_sim.v");
|
run("read_verilog -lib -icells +/machxo2/cells_sim.v");
|
||||||
run(stringf("hierarchy -check %s", help_mode ? "-top <top>" : top_opt.c_str()));
|
run(stringf("hierarchy -check %s", help_mode ? "-top <top>" : top_opt.c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +184,11 @@ struct SynthMachXO2Pass : public ScriptPass
|
||||||
if (check_label("map_ios"))
|
if (check_label("map_ios"))
|
||||||
{
|
{
|
||||||
if (!noiopad || help_mode)
|
if (!noiopad || help_mode)
|
||||||
|
{
|
||||||
run("iopadmap -bits -outpad $__FACADE_OUTPAD I:O -inpad $__FACADE_INPAD O:I -toutpad $__FACADE_TOUTPAD OE:I:O -tinoutpad $__FACADE_TINOUTPAD OE:O:I:B A:top", "(skip if '-noiopad')");
|
run("iopadmap -bits -outpad $__FACADE_OUTPAD I:O -inpad $__FACADE_INPAD O:I -toutpad $__FACADE_TOUTPAD OE:I:O -tinoutpad $__FACADE_TINOUTPAD OE:O:I:B A:top", "(skip if '-noiopad')");
|
||||||
|
run("attrmvcp -attr src -attr LOC t:$__FACADE_OUTPAD %x:+[O] t:$__FACADE_TOUTPAD %x:+[O] t:$__FACADE_TINOUTPAD %x:+[B]", "(skip if '-noiopad')");
|
||||||
|
run("attrmvcp -attr src -attr LOC -driven t:$__FACADE_INPAD %x:+[I]", "(skip if '-noiopad')");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (check_label("map_ffs"))
|
if (check_label("map_ffs"))
|
||||||
|
|
Loading…
Reference in a new issue