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

 
 
> Множественный доступ к одному сигналу, Проблема (VHDL)
Muscat
сообщение Apr 12 2010, 12:13
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382



В начале пути изучения VHDL, пишу простенькую программу следующего содержания

По приходу инициирующего сигнала запускается чтение битов из последовательной памяти. Инициируются клоки ROM-request, считываются данные по падающему фронту,которые затем выдаются на шину вывода,и далее устанавливается флаг Ready в положение '1'.

Собственно с этим и возникла проблема.
Сигнал объявляется в entity как

ready: inout STD_LOGIC:='0';

Далее в процессе ROM_clockong он ставится в положение 1

if (j=7) then ready<='1';

Ну и в процессе Read_complete, по приходу заднего фронта с шины, означающее что данные прочитаны, он снова сбрасывается в 0

ready<='0';

Если убрать процеес Read_complete, то все выполняется прекрасно, как надо (см. Graph2)

Если этот процесс раскомментировать, то сигнал получает значение Х (явно неопределенный).

Таким образом суть проблемы.
Если в сигнал Ready могут писать 2 процесса, то возникает ошибка. Если один — все в порядке. Прочитал про resolved и solved сигналы, но у меня то как раз вроде все правильно — STD_Logic resolved типа,в него могут писать разные процессы, STD_uLogic – solved, если описать ready так, то компилятор сам напомнит об этом.
Starter.vhd : (89, 0): Signal "ready" has two sources, but is not resolved signal

Что я делаю не так?


В мануалах приводятся примеры, в которых несколько процессов одновременно обращаются в переменной, в этом случае для решения конфликта один из них присваивает 1 или 0, другой слабые - H или L. Но в моем то случае происходит изменение сигнала в разное время.


--------------------
Because it's there
Go to the top of the page
 
+Quote Post



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

 


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


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