mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
Improved ice40_ffinit error reporting
This commit is contained in:
parent
7cddab0788
commit
df5ebfa0a0
|
@ -57,6 +57,7 @@ struct Ice40FfinitPass : public Pass {
|
||||||
SigMap sigmap(module);
|
SigMap sigmap(module);
|
||||||
pool<Wire*> init_wires;
|
pool<Wire*> init_wires;
|
||||||
dict<SigBit, State> initbits;
|
dict<SigBit, State> initbits;
|
||||||
|
dict<SigBit, SigBit> initbit_to_wire;
|
||||||
pool<SigBit> handled_initbits;
|
pool<SigBit> handled_initbits;
|
||||||
|
|
||||||
for (auto wire : module->selected_wires())
|
for (auto wire : module->selected_wires())
|
||||||
|
@ -78,11 +79,14 @@ struct Ice40FfinitPass : public Pass {
|
||||||
|
|
||||||
if (initbits.count(bit)) {
|
if (initbits.count(bit)) {
|
||||||
if (initbits.at(bit) != val)
|
if (initbits.at(bit) != val)
|
||||||
log_error("Conflicting init values for signal %s.\n", log_signal(bit));
|
log_error("Conflicting init values for signal %s (%s = %s, %s = %s).\n",
|
||||||
|
log_signal(bit), log_signal(SigBit(wire, i)), log_signal(val),
|
||||||
|
log_signal(initbit_to_wire[bit]), log_signal(initbits.at(bit)));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
initbits[bit] = val;
|
initbits[bit] = val;
|
||||||
|
initbit_to_wire[bit] = SigBit(wire, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue