Цитата(RobFPGA @ Jul 11 2018, 14:16)

Приветствую!
Enum в пределах одного compilation unit имеет глобальный scope тоесть внутри одного модуля/package не может быть определено несколько елементов разных enum с оним и тем же именем. В разных модулях/package - на здоровъе.
Удачи! Rob.
Эмм. Внутри самого Quartus удается вполне успешно обращаться к одинаковым именам enum-ов в различных struct.
Типа того...
Код
first_machine.FSM <= first_machine.IDLE;
first_machine.FSM <= first_machine.SOME_STAGE_1;
second_machine.FSM <= second_machine.IDLE;
second_machine.FSM <= second_machine.SOME_STAGE_2;
И Quartus на такой синтаксис не ругается.
Т.е. не понятно:
1) если struct организует ограничение видимости, то чего хочет ModelSim?
2) если struct НЕ организует ограничение видимости, то начерта такой struct нужен?
3) если struct организует ограничение видимости, но только для
переменных регистров, а для enum - нет и при этом сам Quartus ошибок не выдает, то... Я даже не знаю, то - что?
P.S. На меня Quartus ругнулся, когда я разным
переменным регистрам из одного struct сделал блокирующее и неблокирующее присвоение. Он сказал "Нет уж! Или всем регистрам так, или всем регистрам эдак!". Но обсуждаемом случае никаких ошибок от Quartus не было.
Сообщение отредактировал flammmable - Jul 11 2018, 11:37