Adds a metadata string parameter ImplKey to tc_sram, which serves as a key to identify a specific memory type. Together with an external description of the desired implementation for each key (e.g. macro type), this enables generating tc_sram implementation wrappers without having to identify memories by their parameters like width and depth.
Adds a wrapper tc_sram_impl around tc_sram with parametric implementation IO (impl_i and impl_o). This allows setting pseudo-static implementation-specific inputs (e.g. macro configuration) or reading implementation-specific outputs (e.g. physical sensor feedback, interrupts). Importantly, the behavioral model ignores impl_i and drives impl_o with a static, parameterizable value.
The addition of ImplKey is a first step towards addressing #14.
This PR
ImplKey
totc_sram
, which serves as a key to identify a specific memory type. Together with an external description of the desired implementation for each key (e.g. macro type), this enables generatingtc_sram
implementation wrappers without having to identify memories by their parameters like width and depth.tc_sram_impl
aroundtc_sram
with parametric implementation IO (impl_i
andimpl_o
). This allows setting pseudo-static implementation-specific inputs (e.g. macro configuration) or reading implementation-specific outputs (e.g. physical sensor feedback, interrupts). Importantly, the behavioral model ignoresimpl_i
and drivesimpl_o
with a static, parameterizable value.The addition of
ImplKey
is a first step towards addressing #14.