Я смоделировал следующий пример:
shortint j;
byte unsigned data_bytes[];
j = 16'b1111_0000_1001_0000;
data_bytes = { >>{j}};
`uvm_info(get_type_name(), $sformatf("j data_bytes: %b_%b", data_bytes[1], data_bytes[0]), UVM_LOW)
Результат:
UVM_INFO Initiator.sv(84) @ 0: uvm_test_top.sv_initiator [Initiator] j data_bytes: 10010000_11110000
Тем не менее, это кажется мне странным, поскольку порядок следования байтов обратный, как я ожидаю, младший битбыть с индексом 0 data_byte [0] и MSB с индексом 7 data_byte [1].Почему это происходит?Согласно документации (справка Cadence), это не должно иметь место.