mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-06 03:10:26 +00:00
const: represent string constants as string, assert not accessed as bits
This commit is contained in:
parent
960bca0196
commit
498e0498c5
81 changed files with 764 additions and 690 deletions
|
@ -533,6 +533,7 @@ void MemMapping::determine_style() {
|
|||
find_attr = search_for_attribute(mem, attr);
|
||||
if (find_attr.first) {
|
||||
Const val = find_attr.second;
|
||||
log(">>>%s<<<\n", log_const(val));
|
||||
if (val == 1) {
|
||||
kind = RamKind::NotLogic;
|
||||
log("found attribute '%s = 1' on memory %s.%s, disabled mapping to FF\n", log_id(attr), log_id(mem.module->name), log_id(mem.memid));
|
||||
|
@ -1019,7 +1020,7 @@ void MemMapping::handle_priority() {
|
|||
}
|
||||
|
||||
bool is_all_zero(const Const &val) {
|
||||
for (auto bit: val.bits)
|
||||
for (auto bit: val.bits())
|
||||
if (bit == State::S1)
|
||||
return false;
|
||||
return true;
|
||||
|
@ -1913,7 +1914,7 @@ void MemMapping::emit_port(const MemConfig &cfg, std::vector<Cell*> &cells, cons
|
|||
if (!bit.valid) {
|
||||
hw_val.push_back(State::Sx);
|
||||
} else {
|
||||
hw_val.push_back(val.bits[bit.bit]);
|
||||
hw_val.push_back(val.bits()[bit.bit]);
|
||||
}
|
||||
}
|
||||
if (pdef.rdinitval == ResetValKind::NoUndef)
|
||||
|
@ -1926,7 +1927,7 @@ void MemMapping::emit_port(const MemConfig &cfg, std::vector<Cell*> &cells, cons
|
|||
if (!bit.valid) {
|
||||
hw_val.push_back(State::Sx);
|
||||
} else {
|
||||
hw_val.push_back(rport.arst_value.bits[bit.bit]);
|
||||
hw_val.push_back(rport.arst_value.bits()[bit.bit]);
|
||||
}
|
||||
}
|
||||
if (pdef.rdarstval == ResetValKind::NoUndef)
|
||||
|
@ -1939,7 +1940,7 @@ void MemMapping::emit_port(const MemConfig &cfg, std::vector<Cell*> &cells, cons
|
|||
if (!bit.valid) {
|
||||
hw_val.push_back(State::Sx);
|
||||
} else {
|
||||
hw_val.push_back(rport.srst_value.bits[bit.bit]);
|
||||
hw_val.push_back(rport.srst_value.bits()[bit.bit]);
|
||||
}
|
||||
}
|
||||
if (pdef.rdsrstval == ResetValKind::NoUndef)
|
||||
|
@ -2103,7 +2104,7 @@ void MemMapping::emit(const MemConfig &cfg) {
|
|||
if (hwa & 1 << i)
|
||||
addr += 1 << hw_addr_swizzle[i];
|
||||
if (addr >= mem.start_offset && addr < mem.start_offset + mem.size)
|
||||
initval.push_back(init_data.bits[(addr - mem.start_offset) * mem.width + bit.bit]);
|
||||
initval.push_back(init_data.bits()[(addr - mem.start_offset) * mem.width + bit.bit]);
|
||||
else
|
||||
initval.push_back(State::Sx);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue