mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-15 11:45:41 +00:00
Merge branch 'YosysHQ:main' into main
This commit is contained in:
commit
d3ab45c2fa
7 changed files with 11 additions and 4 deletions
|
|
@ -17,6 +17,7 @@ coarse:
|
|||
opt_clean
|
||||
memory_collect
|
||||
opt -noff -keepdc -fast
|
||||
sort
|
||||
|
||||
check:
|
||||
stat
|
||||
|
|
|
|||
|
|
@ -2992,6 +2992,8 @@ void RTLIL::Module::add(RTLIL::Binding *binding)
|
|||
void RTLIL::Module::remove(const pool<RTLIL::Wire*> &wires)
|
||||
{
|
||||
log_assert(refcount_wires_ == 0);
|
||||
if (wires.empty())
|
||||
return;
|
||||
|
||||
struct DeleteWireWorker
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,7 +193,6 @@ struct OptPass : public Pass {
|
|||
}
|
||||
|
||||
design->optimize();
|
||||
design->sort();
|
||||
design->check();
|
||||
|
||||
log_header(design, "Finished fast OPT passes.%s\n", fast_mode ? "" : " (There is nothing left to do.)");
|
||||
|
|
|
|||
|
|
@ -271,6 +271,9 @@ bool compare_signals(RTLIL::SigBit &s1, RTLIL::SigBit &s2, SigPool ®s, SigPoo
|
|||
return conns.check_any(s2);
|
||||
}
|
||||
|
||||
if (w1 == w2)
|
||||
return s2.offset < s1.offset;
|
||||
|
||||
if (w1->port_output != w2->port_output)
|
||||
return w2->port_output;
|
||||
|
||||
|
|
@ -343,7 +346,7 @@ bool rmunused_module_signals(RTLIL::Module *module, bool purge_mode, bool unused
|
|||
RTLIL::Wire *wire = it.second;
|
||||
for (int i = 0; i < wire->width; i++) {
|
||||
RTLIL::SigBit s1 = RTLIL::SigBit(wire, i), s2 = assign_map(s1);
|
||||
if (!compare_signals(s1, s2, register_signals, connected_signals, direct_wires))
|
||||
if (compare_signals(s2, s1, register_signals, connected_signals, direct_wires))
|
||||
assign_map.add(s1);
|
||||
}
|
||||
}
|
||||
|
|
@ -721,7 +724,6 @@ struct OptCleanPass : public Pass {
|
|||
log("Removed %d unused cells and %d unused wires.\n", count_rm_cells, count_rm_wires);
|
||||
|
||||
design->optimize();
|
||||
design->sort();
|
||||
design->check();
|
||||
|
||||
keep_cache.reset();
|
||||
|
|
@ -786,7 +788,6 @@ struct CleanPass : public Pass {
|
|||
log("Removed %d unused cells and %d unused wires.\n", count_rm_cells, count_rm_wires);
|
||||
|
||||
design->optimize();
|
||||
design->sort();
|
||||
design->check();
|
||||
|
||||
keep_cache.reset();
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ struct PrepPass : public ScriptPass
|
|||
run("memory_collect");
|
||||
}
|
||||
run(nokeepdc ? "opt -noff -fast" : "opt -noff -keepdc -fast");
|
||||
run("sort");
|
||||
}
|
||||
|
||||
if (check_label("check"))
|
||||
|
|
|
|||
|
|
@ -311,6 +311,7 @@ struct SynthGowinPass : public ScriptPass
|
|||
|
||||
if (check_label("map_luts"))
|
||||
{
|
||||
run("sort");
|
||||
if (nowidelut && abc9) {
|
||||
run("read_verilog -icells -lib -specify +/abc9_model.v");
|
||||
run("abc9 -maxlut 4 -W 500");
|
||||
|
|
|
|||
|
|
@ -386,6 +386,8 @@ struct SynthXilinxPass : public ScriptPass
|
|||
run("pmux2shiftx", "(skip if '-nosrl' and '-widemux=0')");
|
||||
run("clean", " (skip if '-nosrl' and '-widemux=0')");
|
||||
}
|
||||
|
||||
run("sort");
|
||||
}
|
||||
|
||||
if (check_label("map_dsp", "(skip if '-nodsp')")) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue