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:
parent
636b9f2705
commit
7ddec5093f
6 changed files with 152 additions and 50 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
12
kernel/yw.h
12
kernel/yw.h
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue