автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Методика формирования моделей цифровых устройств в САПР ПЛИС

кандидата технических наук
Лобачев, Глеб Александрович
город
Владимир
год
2004
специальность ВАК РФ
05.13.12
Диссертация по информатике, вычислительной технике и управлению на тему «Методика формирования моделей цифровых устройств в САПР ПЛИС»

Автореферат диссертации по теме "Методика формирования моделей цифровых устройств в САПР ПЛИС"

На правах рукописи

ЛОБАЧЕВ ГЛЕБ АЛЕКСАНДРОВИЧ

МЕТОДИКА ФОРМИРОВАНИЯ МОДЕЛЕЙ ЦИФРОВЫХ УСТРОЙСТВ

В САПР ПЛИС

Специальность: 05.13.12 -Системы автоматизации проектирования (промышленность)

Авт ореферат диссертации на соискание ученой степени кандидата технических наук

Владимир 2004

Работа выполнена на кафедре «Вычислительной техники» Владимирского государственного университета

Научный руководитель - доктор технических наук,

профессор В. Н. Ланцов

Официальные оппоненты:

- доктор технических наук, профессор И.Е. Жигалов

- кандидат технических наук, доцент А.Г. Долинин

Ведущая организация - ГУП ГМНТЦ «НАУКА» г.Москва

Зашита состоится «_»_г. в_на заседании

диссертационного совета Д212.025.01 в ауд. 211 корп. 1 Владимирского государственного университета по адресу: 600000, г. Владимир, ул. Горького, д. 87.

С диссертацией можно ознакомиться в библиотеке Владимирского государственного университета.

Автореферат разослан «_»_2004г.

Огзывы на автореферат в двух экземплярах, заверенные печатью, просьба направлять по адресу: 6000.00, г. Владимир, ул. Горького, 87, ученому секретарю совета.

Ученый секретарь диссертационного совета у?

доктор технических наук, профе ссор А¿я/утя^' Макаров Р.И.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

D настоящее время рынок программируемых логических интегральных микросхем (ПЛИС) является одним из наиболее динамично развивающихся. ПЛИС применяются в следующих приложениях:

• аппаратные макеты цифровых устройств;

• в случае мало серийного производства (сокращение сроков выхода на рынок по сравнению с применением заказных и полузаказных интегральных микросхем);

• появление новой технологии в системах связи - программно определяемое радио;

• появление новых классов устройств - реконфигурируемых вычислителей и т.д.

На современном уровне развития ПЛИС проектирование цифровых устройств в данном базисе трудно себе представить без применения средств САПР. При этом как САПР ПЛИС, так и любые другие САПР имеют ряд особенностей, выделяющие их из ряда прочих программных продуктов:

• объем систем проектирования (миллионы строк исходного кода на языках высокого уровня);

• наукоемкость программных продуктов. Предметными областями САПР, как правило, являются интенсивно развивающиеся отрасли науки и техники. При этом программное обеспечение выступает как инструмент исследования предметной области;

• длительность сроков разработки программного обеспечения. Сроки разработки, эксплуатации и модернизации отдельных продуктов составляют десятки лет.

При эгом надо отметить - программное обеспечение, применяемое при разработке цифровых устройств, быстро морально устаревает вследствие высоких темпов развития элементной базы, результатом ,чего, является необходимость его модернизации. Данное утверждение полностью правомерно и по отношению к САПР ПЛИС- Так, на данный момент,.в современных коммерческих САПР ПЛИС хорошо отработаны методы получения конфигурации ПЛИС по моделям устройств на уровне регистровых передач. Однако современные устройства ПЛИС обладают такой логической емкостью, что позволяют проектировать- целые системы на одном кристалле* и соответственно для проектирования систем необходимо применять средства проектирования на системном уровне. В настоящее время нет однозначной,-удовлетворяющей всех разработчиков аппаратуры методологии получения конфигурации ПЛИС по функциональной модели устройства на системном уровне.

Наиболее популярным подходом по решению данной проблемы является применение технологии IP-ядер (Intellectual property - Cores). IP-ядра - это

РОС. национальная!

БИБЛИОТЕКА I С Петербург ry/O | 03 I

готовые компоненты, позволяющие легко включать их в собст венный проект для создания более сложной системы. У данного подхода есть один существенный недостаток - привязанность IP-ядер к элементному базису. Каждое IP-ядро оптимизировано под конкретную серию микросхем конкретного производителя, что существенно ухудшает возможность переноса уже созданных устройств из одного элементного базиса в другой.

Закрытость архитектур коммерческих САПР делает невозможным добавление собственных функциональных моделей устройств на системном уровне для получения на их основе моделей устройства на уровне регистровых передач.

Другой популярный подход, позволяющий осуществить переход от функциональной модели на системном уровне к модели устройства на уровне регистровых передач - применение языков описания аппаратуры на системном уровне (SLDLs, system-level design - languages). К таким языкам относятся SystemC, Handel-C, Open Vera. Основным недостатком данного подхода является ограниченность групп алгоритмов, которые возможно применять для осуществления данного перехода, следствием чего является снижение качества получаемого решения (по сравнению с технологией IP-ядер). Однако его несомненным плюсом является независимость от аппаратного базиса, в котором будет реализовано устройство.

Таким' образом, с одной стороны, при применении технологии IP-ядер разработчик аппаратуры получает качественное решение, но жестко привязанное к аппаратному базису, в котором реализуется устройство. С другой стороны, при применении языков описания аппаратуры на системном уровне реализация устройства является аппаратно независимой, но при этом теряется качество получаемого решения (в сравнении с технологией IP-ядер). Из выше сказанного следует, что в настоящее время актуальным является решение задачи автоматизации перехода от функциональной модели устройства на системном-уровне к его модели на уровне регистровых передач и создание подсистемы САПР, открытой по отношению к модернизации и расширению, позволяющей решать данную задачу.

Целью работы' является исследование и развитие методов автоматизированного формирования моделей цифровых устройств на уровне регистровых передач по их функциональным моделям на системном уровне и разработка на их основе пакета прикладных программ, предназначенного для решения данной задачи.

Для достижения данной цели в работе ставятся и решаются следующие задачи:

1. Исследование современного процесса проектирования в САПР ПЛИС и элементного базиса ПЛИС, выявление наиболее перспективных классов устройств.

2. Исследование методик перехода от функциональных моделей на системном уровне к моделям на уровне регистровых передач, применяемых в современных системах САПР.

3. Разработка методики получения модели устройства на уровне регистровых передач по ее функциональной модели на системном уровне'в рамках подхода, основанного на представлении устройства в виде, иерархии аппаратно зависимых и аппаратно независимых примитивов.

4. Разработка лингвистического, информационного и программного обеспечения подсистемы САПР.

5. Разработка методики построения моделей аппаратно зависимых и аппаратно независимых примитивов.

Методы исследования. Для решения; поставленных задач в работе использовались методы: теории САПР, теории графов, теории множеств, теории компиляции.

Научная новизна работы. Новые научные результаты, полученные в работе, состоят в следующем:

1. Предложена методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач. ' ' '

2. Разработаны специализированные структуры данных, позволяющие получить аппаратно независимую иерархическую модель устройства.

3. Разработаны алгоритмы, позволяющие получать описание устройства на языке описания аппаратуры на основании его аппаратно независимой иерархической модели.

4. Разработана методика построения моделей аппаратно зависимых и аппаратно независимых примитивов.

Практическая ценность. Разработанные методики и алгоритмы нашли применение в разработанной подсистеме САПР ПЛИС, а также могут быть использованы при разработке программного обеспечения САПР • цифровых устройств. Открытость архитектуры подсистемы и возможность ее взаимодействия с другими САПР ПЛИС позволяют включать новые модули, а также разрабатывать собственные, специфические для задач пользователя.

Разработанное лингвистическое, информационное и программное обеспечение позволяет сократить временные и материальные затраты при проектировании цифровых устройств, без потери качества решения.

Имеется возможность переноса данной методологии на другие технологии изготовления цифровых микросхем — такие, как полузаказные ИС. '

Реализация и внедрение результатов работы. Работа по теме диссертации проводилась на кафедре ВТ ВлГУ в Центре микроэлектронного проектирования и обучения в рамках х/д НИР № 2757/02, 2783/02, 2876/03, ОКР №2874/03. Полученные результаты исследований. в виде методик и программного

обеспечения внедрены в в/ч 35533, а также в учебный процесс кафедры ВТ ВлГУ.

Апробация работы. Основные положения и результаты работы докладывались и обсуждались на следующих семинарах и конференциях: Международная научно-техническая конференция «Актуальные проблемы электронного приборостроения» (Саратов, 2000); Международная научно-техническая конференция «Современные информационные технологии» (Пенза, 2000);

Международная научно-практическая конференция «Микропроцессорные аналоговые и цифровые системы: проектирование и схемотехника, теория и вопросы применения» (Новочеркасск, 2001);

Международная научно-техническая конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies» (Владимир, 2002);

V международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир 2003); Международная научно-техническая Конференция

«Новые методологии проектирования изделий микроэлектроники» «New design methodologies», (Владимир, 2003);

4th Electronic Circuits and Systems Conference «Microelectronic and Microsystems Design» (Bratislava 2003);

International Scientific Conference «Informatics, Mathematical Modelling and Design in the Technics, Controlling and Education» (Vladimir, 2004); НТК профессорско-преподавательского состава ВлГУ (2001 -2004 гг.); Научно-практические семинары Центра микроэлектронного проектирования и обучения ВлГУ (2001 - 2004 гг.). На защиту выносятся:

1. Методика перехода от описания устройства в виде функциональной модели на системном уровне к описанию на уровне регистровых передач.

2. Алгоритмы, позволяющие получать описание устройства на языке описания аппаратуры на основании ею аппаратно независимой иерархической модели.

3. Методика построения моделей аппаратно зависимых и аппаратно независимых примитивов.

4. Лингвистическое, информационное и программное обеспечение разработанной подсистемы.

5. Результаты применения данной подсистемы > для построения цифровых многоканальных квадратурных разделителей.

Публикации по работе. По теме диссертации опубликовано >14 печатных работ, из них'одна - в материалах Европейской конференции. При этом проводился конкурс работ молодых ученых, данная работа была отмечена

вторым местом. Три статьи напечатаны в сборниках научных трудов и десять тезисов докладов в трудах Международных и Российских научно-технических конференций.

Структура работы. Диссертация состоит из введения, трех глав, заключения, списка литературы и приложений. Общий объем диссертации - 167 страницы, в том числе - 131 страница основного текста, 10 страниц списка литературы (98 наименований). Диссертация содержит 55 рисунков и 10 таблиц.

СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе диссертации приведен обзор современного рынка-ПЛИС. Определено место данного класса микросхем в общей классификации цифровых схем. Показано, что с точки зрения производителей, данные микросхемы являются стандартной продукцией, а конечные потребители могут применять их для решения своих специализированных задач, что обуславливает популярность ПЛИС в последние годы. Произведено сравнение характеристик ПЛИС ведущих мировых производителей.

Произведен обзор современных коммерческих САПР ПЛИС, в результате которого было выявлено, что в настоящий момент наиболее слабо разработана методика перехода от функциональной модели реализуемого устройства на системном уровне к его модели на уровне регистровых передач. На основании чего делается вывод о целесообразности развития данных методик.

Наиболее распространенным и популярным на данный момент подходом, решающим изложенную выше проблему, является проектирование устройств на основе IP-ядер. Этот подход реализован практически во всех современных системах САПР. Основным его недостатком является привязанность IP-ядер к конкретным семействам кристаллов, т.е. при необходимости смены аппаратного базиса возникает необходимость в получении новых IP-ядер, оптимизированных иод него, что существенно ухудшает переносимость устройств, созданных с применением данного подхода. К тому же в данном подходе сохраняется проблема связывания набора IP-ядер, входящих в состав устройства.

Так же в настоящее время ведутся активные разработки по получению описания схемы на уровне регистровых передач, исходя из ее описания на таких языках, как SystemC, Handel-C и др., которые относят к семейству SLDL (systemlevel design languages), т.е. на языках поведенческого описания приближенных к аппаратным. Однако набор алгоритмов, которые возможно перевести с SLDL языков на уровень регистровых передач, ограничивается группой линейных алюригмов, при этом наблюдается снижение качества получаемого решения.

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

В случае, если разрабатываемое устройство строится на основе данного множества, мы получаем, что»только лишь компоненты в него входящие являются зависимыми от конкретного базиса, в котором. будет реализовано устройство. Описание самого устройства опирается уже на данное множество примитивов, что делает его независимым от базиса, в котором оно будет реализовано. Также на основе данного множества можно реализовывать и аппаратно независимые Ш-ядра (см. Рис.1.).

Рис.1. Описание устройства на основе аппаратно зависимых и аппаратно независимых примитивов

В случае смены аппаратного базиса достаточно перенести в него множество аппаратно зависимых примитивов, при этом не трогая описания всего устройства в целом, что дает существенный, выигрыш данного подхода по сравнению с двумя предыдущими. Так получаемое в данном случае решение по качеству эквивалентно решению, получаемому при применении технологии Ш-ядер, при одновременной простоте переноса разработанного устройства. из одного элементного базиса в другой.

На основе проведенного анализа формулируется направление исследований, заключающееся в развитии методов перехода от представления разрабатываемого - устройства в виде функциональной модели на системном уровне к его модели на уровне регистровых передач. Ставятся задачи работы.

Во второй главе предлагается собственная методика получения модели устройства на уровне регистровых передач по его функциональной модели на системном уровне, а так же представлено лингвистическое, информационное и

программное обеспечение разработанной подсистемы САПР, реализующей данную методику.

Предлагаемая здесь методика основывается на представления цифрового устройства в виде иерархии аппаратно зависимых и аппаратно независимых примитивов. Для устройства строится иерархическое дерево, где каждая вершина описывает межсоединение элементов предыдущего уровня иерархии, а каждый лист дерева является аппаратно зависимым примитивом, который не под дается дальнейшей декомпозиции.

То есть изначально мы имеем дерево G-(X,rj, гдеЛГ^ множество вершин, Г-множество ребер. Множество вершин A, = 5,U/>> где £ - множество синтезируемых вершин, Sc sC $ - где множество всех возможных синтезируемых вершин. Р^Р1, где f* - множество всех компонентов, входящих в библиотеку аппаратно зависимых примитивов. Данное дерево описывает проектируемое устройство на системном уровне. Далее над ним выполняется операция структурного синтеза:

0 = (Х, П-^С-С*',!4) (О

В результате получается новое дерево G1, которое подставляется в функцию J(G'), определяющую все ли листья данного дерева являются элементами, множества Р*. Если нет, то мы повторно применяем выражение (1), только уже к дереву G1. В результате чего получаем новое дерево G3, являющееся результатом применения операции структурного синтеза к G'. Дерево G2 подставляется в функцию f(G2) и т.д., пока в результате применения функции fO не получим, что все листья дерева на n-ой итерации С являются элементами множества Я1. После чего можно утверждать, что процесс структурного синтеза устройства закончен.

Результатом структурного синтеза является дерево которое может обладать избыточной структурой, в связи с тем, что ряд вершин и листьев обладает одинаковыми параметрами. После выполнения над данным деревом операции оптимизации получим минимизированный граф устройства:

0'^Х\ТтУ-2^вшлш{Хят,Гят) (2)

На основании описания устройства в виде минимизированного графа

1 енерируется его описание на уровне регистровых передач.

Для реализации данной методики было разработано лингвистическое, информационное и программное обеспечение подсистемы САПР.

В данной работе в качестве языка программирования был выбран C+ + , т.к. на данный момент он является одним из наиболее мощных и универсальных средств программирования и поддерживается множеством аппаратных платформ.

В качестве входного языка подсистемы был разработан собственный язык описания объектов. В качестве идеологии, на основе которой разрабатывался данный язык, был выбран принцип описания объектов проектирования, применяемый в группе SPICE подобных языков. Данный язык позволяет описать

интерфейс проектируемого устройства, определить внутренние связи и состав устройства, параметры внутренних компонентов устройства, а также поддерживает описание устройства в виде набора подсхем, т.е. выполняет все требования, накладываемые на языки описания объектов. Пояснить данный язык удобнее всего на примере схемы представленной на рис.2., ее описание на входном языке представлено на рис.3.

Рис.2. Тестовая схема Подсхема А

При задании узлов подключения компонента используется позиционное назначение.

Для машинного представления схемы, описанной на входном языке, было разработано информационное обеспечение подсистемы САПР. Данное представление было решено реализовать в виде списочных структур, в основу был положен список компонентов, который содержит в себе информацию об обрабатываемой схеме, т.е. графовая модель схемы описывается в виде списочных структур. Представление графа в виде списка было решено реализовать в целях экономии памяти, к тому же при выполнении операции синтеза не используются матричные операции. Каждый элемент данного списка содержит информацию о соответствующей вершине графа устройства в виде набора следующих полей:

• имя компонента;

• путь сохранения на диске;

• имя модели;

• список портов;

• список используемых компонентов (т.к. возможно вложенное использование компонентов);

• список параметров компонента;

• список внутренних узлов компонента;

Применение данного списка позволило оптимизировать структуру

программы.

Описание схемы

Им.-)

комноненга

circuit Test {

port {

Dil in DI 2 in DI3 in DI4 in DO out CLK in

8;

8;

9;

9;

18;

1;)

Описание интерфейса

Узлы

подключения

Имя подсхемы/ модели

т

.А Dil, DI2, DI3, DI4, Li, L2, CLK Asubfl -S LI, L2, DO, CLK Summ;'

Описание подсхемы

)

model Summ = Summator

{Win0=16,Winl=18,Wo=18,OverflowClrl=off}

subcircuit Asub <

Описание используемых подсхем и -моделей

Объявление модели

port{ Dil in DI 2 in DI3 in DI4 in

8; 8; 9; 9;

D01 out 16; DO2 out 18; CLK in 1;) Mil Dil, DI2, D01, CLK MullJl Ml2 DI3, DI4, D02, CLK Mul2j~

Описание интерфейса

Описание используемых подсхем и моделей

model Mull = HWMul {Win0=8,Winl=8,Wo-16) model Mul2 - HWMul {WinO=9,Winl=9, Wo=18}

Объявление моделей

Рис. 3. Описание тестовой схемы на входном языке • На основе описанной выше методики и разработанного лингвистического и информационного обеспечения - был создан собственный' пакет прикладных программ (называемый Н\УУОО), являющийся' подсистемой САПР и позволяющий автоматизировать переход от описания устройства в виде модели на системном уровне к модели на уровне регистровых передач.

Данное программное обеспечение функционирует в консольном режиме, на вход системы подается файл с описанием устройства на входном языке, после работы получаем каталог ..\VHDL, в котором находится описание устройства на уровне регистровых передач в виде набора файлов.-

В качестве выходного языка системы был выбран УЬЮЬ в связи с тем, что на данный момент он является общепринятым стандартом и поддерживается всеми ведущими производителями коммерческих систем САПР.'

Разработанное ПО может функционировать под управлением операционных систем семейства Windows, на компьютерах не ниже Pentium, с объемом оперативной памяти не менее 32МБайт, объем свободною дискового пространства должен быть не менее 10 Мбайт.

Функционирование программного обеспечения можно изложить следующим образом; на основе текстового описания • после синтаксического анализа формируется список компонентов схемы. При формировании данного списка используются примитивы из библиотеки апнаратно независимых примитивов. Далее происходит проверка построенного списка компонентов на соответствие разрядностей и полноту структуры (для всех компонентов должно присутствовать описание и все примитивы должны присутствовать в библиотеках). Далее на основе полученного списка происходит генерация VHDL-кода системы.

При генерации VHDL-кода генерируется три типа модулей. Первый тип модулей предназначен только для связывания' компонентов между собой, определяя тем самым структуру схемы. Данный тип модулей генерируется по списку компонентов схемы ядром системы. Второй тип модулей генерируется библиотекой аппаратно зависимых примитивов. В данных модулях отражаются поведенческие характеристики компонентов. Необходимо отметить, что модули второго типа могут быть параметризованы, например, для аппаратно зависимого примитива сумматора, могут быть заданы разрядности входных и выходных данных. Третий тип модулей представляет собой компоненты пользователя, т.е. те VHDL файлы, которые созданы пользователем и которые он бы хотел включить в проект. Полное VHDL-описание схемы получается при объединении VHDL описаний модулей первого, второю и третьего типа.

Архитектура подсистемы САПР приведена на Рис.4. В приведённой схеме необходимо пояснить способ вызова аппаратно независимых примитивов. Особенность аппаратно независимых примитивов состоит в том, что их описание возвращается в ядро подсистемы либо в виде текстовою описания на входном языке, либо в виде списка компонентов, при этом приходится снова обращаться к функциям ядра, для того чтобы получить VHDL описание этого аппаратно независимого примитива. Данное обращение на рисунке показано пунктирной стрелкой. Реализация генерации VHDL-кода для анпаратно независимого примитива выполнена с помощью рекурсивных вызовов функций ядра. Такой подход позволяет создавать аппаратно независимые примитивы, которые могут использовать другие аппаратно независимые примитивы, что позволяет создавать компоненты на любом уровне иерархии.

Для создания библиотек аппаратно зависимых и аппаратно независимых примитивов была выбрана концепция динамически подключаемых библиотек (DLL - Dynamic Link Library). Такой подход позволяет создавать примитивы на любом языке, будь то Pascal, C++, Visual Basic и т.д.

Рис.4. Архитектура подсистемы САПР Каждая библиотека содержит в себе две функции:

• функция генерации интерфейса примитива по списку параметров (Inter faceGenerator);

• функция генерации описания примитива по списку параметров (PrimitiveGenerator).

D процессе разработки подсистемы САПР была выработана обобщенная методика и рекомендации по созданию аппаратно зависимых и аппаратно независимых примитивов (см. рис.5),

Далее приведем рекомендации по созданию аппаратно независимых и аппаратно зависимых примитивов:

1. Перед генерацией интерфейса компонента необходимо очистить список портов, что позволит вызывать функцию генерации интерфейса компонента неограниченное число раз.

2. Имена всех подключаемых в нем компонентов должны формироваться из суммы имен: Имя_Генерируемого_Примитива + Имя_Компонента, что позволит избежать дублирования имен и случайного совпадения имен компонентов, задаваемых пользователями с именами компонентов генерируемых программно.

3. В случае, если примитив разворачивается в подсхему имя генерируемой подсхемы должно совпадать с именем примитива.

4. В функции, генерирующей подсхему, возможно подключать компоненты, которые также развернутся в подсхемы

Таким образом, методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач при применении разработанной подсистемы САПР может быть представлена в виде следующей последовательности шагов:

1. Получение и верификация функциональной модели устройства на системном уровне при помощи САПР сторонних фирм.

2. Создание данной модели на входном языке подсистемы.

3. Запуск подсистемы, если возникает необходимость исправление ошибок во входном описании модели.

4. Получение VHDL описания устройства на уровне регистровых передач.

5. Получение конфигурации устройства по его VHDL описанию при помощи САПР сторонних фирм.

Третья глава посвящена исследованию разработанной подсистемы САПР на ряде тестовых схем, а также приводятся результаты применения данной подсистемы для построения цифровых многоканальных квадратурных разделителей.

Отладка разработанных алгоритмов и программного обеспечения проводилась на примере схемы представленной на рис.2. Данная схема была выбрана в связи с ее простотой и одновременным присутствием в ней почти всех конструкций, описание которых предусмотрено входным языком. Работоспособность сгенерированного VHDL описания устройства проверялась при помощи функционального моделирования в среде ModelSim SE 5.6d. В результате чего были получены временные диаграммы, свидетельствующие о корректной работе сгенерированного VHDL описания.

Далее проводилось тестирование оптимальности получаемого VHDL описания. В качестве эталона, с которым производилось сравнение, был взят фильтр, с конечной импульсной характеристикой, имеющий 52 отвода. Данное устройство было сгенерированно при помощи Xilinx CORE Generator 6.1L Ниже приведены результаты размещения данного устройства в микросхеме xc2v3000-5.

Начало

Рис.5. Обобщенная методика создания аппаратно зависимых и аппаратно независимых примитивов

_Таблица I

Ресурс Всего Занято Процент

Триггеры 28672 2762 9%

Функциональные генераторы (LUT) 28672 1705 5%

Slises 14336 1493 10%

При этом максимальная частота функционирования устройства - ] 04МГц

Также данное устройство было реализовано при помощи - разработанной подсистемы САПР. Результаты размещения данного устройства в микросхеме хс2у3000-5 представлены в ниже следующей таблице.

Таблица 2

Ресурс Всего Занято Процент

Триггеры 28672 1325 4%

Функциональные генераторы (LUT) 28672 1532 5%

Slises 14336 • 833 5%

При этом максимальная частота функционирования устройства - 101.5МГц

Видно, что результаты размещения данного устройства при применении разработанной подсистемы по таким параметрам, как количество занимаемых триггеров и Slises почти в два раза превосходят результаты, полученные при применении Xilinx CORE Generator 6.1i При этом проигрыш по максимальной частоте функционирования устройства незначителен.

Правильность функционирования данного фильтра определялась посредством функционального моделирования спроектированного устройства в среде ModelSim SE 5.6d. и сравнения результатов моделирования с результатами, рассчитанными аналитически. В результате проведенного эксперимента была доказана работоспособность данного устройства.

Разработанная подсистема применялась при выполнении ОКР при реализации 8-ми канального квадратурного разделителя. Широкополосный входной сигнал оцифровывался на частоте 73,728 МГц. Далее вся обработка выполнялась в цифровой форме. Из входного сигнала при помощи квадратурного разделения выделялось восемь частотных каналов (16 квадратурных составляющих), которые проходили через пять каскадов децимйрующих фильтров. В результате на выходе после демодуляции получали 8 каналов с данными, на каждом из которых данные идут на частоте 4,608 МГц. Данное устройство- занимает 50% кристалла XC2V3000 и может функционировать на частоте до 81 МГц. Применение разработанной подсистемы для выполнения поставленной задачи позволило в несколько раз сократить временные затраты по сравнению с ручным проектированием.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ 1. Проведено исследование состояния в области современных САПР цифровых устройств, в ходе которого была установлена недостаточная проработанность методов перехода от представления устройства в виде модели на системном уровне к его модели на уровне регистровых передач. Также в силу постоянного развития современной элементной базы создаваемые САПР

должны обладать гибкостью и открытостью, что нельзя сказа гь о большинстве современных коммерческих САПР.

2. Проведен обзор современной элементной базы ПЛИС, в ходе которого были выявлены классы микросхем наиболее перспективных для применения в современных устройствах.

3. Реализована подсистема САПР, позволяющая автоматизировать переход от представления устройства в виде функциональной модели на системном уровне к его модели на уровне регистровых передач. Данная подсистема основана на открытой архитектуре и представляет собой совокупность программных модулей, написанных на языке C++, что позволяет достичь легкой переносимости данной подсистемы между различными платформами.

4. Предложена и реализована методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач. Для чего разработано лингвистическое, информационное и программное обеспечение подсистемы САПР предназначенное для применения данной методики.

5. Разработаны алгоритмы, объединенные в ядро подсистемы САПР, позволяющие реализовать иерархические устройства независимые от выбора аппаратного базиса.

6. Разработано и внедрено информационное обеспечение подсистемы САПР, позволяющее получать аппаратно независимую модель устройства.

7. Разработана обобщенная методика создания моделей аппаратно зависимых и аппаратно независимых, примитивов, а также выработаны рекомендации, позволяющие избежать ошибки, возникающие в процессе создания примитивов, что в сумме ускоряет процесс их разработки.

8. Приведено исследование предложенных методик и программного обеспечения на примерах, применявшихся на практике устройств, для которых предлагаемая подсистема САПР формирует VHDL описание на уровне регистровых передач по описанию данных устройств в виде функциональных моделей на системном уровне. Это существенно уменьшает время, затрачиваемое на разработку данных устройств.

ПУБЛИКАЦИИ ПО РАБОТЕ

1. P. Plotnikov, G. Lobachev, Cömpaiison XILINX and ALTERA FPGAs // in Proceedings of International Scientific Conference Informatics, Mathematical Modelling and Design in the Technics, Controlling and Education (IMMD'2004), Vladimir, 2004. p. 137-139.

2. Lobachev G.A., Plotnikiv P.V. Computer-Aided Design Subsystem of Multichannel Quadrature Delimiters on XILINX FPGA // Microelectronic and Microsystems Design - REASON Student Contest 4Ш Electronic Circuits and Systems Conference. Bratislava, Slovakia 2003. p. 19-20.

3. Лобачев ГА., Плотников П.В. Архитектура подсистемы САПР устройств обработки сигналов // Новые методологии проектирования изделий

микроэлектроники: материалы международной научно-технической конференции, Владимир, 2003. - С. 29 - 36.

4. Лобачев ГА. Сравнение характеристик 11ЛИС Xilinx и ALTERA // Новые методологии проектирования изделий микроэлектроники: материалы международной научно-технической конференции, Владимир, 2003. - С. 36 - 39.

5. Лобачев Г.А., Плотников П.В. Подсистема САПР устройств обработки сигналов // Обработка информации: методы и системы /Под ред. С.С. Садыкова - М: Горячая линия - Телеком, 2003.- С. 188-194.

6. Лобачев Г.А., Плотников П.В. Автоматизированная подсистема проектирования многоканальных квадратурных разделителей в базисе ПЛИС фирмы Xilinx // Перспективные технологии в средствах передачи информации: Материалы 5-й международной научно-технической конференции. - Владимир: Связьоценка, 2003. - С. 282 - 286.

7. Калыгина Л.А., Лобачев ГА Реализация цифрового демодулятора FM сигналов в базисе ПЛИС фирмы Xilinx // Сборник научных статей - Ташкент: НПО «Кибернетика» АН РУз, 2002.

8. Калыгина Л.А., Лобачев ГА. Реализация цифрового демодулятора FM сигналов в базисе ПЛИС фирмы Xilinx// Данные информация и их обработка: Сборник научных статей/Под ред. С.С. Садыкова, Д.Е. Андрианова - М.: Горячая линия - Телеком, 2002. - С. 219 - 224.

9. Лобачев Г.А., Плотников П.В., Коблов Е.Б. Реализация блока согласованных фильтров в базисе ПЛИС фирмы Xilinx // Новые методологии проектирования изделий микроэлектроники: материалы международной научно-технической конференции, Владимир, 2002. - С. 25 -29.

Ю.Маскеев СВ., Лобачев Г.А. Сравнение методов гармонического баланса // Микропроцессорные аналоговые и цифровые системы: проектирование и схемотехника, теория и вопросы применения: материалы международной научно-практической конференции, Новочеркасск, 2001, часть 2. - С.45 - 46.

П.Ланцов В.Н., Лобачев Г.А. Алгоритм модифицированною метода ГБ для задач проектирования электронных устройств // Актуальные проблемы электронного приборостроения: труды межд. НТК, 2000, Саратов. - С. 303 - 306.

12.Ланцов В.Н., Лобачев ГА, Маскеев СВ. Математические модели метода гармоничесого баланса // Совреенные информационные технологии: труды межд. НТК, Пенза, 2000. - С 5 - 7.

13. Маскеев СВ., Лобачев ГА Анализ схем с помощью метода гармонического баланса // Всероссийская НТК студентов и аспирантов, Пермь, 2000.-С 57-59.

Н.Мосин С.Г., Рудаков О.В., Лобачев ГА Подсистема анализа аналоговых и смешанных интегральных схем // Конверсия, приборостроение, медицинская техника: Материалы Международной научно-технической конференции. -Владимир: ВлГУ, 1999.-С 133-135.

ЛР № 020275. Подписано в печать 24.05.04. Формат 60x84/16. Бумага для множит, техники. Гарнитура Тайме. Печать на ризографе. Усл. печ. л. 0,93. Уч.-изд. л. 0,97. Тираж 100 экз.

Заказ 192,2004 Редакционно-издатсльский комплекс Владимирского государственно! о университета. 600000, Владимир, ул. Горького, 87.

IM 3 446

Оглавление автор диссертации — кандидата технических наук Лобачев, Глеб Александрович

СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ. л Введение.

1. Обзор состояния современной элементной базы и САПР ПЛИС.

1.1. Обзор элементной базы цифровых устройств.

1.1.1. Классификация цифровых интегральных микросхем.

1.1.2. Классификация логических микросхем программируемой логики.

1.1.3. Сравнение характеристик ПЛИС Xilinx и ALTERA.

1.1.4. Достоинства и недостатки ПЛИС.

1.2. Обзор современных систем автоматизированного проектирования цифровых устройств в базисе ПЛИС.

1.2.1. САПР фирмы ALTERA.

1.2.2. САПР фирмы Xilinx.

1.2.3. САПР фирмы Cadence.

1.2.4. САПР фирмы Mentor Graphics.

1.2.5. САПР фирмы Synopsys.

1.2.6. САПР фирмы Agilent Technologies.

1.2.7. Маршрут проектирования цифровых устройств в базисе ПЛИС.

1.2.8. Обзор методов получения описания устройства на уровне регистровых передач по его функциональной модели на системном уровне.

1.3. Цель и постановка задачи исследований.

1.4. Выводы.

• 2. Разработка лингвистического, информационного и программного обеспечения подсистемы САПР.

2.1. Методика получения модели устройства на уровне регистровых передач по его модели на системном уровне.

2.2. Лингвистическое обеспечение.

2.3. Информационное обеспечение.

2.3.1. Текстовое описание.

2.3.2. Список лексем.

2.3.3. Список компонентов.

2.3.4. Описание порта.

2.3.5. Описание параметра.

2.3.6. Описание внутреннего узла.

2.3.7. Описание точки подключения порта модуля.

2.3.8. Описание модуля.

2.3.9. Описание компонента.

2.4. Программное обеспечение.

2.4.1. Взаимосвязи модулей подсистемы САПР.

2.4.2. Алгоритм функционирования ядра подсистемы.

2.4.3. Алгоритмы, применяемые в библиотеках примитивов.

2.4.4. Библиотека аппаратно зависимых примитивов.

2.4.5. Библиотека аппаратно независимых примитивов.

2.4.6. Спецификации функций используемых в библиотеках примитивов.

2.4.7. Аппаратно зависимые примитивы.

2.4.8. Аппаратно независимые примитивы.

2.5. Выводы.

Исследование и внедрение подсистемы САПР цифровых устройств в базисе ПЛИС.

3.1. Выполнение тестовых мероприятий по проверке работоспособности разработанного программного обеспечения.

3.2. Сравнение с коммерческой системой САПР.

3.3. Внедрение разработанного программного обеспечения.

3.4. Выводы.

Введение 2004 год, диссертация по информатике, вычислительной технике и управлению, Лобачев, Глеб Александрович

В настоящее время рынок программируемых логических интегральных микросхем (ПЛИС) является одним из наиболее динамично развивающихся. ПЛИС применяются в следующих приложениях:

• аппаратные макеты цифровых устройств;

• в случае мало серийного производства (сокращение сроков выхода на рынок по сравнению с применением заказных и полузаказных интегральных микросхем);

• появление новой технологии в системах связи - программно определяемое радио;

• появление новых классов устройств - реконфигурируемых вычислителей и т.д.

На современном уровне развития ПЛИС проектирование цифровых устройств в данном базисе трудно себе представить без применения средств САПР. При этом как САПР ПЛИС, так и любые другие САПР имеют ряд особенностей, выделяющие их из ряда прочих программных продуктов[14]:

• объем систем проектирования (миллионы строк исходного кода на языках высокого уровня);

• наукоемкость программных продуктов. Предметными областями САПР, как правило, являются интенсивно развивающиеся отрасли науки и техники. При этом программное обеспечение выступает как инструмент исследования предметной области;

• длительность сроков разработки программного обеспечения. Сроки разработки, эксплуатации и модернизации отдельных продуктов составляют десятки лет.

При этом надо отметить - программное обеспечение, применяемое при разработке цифровых устройств, быстро морально устаревает вследствие высоких темпов развития элементной базы, результатом чего является необходимость его модернизации. Данное утверждение полностью правомерно и по отношению к САПР ПЛИС. Так, на данный момент, в современных коммерческих САПР ПЛИС хорошо отработаны методы получения конфигурации ПЛИС по моделям устройств на уровне регистровых передач. Однако современные устройства ПЛИС обладают такой логической емкостью, что позволяют проектировать целые системы на одном кристалле, и соответственно для проектирования систем необходимо применять средства проектирования на системном уровне. В настоящее время нет однозначной, удовлетворяющей всех разработчиков аппаратуры методологии получения конфигурации ПЛИС по функциональной модели устройства на системном уровне.

Наиболее популярным подходом по решению данной проблемы является применение технологии IP-ядер (Intellectual property - Cores). IP-ядра - это готовые компоненты, позволяющие легко включать их в собственный проект для создания более сложной системы. У данного подхода есть один существенный недостаток - привязанность IP-ядер к элементному базису. Каждое IP-ядро оптимизировано под конкретную серию микросхем конкретного производителя, что существенно ухудшает возможность переноса уже созданных устройств из одного элементного базиса в другой[33,90].

Закрытость архитектур коммерческих САПР делает невозможным добавление собственных функциональных моделей устройств на системном уровне для получения на их основе моделей устройства на уровне регистровых передач.

Другой популярный подход, позволяющий осуществить переход от функциональной модели на системном уровне к модели устройства на уровне регистровых передач — применение языков описания аппаратуры на системном уровне (SLDLs, system-level design languages). К таким языкам относятся SystemC, Handel-C, Open Vera. Основным недостатком данного подхода 8 является ограниченность групп алгоритмов, которые возможно применять для осуществления данного перехода, следствием чего является снижение качества получаемого решения (по сравнению с технологией IP-ядер). Однако его несомненным плюсом является независимость от аппаратного базиса, в котором будет реализовано устройство. [77]

Таким образом, с одной стороны, при применении технологии IP-ядер разработчик аппаратуры получает качественное решение, но жестко привязанное к аппаратному базису, в котором реализуется устройство. С другой стороны, при применении языков описания аппаратуры на системном уровне реализация устройства является аппаратно независимой, но при этом теряется качество получаемого решения (в сравнении с технологией IP-ядер). Из выше сказанного следует, что в настоящее время актуальным является решение задачи автоматизации перехода от функциональной модели устройства на системном уровне к его модели на уровне регистровых передач и создание подсистемы САПР, открытой по отношению к модернизации и расширению, позволяющей решать данную задачу.

Целью работы является исследование и развитие методов автоматизированного формирования моделей цифровых устройств на уровне регистровых передач по их функциональным моделям на системном уровне и разработка на их основе пакета прикладных программ, предназначенного для решения данной задачи. Для достижения данной цели в работе ставятся и решаются следующие задачи:

1. Исследование современного процесса проектирования в САПР ПЛИС и элементного базиса ПЛИС, выявление наиболее перспективных классов устройств.

2. Исследование методик перехода от функциональных моделей на системном уровне к моделям на уровне регистровых передач, применяемых в современных системах САПР.

3. Разработка методики получения модели устройства на уровне регистровых передач по ее функциональной модели на системном уровне в рамках подхода, основанного на представлении устройства в виде иерархии аппаратно зависимых и аппаратно независимых примитивов.

4. Разработка лингвистического, информационного и программного обеспечения подсистемы САПР.

5. Разработка методики построения моделей аппаратно зависимых и аппаратно независимых примитивов.

Научная новизна работы. Новые научные результаты, полученные в работе, состоят в следующем:

1. Предложена методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач.

2. Разработаны специализированные структуры данных, позволяющие получить аппаратно независимую иерархическую модель устройства.

3. Разработаны алгоритмы, позволяющие получать описание устройства на языке описания аппаратуры на основании его аппаратно независимой иерархической модели.

4. Разработана методика построения моделей аппаратно зависимых и аппаратно независимых примитивов.

Практическая ценность. Разработанные методики и алгоритмы нашли применение в разработанной подсистеме САПР ПЛИС, а также могут быть использованы при разработке программного обеспечения САПР цифровых устройств. Открытость архитектуры подсистемы и возможность ее взаимодействия с другими САПР ПЛИС позволяют включать новые модули, а также разрабатывать собственные, ориентированные на решение задач пользователя.

Разработанное лингвистическое, информационное и программное обеспечение позволяет сократить временные и материальные затраты при проектировании цифровых устройств.

Имеется возможность переноса данной методологии на другие технологии изготовления цифровых микросхем - такие, как полузаказные ИС.

Реализация и внедрение результатов работы.

Работа по теме диссертации проводилась на кафедре ВТ ВлГУ в Центре микроэлектронного проектирования и обучения в рамках х/д НИР № 2757/02, 2783/02, 2876/03, ОКР №2874/03. Полученные результаты исследований в виде методик и программного обеспечения внедрены в в/ч 35533, а также в учебный процесс кафедры ВТ ВлГУ.

Апробация работы.

Основные положения и результаты работы докладывались и обсуждались на следующих семинарах и конференциях:

Международная научно-техническая конференция «Актуальные проблемы электронного приборостроения» (Саратов, 2000);

Международная научно-техническая конференция «Современные информационные технологии» (Пенза, 2000); Международная научно-практическая конференция «Микропроцессорные аналоговые и цифровые системы: проектирование и схемотехника, теория и вопросы применения» (Новочеркасск, 2001);

Международная научно-техническая конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies» (Владимир, 2002); V международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир 2003);

Международная научно-техническая конференция

Новые методологии проектирования изделий микроэлектроники»

New design methodologies», (Владимир, 2003 г);

4th Electronic Circuits and Systems Conference «Microelectronic and

Microsystems Design» (Bratislava 2003);

International Scientific Conference «Informatics, Mathematical Modelling and Design in the Technics, Controlling and Education» (Vladimir, 2004); НТК профессорско-преподавательского состава ВлГУ (2001 -2003г); Научно-практические семинары Центра микроэлектронного проектирования и обучения ВлГУ (2001 - 2003 г).

На защиту выносятся:

1. Методика перехода от описания устройства в виде функциональной модели на системном уровне к описанию на уровне регистровых передач.

2. Алгоритмы, позволяющие получать описание устройства на языке описания аппаратуры на основании его аппаратно независимой иерархической модели.

3. Методика построения моделей аппаратно зависимых и аппаратно независимых примитивов.

4. Лингвистическое, информационное и программное обеспечение разработанной подсистемы.

5. Результаты применения данной подсистемы для построения цифровых многоканальных квадратурных разделителей

Публикации по работе. По теме диссертации опубликовано 14 печатных работ, из них одна - в материалах Европейской конференции. При этом проводился конкурс работ молодых ученых, данная работа была отмечена вторым местом. Три статьи напечатаны в сборниках научных трудов и десять тезисов докладов в трудах Международных и Российских научно-технических конференций.

Структура работы. Диссертация состоит из введения, трех глав, заключения, списка литературы и приложений. Общий объем диссертации -164 страницы, в том числе - 131 страница основного текста, 10 страниц списка литературы (98 наименований). Диссертация содержит 55 рисунков и 10 таблиц.

Заключение диссертация на тему "Методика формирования моделей цифровых устройств в САПР ПЛИС"

3.4. Выводы

В третьей главе были описаны тестовые мероприятия, проведенные для подтверждения работоспособности разработанной подсистемы, а также рассмотрен пример построения реального устройства, на котором апробировались предложенные методики. Применение разработанной подсистемы САПР позволяет в десятки раз сократить время, затрачиваемое на проектирование выше описанных классов устройств (по сравнению с ручным проектированием). В случае необходимости переноса многоканального квадратурного разделителя в другой элементный базис понадобится только лишь доработать библиотеки аппаратно зависимых примитивов специфичных для нового элементного базиса (в нашем случае четыре). Данный пример показал работоспособность и эффективность разработанных методик, алгоритмов, информационного и программного обеспечения подсистемы САПР.

Применение разработанной методики позволяет ускорить процесс переноса устройств из одного элементного базиса в другой (в сравнении с существующими методами, применяемыми в современных коммерческих системах САПР), при этом сохраняется качество получаемого решения.

