mirror of https://github.com/YosysHQ/yosys.git
Fix cycle 0 in aiger witness co-simulation
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
This commit is contained in:
parent
5f918803de
commit
1aa9ad25d0
|
@ -1198,31 +1198,34 @@ struct SimWorker : SimShared
|
||||||
std::string line;
|
std::string line;
|
||||||
std::getline(f, line);
|
std::getline(f, line);
|
||||||
if (line.size()==0 || line[0]=='#') continue;
|
if (line.size()==0 || line[0]=='#') continue;
|
||||||
log("Simulating cycle %d.\n", cycle);
|
|
||||||
if (init) {
|
if (init) {
|
||||||
if (line.size()!=latches.size())
|
if (line.size()!=latches.size())
|
||||||
log_error("Wrong number of initialization bits in file.\n");
|
log_error("Wrong number of initialization bits in file.\n");
|
||||||
write_output_header();
|
write_output_header();
|
||||||
top->setState(latches, line);
|
top->setState(latches, line);
|
||||||
set_inports(clock, State::S0);
|
|
||||||
set_inports(clockn, State::S1);
|
|
||||||
update();
|
|
||||||
write_output_step(0);
|
|
||||||
init = false;
|
init = false;
|
||||||
} else {
|
} else {
|
||||||
|
log("Simulating cycle %d.\n", cycle);
|
||||||
if (line.size()!=inputs.size())
|
if (line.size()!=inputs.size())
|
||||||
log_error("Wrong number of input data bits in file.\n");
|
log_error("Wrong number of input data bits in file.\n");
|
||||||
top->setState(inputs, line);
|
top->setState(inputs, line);
|
||||||
set_inports(clock, State::S1);
|
if (cycle) {
|
||||||
set_inports(clockn, State::S0);
|
set_inports(clock, State::S1);
|
||||||
|
set_inports(clockn, State::S0);
|
||||||
|
} else {
|
||||||
|
set_inports(clock, State::S0);
|
||||||
|
set_inports(clockn, State::S1);
|
||||||
|
}
|
||||||
update();
|
update();
|
||||||
write_output_step(10*cycle);
|
write_output_step(10*cycle);
|
||||||
set_inports(clock, State::S0);
|
if (cycle) {
|
||||||
set_inports(clockn, State::S1);
|
set_inports(clock, State::S0);
|
||||||
update();
|
set_inports(clockn, State::S1);
|
||||||
write_output_step(10*cycle + 5);
|
update();
|
||||||
|
write_output_step(10*cycle + 5);
|
||||||
|
}
|
||||||
|
cycle++;
|
||||||
}
|
}
|
||||||
cycle++;
|
|
||||||
}
|
}
|
||||||
write_output_step(10*cycle);
|
write_output_step(10*cycle);
|
||||||
write_output_end();
|
write_output_end();
|
||||||
|
|
Loading…
Reference in New Issue