реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Проблема с VIO и ILA
RinettaFox
сообщение May 12 2016, 10:15
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286



В 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 и там значение кнопки выводится на осциллографе.
Go to the top of the page
 
+Quote Post
RinettaFox
сообщение May 12 2016, 12:42
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286



Может быть с типами переменных что-то не то?

enable у меня является входом:
input enable

SYNC_OUT переменной типа wire.
Go to the top of the page
 
+Quote Post
Timmy
сообщение May 12 2016, 13:35
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(RinettaFox @ May 12 2016, 15:42) *
Может быть с типами переменных что-то не то?

enable у меня является входом:
input enable

SYNC_OUT переменной типа wire.

Не то, если enable - input, то вход модуля является одним из драйверов этого сигнала, а вторым - assign. enable надо объявлять как wire.
Go to the top of the page
 
+Quote Post
RinettaFox
сообщение May 12 2016, 13:39
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286



А если я не могу его объявить как wire? Мне нужно, чтобы он был входом в моей программе. Можно как-то иначе?
Может быть какую-то промежуточную переменную ввести? Пока не поняла как.

Сообщение отредактировал RinettaFox - May 12 2016, 13:40
Go to the top of the page
 
+Quote Post
Tausinov
сообщение May 12 2016, 14:29
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 135
Регистрация: 19-10-13
Пользователь №: 78 795



Цитата(RinettaFox @ May 12 2016, 16:39) *
А если я не могу его объявить как wire? Мне нужно, чтобы он был входом в моей программе. Можно как-то иначе?
Может быть какую-то промежуточную переменную ввести? Пока не поняла как.


Можно сделать его inout портом, но это не очень хорошая практика, лучше как-то так:

Код
....

input  external_enable
wire external_enable

wire temp_enable, internal_enable

assign temp_enable = то, что вам надо.

assign internal_enable  = external_enable | temp_enable;


Хотя непонятно, зачем его делать портом, если вы все равно назначаете его внутри блока.

Сообщение отредактировал Tausinov - May 12 2016, 14:31
Go to the top of the page
 
+Quote Post
RinettaFox
сообщение May 12 2016, 14:34
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 14-04-16
Пользователь №: 91 286



Спасибо большое, заработало.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 00:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01385 секунд с 7
ELECTRONIX ©2004-2016