Я пишу последовательный счетчик, состоящий из ряда компонентов с одним счетчиком, в которых используются компоненты D-триггера. В одиночном счетчике мне нужно начать с начального значения '0'
для q
, но у меня возникают проблемы с его инициализацией.
q
— это сигнал STD_LOGIC
, и я попытался инициализировать его следующим образом:
signal q : STD_LOGIC := '0';
Однако, когда я запускаю программу с помощью ModelSim, она показывает значение U
, как будто оно не назначено. Если я принудительно заморозил сигнал от '0'
до q
при запуске в ModelSim, то это сработает.
Единственный способ добиться этого — проверить значение в начале описания поведения и установить для него значение '0'
, если оно не назначено?
Если я использую BIT
вместо STD_LOGIC
, все работает отлично.
Я бы опубликовал свой код, но я не хочу рисковать нарушениями академической честности, поскольку это для школьного проекта.
0
и есть водитель, управляющий 'U', два значения разрешаются в 'U'. (И если вы этого не поняли, почитайте о функциях разрешения). - person user_1818839   schedule 09.05.2015q
из компонента D-триггера вq
, указанный в вопросе. Это то, что вы имеете в виду? - person Ryan McClure   schedule 09.05.2015