[an error occurred while processing this directive]
|
> Внутри процесса ОБЯЗАТЕЛЬНО должно быть выражение определяющее состояние сигнала запускающего вашу логику.
OK! Спасибо, я уже до этого дошел.
> ни симплифай не УЖ ТОЧНО квартус НЕ ПОДДЕРЖИВАЮТ жункций разрешения определяемых пользователем, только стандартные функции разрешения определенные в пакете ieee.std_logic_1164
Понятно, будем искать четкое описание доступного для синтеза подмножества языка для квартуса.
> все сказанное по поводу поддержки стандарта языка не относится к пакету ACTIVE HDL от альдека(эксперименты показывают что его компилятор абсолютно полно и корректно обрабатывает любую вашу писанину если она допускается стандартом), но это чистой воды компилятор т.е о синтезе и вообще создании железяк можете забыть. мне кажется для ваших экспериментов альдек - самое то.
Мне нужно ТОЛЬКО синтезируемое подмножество. Язык мне нужен исключительно для практического применения. Я программист, а не схемотехник, но так уж получилось, что приходится разрабатывать и реализовывать устройства на программируемой логике. До этого писал на AHDL, решил попробовать на VHDL, как более абстрагированном от целевой платформы. С удовольстивем бы почитал теорию, но дело делать надо :)
> по поводу двух фронтов - вариант
> process(clk)begin
> if clk = '1' and clk'event then
> -----code
> elsif clk = '0' and clk'event then
> -----code
> end if;
> end process;
> как вам уже присоветовали - самое оно
Как я уже ответил, не вариант, так как у квартуса выражение, определяющее фронт, в процессе, может быть только одно и последнее. Все остальное он не синтезирует.
Практическое решение вопроса синхронизации по 2 фронтам приведено в исходном сообщении, единственно оно не очень красиво, с моей точки зрения, но работает. Других вариантов, для данной вводной, судя по всему нет.
С уважением,
Митя
E-mail: info@telesys.ru