RinettaFox 0 12 мая, 2016 Опубликовано 12 мая, 2016 · Жалоба В always идет только проверка условия, равен ли enable 0 или 1, присвоения нет. Делаю следующим образом: wire SYNC_OUT; assign enable = SYNC_OUT; ila ILA ( .CLK (clk), .CONTROL (control0), .TRIG0 (block_5V), .TRIG1 (cod), .TRIG2 (comand), .TRIG3 (ready), .TRIG4 (enable) ); vio VIO ( .CLK (clk), .CONTROL (control1), .SYNC_IN(SYNC_IN), // IN BUS [7:0] .SYNC_OUT(SYNC_OUT) ); Т.е. enable используется только здесь, в остальных случаях идет лишь условие проверки его значения. Может быть здесь что-то не то? Хотя вроде бы логично, я завожу кнопку на VIO, при ее нажатии ей должно присваиваться значение единицы, потом завожу на ILA и там значение кнопки выводится на осциллографе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RinettaFox 0 12 мая, 2016 Опубликовано 12 мая, 2016 · Жалоба Может быть с типами переменных что-то не то? enable у меня является входом: input enable SYNC_OUT переменной типа wire. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 12 мая, 2016 Опубликовано 12 мая, 2016 · Жалоба Может быть с типами переменных что-то не то? enable у меня является входом: input enable SYNC_OUT переменной типа wire. Не то, если enable - input, то вход модуля является одним из драйверов этого сигнала, а вторым - assign. enable надо объявлять как wire. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RinettaFox 0 12 мая, 2016 Опубликовано 12 мая, 2016 (изменено) · Жалоба А если я не могу его объявить как wire? Мне нужно, чтобы он был входом в моей программе. Можно как-то иначе? Может быть какую-то промежуточную переменную ввести? Пока не поняла как. Изменено 12 мая, 2016 пользователем RinettaFox Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tausinov 0 12 мая, 2016 Опубликовано 12 мая, 2016 (изменено) · Жалоба А если я не могу его объявить как wire? Мне нужно, чтобы он был входом в моей программе. Можно как-то иначе? Может быть какую-то промежуточную переменную ввести? Пока не поняла как. Можно сделать его inout портом, но это не очень хорошая практика, лучше как-то так: .... input external_enable wire external_enable wire temp_enable, internal_enable assign temp_enable = то, что вам надо. assign internal_enable = external_enable | temp_enable; Хотя непонятно, зачем его делать портом, если вы все равно назначаете его внутри блока. Изменено 12 мая, 2016 пользователем Tausinov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RinettaFox 0 12 мая, 2016 Опубликовано 12 мая, 2016 · Жалоба Спасибо большое, заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться