test_hdl_parameter_bindings_resolve¶
A named parameter binding must name a parameter the module declares.
dau_identity_axil passed .SHELL_VERSION(…) and .DMA_CONSTRAINTS(…) to dau_identity_registers for some time after those two parameters were deleted from it. The wrapper is packaged HDL that no cocotb bench instantiates, so nothing elaborated it and nothing failed — the break would have surfaced as a Vivado elaboration error in a synthesis run, which is the slowest and most expensive place to find it.
Python-side guards caught neither half: the deletion was checked against the generators that STAMP parameters, and this wrapper only forwards them.
Every named binding in a dau_* instantiation of another dau_* module, checked against that module’s declared parameter list. Cheap, and it runs in the unit suite rather than after forty minutes of synthesis.
Attributes¶
Functions¶
|
Declared parameter names for every dau module, by module name. |
|
|
|
The specific regression, from the other direction: the wrapper is the |
Module Contents¶
- test_hdl_parameter_bindings_resolve._HDL_DIR¶
- test_hdl_parameter_bindings_resolve._MODULE¶
- test_hdl_parameter_bindings_resolve._PARAMETER¶
- test_hdl_parameter_bindings_resolve._PORT_LIST¶
- test_hdl_parameter_bindings_resolve._INSTANTIATION¶
- test_hdl_parameter_bindings_resolve._BINDING¶
- test_hdl_parameter_bindings_resolve._module_parameters() dict[str, set[str]]¶
Declared parameter names for every dau module, by module name.
- test_hdl_parameter_bindings_resolve.test_every_parameter_binding_names_a_declared_parameter() None¶
- test_hdl_parameter_bindings_resolve.test_the_identity_wrapper_forwards_every_capability_parameter() None¶
The specific regression, from the other direction: the wrapper is the only path some shells have to the identity block, so a capability it fails to forward is advertised as zero no matter what the shell stamps.