mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-30 16:03:17 +00:00
iopadmap: Add native support for negative-polarity output enable.
This commit is contained in:
parent
4871d8f199
commit
15b0d717ed
12 changed files with 35 additions and 43 deletions
|
@ -359,11 +359,3 @@ module \$__XILINX_MUXF78 (O, I0, I1, I2, I3, S0, S1);
|
|||
else
|
||||
MUXF8 mux8 (.I0(T0), .I1(T1), .S(S1), .O(O));
|
||||
endmodule
|
||||
|
||||
module \$__XILINX_TINOUTPAD (input I, OE, output O, inout IO);
|
||||
IOBUF _TECHMAP_REPLACE_ (.I(I), .O(O), .T(~OE), .IO(IO));
|
||||
endmodule
|
||||
|
||||
module \$__XILINX_TOUTPAD (input I, OE, output O);
|
||||
OBUFT _TECHMAP_REPLACE_ (.I(I), .O(O), .T(~OE));
|
||||
endmodule
|
||||
|
|
|
@ -558,9 +558,10 @@ struct SynthXilinxPass : public ScriptPass
|
|||
}
|
||||
|
||||
if (check_label("map_cells")) {
|
||||
// Needs to be done before logic optimization, so that inverters (OE vs T) are handled.
|
||||
// Needs to be done before logic optimization, so that inverters (inserted
|
||||
// here because of negative-polarity output enable) are handled.
|
||||
if (help_mode || !noiopad)
|
||||
run("iopadmap -bits -outpad OBUF I:O -inpad IBUF O:I -toutpad $__XILINX_TOUTPAD OE:I:O -tinoutpad $__XILINX_TINOUTPAD OE:O:I:IO A:top", "(skip if '-noiopad')");
|
||||
run("iopadmap -bits -outpad OBUF I:O -inpad IBUF O:I -toutpad OBUFT ~T:I:O -tinoutpad IOBUF ~T:O:I:IO A:top", "(skip if '-noiopad')");
|
||||
std::string techmap_args = "-map +/techmap.v -map +/xilinx/cells_map.v";
|
||||
if (widemux > 0)
|
||||
techmap_args += stringf(" -D MIN_MUX_INPUTS=%d", widemux);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue