#system-verilog #literals
Вопрос:
Я очень новичок в SystemVerilog. Я хотел использовать довольно длинный буквальный в качестве маски. Этот литерал имеет длину 18 байт, и единственная соответствующая часть относится к наиболее значимым байтам, так как 14 наименее значимых байтов должны быть равны всем 0. Писать 'h00000FFC00000000000000000000000000
довольно утомительно. Есть ли лучший способ сделать это?
Ответ №1:
Оператор потоковой передачи слева оправдывает наиболее значимые биты.
dest = {>>{32'h0000_0FFC}};
Ответ №2:
Проблему можно легко устранить с помощью объединения. Для примера, который я показал в вопросе, это было бы так:
{32'h0000_0FFC, 112'b0}