mirror of https://github.com/YosysHQ/yosys.git
Apparently, this reduces number of MUXCY/XORCY
This commit is contained in:
parent
e31e21766d
commit
ccc283737d
|
@ -287,11 +287,18 @@ struct SynthXilinxPass : public Pass
|
|||
|
||||
if (check_label(active, run_from, run_to, "fine"))
|
||||
{
|
||||
Pass::call(design, "opt -fast");
|
||||
Pass::call(design, "opt -fast -full");
|
||||
Pass::call(design, "memory_map");
|
||||
Pass::call(design, "dffsr2dff");
|
||||
Pass::call(design, "dff2dffe");
|
||||
|
||||
if (!nocarry) {
|
||||
if (vpr)
|
||||
Pass::call(design, "techmap -D _EXPLICIT_CARRY -map +/xilinx/arith_map.v");
|
||||
else
|
||||
Pass::call(design, "techmap -map +/xilinx/arith_map.v");
|
||||
}
|
||||
|
||||
// shregmap -tech xilinx can cope with $shiftx and $mux
|
||||
// cells for identifying variable-length shift registers,
|
||||
// so attempt to convert $pmux-es to the former
|
||||
|
@ -300,15 +307,7 @@ struct SynthXilinxPass : public Pass
|
|||
Pass::call(design, "pmux2shiftx");
|
||||
|
||||
Pass::call(design, "opt -full");
|
||||
if (!nocarry) {
|
||||
if (vpr)
|
||||
Pass::call(design, "techmap -map +/techmap.v -D _EXPLICIT_CARRY -map +/xilinx/arith_map.v");
|
||||
else
|
||||
Pass::call(design, "techmap -map +/techmap.v -map +/xilinx/arith_map.v");
|
||||
}
|
||||
else {
|
||||
Pass::call(design, "techmap");
|
||||
}
|
||||
Pass::call(design, "techmap");
|
||||
Pass::call(design, "opt -fast");
|
||||
|
||||
// shregmap with '-tech xilinx' infers variable length shift regs
|
||||
|
|
Loading…
Reference in New Issue