MATLAB: Can I define customized Bus Data Types as input data types to HDL Coder DUT

HDL Coder

Can I define customized Bus Data Types as input to HDL Coder DUT?
We normally define control registers which are bit fields (start bit, operation mode on 3-bits…). I tried to mimic this by defining a bus (Control_Bus) representing the control register structure. Unfortunately, I could not select AXI-4 Lite for the input with type Control_Bus.

Best Answer

As of MATLAB R2018b, the HDL Coder's implementation of the AXI4 slave interface does not support bus data types. The workaround is to use the bitslice/bitconcat block on a uint input signal and slice it according to your custom data type. You will want to fully document your constructed data type and define what each bit position signifies.