3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-07 06:33:24 +00:00

functional backend: make Memory in the C++ simulation library read-only again

This commit is contained in:
Emily Schmidt 2024-07-24 18:50:03 +01:00
parent 99effb6789
commit 95d28c22a2
2 changed files with 17 additions and 5 deletions

View file

@ -400,6 +400,8 @@ template<size_t a, size_t d>
class Memory {
std::array<Signal<d>, 1<<a> _contents;
public:
Memory() {}
Memory(std::array<Signal<d>, 1<<a> const &contents) : _contents(contents) {}
Signal<d> read(Signal<a> addr) const
{
return _contents[addr.template as_numeric<size_t>()];
@ -410,9 +412,6 @@ public:
ret._contents[addr.template as_numeric<size_t>()] = data;
return ret;
}
// mutating methods for initializing a state
void fill(Signal<d> data) { _contents.fill(data); }
Signal<d> &operator[](Signal<a> addr) { return _contents[addr.template as_numeric<size_t>()]; }
};
#endif