typedef union {
logic [1: 0] c3;
бит [3: 0] a3;
байт b3;
} pack3;unpacked union in systemverilogpack3 p3;
В соответствии с LRM, инициализация по умолчанию в соответствии с первым членом Союза т.е. логики в приведенном выше примере, следовательно, c3 назначить X и отдыха, чтобы присвоить значение 0, но при компиляции в ModelSim и проверить в окне объекта то для a3 и b3 существует другой результат. Также, когда я назначаю p3.a3 = 4'b0010; значение a3 и b3 изменяется, но не c3.Пожалуйста, объясните? Я знаю, что для каждой переменной доступно только память, поэтому обновление любого значения отражает все.
спасибо @ dave_59 Да, он отлично работает с упакованным объединением, но неопределенность без упаковки. – Xeroxpop