Лешуков В.В., Скакунов В.Н. (сост.) Проектирование микропроцессорных систем. Лешуков В.В., Скакунов В.Н. (сост.) Проектирование микропроцессо. Методические указания к лабораторной работе по курсу "Проектирование микропроцессорных систем" Часть v волгоград 2000
Скачать 0.51 Mb.
|
Министерство образования Российской Федерации Волгоградский государственный технический университет КАФЕДРА "ЭВМ И СИСТЕМ" Методические указания к лабораторной работе по курсу "Проектирование микропроцессорных систем" Часть V Волгоград 2000 УДК 681.31 Система проектирования цифровых устройств на ПЛИС : Методические указания к лабораторной работе по курсу «Проектирование микропроцессорных устройств». Часть V /Сост. В.В. Лешуков, В.Н. Скакунов; Волгоград.гос.техн.ун-т. -Волгоград, 2000: 32 с. Содержит сведения о системе автоматизированного проектирования цифровых устройств MAX+plusll, условия применения и назначения системы, описание основных функций и примеры проектирования цифровых устройств. Предназначены для студентов, обучающихся по направлению 5528 «Информатика и вычиислительная техника» и специальности 2201 «Вычислительные машины, комплексы, системы и сети» всех форм обучения. Ил.З. Библиогр.: 6 назв. Печатается по решению редакционно-издательского совета Волгоградского государственного технического университета Рецензент канд.техн.наук, доцент А.Н. Шилин © Волгоградский государственный технический университет, 2000 СИСТЕМА ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ УСТРОЙСТВ НА ПЛИС Цель работы: изучение системы автоматизированного проектирования цифровых устройств на программируемых логических интегральных схемах (ПЛИС) MAX+PLUS II. 1.НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ СИСТЕМЫ 1.1. Назначение системы Система проектирования и программирования ПЛИС MAX+PLUS II' (САПР MAX+PLUS II версия 7.1 от 02.12.96) предназначена для синтеза и изготовления цифровых логических устройств в базисе ПЛИС. САПР позволяет проектировать и изготавливать специализированные ИС на основе одной или нескольких ПЛИС. САПР может работать в следующих операционных системах: Windows 3.1 и Windows for Workgroups 3.11, Windows 95, Windows NT 3.51 или 4.0 Обмен данными с программатором ПЛИС может осуществляться через последовательный либо параллельный порт. Тип порта а также тип программатора определяется типом программируемой ПЛИС. (Подробнее см. помощь MAX+PLUS И, раздел "Devices & Adapters"(Устройства и Адаптеры)). 1.2. Структурный базис системы Структурный базис MAX+PLUS II составляют следующие семейства ПЛИС: Classic (ЕР220, EP320I, EP600I. ЕР610, EP6I01, EP900I..EP910, EP910I, ЕР18001, ЕР1810); МАХ 5000 (ЕРМ5016, ЕРМ5032. ЕРМ5064, ЕРМ5128, ЕРМ5128А, ЕРМ513О, ЕРМ5192, EPS464); МАХ 7000 (ЕРМ7032, EPM7032S, EPM7032V, ЕРМ7064, EPM7064S, ЕРМ7096, ЕРМ7128Е, EPM7128S, ЕРМ7160Е, ЕРМ7192Е, EPM7192S, ЕРМ7256Е, EPM7256S); МАХ 9000 (ЕРМ9560, ЕРМ9480, ЕРМ9400, ЕРМ9320); FLEX 8000 (EPF8282A, EPF8282V, EPF8452A, EPF8636A, EPF8820A, EPF81188A, EPF81500A); FLEX 10K (EPF10K100, EPF10K70, EPF10K50, EPF10K40, EPFI0K30, EPF10K20, EPF10K10); FLASHlogic (EPX8160, EPX880, EPX780, EPX740); 2.ОПИСАНИЕ СИСТЕМЫ 2.1. Общий обзор САПР MAX+PLUS II Система автоматизированного проектирования цифровых устройств на ПЛИС MAX+PLUS II предназначена для автоматизации процесса проектирования на этапах оптимизации схемы и логических функций устройства, размещения полученной логики на ПЛИС, тестирования и отладки модели будущего устройства, программирования ПЛИС (с помощью программатора), тестирования готового устройства. За реализацию этих функций отвечают различные модули программы. Первоначальный ввод информации о проектируемом устройстве, а также дальнейшее ее редактирование может осуществляться с помощью Графического редактора (Graphic Editor - ввод принципиальной схемы), Символьного редактора (Symbol Editor - ввод изображений отдельных логических элементов) или Текстового редактора (Text Editor - ввод логических функций на языках AHDL или VHDL). Минимизацию и оптимизацию проекта, а также его предварительное распределение по модели кристалла ПЛИС выполняет Компилятор (Compiler). Он же генерирует файлы, необходимые для всех последующих этапов. Тестирование правильности работы и определение некоторых временных характеристик можно осуществить с помощью Редактора входных и выходных воздействий (Waveform Editor) и Имитатора (Simulator). Более детальную информацию о временных характеристиках устройства можно получить с помощью Временного анализатора (Timing Analizer). Модуль Редактора подложки (Floorplan Editor) предоставляет проектировщику возможность просматривать и самому вносить изменения в распределение проекта по кристаллу ПЛИС, а также переназначать отдельные выводы чипа. Для программирования и тестирования физического устройства (ПЛИС) предназначен Программатор (Programmer). Общий контроль хода проектирования, а также перемещение по различным частям и этапам проекта осуществляется с помощью Иерархического дисплея (Hierarchy Display). Для управления работой отдельных модулей и их совместного использования в ходе проектирования предназначено Главное окно или Менеджер проекта (MAX+PLUS II Manager). 2.1. Главное окно После запуска программы и загрузки основного модуля в оперативную память на экране появляется Главное окно - MAX+PLUS II Manager. В левом верхнем углу, помимо названия программы отображается текущий директорий и путь до него. Чуть ниже расположена панель Главного меню, в котором при запуске программы (в ходе работы это меню может расширяться) присутствуют следующие пункты: MAX+PLUSII. Этот пункт содержит в качестве подпунктов основные инструментальные средства программы MAX+PLUS II, каждое из которых является отдельным этапом проектирования или программирования логических устройств на ПЛИС. Ниже они будут рассмотрены более подробно. File. В этом пункте расположены основные средства для работы с проектом и отдельными файлами, позволяющие открыть ('Open'), создать ('New') или удалить ('Delete file') файл одного из типов, используемых в данной САПР. Подпункт 'Project', в свою очередь, подразделяется на подпункты, с помощью которых можно назвать или переименовать текущий проект ('Name'), назвать проект по имени отдельного файла, открытого и активного в данный момент ('Set Project to Current File'), сохранить проект одновременно с выполнением некоторых действий (подпункты типа 'Save & ...'), а также сохранить проекг в его текущем состоянии в отдельном директории ('Archive'). В ходе работы над проектом при открытии отдельных файлов список подпунктов расширяется. Появляется, например, возможность сохранить текущий открытый файл ('Save' или 'Save as...'), закрыть его ('Close'), вывести на печать ('Print'), а также выполнить другие контекстно-зависимые операции над открытым файлом. Набор операций зависит от типа открытого файла. Здесь же расположен подпункт 'Exit MAX+PLUS II', выбрав который можно завершить работу с программой. Assign. Пункт, содержащий различные настройки и начальные установки, как для отдельных элементов проекта (выводы, элементы...), так и для всего проекта в целом. Рассмотрим некоторые из них. Подпункт 'Device...' позволяет выбрать семейство ПЛИС и конкретное наименование ИС для Вашего проекта. Подпункт 'Timing Requirements...' задает максимально допустимые задержки распространения сигналов между отдельными узлами и выводами схемы. Если MAX+PLUS II при размещении проекта на ПЛИС не сможет обеспечить заданных Вами временных ограничений, то при компиляции будут выданы соответствующие предупреждения. Подпункт 'Connected Pins...' позволяет соединить внутри ПЛИС несколько внешних выводов. Подпункт 'Global Project Device Options...' позволяет установить Бит Защиты для ПЛИС, предупреждающий несанкционированную дешифрацию логики по структуре готового кристалла. Также в этом пункте задается процент зарезервированных выводов и связей для будущего расширения логической схемы в рамках данного чипа. Подпункт 'Global Project Timing Requirements...' задает максимально допустимые задержки распространения сигналов между узлами и выводами для всей схемы в целом. Подпункт 'Global Project Logic Synthesis...' позволяет установить общие для проекта настройки логического синтеза. В частности, выбирается общая стратегия оптимизации по скорости работы ИС, либо по максимальной компактности размещения, либо один из промежуточных вариантов. Подпункты 'Ignore Project Assignments...' и 'Clear Project Assignments...' позволяют соответственно отключать или совсем сбрасывать глобальные настройки, список которых приводится в диалоговых окнах этих подпунктов. Options. В этом пункте содержатся основные настройки самой программы, ее интерфейса: Подпункт 'User Libraries...' задает пути до пользовательских библиотек, которые могут содержать символьные файлы (файлы элементов и примитивов), файлы проекта всех поддерживаемых программой форматов, файлы макро- и мегафункций, а также файлы библиотек языка AHDL. Подпункт 'Preferences...' ('Предпочтения...') позволяет установить или сбросить некоторые настройки программы. В частности, проставив галочки напротив пунктов 'Show Toolbar' и 'Show Status Bar', можно визуализировать панель инструментов и строку состояния, если до этого эти опции были отменены. Заметим, что программа не оснащена всплывающей подсказкой по кнопкам панели инструментов, но эта подсказка появляется в строке состояния, поэтому рекомендуется, по крайней мере, на начальном этапе работы с программой включить оба этих подпункта. Help. Пункт меню 'Помощь' содержит достаточно обширную гипертекстовую справку по всем этапам работы с программой (на английском языке). Помимо этого, контекстно-зависимая справка по текущему этапу работы появляется при нажатии клавиши F1. Последовательно рассмотрим работу основных инструментальных средств САПР MAX+PLUS II на примере. В качестве исходных данных возьмем логическую схему четырехразрядного двоичного суммирующего счетчика на Т-триггерах. 2.2. Графический редактор Для ввода схемы проекта и ее редактирования используется Графический редактор (пункт меню 'MAX+PLUS II\Graphic Editor'). Результатом его работы является файл с расширением GDF (Graphic Design File - графический файл проекта). Введем в рабочее поле Графического редактора схему двоичного счетчика. Для этого необходимо щелчком правой клавиши мыши по области рабочего поля, незанятой уже введенными элементами (в нашем примере такие пока отсутствуют), вызвать всплывающее меню. В появившемся меню выбираем пункт 'Enter Symbol' (ввод символа). Появляется диалоговое окно ввода символа. В поле 'Symbol Libraries' (библиотеки символов) выбираем директорий, содержащий нужную библиотеку символов. В качестве символа может выступать: примитив ('primitive') - отдельный элемент логических электрических схем (например логический вход или выход схемы, триггер, элемент, осуществляющий простую логическую функцию). В директории '...maxplus2\max2lib\prim' содержится стандартная библиотека примитивов, поставляемая вместе с программой MAX+PLUS II, макрофункция ('macrofunction') - стандартный высокоуровневый блок, реализующий какую-либо логическую функцию. В директории '...maxplus2\max21ib\mf' содержится стандартная библиотека макрофункций, поставляемая вместе с программой MAX+PLUS II. мегафункция ('megafunction') - сложный стандартный высокоуровневый блок, реализующий какую-либо логическую функцию. Мегафункция является более поздней разработкой фирмы Altera, чем макрофункция, и представляет собой ее развитие. В директории '...maxplus2\max2Iib\mega_lpm' содержится стандартная библиотека мегафункций, поставляемая вместе с MAX+PLUS II. Заметим, что помимо стандартных библиотек пользователь может использовать другие библиотеки, созданные самостоятельно или взятые из других источников. Подключить новую библиотеку можно с помощью пункта меню 'Орtions\User Libraries...', указав путь до директория с библиотекой. Для рассматриваемого примера потребуется символ Т-тригтера, который есть в библиотеке стандартных примитивов с названием 'tff'. Двойным щелчком мыши но каталогу с нужной библиотекой в списке имеющихся выберем библиотеку примитивов '...maxplus2\max2lib\prim'. В списке 'Symbol Files' появится список имен имеющихся примитивов. Выберем примитив с именем 'tff' двойным шелком мыши. В рабочем поле Графического редактора появится изображение выбранного примитива (аналогичный результат можно получить, выбрав пункт меню 'Symbol\Enter Symbol', который появляется в Главном меню при открытом окне Графического редактора). Правым щелчком мыши по изображению триггера вызовем всплывающее меню. Выбрав команду 'Сору', скопируем символ в буфер обмена. Вызвав всплывающее меню правее изображения триггера, вставим на свободное место новое изображение триггера из буфера обмена командой 'Paste'. Таким образом, необходимо получить изображение четырех триггеров и расположить их согласно рис. 1. Аналогичным образом получим три инвертора (примитив 'not' из той же библиотеки примитивов) и разместим их согласно рис. 1. Для построения счетчика потребуются также два вывода (ножки) ПЛИС в качестве входов и четыре в качестве выходов: Воспользуемся примитивами 'input' и 'output' соответственно из стандартной библиотеки примитивов. Расположите входы и выходы согласно рис. 1. Для назначения имен полученным выводам нужно щелчком правой кнопки мыши на надписи 'PIN_NAME' нужного вывода вызвать всплывающее меню и выбрать пункт 'Edit Pin Name'. Назовите входы 'CCount' и 'СЕn', а выходы - 'Q1', 'Q2', 'Q3' и 'Q4' (см. рис. 1.). Чтобы провести соединительные линии (логические связи) между выводами примитивов, надо поместить указатель мыши на один из соединяемых выводов, нажать правую кнопку мыши и тянуть новую линию до нужного места или до места соединения с выводом другого примитива, после чего отпустить кнопку мыши. Форма линии (горизонтально-вертикальная, диагональная, арка) задается кнопками на левой инструментальной панели, тип линии можно выбрать в меню 'Options\Line Style', где толстая линия служит для обозначения шин, а все остальные - для отдельных связей. Тип линии также может задаваться для уже существующей линии выбором пункта 'Line Style' из всплывающего меню после щелчка правой кнопкой мыши на этой линии. При соединении в одной точке трех тонких линий в месте соединения автоматически ставится жирная точка, обозначающая их физическое соединение, при пересечении двух тонких линий точка по умолчанию не ставится. В любом месте тонкой линии (в том числе, в месте ее пересечения или соединения с другой линией) можно поставить или убрать точку, включив или выключив опцию 'Toggle Connection Dot' на левой инструментальной панели либо во всплывающем меню при щелчке правой кнопкой мыши в нужном месте линии. Также следует обратить внимание на опцию 'Растягиваемые связи', которая включается и выключается пунктом меню 'Options\Rubbcrbanding', либо двумя кнопками на левой инструментальной панели. Это свойство линий позволяет перемещать отдельные примитивы друг относительно друга без разрыва уже существующих между ними связей. Отметим еще несколько интересных пунктов всплывающего меню для отдельных линий. 'Enter Node/Bus Name' - пункт позволяет ввести имя линии или шины. 'Fined Node Source' - этот пункт меню позволяет найти источник сигнала для отдельной линии. Причем, если источников оказывается несколько, то выделяется только самый верхний и правый на схеме, а остальные игнорируются. 'Fined Node Destination' - поиск приемника сигнала для отдельной линии. Также как и в предыдущем случае, выделяется самый верхний изображенный на схеме объект, подключенный к линии в качестве приемника сигнала. Две последних операции помогают проектировщику правильно ввести сложную схему. После того, как схема введена, необходимо сохранить полученный графический файл. MAX+PLUS II сохраняет файлы схем в формате GDF. Для этого нужно воспользоваться пунктами главного меню 'FiIe\Save' или 'File\Save As...'. При закрытии редактируемого файла система также предлагает произвести сохранение сделанных изменений. Сохраним файл под именем "exampl.gdf'. Таким же образом назовем и весь проект ('File\Project\Set Project to Current File'). 2.3. Символьный редактор Символьный редактор (меню 'MAX+PLUS II\Symbol Editor') предназначен для создания и редактирования символьных изображений отдельных примитивов, макро- и мегафункций, используемых для представления этих элементов в принципиальной схеме. Результатом работы редактора является .sym файл. На примере создания символа для проектируемого счетчика рассмотрим работу Символьного редактора. После запуска редактора в поле редактирования появляется прямоугольник, изображенный голубой линией. Он ограничивает площадь, занимаемую символом. Размеры прямоугольника изменяются мышью с курсором в виде стрелки методом 'перетаскивания' соответствующей боковой линии (задать вид курсора и тип операции можно с помощью левой панели инструментов, аналогичной панели Графического редактора). В самом начале работы в прямоугольнике присутствуют только название символа (по умолчанию -'SYM_NAME') и 'ключ' в виде кружка (цифра '0') в левом нижнем углу прямоугольника, необходимый для правильной ориентации изображения. Местоположение названия и 'ключа' может быть изменено методом 'перетаскивания'. Само название редактируется способами, описанными в Графическом редакторе. Одной из основных операций Символьного редактора является обозначение выводов элемента. Для этого необходимо дважды щелкнуть мышью (курсор в виде стрелки) на границе прямоугольника в месте предполагаемого размещения вывода. Появляется диалоговое окно 'Enter Pinstub' ('Введите параметры вывода'), содержащее следующие элементы: Full Pinstub Name - строка, в которую вводится полное имя вывода, соответствующее названию вывода элемента; Visible Pinstub Name - строка, содержащая имя вывода, отображаемое на изображении элемента (по умолчанию соответствует полному); I/O Туре - раздел, содержащий три 'RadioButton' и отображающий один из трех возможных типов вывода: Input Pin - входной сигнал; Output Pin - выходной сигнал; Bidirectional Pin - двунаправленный вывод; Default Status - две 'Radiobutton', показывающие используется этот вывод или нет (соответственно 'Used' или 'Unused'); Show Visible Pinstub Name in Graphic Editor - этот пункт определяет, будет ли отображаться визуализируемое имя вывода на изображении элемента в Графическом редакторе. Введенный таким образом вывод появляется на голубой линии в виде крестика с соответствующим именем. Щелчок правой кнопкой мыши на этом крестике вызывает всплывающее меню с пунктами 'Удаление' ('Delete') и 'Редактирование' ('Enter Pinstub'). Работа с изображениями и текстом аналогична соответствующим действиям в Графическом редакторе. Используя схему счетчика, изобразим все входные и выходные сигналы в виде выводов в соответствии с рис. 2. Для удобства восприятия к изображению добавляется внутренний прямоугольник (или любая другая фигура), обрамляющий внутренние названия выводов, и линии, обозначающие сами выводы. Сохраним полученное изображение под общим именем проекта, как 'exampl.sym' с помощью пункта Главного меню 'FiIe\Save As...'. 2.4. Язык проектирования AHDL и Текстовый редактор Альтернативой графическому вводу логической схемы проектируемого устройства является язык AHDL (Altera Hardware Description Language - Язык описания устройств фирмы Altera). Этот язык высокого уровня наиболее подходит для разработки сложной комбинаторной логики, операций над группами переменных, конечных автоматов, таблиц истинности и логики с параметрами. Создавать и редактировать файл текстового описания с расширением .tdf (Text Design File) можно в любом текстовом редакторе. Однако рекомендуется для этого использовать встроенный в MAX+PLUS II Текстовый редактор (Text Editor - запускается пунктом Главного меню 'MAX+PLUS II\Text Editor'), обладающий некоторыми специальными возможностями. Созданный .tdf содержит всю необходимую для Компилятора информацию о логической схеме устройства. Компилятор MAX+PLUS II также может генерировать файлы на языке AHDL: .tdx файлы (Text Design Export File) и .tdo файлы (Text Design Output File), которые могут быть сохранены как .tdf и использованы для преобразования и редактирования проекта. Помимо этого, на этапе компиляции выявляются и отображаются в Текстовом редакторе все найденные в .tdf файле ошибки. В рамках этих методических указаний невозможно полностью описать язык проектирования AHDL, поэтому ограничимся кратким описанием структуры файла. Более подробную информацию можно найти в файлах 'Справки', поставляемых с программой MAX+PLUS II. В структуру файла на языке AHDL могут входить следующие разделы: TITLE - Заголовок (для удобства работы проектировщиков); INCLUDE - Список подключаемых файлов (.inc файлы); CONSTANT - Перечень констант; DEFINE - Определение оценочных функций (>, <, =); PARAMETERS - Описание параметров мега- и макрофункций; FUNCTION - Прототипы используемых функций; ASSERT - Оператор контроля, проверяющий истинность любого выражения, использующего параметры, числа, оценочные функции, а также состояние порта (используется или не используется). За проверкой условия следует арифметическое выражение; SUBDESIGN - Секция, содержащая описание входных, выходных и двунаправленных выводов; VARIABLE - Секция описания переменных; BEGIN...END - Секция логики. Содержит описание логических операций, выполняемых устройством. Может включать следующие подразделы: DEFAULTS...END DEFAULTS - определение значений 'по умолчанию'; ASSERT - оператор контроля, аналогичный ранее описанному; Выражение 'алгебры логики'; Уравнение управления - логическое выражение, используемое для установки или сброса управляющих сигналов конечного автомата; CASE...IS...WHEN...{WHEN OTHERS}...END CASE - оператор условия; FOR...IN...TO...GENERATE...END GENERATE - оператор цикла; IF...GENERATE...{ELSE GENERATE}...END GENERATE - оператор условия по арифметическому выражению; IF...THEN...{ELSIF...THEN}...{ELSE}...END IF - оператор условия по логическому выражению; TABLE...=>... =>...END TABLE - таблица истинности; Строки комментариев начинаются с двойного тире '—'; Для ввода новых и корректировки существующих текстовых файлов в MAX+PLUS II предназначен Текстовый редактор (Text Editor - пункт 'MAX+PLUS II\ Text Editor' Главного меню). Помимо обычных для текстовых редакторов функций, он имеет некоторые дополнительные возможности: Цветовыделение. Эта опция включается/выключается выбором пункта Главного меню 'Options\Syntax Coloring' и позволяет выделять различными цветами разные синтаксические конструкции. Задать цвета для различных элементов языка можно в пункте Главного меню 'Options\Color Palette...'; Вставка каркасов конструкций языка. Существует возможность вставки в текст файла готового каркаса различных языковых конструкций. Помимо конструкций языка AHDL, можно воспользоваться конструкциями языка VHDL (язык для описания высокоскоростных интегральных схем) и конструкциями языка логической верификации (Verylog HDL). Вставка вызывается выбором соответствующего подпункта меню 'Templates' в Главного меню или во всплывающем меню при щелчке правой клавишей мыши. Поиск парного разделителя. Эта функция осуществляет поиск в тексте файла разделителя, парного выделенному (например, ключевое слово 'BEGIN', соответствующее выделенному 'END', или закрывающуюся скобку, соответствующую выбранной закрывающейся). Для этого надо выделить соответствующий элемент языка и выбрать команду 'Find Matching Delimiter' в пункте 'Utilities' Главного меню или во всплывающем меню. Поиск выделенного узла в Редакторе подложки или Графическом редакторе. Выделив в Текстовом редакторе имя узла, можно задать его поиск в Редакторе подложки или Графическом редакторе (окна которых открываются автоматически). Для реализации этой возможности нужно выделить имя узла и выбрать подпункт 'Fined Node in Floorpian...' или 'Fined Node in Design File...' в пункте 'Utilities' Главного меню. Также к выделенным узлам относятся функции установки настроек ('Assigne') и Временного анализа ('Timing Analysis'). 2.5. Компилятор Прежде, чем запускать Компилятор проекта (меню 'MAX+PLUS II \Compiler'), запустим Иерархический дисплей (меню 'MAX+PLUS II\Hierarchy Display'). Обратите внимание, что на этом этапе в рабочем поле Иерархического дисплея содержится только название проекта 'exampl' и значок графического файла, который впоследствии будет лежать в основе иерархии всего проекта. Теперь запустим Компилятор. Назначим семейство и тип ПЛИС соответственно 'CLASSIC и 'EP610ILC-10' (меню 'Assign\Device...'). Процесс компиляции запускается нажатием на кнопку 'Start' в окне Компилятора и состоит из нескольких последовательных этапов. Рассмотрим их в порядке следования. Экстрактор Списка Связей (Compiler Netlist Extractor) преобразует все базовые файлы проекта (файлы, имеющие расширения следующих типов: .adf, .edf, .gdf, .sch, .smf, .tdf, .v, .vhd, .wdf, .xnf) в отдельные двоичные .cnf файлы (Compiler Netlist File), с которыми впоследствии и работает Компилятор. Помимо этого создается .hif файл (Hierarchy Interconnect File), документирующий иерархические связи между отдельными файлами проекта. Во время своей работы Экстрактор Списка Связей проверяет файлы проекта на предмет ошибок типа двойных имен узлов (исключая связанные между собой выводы микросхемы). Построитель Базы Данных (Database Builder) интегрирует все отдельные файлы проекта, преобразованные на предыдущем шаге в двоичные .cnf файлы, в единую базу данных проекта, базируясь на информации об иерархии проекта в .hif файле. На этом этапе компиляции проверяется логическая законченность и последовательность проекта, выявляются синтаксические ошибки (например, узел без источника или приемника сигнала), Модуль Логического Синтеза или Логический Синтезатор (Logic Synthesizer) синтезирует логику проекта, используя базу данных, полученную на предыдущем этапе компиляции. Осуществляется минимизация и оптимизация логических функций в соответствии с выбранным типом ПЛИС и заданной стратегией минимизации. (Напомним, что настройка параметров минимизации осуществляется в пункте меню 'Assign\Global Project Logic Synthesis...'). Здесь выявляются ошибки типа недозволенных комбинаторных обратных связей и зашитых вместе выводов трехстабильных буферов. Распределитель ( |