Заключение

Проведенное исследование в области методов и средств проектирования цифровых устройств показало необходимость развития средств САПР высокоуровневого проектирования цифровых устройств. Это связано с высокими темпами развития современной цифровой аппаратуры, появлением новых подходов к проектированию цифровых устройств: реконфигурируемые устройства, системы на кристалле и т.д. Необходимость упора именно на высокоуровневое проектирование объясняется повышенной сложностью современных цифровых устройств (исчисляется миллионами логических вентилей), что делает практически невозможным моделирование поведения всего устройства даже на уровне регистровых передач.

На данный момент в современных системах САПР имеется достаточное количество хорошо отработанных методов проектирования и верификации цифровых устройств на системном уровне. Также хорошо развиты методы получения конфигурации устройства по его модели на уровне регистровых передач. Однако до сих пор нет универсальных и хорошо отработанных методологий получения моделей устройства на уровне регистровых передач по его моделям на системном уровне. Особенно, если необходимо обеспечить качественную и быструю смену аппаратного базиса, в котором реализуется устройство. Основными задачами, решенными в процессе выполнения работы, были: развитие методов перехода от функциональной модели устройства на системном уровне к его модели на уровне регистровых передач, основанных на представлении устройства в виде иерархии аппаратно зависимых и аппаратно независимых примитивов, и разработка пакета прикладных программ, являющегося подсистемой САПР, предназначенной для реализации данного подхода.

В диссертационной работе были получены следующие основные результаты:

Проведено исследование состояния в области современных САПР цифровых устройств, в ходе которого была установлена недостаточная проработанность методов перехода от представления устройства в виде модели на системном уровне к его модели на уровне регистровых передач. Также в силу постоянного развития современной элементной базы создаваемые САПР должны обладать гибкостью и открытостью, что нельзя сказать о большинстве современных коммерческих САПР. Проведен обзор современной элементной базы ПЛИС, в ходе которого были выявлены классы микросхем наиболее перспективных для применения в современных устройствах.

Реализована подсистема САПР, позволяющая автоматизировать переход от представления устройства в виде функциональной модели на системном уровне к его модели на уровне регистровых передач. Данная подсистема основана на открытой архитектуре и представляет собой совокупность программных модулей, написанных на языке С++, что позволяет достичь легкой переносимости данной подсистемы между различными платформами.

Предложена и реализована методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач. Для чего разработано лингвистическое обеспечение подсистемы САПР, предназначенное для применения данной методики.

Разработаны алгоритмы, объединенные в ядро подсистемы САПР, позволяющие реализовать иерархические устройства, независимые от выбора аппаратного базиса.

Разработано и внедрено информационное обеспечение подсистемы САПР, позволяющее получать аппаратно независимую модель устройства.

Разработана обобщенная методика создания моделей аппаратно зависимых и аппаратно независимых примитивов, а также выработаны рекомендации, позволяющие сократить количество ошибок, возникающих в процессе создания примитивов, что в сумме ускоряет процесс их разработки.

Приведено исследование предложенных методик и программного обеспечения на примерах, применявшихся на практике устройств, для которых предлагаемая подсистема САПР формирует VHDL описание на уровне регистровых передач по описанию данных устройств в виде функциональных моделей на системном уровне. Это существенно уменьшает время, затрачиваемое на разработку данных устройств.

Библиография Лобачев, Глеб Александрович, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Xilinx пренебрегла корпорацией ЮМ // Computerworld, №28 2003.

2. Автоматизация проектирования цифровых устройств/ Баранов С.И., Майоров С.А., Сахаров Ю.П. Селютин В.А. Л.: Судостроение, 1979,261с.

3. Автоматизация схемотехнического проектирования: Учеб. пособие для вузов/В. Н. Ильин, В. Т. Фролкин, А.И. Бутко и др.,: Под ред. В. Н. Ильина. М.: Радио и связь, 1987. - 368с.: ил.

4. Архангельский А.Я. С++ Builder 6. Справочное пособие. Книга 1. Язык С++. М.: ЗАО Бином-Пресс, 2002. - 544 с.

5. Архангельский А.Я. С++ Builder 6. Справочное пособие. Книга 2. Классы и компоненты. М.: ЗАО Бином-Пресс, 2002. - 528 с.

6. Архангельский А.Я. Программирование в С++ Builder 6. М.: ЗАО «Издательство БИНОМ», 2003. - 1152 е.: илл.

7. Барский А.Б. Параллельные процессы в вычислительных системах. Планирование и организация. М.: Радио и связь, 1990. - 256 с.

8. Блау Д. К 90 нм готовы // Computerworld, №5 2003.

9. Воеводин В.В., Воеводин Вл. В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. - 608 с.

10. Галичев Е.В., Морозов М.А Реализация контролера шины pci в базисе плис Virtex-E фирмы Xilinx Всероссийская НТК «Реконфигурируемые электронные средства в системах обработки информации», Владимир, 2002.- С. 13-15

11. Гольденберг Л. М. и др. Цифровая обработка сигналов: Учеб. пособие для вузов. 2 изд., перераб. и доп. — М.: Радио и связь, 1990.

12. Дж. Ф. Уэйкерли Проектирование цифровых устройств. В 2 томах М.: Постмаркет, 2002.

13. Дискретная математика для программистов / Ф.А. Новиков. СПб.: Питер, 2002. - 304 с.

14. Долинин А.Г. Развитие программного и математического обеспечения САПР нелинейных аналоговых устройств. Канд. диссертация. -Владимир, ВлГТУ, 1996, - 200 с.

15. Интегрированная среда разработки для ПЛИС от Xilinx и Wind River // http://www.osp.ru/news/2000/12/04 05.htm

16. Калыгина JI.A., Лобачев Г.А. Реализация цифрового демодулятора FM сигналов в базисе ПЛИС фирмы Xilinx, Сборник научных статей -Ташкент: НПО «Кибернетика» АН РУз, 2002 г.

17. Калыгина Л.А., Лобачев Г.А. Реализация цифрового демодулятора FM сигналов в базисе ПЛИС фирмы Xilinx, Данные информация и их обработка: Сборник научных статей/Под ред. С.С. Садыкова, Д.Е. Андрианова М.: Горячая линия - Телеком, 2002. - С. 219 - 224.

18. Комолов Д.А. Мяльк Р.А. Зобенко А.А. Филиппов А.С. Системы автоматизированного проектирования фирмы Altera MAX+plus II и Quartus II. Краткое описание и самоучитель М: Радиософт, 2002.

19. Корнеев В.В., Параллельные вычислительные системы. М.: «Нолидж», 1999.-320 с.

20. Корячко, В.М. Курейчик, И.П. Норенков. Теоретические основы САПР: Учебник для вузов. М.: Энергоатоимздат, 1987. - 400 с.

21. Куликов К.В. Выбор многократно используемых ядер при проектировании систем на одном кристалле // Новые методологии проектирования изделий микроэлектроники материалы международной научно-технической конференции. Владимир: Владим. гос. ун-т, 2003.

22. Куликов К.В. Создание многократно используемых блоков для проектирования систем на одном кристалле // Новые методологии проектирования изделий микроэлектроники материалы международной научно-технической конференции. Владимир: Владим. гос. ун-т, 2002.

23. Ланцов В.Н. Проектирование ПЛИС на VHDL. Владимир, ВлГУ, 2000, 121с.

24. Лобачев Г.А. Сравнение характеристик ПЛИС Xilinx и ALTERA, Международная научно-техническая Конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies». -Владимир, 2003 г.

25. Лобачев Г.А., Плотников П.В. Архитектура подсистемы САПР устройств обработки сигналов, Международная научно-техническая Конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies». Владимир, 2003.

26. Лобачев Г.А., Плотников П.В. Подсистема САПР устройств обработки сигналов, Обработка информации: методы и системы /Под ред. С.С. Садыкова, 2003 188 -194с.31 .Лоусон С. Микросхемы FPGA с ядром PowerPC // Computerworld, №32 2000.

27. Морозов М.А., Миронов Н. Реализация синтезатора частоты в базисе ПЛИС. // Материалы Всероссийской НТК "Новые методологии проектирования изделий микроэлектроники": НМП-2002 / ВлГУ -Владимир, 2002.

28. Мосин С.Г. Развитие математического и программного обеспечения подсистемы тестирования для САПР аналоговых и смешанных интегральных схем. Канд. диссертация. - Владимир, ВлГУ, 2000, - 175 с.

29. Норенков И.П., Маничев В.Б. Системы автоматизированного проектирования электронной и вычислительной аппаратуры: Учаб. Пособие для вузов. М.: Высш. Школа, 1983. - 272 е., ил.

30. Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов: Пер. с англ./Под ред. С. Я. Шаца. М.: Связь, 1979.

31. Поречный В. Использование САПР «МАХ+plus II» для разработки цифровых устройств на ПЛИС фирмы «Альтера» // http ://www.epos.kiev.ua/pubs/cs/mp22 .htm

32. Привалов А.А., Руфитский М.В. Особенности проектирования РЭС с примененинем ПЛИС // Перспективные технологии в средствах передачи информации

33. Рабинер Д., Гоулд Б. Теория и применение цифровой обработки сигналов: Перевод с англ./Подред. Ю. Н. Александрова. М.: Мир, 1978.

34. Разработка САПР. В 10 кн. Кн. 2. Системотехнические задачи создания САПР: Практ. пособие/ А.Н. Данчул, Л .Я. Полуян; Под ред. А.В. Петрова-М.: Высш. шк., 1990 144 с.

35. Разработка трансляторов. Общие принципы организации синтаксического разбора. // http://www.soflcraft.ru/translat/lect/t06-01.shtml

36. Разработка трансляторов. Организация лексического анализа. // http://www.softcrafl.ru/translat/lect/t04-01 .shtml.

37. Разработка трансляторов. Основы теории языков и формальных грамматик. // http://www.softcraft.ru/translat/lect/t02-02.shtml

38. Самая большая ПЛИС // http://www.osp.ru/cw/2002/31/00019.htm

39. Самофалов К.Г., Луцкий Г.М. Основы теории многоуровневых конвейерных вычислительных систем. М: Радио и связь, 1989. - 272 с.

