У меня есть регистр, объявленный так:
logic signed [15:0][2:0][15:0] registers;
Когда я помещаю число комплимента 2 в массив и арифметически сдвигаю число, вместо этого оно логически сдвигается:
registers[0][0] = 16'b1000000000000000;
registers[0][0] = registers[0][0]>>>2;
Судя по всему, система будет выполнять логический сдвиг вместо арифметического, если число не подписано. Однако, как вы можете ясно видеть, «регистры» определенно подписаны.
Кто-нибудь знает, что мне здесь может не хватать?
Спасибо!