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

 
 
> Оператор wait в VHDL ..., особенности применения
Demeny
сообщение Nov 9 2006, 07:11
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Начинаю осваивать VHDL и ПЛИС в Quartus 6.0. Написал простейшую схему
Код
entity Generator is
  port(clock inout std_logic);
end Generator;

architecture behavioral of Generator is
begin
       process
       begin
               clock <= '0';
               wait for 50 ns;
               clock <= not clock;
       end process;
end behavioral;

При компиляции Quartus ругается на оператор wait, что-то типа "для оператора wait необходимо ещё и указывать условие until ". То же самое происходит, если я беру, например, готовое ядро с opencores (я брал pci_core) - та же ошибка на оператор wait; Но ведь в VHDL синтаксисом предусмотрены конструкции
Код
wait;
wait for ... ns;
wait until ...;

В чём тут проблема ? Где я ошибаюсь ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Postoroniy_V
сообщение Nov 9 2006, 07:20
Сообщение #2


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(Demeny @ Nov 9 2006, 10:11) *
Начинаю осваивать VHDL и ПЛИС в Quartus 6.0. Написал простейшую схему
Код
entity Generator is
  port(clock inout std_logic);
end Generator;

architecture behavioral of Generator is
begin
       process
       begin
               clock <= '0';
               wait for 50 ns;
               clock <= not clock;
       end process;
end behavioral;

При компиляции Quartus ругается на оператор wait, что-то типа "для оператора wait необходимо ещё и указывать условие until ". То же самое происходит, если я беру, например, готовое ядро с opencores (я брал pci_core) - та же ошибка на оператор wait; Но ведь в VHDL синтаксисом предусмотрены конструкции
Код
wait;
wait for ... ns;
wait until ...;

В чём тут проблема ? Где я ошибаюсь ?

проблема в том что это конструкция не синтезируемая! и нужна для моделирования


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
Demeny
сообщение Nov 9 2006, 09:20
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(Postoroniy_V @ Nov 9 2006, 10:20) *
проблема в том что это конструкция не синтезируемая! и нужна для моделирования

Это мне интуитивно понятно. Мы не можем синтезировать в логическую схему в "силиконе" произвольную временную задержку сигнала, так ? Тогда в связи с этим еще ряд вопросов.
1. Как же тогда синтезировать обычный генератор меандра , который я пытался сделать с помощью оператора "wait for ... ns" ?
2. Является ли конструкция "wait until ... " синтезируемой ?
3. Как мне "указать" Quartus-у, что я не собираюсь использовать entity Generator с конструкцией "wait ... ns" для синтеза и прошивки CPLD, а он мне нужен для моделирования в составе TestBench-а, ну например, для тестирования PCI-device ядра ?


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 23:42
Рейтинг@Mail.ru


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