mirror of https://github.com/YosysHQ/yosys.git
support other I/O configurations
This commit is contained in:
parent
34f08bc639
commit
41ae513d60
|
@ -6,3 +6,10 @@ module \$__BEYOND_OBUF (output PAD, input I);
|
||||||
NX_IOB_O _TECHMAP_REPLACE_ (.IO(PAD), .I(I), .C(1'b1));
|
NX_IOB_O _TECHMAP_REPLACE_ (.IO(PAD), .I(I), .C(1'b1));
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
module \$__BEYOND_TOBUF (output PAD, input I, input C);
|
||||||
|
NX_IOB _TECHMAP_REPLACE_ (.IO(PAD), .I(I), .C(C));
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module \$__BEYOND_IOBUF (output PAD, input I, output O, output C);
|
||||||
|
NX_IOB _TECHMAP_REPLACE_ (.IO(PAD), .I(I), .O(O), .C(C));
|
||||||
|
endmodule
|
||||||
|
|
|
@ -292,10 +292,10 @@ struct SynthNanoXplorePass : public ScriptPass
|
||||||
run("nx_carry");
|
run("nx_carry");
|
||||||
}
|
}
|
||||||
if (help_mode || iopad) {
|
if (help_mode || iopad) {
|
||||||
run("iopadmap -bits -outpad $__BEYOND_OBUF I:PAD -inpad $__BEYOND_IBUF O:PAD A:top", "(only if '-iopad')");
|
run("iopadmap -bits -outpad $__BEYOND_OBUF I:PAD -toutpad $__BEYOND_TOBUF C:I:PAD -inpad $__BEYOND_IBUF O:PAD -tinoutpad $__BEYOND_IOBUF C:O:I:PAD A:top", "(only if '-iopad')");
|
||||||
run("techmap -map +/nanoxplore/io_map.v");
|
run("techmap -map +/nanoxplore/io_map.v");
|
||||||
run("attrmvcp -attr LOC t:NX_IOB_O n:*");
|
run("attrmvcp -attr LOC t:NX_IOB_O t:NX_IOB n:*");
|
||||||
run("attrmvcp -attr LOC -driven t:NX_IOB_I n:*");
|
run("attrmvcp -attr LOC -driven t:NX_IOB_I t:NX_IOB n:*");
|
||||||
}
|
}
|
||||||
run("opt -fast");
|
run("opt -fast");
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,10 @@ proc
|
||||||
tribuf
|
tribuf
|
||||||
flatten
|
flatten
|
||||||
synth
|
synth
|
||||||
equiv_opt -assert -map +/nanoxplore/cells_sim.v -map +/simcells.v synth_nanoxplore # equivalency check
|
equiv_opt -assert -map +/nanoxplore/cells_sim.v -map +/simcells.v synth_nanoxplore -iopad # equivalency check
|
||||||
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
|
||||||
cd tristate # Constrain all select calls below inside the top module
|
cd tristate # Constrain all select calls below inside the top module
|
||||||
#Internal cell type used. Need support it.
|
#Internal cell type used. Need support it.
|
||||||
select -assert-count 1 t:$_TBUF_
|
select -assert-count 1 t:NX_IOB
|
||||||
select -assert-none t:$_TBUF_ %% t:* %D
|
select -assert-count 2 t:NX_IOB_I
|
||||||
|
select -assert-none t:NX_IOB t:NX_IOB_I %% t:* %D
|
||||||
|
|
Loading…
Reference in New Issue