40. Стешенко В. Шипулин С. Храпов В. Тенденции и перспективы развития ПЛИС и их применение при проектировании аппаратуры ЦОС // Компоненты и технологии, №8, 2000.

41. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 1. Алгоритмы, элементная база, способы реализации // Компоненты и технологии, №3,2000.

42. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 2. Некоторые полезные мелочи, о которых почти никто никогда не пишет, опасаясь прослыть любителем банальных фактов // Компоненты и технологии, №4, 2000.

43. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 3. Интерфейсы передачи данных и сопряжение устройств // Компоненты и технологии, №5, 2000.

44. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 4. Уровни, логика и быстродействие // Компоненты и технологии, №6, 2000.

45. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 5. Стандарты, уровни, сопряжение// Компоненты и технологии, №7, 2000.

46. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 6. Реализация вычислительных устройств на ПЛИС // Компоненты и технологии, №8, 2000.

47. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 7. Реализация вычислительных устройств на ПЛИС // Компоненты и технологии, №1,2001.

48. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 8. Средства визуальной разработки цифровых автоматов // Компоненты и технологии, №2, 2001.

49. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 9. Языки описания аппаратуры: синтаксис и особенности применения // Компоненты и технологии, №3, 2001.

50. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 10. Языки описания аппаратуры: синтаксис и особенности применения // Компоненты и технологии, №4, 2001.

51. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 11. Языки описания аппаратуры: синтезируемое подмножество VHDL // Компоненты и технологии, №5, 2001.

52. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 12. Языки описания аппаратуры. Язык описания аппаратуры Verilog HDL // Компоненты и технологии, №6, 2001.

53. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 13. Языки описания аппаратуры. Язык описания аппаратуры Verilog HDL // Компоненты и технологии, №7, 2001.

54. Стешенко В. Школа схемотехнического проектирования устройств обработки сигналов. Занятие 14. Программируемые аналоговые интегральные схемы// Компоненты и технологии, №1, 2002.

55. Тема 2. Основы теории языков и формальных грамматик. Способы записи синтаксиса языка // http://www.softcraft.ru/translat/lect/t02-04.shtml

56. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2000. -528 с.

57. Фундаментальные алгоритмы на С++. Алгоритмы на графах: Пер. с англ./Роберт Седжавик. СПб:000 «ДиаСофтЮП», 2002. - 496 с.

58. Цифровая обработка сигналов / А.Б. Сергиенко СПб.: Питер, 2002. - 608 е.: ил.

59. Шипулин С. Губанов Д. Стешенко В. Храпов В. ПЛИС элементная база систем управления и обработки сигналов XXI века // Электронные компоненты, №1 2001.

60. Agilent EEsof EDA. Advanced Design System overview. Online. // http://www.tmo.hp.com/tmo/hpeesof/prod-ucts/ ads/adsoview.html

61. Altera Corporation, Data Book, 2003

62. Altera Optimizes Leading-Edge IP Cores for Stratix FPGAs // http://nit.gsu.unibel.by/resources/Journals/dacafe/200208/41476.htm

63. C. Wolinski, M. Gokhale, K. Mc Cabe: A Reconfigurable Computing Fabric, ERSA'02 the International Conference on Reconfigurable Systems and Algorithms, Las Vegas, Nevada, USA, June 24,2002.

64. Cadence Design Systems. Affirma Analog Artist circuit design environment. // http://www.cadence.com/tech-nology/custom/products/analog\artist.html

65. Cadence Signal Processing Worksystem. // http://www.xilinx.com/dsp/cadence/

66. Chimin Tsai Floating point Raundoff Noises of First- and Second-Order Sections in Parallel Form Digital Filters // CAS II: Analog and digital signal processing Volume: 44, Number: 9, Year: 2003. Page(s): 774

67. Clare, Computing In Reconfigurable Logic // New Design Methods for Reconfigurable Hardware, Celoxica. Aug., 2002.

68. Clare, Handel-C for Hardware Design // New Design Methods for Reconfigurable Hardware, Celoxica. Aug., 2002.

69. CoCentric SystemC Compiler. // http://www.synopsys.com/products/cocentricsystemC/cocentricsystemCds.html

70. CoCentric™ System Studio ARM Processor Developer Kits. // http://www.synopsys.am/products/cocentricstudio/cocentricstudiopdkA4.pdf

71. David Maliniak, Design Languages Vie For System-Level Dominance // New Design Methods for Reconfigurable Hardware, Celoxica. Oct., 2001.

72. Evgeny Galichev Universal Compact Low-Power Protoboard with Reconfigurable Architecture for Digital Signal Processing, Microelectronic and Microsystems Design REASON Student Contest 4th Electronic Circuits and Systems Conference 2003.

73. IEEE Std 1076-1993 "IEEE Standard VHDL Language Reference Manual"

74. Krista M. Marks Designing high-performance memories and multipliers // Xcell journal summer 2001. Page(s):45-47.

75. Lee Hansen Using Xilinx ISE software for hight-density design // Xcell journal summer 2001. Page(s): 39-42.

76. Lobachev G.A., Plotnikiv P.V. Computer-Aided Design Subsystem of Multichannel Quadrature Delimiters on XILINX FPGA, Microelectronic and

77. Microsystems Design REASON Student Contest 4th Electronic Circuits and Systems Conference 2003.

78. Мак, W.-K. I/O Placement for FPGAs With Multiple I/O Standards // IEEE Transactions on, Computer-Aided Design of Integrated Circuits and Systems Volume: 23, Issue: 2, Year: Feb. 2004. Page(s): 315-321

79. MAX+PLUS II Development Tools. // http://www.altera.com/literature/lit-mp2.jsp

80. Method of might reliability system synthesis using VHDL // 1st IEEE International conference on circuits and systems for communications. Saint-Petersburg 2002. Page(s):134 137

81. Muhammad, K.; Roy, K. A graph theoretic approach for synthesizing very low-complexity high-speed digital filters // IEEE Transactions on, Computer-Aided Design of Integrated Circuits and Systems Volume: 21, Issue: 2, Year: Feb 2002. Page(s): 204-216

82. N. Sankarayya, K. Roy, D.Bhattacharya Algorithms for Low Power and High Speed FIR Filter Realization Using Differential Coafficients // CAS II:Analog and digital signal processing Volume: 44, Number: 6, Year: 2003. Page(s): 488

83. P. Plotnikov, G. Lobachev, Comparison XILINX and ALTERA FPGAs // in Proceedings of International Scientific Conference Informatics, Mathematical Modelling and Design in the Technics, Controlling and Education (IMMD'2004), Vladimir, 2004. p. 137 139.

84. Рак К. Chan: Digital System Design Using Field Programmable Gate Arrays : Prentice Hall, 1994

85. Quartus II Development Software. // http://www.altera.com/literature/lit-qts.jsp

86. R. Hoftnan Design and rapid prototyping of communication systems // Information and communication technologies: chances and challenges Vladimir 2003. Page(s):25-33.

87. Rob A. Rutenbar (When) Will FPGA Kille ASICs - 38th Design Automation Conference, Las Vegas, Nevada, USA, June 18-22, 2001

88. Software Manuals and documentation for ISE/Foundation 5.H. Available: http://www.xilinx.com/support/swmanuals/xilinx5/index.htm

89. Stratix GX FPGA Family// http://www.altera.com/literature/ds/dssgx.pdf

90. The Programmable Logic Data Book. Xilinx, Inc., 2003

91. Virtex-II Pro™ Platform FPGAs: Introduction and Overview // , http://direct.xilinx.com/bvdocs/publications/ds083 .pdf

92. Y.Takei, K.Nagato, T.Yoshikawa, X. Zhang Derivative-controlled design of linear-phase FIR filters via Waveform Moments // IEEE Transactions on, Signal Processinc Volume: 51, Namber: 10, Year: October 2003