Akash Levy
f218b5ba58
Revert "Represent memory size with size_t"
...
This reverts commit bb5f8415af .
2025-04-04 03:20:07 -07:00
Akash Levy
bb5f8415af
Represent memory size with size_t
2025-04-04 02:04:34 -07:00
Emil J. Tywoniak
785bd44da7
rtlil: represent Const strings as std::string
2024-10-14 06:28:12 +02:00
Emily Schmidt
8f77494263
silence some warnings
2024-08-21 11:04:11 +01:00
Emily Schmidt
850b3a6c29
convert class FunctionalIR to a namespace Functional, rename functionalir.h to functional.h, rename functional.h to compute_graph.h
2024-08-21 11:04:08 +01:00
Emily Schmidt
12a31a4418
add MemContents class to mem.h
2024-08-21 11:03:29 +01:00
Marcelina Kościelnicka
990c9b8e11
Add proc_rom pass.
2022-05-13 00:37:14 +02:00
Marcelina Kościelnicka
bac750fb99
kernel/mem: Add read-first semantic emulation code.
2022-01-28 08:48:33 +01:00
Marcelina Kościelnicka
5e4c6915c9
kernel/mem: Add functions to emulate read port enable/init/reset signals.
2022-01-27 19:28:07 +01:00
Marcelina Kościelnicka
e6f3d1c225
kernel/mem: Introduce transparency masks.
2021-08-11 00:04:16 +02:00
Marcelina Kościelnicka
19720b970d
memory: Introduce $meminit_v2 cell, with EN input.
2021-07-28 23:18:38 +02:00
Marcelina Kościelnicka
8bf9cb407d
kernel/mem: Add a coalesce_inits helper.
...
While this helper is already useful to squash sequential initializations
into one in cxxrtl, its main purpose is to squash overlapping masked memory
initializations (when they land) and avoid having to deal with them in
cxxrtl runtime.
2021-07-13 15:59:11 +02:00
Marcelina Kościelnicka
0565c642a0
kernel/mem: Use delayed removal for inits as well.
2021-07-12 18:28:20 +02:00
Marcelina Kościelnicka
6d7d9ab077
kernel/mem: Add documentation for more helper functions.
2021-07-12 18:28:08 +02:00
Marcelina Kościelnicka
c86a79bf0b
kernel/mem: Make the Mem helpers inherit from AttrObject.
2021-07-12 02:51:08 +02:00
Marcelina Kościelnicka
b019db1f37
kernel/mem: Add helpers for write port widening.
2021-05-27 14:32:51 +02:00
Marcelina Kościelnicka
83a218141c
kernel/mem: Add sub_addr helpers.
2021-05-26 03:34:02 +02:00
Marcelina Kościelnicka
57ca51be76
kernel/mem: Add prepare_wr_merge helper.
2021-05-26 02:55:00 +02:00
Marcelina Kościelnicka
24b880b2de
kernel/mem: Add model support for read port init value and resets.
...
Like wide port support, this is still completely unusable, and support
in various passes will be gradually added later. It also has no support
at all in the cell library, so attempting to create a read port with
a reset or initial value will cause an assert failure for now.
2021-05-25 20:06:00 +02:00
Marcelina Kościelnicka
4858721637
kernel/mem: Add emulate_priority helper.
2021-05-25 12:25:58 +02:00
Marcelina Kościelnicka
35ee774ea8
kernel/mem: Add a Mem::narrow helper to split up wide ports.
2021-05-25 02:07:25 +02:00
Marcelina Kościelnicka
ff9713dd86
kernel/mem: Add model for wide ports.
...
Such ports cannot actually be created or used yet, this just adds the
necessary plumbing in the helper. Subsequent commits will gradually
add wide port support to various yosys passes.
2021-05-25 02:07:25 +02:00
Marcelina Kościelnicka
95a39d3425
kernel/mem: Add priority_mask to model.
...
This is going to be used to store arbitrary priority masks in the
future. Right now, it is not supported by our cell library, so the
priority_mask is computed from port order on helper construction,
and discarded when emitted. However, this allows us to already convert
helper-using passes to the new model.
2021-05-25 00:38:20 +02:00
Marcelina Kościelnicka
afd5366fc2
extract_rdff: Add initvals parameter.
...
This is not used yet, but will be needed when read port reset/initial
value support lands.
2021-05-23 22:05:26 +02:00
Marcelina Kościelnicka
c7076495f1
kernel/mem: Add a check() function.
2021-05-22 21:42:53 +02:00
Marcelina Kościelnicka
ff9e0394b8
kernel/mem: defer port removal to emit()
2021-05-22 21:42:53 +02:00
Marcelina Kościelnicka
8720482ebd
Add new helper structures to represent memories.
2020-10-21 17:51:20 +02:00