mirror of https://github.com/YosysHQ/yosys.git
ecp5: Demote conflicting FF init values to a warning
Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
parent
57f8bb471f
commit
777864d02e
|
@ -79,10 +79,12 @@ struct Ecp5FfinitPass : public Pass {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
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 (%s = %s, %s = %s).\n",
|
log_warning("Conflicting init values for signal %s (%s = %s, %s = %s).\n",
|
||||||
log_signal(bit), log_signal(SigBit(wire, i)), log_signal(val),
|
log_signal(bit), log_signal(SigBit(wire, i)), log_signal(val),
|
||||||
log_signal(initbit_to_wire[bit]), log_signal(initbits.at(bit)));
|
log_signal(initbit_to_wire[bit]), log_signal(initbits.at(bit)));
|
||||||
|
initbits.at(bit) = State::Sx;
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,6 +123,9 @@ struct Ecp5FfinitPass : public Pass {
|
||||||
|
|
||||||
State val = initbits.at(bit_q);
|
State val = initbits.at(bit_q);
|
||||||
|
|
||||||
|
if (val == State::Sx)
|
||||||
|
continue;
|
||||||
|
|
||||||
log("FF init value for cell %s (%s): %s = %c\n", log_id(cell), log_id(cell->type),
|
log("FF init value for cell %s (%s): %s = %c\n", log_id(cell), log_id(cell->type),
|
||||||
log_signal(bit_q), val != State::S0 ? '1' : '0');
|
log_signal(bit_q), val != State::S0 ? '1' : '0');
|
||||||
// Initval is the same as the reset state. Matches hardware, nowt more to do
|
// Initval is the same as the reset state. Matches hardware, nowt more to do
|
||||||
|
|
Loading…
Reference in New Issue