mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-25 01:55:33 +00:00
Merge pull request #4538 from RCoeurjoly/verific_bounds
This commit is contained in:
commit
c8b42b7d48
6 changed files with 40 additions and 3 deletions
|
@ -450,6 +450,19 @@ void VerificImporter::import_attributes(dict<RTLIL::IdString, RTLIL::Const> &att
|
|||
auto type_range = nl->GetTypeRange(obj->Name());
|
||||
if (!type_range)
|
||||
return;
|
||||
if (type_range->IsTypeScalar()) {
|
||||
const long long bottom_bound = type_range->GetScalarRangeLeftBound();
|
||||
const long long top_bound = type_range->GetScalarRangeRightBound();
|
||||
const unsigned bit_width = type_range->NumElements();
|
||||
RTLIL::Const bottom_const(bottom_bound, bit_width);
|
||||
RTLIL::Const top_const(top_bound, bit_width);
|
||||
if (bottom_bound < 0 || top_bound < 0) {
|
||||
bottom_const.flags |= RTLIL::CONST_FLAG_SIGNED;
|
||||
top_const.flags |= RTLIL::CONST_FLAG_SIGNED;
|
||||
}
|
||||
attributes.emplace(ID(bottom_bound), bottom_const);
|
||||
attributes.emplace(ID(top_bound), top_const);
|
||||
}
|
||||
if (!type_range->IsTypeEnum())
|
||||
return;
|
||||
#ifdef VERIFIC_VHDL_SUPPORT
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue