У меня возникли трудности с пониманием использования Союзов и структур в System Verilog. Я знаю, что они распределяют память по-разному, но я хочу глубже узнать о структурах и союзах. LRM трудно для кого-то вроде меня понять.Разница между структурой и объединением в System verilog
ответ
Структуры и объединения в SystemVerilog очень похожи на структуры и объединения в C. Так что если вы ищете варианты использования, это может быть полезно прочитать о том, как они могут быть использованы в С.
Вот вопрос, который обращается к этому вопросу: Difference between a Structure and a Union in C
SystemVerilog добавляет различие упакованных и распакованных для структур и соединений. Упакованные объединения должны содержать типы, имеющие одинаковый размер (количество бит).
Ответ на ваш вопрос во многом зависит от того, пытаетесь ли вы написать синтезируемый RTL-код или нет. Для RTL структура и объединения предоставляют различные способы доступа к битам. См. How does a system verilog structure be realized in hardware? are the members declared as wires?
Для тестового стенда или другого кода эти типы часто используются при пересечении границы языка в C.