Для создания собственных типов данных в SystemVerilog с помощью typedef нужно использовать общий синтаксис: 1
typedef <base_type> <size> <type_name>;
В поле
Поле
Пример определения простого пользовательского типа: 2
typedef bit [7:0] MyByte;
В этом примере создаётся новый тип MyByte — 8-битный битовый вектор. 2
Ещё один пример определения структуры: 2
typedef struct { bit [7:0] data; bit valid; } MyData;
В этом примере определяется структура MyData, которая содержит две переменные: 8-битный битовый вектор data и однобитовую переменную valid. 2
Пример определения перечисляемого типа: 2
typedef enum logic [2:0] { StateIdle, StateRead, StateWrite } MyState;
В этом примере определяется перечисляемый тип MyState, который содержит три именованных константы: StateIdle, StateRead и StateWrite. 2