Вы можете использовать структуру в качестве типа данных для провода, вам просто нужно typedef
typedef struct {
logic [3:0] data;
...
logic anything;
} dut_t;
tri dut_t dut[NUM];
(см. этот пост для более подробного объяснения)
Но большая проблема в том, что вы не можете нарезать массив структуры, чтобы получить массив членов структуры. Вы можете выбрать только элемент массива, а затем выбрать элемент, то есть dut[0].data
Вам нужно будет сделать
typedef struct {
logic [3:0] data[NUM];
...
logic anything[NUM];
} dut_t;
tri dut_t dut;
, что, вероятно, не соответствует цели того, что вы хотелиделать.