Методы Изоляции элементов друг от друга в микросхемах 5 страница
Элементы
ввода-вывода
Рисунок 30 - Обобщенная структура CPLD гибкой логики
Блоки
Рисунок 31 - Обобщенная структура FPGA XC2000, XC3000, XC4000
По количеству перепрограммирований PLD можно также разделить на многократно программируемые и однократно программируемые (One Time Programmable - OTP) (рис.32). Большинство PLD (как однократно, так и многократно настраиваемые) программируются самим пользователем во время эксплуатации (field). Однако, если проект тщательно отлажен и изделие производится массовыми тиражами, в нем могут применяться масочно программируемые PLD, настройка которых выполняется при их изготовлении.
Рисунок 32 - Классификация программируемой логики по способу программирования
все SPLD, MAX FPGA
MACH FLASH
FLEX
Рисунок 33 - Классификация программируемой логики по времени прохождения сигнала
(задержки) с любого входа на любой выход
Еще одним важным критерием классификации PLD является предсказуемость задержки прохождения сигнала со входа на выход устройства (рис.33). Для всех SPLD и MACH-устройств задержка прохождения сигнала с любого входа на любой выход всегда постоянна. Поэтому при проектировании на этих устройствах можно не выполнять временное моделирование сигналов. Для MAX, FLASH и FLEX-устройств задержка переменная, но легко вычисляемая. Для FPGA задержка полностью зависит от пути, по которому проходит сигнал со входа на выход. При изменении трассировки межсоединений изменяются и задержки сигналов.
CPLD можно также разделять на устройства, требующие дополнительного оборудования для своего функционирования (FPGA, FLEX), и не требующие вспомогательного оборудования (все остальные CPLD и SPLD). Дополнительные устройства необходимы для выполнения начальной инициализации CPLD, настраиваемыми элементами которых являются статические ОЗУ. В качестве таких устройств могут выступать ОЗУ, ПЗУ, микроконтроллер, персональный компьютер и др.
В данном пункте были рассмотрены только основные способы классификации программируемой логики. Этот процесс можно было бы продолжить дальше, разделяя PLD на классы по степени обладания теми или иными свойствами. Но такая классификация мало полезна, поскольку свойств PLD достаточно много и часто микросхемы в пределах одного поколения и даже одной серии обладают различными свойствами. Поэтому ограничимся рассмотрением наиболее общих свойств, которые присущи различным PLD.
ОСНОВНЫЕ СВОЙСТВА PLD
PLD обладают рядом характерных особенностей, благодаря которым они получили такое широкое распространение и на сегодняшний день считаются наиболее перспективной элементной базой цифровых систем. Ограничимся простым перечислением основных свойств современных PLD, объединив их в следующие группы:
общие свойства PLD;
функциональные свойства PLD;
системные свойства PLD, имеющие значение при использовании PLD в составе цифровых систем;
свойства проектирования, проявляющиеся при разработке проекта.
Безусловно, абсолютно идеальной элементной базы не бывает, поэтому здесь
отмечаются и недостатки PLD.
Общие свойства PLD
Практически всем современным PLD присущи следующие общие свойства:
Низкая стоимость. Благодаря большим объемам производства, что обусловлено высоким спросом, стоимость PLD начинает приближаться к стоимости стандартных устройств.
Высокое быстродействие. Применение передовых технологий привело к снижению задержки прохождения сигнала через PLD до 3.5 ns и до 1 ns на один логический элемент для FPGA, что позволяет достигать частоты функционирования устройств до 250 MHz. Практически каждая микросхема PLD имеет несколько реализаций с градацией по быстродействию. Поэтому если высокое быстродействие не требуется, пользователь с целью экономии средств всегда может выбрать подходящую микросхему.
Высокая степень интеграции. PLD имеют достаточно регулярную структуру, что позволяет применять 0.5-микронную технологию и достигать до 100000 вентилей на кристалл, приближая их по степени интеграции к микросхемам памяти.
Функциональная мощность. Стандартные PLD могут заменять десятки корпусов “жесткой” логики, а сложные PLD - сотни корпусов “жесткой” логики, что позволяет реализовать на одной CPLD всю или некоторую часть цифровой системы, например, сопроцессор.
Универсальность. На одном и том же PLD можно строить различные функциональные узлы: комбинационные, регистровые, синхронные, асинхронные, арифметические и др.
Многократность программирования. В зависимости от технологии производства и типа настраиваемого элемента число перепрограммирований PLD может не ограничиваться или составлять 100 - 1000 раз. В то же время промышленностью выпускаются дешевые однократно настраиваемые и масочно программируемые PLD.
Высокий процент выхода годных изделий. Благодаря передовым технологиям и хорошей тестируемости PLD отличаются исключительной надежностью, что для большинства PLD выражается в 100% выходе годных изделий после программирования.
Защита информации от считывания. Все современные PLD имеют бит защиты, установка которого препятствует считыванию настройки PLD. Бит защиты сбрасывается только при перезаписи всей информации о настройке PLD.
Сброс регистров при включении питания. Это свойство позволяет однозначно определять начальное состояние скрытых элементов памяти при синтезе последовательностных устройств и отказаться от процедуры инициализации в начале работы устройства.
Предзагрузка регистров. В дополнение к свойству 9 PLD допускают предварительную загрузку внутренних регистров определенными значениями. Это позволяет осуществить процедуру инициализации последовательностных устройств путем перевода их в некоторое состояние. Однако на практике данное свойство чаще используется для тестирования PLD и проверки поведения устройства в запрещенных (illegal) состояниях с помощью программатора в процессе настройки PLD.
Совместимость по входам и выходам с TTL-логикой. Большинство PLD, выполненных по технологиям, отличным от TTL, остаются совместимыми с TTL-логикой по коэффициентам расширения входов и выходов, по уровням напряжений и др.
Разнообразие корпусов PLD. Одна и та же микросхема PLD может быть упакована в различные типы корпусов: штыревые - DIP, планарные - SOIC, PGA, PQFP, TQFP, J-lead и др. Следует, однако, заметить, что параметры одной и той же микросхемы в разных корпусах могут различаться (число логических входов и выходов, число внутренних регистров и т. д.).
Функциональные свойства PLD
Отметим некоторые наиболее общие функциональные свойства PLD, которые, в основном, определяются возможностями программируемых выходных макроячеек.
Все входы матрицы И являются парафазными. Сигналы, поступающие на вход матрицы И, как с внешних выводов, так и по цепям обратных связей, всегда представляются в прямом и инверсном значении. Это позволяет не заботиться о формировании сигнала определенной полярности.
Выходные макроячейки имеют цепи обратной связи с матрицей И. Практически все выходные макроячейки PLD имеют цепи обратной связи с матрицей И, причем некоторые PLD имеют по две обратные связи. Это позволяет, с одной стороны, более эффективно использовать возможности макроячеек (например, для реализации внутренней логики и для приема входных сигналов), а, с другой стороны, широко применять факторизационные методы синтеза.
PLD позволяют реализовать конъюнкции большого числа переменных. Для SPLD число переменных в конъюнкции ограничивается числом входов в матрицу И (даже для простейших SPLD это значение равняется 16). Некоторые CPLD для этой цели содержат специальные цепи каскадирования. После применения теоремы деМоргана это же свойство может применяться и для реализации дизъюнкции большого числа переменных.
Все выходы современных PLD имеют управляемый буфер с тремя состояниями. Этот буфер может использоваться как по своему прямому назначению - для отключения от внешней шины, так и для расширения возможностей PLD - использование двунаправленного вывода в качестве входа. Кроме того, благодаря тому, что управление буфером также программируется, каждый двунаправленный вывод PLD в один момент времени может использоваться в качестве входа, а в другой - в качестве выхода.
Программируемая полярность выходов. Большинство SPLD, а CPLD - все, позволяют программировать полярность каждого выхода: выходной сигнал может формироваться в прямой или инверсной логике.
Программирование регистрового или комбинационного выхода. Для большинства SPLD и всех CPLD выходная макроячейка содержит триггер для образования регистрового выхода (например, для синхронизации формируемых выходных сигналов). При необходимости триггер может обходиться для реализации комбинационного выхода.
Программирование типа запоминающего элемента. В случае регистрового выхода по умолчанию принимается D-триггер в качестве запоминающего элемента. Однако многие PLD позволяют программировать тип запоминающего элемента: D, T, JK, SR триггер или защелку.
Наличие отдельных входов для разрешения выходов OE и сигналов глобальной синхронизации триггеров CLK.
Перечисляемые ниже свойства присущи большинству, но не всем PLD.
Наличие в выходной макроячейке вентиля “Исключающее ИЛИ”. Для реализации определенных функций полезным является наличие в выходной макроячейке вентиля “Исключающее ИЛИ”.
Асинхронное управление каждым триггером. Для построения разнообразных асинхронных устройств имеется возможность программировать асинхронные сигналы установки (preset), сброса (reset) и синхронизации (clock) каждого триггера.
Асинхронное управление третьим состоянием каждого выхода.
Изменяемое число промежуточных шин (product terms), подключаемых к одной макроячейке.
Буферизация входных сигналов с помощью регистров или защелок.
Наличие нескольких входов для сигналов синхронизации и разрешения выходов.
Возможность выбора для каждого запоминающего элемента (триггера или защелки) сигнала синхронизации от любого внешнего вывода.
Возможность выбора для каждого выхода сигнала разрешения выхода от любого внешнего вывода.
Отметим некоторые специфические свойства отдельных CPLD.
Наличие схем быстрого переноса для эффективной реализации сумматоров и счетчиков (FLEX).
Наличие схем каскадирования для эффективной реализации логических функций большого числа переменных (FLEX).
Наличие арифметическо-логического устройства (АЛУ - ALU) в каждой макроячейке (XC7200).
Наличие внутреннего ОЗУ (FLEX, FLASH, FPGA).
Возможность подсоединения большого числа промежуточных шин матрицы И к одной макроячейке (MAX).
Наличие внутренней трехстабильной шины (XC4000).
Программное управление скоростью формирования выходного сигнала (MAX,
FLEX).
Следует, однако, отметить, что, с одной стороны, перечисленные свойства не охватывают всех функциональных возможностей современных PLD, а, с другой стороны, одновременно всеми свойствами не обладает ни одна PLD. Поэтому при рассмотрении вопроса о возможности применения некоторой микросхемы следует внимательно изучить ее характерные особенности.
Системные свойства PLD
Остановимся на рассмотрении свойств PLD, которые имеют важное значение при их использовании в составе цифровой системы.
Наличие бита Turbo. Бит Turbo устанавливается во время программирования. При значении бита Turbo ON обеспечивается максимальное быстродействие PLD при номинальной потребляемой мощности. При значении бита Turbo OFF обеспечивается минимальная потребляемая мощность PLD при номинальном быстродействии.
Режим пониженного энергопотребления. Некоторые PLD имеют независимый от бита Turbo режим пониженного энергопотребления. При программировании этого режима обеспечивается исключительно низкий ток потребления на низких частотах функционирования устройства. Режим пониженного энергопотребления может программироваться для всего устройства, для отдельных PAL-блоков и даже для каждой отдельной макроячейки.
Наличие нескольких бит защиты. Отдельные PLD не ограничиваются одним битом защиты от считывания информации о настройке, а имеют несколько таких бит для повышения степени защиты информации.
Возможность перенастройки во время функционирования системы. CPLD, в которых в качестве настраиваемых элементов используются SRAM, программируются при каждом включении питания. Время программирования составляет менее, чем 100 ms. При необходимости перенастройку CPLD можно осуществлять и во время функционирования всей системы, что позволяет строить различные адаптивные системы.
5.0- или 3.3- вольтное функционирование. Некоторые CPLD могут настраиваться на 5.0 или 3.3 вольтное значение входных и выходных сигналов. Отдельные CPLD допускают подобную настройку для каждого вывода.
Поддержка стандарта JTAG (Joint Test Action Group). CPLD, поддерживающие JTAG-стандарт, позволяют выполнять тестирование методом граничного сканирования (Boundary-Scan Testing - BST) в соответствии с требованиями IEEE Std. 1149.1-1990, перенастройку в схеме (In-Circuit Reconfigurability - ICR) и программирование в системе (In-System Programmability - ISP).
Поддержка стандарта PCI (Peripheral Component Interconnect - PCI).
Программирование режима пониженного “шума” формируемых выходных сигналов. При включении данного режима несколько снижается быстродействие устройства, однако формируемые выходные сигналы отличаются исключительной “чистотой”, что позволяет не применять специальные системные средства для понижения шумов формируемых сигналов. Отдельные CPLD позволяют программировать этот режим для каждого вывода.
Свойства проектирования
Одной из главных причин широкого применения PLD является удобство их применения. Это стало возможным благодаря ряду специфических свойств.
Малое время проектирования. Например, после разработки проекта средней сложности на концептуальном уровне, время ввода проекта может составить менее одного часа, синтез - 5-30 минут, моделирование - около двух часов и программирование - 2 минуты. В результате общее время разработки проекта на PLD составляет около 3.5 часов.
Наличие развитых программных и аппаратных средств проектирования на основе PLD. Имеющиеся программные средства проектирования удовлетворяют очень широкому кругу пользователей. Они могут быть дорогими (с широкими возможностями) и дешевыми (с ограниченными возможностями); ориентированными для использования на рабочих станциях и на простейших персональных компьютерах; предоставляющие широкий перечень решаемых проектных задач и решающие только отдельные специфические задачи и т.д.
Аналогично производителями предлагается широкий набор аппаратных средств для проектирования на основе PLD: от простейших пользовательских программаторов, ориентированных на ограниченную номенклатуру PLD одной фирмы, до универсальных высокопроизводительных промышленных программирующих систем, позволяющих выполнять операцию настройки PLD без участия человека.
Простота разработки проекта на основе PLD. Для разработки проекта на основе PLD достаточно описать его функционирование на одном из входных языков используемого программного средства, выполнить автоматизированный синтез (компиляцию), произвести функциональное и/или временное моделирование и настроить PLD с помощью программатора.
Простота внесения в проект изменений. Изменения в проект на основе PLD вносятся исключительно просто: для этого достаточно перепрограммировать PLD.
Упрощается этап конструкторского проектирования. Это достигается за счет:
уменьшения числа корпусов системы;
уменьшения числа внешних соединений;
упрощения разводки схемы, поскольку большинство выводов PLD можно считать логически эквивалентными между собой.
Повышается надежность системы. Кроме уменьшения числа корпусов и внешних соединений, повышению надежности проектов способствует улучшенное функциональное и временное моделирование PLD. Более того, PLD, поддерживающие JTAG-стандарт, могут включаться в общую цепочку проекта для тестирования элементов схемы по JTAG- стандарту.
Упрощается отладка проекта. В процессе проектирования каждая отдельная микросхема PLD может тестироваться как на логическом уровне с помощью программного обеспечения, так и на физическом уровне с помощью программатора. Некоторые программаторы позволяют тестировать PLD в реальном масштабе времени, т.е. на рабочей частоте устройства.
Отладка всего проекта в целом упрощается за счет поддержки большинством CPLD JTAG-стандарта, причем в цепочку граничного сканирования могут включаться произвольные элементы (не обязательно PLD).
Многообразие способов ввода проекта. Современные программные средства проектирования на основе PLD предлагают следующие способы ввода проекта:
текстовый (заданием таблицы истинности, описанием функционирования конечного автомата, на языке VHDL и др.)
схемный;
в виде временной диаграммы;
Кроме того, в одном проекте допускается сочетание разнообразных способов ввода, возможно также иерархическое описание проекта.
Многообразие методов синтеза. В современных программных средствах проектирования на основе PLD реализовано большое количество различных методов синтеза. Это методы минимизации булевых функций, библиотеки параметризированных функциональных блоков, а также методы декомпозиции сложных проектов на отдельные PAL-блоки.
Многообразие методов моделирования и тестирования. Реализованные в программных средствах методы моделирования позволяют выполнять функциональное и временное моделирование; выявление в CPLD путей сигналов, критичных к скорости формирования; автоматическое формирование тестовых последовательностей для тестирования в JTAG-стандарте и др.
Разнообразие способов программирования. PLD могут настраиваться и тестироваться с помощью программатора, непосредственно на плате во время инициализации системы, перенастраиваться в процессе функционирования системы.
Недостатки PLD
Отметим некоторые недостатки и ограничения использования, характерные для современных PLD.
SPLD имеют относительно небольшое число промежуточных шин, связанных с одним выходом (макроячейкой).
PLD имеют ограниченное время хранения записанной информации (настройки). Обычно гарантированное время сохранения настройки составляет 20 лет.
Невозможность использования в средах с повышенным излучением (радиационным, электромагнитным, ультрафиолетовым и др.).
ВЫБОР АРХИТЕКТУРЫ PLD
В настоящее время многими фирмами (Altera, AMD, Atmel, Intel, Texas Instruments, Xilinx и др.) выпускается большое разнообразие PLD. Поэтому выбор подходящей архитектуры является далеко не тривиальной задачей. Эта проблема становится особенно важной, когда приходится выбирать PLD в качестве элементной базы длительного пользования (на несколько лет). Здесь приходится учитывать большое разнообразие различных факторов, зачастую противоречивых. В данном параграфе предпринята попытка определить основные критерии, которыми следует руководствоваться при выборе подходящей архитектуры PLD.
В технической документации практически всех производителей PLD описываются методики выбора микросхемы с требуемой архитектурой. К сожалению, все эти методики касаются изделий только одной конкретной фирмы, а на рынке, как правило, имеются PLD нескольких различных фирм. С другой стороны, сравнение общих параметров PLD различных производителей, таких как число выводов, регистров, быстродействие, стоимость и др., обычно не позволяет сделать определенный выбор, поскольку эти параметры для большинства микросхем одинаковы. Поэтому выбор элементной базы следует делать исходя из более специфичных особенностей проекта и возможностей PLD удовлетворения этим особенностям.
Дело в том, что современные PLD обладают очень широкой гаммой возможностей и значительной функциональной мощностью, поэтому выбор более дорогой и сложной микросхемы, особенно последних поколений, позволяет удовлетворить практически всем требованиям проекта. Но это достигается не путем учета специфики проекта и выбора соответствующей архитектуры PLD, а путем черезмерного задействования ресурсов мощной PLD.
Прежде всего следует отнести проект к одному из следующих классов:
проект реализуется на одной PLD;
проект реализуется совокупностью однотипных PLD;
проект реализуется совокупностью разнотипных PLD;
проект реализуется совокупностью разнотипных PLD с использованием других микросхем.
В первом случае выбор PLD особых проблем не вызывает, главное, чтобы функциональной мощности PLD хватило для реализации всего проекта. Во втором случае главным критерием выбора PLD является минимизация общего числа корпусов схемы и минимизация числа связей между ними. В третьем случае кроме минимизации элементов и числа связей между ними необходимо предусмотреть согласование всех элементов системы между собой по уровням напряжений сигналов, нагрузочных способностей и др. Для этого лучше всего использовать микросхемы одной и той же фирмы, изготовленные по одинаковой технологии. В четвертом случае последнее требование выполнить едва ли возможно, поэтому вопросы согласования элементов между собой выступают на первое место.
Затем для каждой части проекта выбирается архитектура подходящей PLD. Главными критериями здесь являются:
функциональные особенности;
специфические требования;
системные требования;
стоимость.
При определении функциональных особенностей следует отметить следующие моменты:
преимущественная функциональная ориентация схемы (комбинационная или последовательностная, синхронная или асинхронная, арифметическая, функциональный узел, произвольная логика и т. д.);
сложность проекта (число входов, выходов, двунаправленных выводов, внутренних регистров и др.);
сложность реализуемых логических функций (число переменных, число различных элементарных конъюнкций в дизъюнктивной нормальной форме, допустимо ли скобочное представление функции, наличие общих фактор-функций, использование операции “Исключающее ИЛИ” и др.);
типы используемых триггеров;
необходимость буферизация входных и выходных сигналов;
требования к синхронизации регистров (число сигналов синхронизации, их характер);
требования к временной задержке формируемых выходных сигналов (постоянная, переменная, допустимая величина разброса и др.);
требования по быстродействию (минимальная величина задержки и максимальная частота функционирования).
Определение специфических требований заключается в ответе на следующие вопросы:
необходимы схемы быстрого переноса (для реализации сумматоров и счетчиков);
необходимы схемы каскадирования (для реализации функций большого числа переменных);
использование функциональных элементов типа памяти, АЛУ и др.
При определении системных требований указываются системные свойства, которым должна удовлетворять PLD, главными из которых являются:
уровни напряжений сигналов (5 или 3.3 вольта);
возможность перенастройки во время функционирования;
способ тестирования PLD и всего проекта в целом;
наличие специальных системных средств защиты от шумов (в случае их отсутствия и опасности появления шумов следует использовать возможности PLD по формированию “чистых” сигналов за счет потери быстродействия);
необходимость поддержки JTAG и PCI стандартов;
требования к потребляемой мощности и др.
При определении стоимости следует учитывать следующие моменты:
стоимость PLD;
для PLD, настраиваемыми элементами которых являются SRAM, стоимость дополнительного оборудования, устанавливаемого на плату (ПЗУ, ОЗУ, микропроцессор, микроконтроллер, разъем и др.);
стоимость программного и аппаратного обеспечения, необходимого для разработки проекта на данном типе PLD;
стоимость услуг сторонних организаций (проектирующих центров) в случае обращения к ним для разработки проекта;
стоимость сертификации и сопровождения проекта.
Отметим, что перечисленные характеристики частей проекта не охватывают всего разнообразия факторов, необходимость учета которых может возникнуть при выборе архитектуры PLD.
После определения всех или части перечисленных свойств проекта можно приступить к выбору подходящих микросхем PLD. Здесь можно руководствоваться следующими подходами:
все определенные свойства проекта (его части) должны покрываться возможностями PLD;
следует оставлять 20-40% ресурсов PLD для будущих корректировок и развития проекта;
в случае одинаковых функциональных возможностей желательно использовать PLD более поздних поколений (для предотвращения опасности прекращения выпуска микросхем более ранних поколений);
если разные части проекта требуют различных архитектур PLD, следует выбирать микросхемы, обладающие максимальным количеством общих свойств (это предоставляет возможность распределенной реализации частей проекта);
следует отдавать предпочтение CPLD и микросхемам с большей степенью интеграции, поскольку для них характерным является минимальная стоимость одного вентиля и внешнего вывода.
МЕТОДИКА ПРОЕКТИРОВАНИЯ НА ОСНОВЕ PLD
Методика проектирования на основе PLD включает в себя четыре основных последовательно выполняемых этапа:
ввод исходных данных для проектирования;
выполнение синтеза (компиляция) отдельных частей проекта и всего проекта в целом;
моделирование проекта;
программирование и тестирование PLD.
Приведенная методика носит общий характер и в ряде случаев может изменяться и корректироваться. Так, при реализации проекта на CPLD, обязательным этапом синтеза является подгонка (fitting) проекта, т.е. вложение скомпилированного проекта в заданную структуру CPLD.
В общем случае разработка сложных иерархических проектов на PLD ничем не отличается от известных подходов к проектированию цифровых систем. Здесь возможно проектирование как “сверху вниз”, так и “снизу вверх”, использование библиотек стандартных блоков и функциональных узлов, а также заимствование опыта предыдущих разработок.
Разработка проектов на PLD выполняется с помощью программных средств автоматизированного проектирования. Известные пакеты автоматизированного проектирования на PLD (PALASM, CUPL, ABEL) решают только задачи функциональнологического проектирования, а для решения задач конструкторского проектирования, как правило, имеют информационную связь (на уровне файлов) с соответствующими пакетами (OrCAD, P-CAD). С другой стороны, наличие схемного ввода некоторых пакетов (MAX+PLUSII, Synario) позволяет непосредственно вводить проекты, разработанные на элементах “жесткой” логики в системах конструкторского проектирования.
Остановимся более подробно на рассмотрении основных этапов методики проектирования на основе PLD.
Ввод проекта
Ввод проекта заключается в описании одним из способов машинного представления всех частей проекта. Различные пакеты имеют различные способы ввода, но наиболее распространенными являются следующие - текстовый, схемный и в виде временных диаграмм.
Текстовый ввод предполагает описание проекта (части проекта) на некотором исходном языке используемого программного средства в виде текстового файла. Наибольшее распространение получили языки исходного описания пакетов PALASM, CUPL и ABEL, которые с незначительными изменениями повторяются в других пакетах. Текстовый файл исходного описания проекта, как правило, включает заголовок, определение переменных и назначение им соответствующих выводов PLD, а также описание функционирования устройства в виде логических уравнений, алгоритма функционирования, таблицы истинности или конечного автомата. Иногда в исходный файл описания проекта включаются тестовые вектора для моделирования проекта.
Схемный ввод осуществляется с помощью графического редактора используемого программного средства. Для удобства ввода принципиальных схем больших проектов графический редактор, как правило, содержит библиотеки стандартных элементов жесткой логики (например, серии 74XX), а также библиотеку параметризированных функциональных узлов (вентилей, шифраторов, дешифраторов, мультиплексоров, демультиплексоров, триггеров, регистров, счетчиков и т.д.).
Ввод проекта в виде временной диаграммы осуществляется с помощью графического редактора. Вначале определяются переменные (сигналы) проекта, а затем описывается поведение устройства в виде временной диаграммы.
Некоторые пакеты поддерживают ввод проекта на языке VHDL и других языках проектирования (HDL, DDL и др.), но для этого, как правило, необходима дополнительная программа.
Отдельные пакеты также допускают ввод иерархических проектов, причем в одном проекте допускается сочетание разнообразных способов ввода. Сложный иерархический проект не обязательно сразу вводить целиком. Проект можно вводить и компилировать по ветвям дерева иерархии.
Синтез проекта
Автоматизированный синтез простых проектов фактически заключается в компиляции исходного описания проекта во внутреннее представление используемого программного средства (абсолютный файл) и/или JEDEC-файл для настройки PLD. В последующем абсолютный файл используется для моделирования. Многие пакеты также позволяют формировать файлы для связи проекта с другими пакетами функциональнологического и конструкторского проектирования. Задачи оптимизации, решаемые на этом этапе, сводятся к минимизации логических функций, управляющих выходными макроячейками PLD.