Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Импорт и экспорт конечных автоматов⇐ ПредыдущаяСтр 17 из 17
Вы можете импортировать и экспортировать конечные автоматы между TDF файлами и другими файлами проекта, определяя входные и выходные порты как MACHINE INPUT или MACHINE OUTPUT в разделе Subdesign. Прототип функции, который представляет файл, содержащий конечный автомат, должен указывать, какие входы и выходы принадлежат конечному автомату с помощью предварения имен сигналов ключевым словом MACHINE. Типы портов MACHINE INPUT и MACHINE OUTPUT нельзя использовать в файле проекта верхнего уровня. Хотя высокоуровневый файл с этими портами полностью не компилируется, Вы можете использовать команду Project Save & Check (меню File) для проверки его синтаксиса и команду Create Default Include File (меню File) для создания Include файла, который представляет текущий файл. Вы можете переименовать конечный автомат с помощью временного имени, вводя объявление псевдоимени автомата в раздел Variable. Вы можете использовать это псевдоимя в файле, где создан этот автомат или в файле, который использует порт MACHINE INPUT для импорта конечного автомата. Затем Вы можете применить это имя вместо исходного имени автомата. Файл ss_def.tdf, приведенный ниже, определяет и экспортирует конечный автомат ss с помощью порта ss_out.
SUBDESIGN ss_def ( clk, reset, count: INPUT; ss_out: MACHINE OUTPUT; ) VARIABLE ss: MACHINE WITH STATES (s1, s2, s3, s4, s5); BEGIN ss_out = ss;
CASE ss IS WHEN s1=> IF count THEN ss = s2; ELSE ss = s1; END IF; WHEN s2=> IF count THEN ss = s3; ELSE ss = s2; END IF; WHEN s3=> IF count THEN ss = s4; ELSE ss = s3; END IF; WHEN s4=> IF count THEN ss = s5; ELSE ss = s4; END IF; WHEN s5=> IF count THEN ss = s1; ELSE ss = s5; END IF; END CASE;
ss.(clk, reset) = (clk, reset); END;
Файл ss_use.tdf, приведенный ниже, импортирует конечный автомат с помощью порта ss_in.
SUBDESIGN ss_use ( ss_in: MACHINE INPUT; out: OUTPUT; ) BEGIN out = (ss_in == s2) OR (ss_in == s4); END;
Файл top1.tdf, приведенный ниже, использует ссылки для вставки экземпляров функций ss_def и ss_use. Прототипы функций для ss_def и ss_use содержат ключевые слова MACHINE, которые указывают какие входы и выходы являются автоматными.
FUNCTION ss_def (clk, reset, count) RETURNS (MACHINE ss_out); FUNCTION ss_use (MACHINE ss_in) RETURNS (out);
SUBDESIGN top1 ( sys_clk, /reset, hold: INPUT; sync_out: OUTPUT; ) VARIABLE ss_ref: MACHINE; %объявление псевдоимени автомата % BEGIN ss_ref = ss_def(sys_clk,!/reset,!hold); sync_out = ss_use(ss_ref); END;
Внешний конечный автомат можно также реализовать в TDF файле верхнего уровня с помощью объявления экземпляра в разделе Variable. Файл top2.tdf, приведенный ниже, имеет такую же функциональность, как и top1.tdf, но использует объявления экземпляров, вместо ссылок.
FUNCTION ss_def (clk, reset, count) RETURNS (MACHINE ss_out); FUNCTION ss_use (MACHINE ss_in) RETURNS (out);
SUBDESIGN top2 ( sys_clk, /reset, hold: INPUT; sync_out: OUTPUT; ) VARIABLE sm_macro: ss_def; sync: ss_use; BEGIN sm_macro.(clk, reset, count) = (sys_clk,!/reset,!hold); sync.ss_in = sm_macro.ss_out; sync_out = sync.out; END; Синтаксис языка AHDL Стилизация описаний на языке AHDL 7. "Золотые" правила использования языка AHDL 8. Контекстно-зависимая справка по языку AHDL Для получения контекстно-зависимой помощи, Вы сперва должны сохранить Ваш текстовой файл с расширением. tdf. Контекстно-зависимая помощь доступна для следующих элементов: · Арифметические операторы (в булевых выражениях) · Арифметические операторы (в арифметических выражениях) · Компараторы · Логические операторы · Мегафункции · Макрофункции · Примитивы · Зарезервированные идентификаторы · Зарезервированные ключевые слова · Символы
[M1] Процесс копирования присваиваний ресурсов, сделанных компилятором, из файла подгонки в ACF файл. Используется для сохранения текущей подгонки при дальнейших компиляциях. [M2]
|
|||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 101; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.46.18 (0.007 с.) |