warning msg and address spaces

This commit is contained in:
Stan Lee 2026-04-01 09:21:02 -07:00
parent 286303deca
commit 91345c2283
2 changed files with 14 additions and 11 deletions

View File

@ -236,6 +236,9 @@ void FstData::extractVarNames()
int array_index = std::stoi(index_str);
array_indices.push_back(array_index);
}
} else {
log_warning("Error parsing array index in : %s\n", full_name.c_str());
break;
}
// Move to next opening bracket

View File

@ -257,19 +257,19 @@ struct SimInstance
// Concatenates values from array elements in descending index order
bool setStateFromArrayHandles(Wire* wire, dict<std::vector<int>, fstHandle>& handles)
{
// Collect and sort indices in descending row-major orde
std::vector<std::pair<std::vector<int>, fstHandle>> sorted_elements;
for (auto &kv : handles) {
sorted_elements.push_back({kv.first, kv.second});
}
// Collect and sort indices in descending row-major order
std::vector<std::pair<std::vector<int>, fstHandle>> sorted_elements;
for (auto &kv : handles) {
sorted_elements.push_back({kv.first, kv.second});
}
std::sort(sorted_elements.begin(), sorted_elements.end(), std::greater<>());
// Concatenate values in descending index order
std::string concatenated = "";
for (auto &elem : sorted_elements) {
concatenated += shared->fst->valueOf(elem.second);
}
return set_state(wire, Const::from_string(concatenated));
std::string concatenated = "";
for (auto &elem : sorted_elements) {
concatenated += shared->fst->valueOf(elem.second);
}
return set_state(wire, Const::from_string(concatenated));
}
SimInstance(SimShared *shared, std::string scope, Module *module, Cell *instance = nullptr, SimInstance *parent = nullptr) :