You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lets say I have multiple modules all of which I drive from the same bus. For all of them I use the same BusSlaveFactory. There should be a way to detect when reading multiple signals at the same address, as this is most commonly the case when mis-configuring base-addresses, addresses, or bitOffsets.
but I have made the mistake that one thermalCtrlDigital actually reads from addresses base+0x00 to base+0x07! This then results in the following data model on .printDataModel():
...
Address 0x4 :
R[5:0] io_AIF_TCtrl_ref_current_DAC_o - ThermalControllerDigital: analog interface: Iset [5..0]
W[0:0] - ThermalControllerDigital FSM control bit: start_locking
R[0:0] - ThermalControllerDigital FSM control bit: start_locking
W[1:1] - ThermalControllerDigital FSM control bit: start_ramp_heater
R[1:1] - ThermalControllerDigital FSM control bit: start_ramp_heater
W[2:2] - ThermalControllerDigital FSM control bit: stop_locking
R[2:2] - ThermalControllerDigital FSM control bit: stop_locking
R[3:3] io_idle - ThermalControllerDigital FSM control bit: idle
...
Lets say I have multiple modules all of which I drive from the same bus. For all of them I use the same BusSlaveFactory. There should be a way to detect when reading multiple signals at the same address, as this is most commonly the case when mis-configuring base-addresses, addresses, or bitOffsets.
So for example this spinalHDL code:
but I have made the mistake that one thermalCtrlDigital actually reads from addresses base+0x00 to base+0x07! This then results in the following data model on .printDataModel():
and in the following VHDL:
The signal
io_apb3_PRDATA
gets overwritten in the process block which can hardly be any designers intention.If somebody helps me setup a spinalHDL dev environment, I can try to implement an assertion.
The text was updated successfully, but these errors were encountered: