3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-07-23 15:42:32 +00:00

remove ambiguity in implementation

This commit is contained in:
Stan Lee 2026-03-30 12:26:44 -07:00
parent 01f0fd751f
commit 857f356f1f
3 changed files with 26 additions and 38 deletions

View file

@ -96,10 +96,17 @@ fstHandle FstData::getHandle(std::string name) {
return 0;
};
dict<int,fstHandle> FstData::getMemoryHandles(std::string name) {
dict<int,fstHandle> FstData::getMemoryHandles(std::string name) {
if (memory_to_handle.find(name) != memory_to_handle.end())
return memory_to_handle[name];
else
else
return dict<int,fstHandle>();
};
dict<int,fstHandle> FstData::getArrayHandles(std::string name) {
if (array_to_handle.find(name) != array_to_handle.end())
return array_to_handle[name];
else
return dict<int,fstHandle>();
};
@ -219,7 +226,7 @@ void FstData::extractVarNames()
// Check it's an array index (no colon), not a bit range
if (index_str.find(':') == std::string::npos) {
int array_index = std::stoi(index_str);
memory_to_handle[var.scope+"."+clean_name][array_index] = var.id;
array_to_handle[var.scope+"."+clean_name][array_index] = var.id;
}
}
}

View file

@ -55,6 +55,7 @@ class FstData
std::string valueOf(fstHandle signal);
fstHandle getHandle(std::string name);
dict<int,fstHandle> getMemoryHandles(std::string name);
dict<int,fstHandle> getArrayHandles(std::string name);
double getTimescale() { return timescale; }
const char *getTimescaleString() { return timescale_str.c_str(); }
int getWidth(fstHandle signal);
@ -67,6 +68,7 @@ private:
std::map<fstHandle, FstVar> handle_to_var;
std::map<std::string, fstHandle> name_to_handle;
std::map<std::string, dict<int, fstHandle>> memory_to_handle;
std::map<std::string, dict<int, fstHandle>> array_to_handle;
std::map<fstHandle, std::string> last_data;
uint64_t last_time;
std::map<fstHandle, std::string> past_data;