Выполнение процедуры синтеза, реализации и временного моделирования цифровых устройств в САПР XilinxISE 6.2и САПР Active-HDL7.1, страница 2

2.2. После закрытия панели FlowConfigurationSettings на закладке designflow manager появятся новые кнопки, связанные с процедурами синтеза, реализации и временного моделирования. На рис.4 они обведены прямоугольником красного цвета.

Щёлкните по кнопке  слева от пиктограммы synthesis & implementation. Откроется диалоговая панель SynthesisOptions (рис.5), на которой надо выбрать в раскрывающемся списке Top-LevelUnit имя модуля верхнего уровня (например, count5_HDE), в списке Family - семейство ПЛИС (Xilinx6xXC9500XL), а в списке Device - имя целевой микросхемы (9572xlTQ100).

Рис.4. На закладке управления потоком проектирования DesignFlowManager
появился новый маршрут: синтез, реализация и временное моделирование
(выделено красным цветом)

В левом окне DesignFiles можно исключить из списка ненужные для синтеза модули, а при необходимости включить их снова.

Рис.5. На диалоговой панели SynthesisOptions устанавливаем желаемые опции синтеза

По умолчанию в поле SpeedGrade задаётся самый высокий уровень быстродействия «-5». В дальнейшем вам предстоит провести несколько экспериментов с различными значениями этого параметра.

2.3. На закладке design flow manager (см. рис.4) щёлкните по иконке синтез и реализация.

В результате этого действия из интегрированной среды проектирования Active-HDL 7.1 автоматически запустится другая САПР XilinxISE 6.2, в которой и будут выполняться названные процедуры.

Если вы увидите чужой проект, то закройте его (команда File/CloseProject) и откройте свой (команда File/OpenProject).

Проект имеет расширение *.npl и должен находиться в директории synthesis, которая в свою очередь вложена в папку с названием вашего проекта (например, Lab3).

2.4. На открывшейся диалоговой панели САПР XilinxISE в окне SourcesinProjectвыделите желаемый вариант описания проекта для синтеза, например count5_hde (рис. 6). В принципе вы можете синтезировать любую часть своего проекта, которая видна в окне SourcesinProject, например dff_my или and2_my. В данном случае – это элементы структурного описания проекта.

Рис.6. Основные окна управляющей оболочки Навигатора Проекта в САПР XilinxISE 6.2

В нижнем окне ProcessesforSource вы увидите дерево процедур (процессов), доступных для выделенного в верхнем окне модуля.

Активизируйте процесс ViewRTLSchematic. Он находится в ветви ImplementDesign (реализация проекта) и вложен в процедуру SynthesizeXST(XilinxSynthesisTechnology).

При этом будут выполнены все предшествующие процедуры, которые оказывают влияние на исполняемый процесс. В данном случае будет выполнен синтез вашего проекта на RTL – уровне, а его результаты в виде функциональной схемы выведены в окне графического редактора ECSEngineeringCaptureSystem.

Для рассматриваемого примера count5_hde будет синтезирована схема, показанная на рис.7 (вариант VHDL - модели).

Схема является иерархической и отдельные её модули можно раскрыть, если дважды щёлкнуть на любом из них левой кнопкой мыши (рис.7,б). Для повышения уровня иерархии курсор мыши следует поместить на свободном месте рисунка и вновь дважды щёлкнуть мышью. Иерархия может быть многоуровневой.

а)

б)

Рис.7. Функциональная схема счётчика по модулю 5, полученная в результате синтеза
в САПР XilinxISE 6.2. На рис 7,б в качестве примера раскрыт один из её фрагментов

2.5. Выделите в окне SourcesinProject второй вариант описания вашего проекта (в виде цифрового автомата) и повторите описанную выше процедуру синтеза. По умолчанию система автоматически выбирает наиболее экономичное внутреннее кодирование регистра состояния. Как правило – это бинарное кодирование, для которого требуется минимальное число триггеров.

Поэтому проделайте ещё один эксперимент, задав иной способ кодирования состояний, например One-Hot (1 из N). Для этого щёлкните правой кнопкой мыши на строке SynthesizeXST (см. рис.6) и исполните в контекстном меню команду Properties.

Откроется диалоговая панель ProcessProperties с тремя закладками. Активизируйте закладку HDLOptions и для параметра FSMEncodingAlgorithm установите значение One-Hot. Вновь запустите процедуру ViewRTLSchematic. Оцените влияние способа кодирования внутренних состояний на объём получаемой схемы и, прежде всего, на требуемое число триггеров в регистре состояния (особенно наглядно влияние алгоритма кодирования проявляется при потоковом описании цифрового автомата).