3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 17:15:33 +00:00

sim: Improvements and fixes for yw cosim

* Fixed $cover handling
  * Improved sparse memory handling when writing traces
  * JSON summary output
This commit is contained in:
Jannis Harder 2023-01-10 17:04:06 +01:00
parent 636b9f2705
commit 7ddec5093f
6 changed files with 152 additions and 50 deletions

View file

@ -161,7 +161,7 @@ ReadWitness::ReadWitness(const std::string &filename) :
signal.offset = signal_json["offset"].int_value();
if (signal.offset < 0)
log_error("Failed to parse `%s`: Invalid offset for signal `%s`\n", filename.c_str(), signal_json.dump().c_str());
signal.init_only = json["init_only"].bool_value();
signal.init_only = signal_json["init_only"].bool_value();
signals.push_back(signal);
}

View file

@ -52,6 +52,18 @@ struct WitnessHierarchyItem {
template<typename D, typename T>
void witness_hierarchy(RTLIL::Module *module, D data, T callback);
template<class T> static std::vector<std::string> witness_path(T *obj) {
std::vector<std::string> path;
if (obj->name.isPublic()) {
auto hdlname = obj->get_string_attribute(ID::hdlname);
for (auto token : split_tokens(hdlname))
path.push_back("\\" + token);
}
if (path.empty())
path.push_back(obj->name.str());
return path;
}
struct ReadWitness
{
struct Clock {