Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

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

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Лобачев Глеб Александрович. Методика формирования моделей цифровых устройств в САПР ПЛИС : Дис. ... канд. техн. наук : 05.13.12 : Владимир, 2004 167 c. РГБ ОД, 61:04-5/3037

Содержание к диссертации

Введение

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

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

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

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

1.1.3. Сравнение характеристик ПЛИС ХШпх и ALTERA 21

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

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

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

1.2.2. САПР фирмы ХШпх 30

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

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

L2.5. САПР фирмы Synopsys 35

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

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

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

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

1.4. Выводы 50

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

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

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

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

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

2.3.2, Список лексем , 63

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

2.3.4, Описание порта 64

2.3.5- Описание параметра 64

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

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

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

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

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

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

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

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

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

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

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

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

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

2.5. Выводы 119

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

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

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

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

3.4. Выводы 135

Заключение 136

Литература 139

Приложения 149

Введение к работе

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

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

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

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

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

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

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

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

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

При этом надо отметить - программное обеспечение8 применяемое при разработке цифровых устройств, быстро морально устаревает вследствие

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

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

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

Другой популярный подход, позволяющий осуществить переход от

функциональной модели на системном уровне к модели устройства на уровне

регистровых передач — применение языков описания аппаратуры на системном

уровне (SLDLs, system-level design languages). К таким языкам относятся

SystemC,. Handel-C, Open Vera- Основным недостатком данного подхода

является ограниченность групп алгоритмов, которые возможно применять для осуществления данного перехода, следствием чего является снижение качества получаемого решения (по сравнению с технологией IP-ядер). Однако его несомненным плюсом является независимость от аппаратного базиса, в котором будет ре&іизовано устройство,[77]

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

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

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

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

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

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

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

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

1. Предложена методика перехода от описания устройства в виде

функциональной модели на системном уровне к ее описанию на

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

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

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

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

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

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

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

Работа по теме диссертации проводилась на кафедре ВТ ВлГУ в Центре микроэлектронного проектирования и обучения в рамках х/д НИР № 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 таблиц.

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

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

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

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

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

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

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

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

САПР "MAX+PLUSir фирмы ALTERA поддерживает цикл проектирования ПЛИС для кристаллов этой же фирмы, однако только лишь для проектов, в которых проектируемое устройство описано на уровне регистровых передач. Эта система работает на PC платформе и рабочих станциях. САПР предоставляет разнообразные средства входного описания,, включая интерфейсы со стандартными языками и наиболее распространенными пакетами и обеспечивая эффективные алгоритмы синтеза, позволяющие максимально использовать ресурсы кристалла, временной и функциональный анализ разработанного устройства. Используется для проектирования микросхем всех семейств фирмы, таких, как MAX70G0, MAX900G, FLEX8000, FLEX10K.

MAX+PLUSII ориентирован на сопряжение со стандартами VHDL, EDIF, Verilog. Любая конфигурация САПР импортирует входные данные в формате EDIF и формирует результаты проектирования во всех перечисленных форматах. ALTERA обеспечивает библиотеками САПР таких фирм, как Mentor Graphics, Cadence, Viewlogic и Synopsys. Имеются библиотеки IP-ядер [37,68,85].

Последняя версия 10.0 MAX+PLUS II реализуется с октября 2000г. С октября 2000г. фирма выпустила новый программный продукт "Quartus". Данный пакет ориентирован на самые мощные новые кристаллы фирмы семейства APEX, Stratix и обладает всеми" чертами, присущими MAX+PLUSII. [18,91]

Фирма Xilinx — разработчик ПЛИС - поставляет также САПР для разработки устройств на FPGA и CPLD. С 1996г. Xilinx выпустила ПО Foundation Series, охватывающее все этапы разработки ПЛИС. В новых версиях ПО поддерживаются расширенные библиотеки IP-ядер, которые становятся очень важными при создании проектов больших размеров, сокращают сроки и упрощают проектирование. Имеются UNISIM-библиотеки для функционального моделирования с VHDL и Verilog, также в САПР фирмы включен набор библиотек для временного моделирования,

В настоящее время Xilinx выпустила свою последнюю версию Foundation Series 4.2І. Эта САПР позволяет в два раза сократить время компиляции проекта, появились новые средства трассировки и размещения, включена новая версия программы синтеза Express 3.6. На данный момент Foundation Series больше не развивается в связи с чем, что фирма Xilinx порвала отношения с производителем программы синтеза фирмой Synopsys. Поэтому рекомендуется для новых разработок применять новую САПР ISE[I5,82] Эта САПР позволяет выполнять полный маршрут проектирования для новых кристаллов фирмы: это наиболее мощные и быстрые кристаллы семейства Virtcx-11, Viriex-11 Pro, дешевые кристаллы семейства Spartan-II, Spartan-III и кристаллы с малым потреблением CoolRimner. Кроме того, данная САПР поддерживает интеграцию с системами Synplify, LeonardoSpectrum и Modelsim. Так же в настоящее время фирма ХІІІпх выдвинула на рынок свой новый продукт -Embedded Development Kit, предназначенный для построения систем на основе их функциональных моделей на системном уровне. Данный продукт при реализации систем в кристалле опирается на библиотеки ІР-ядер. А также позволяет создавать проекты, содержащие одновременно как описание аппаратуры, так и программную часть. В настоящее время это становится актуально в связи с выходом новой серии кристаллов Virtex-II Pro, содержащих интегрированные процессорные ядра [1,8,31]. Так же для перехода от функциональных моделей на системном уровне к реализации в кристалле, фирма Xiliiix предлагает библиотеку расширения для MatLab. В данном подходе реализация в кристалле получается при помощи применения библиотеки ІР-ядер.

Фирмой Xilinx совместно с фирмой ELANIX разработан новый подход к проектированию устройств обработки сигналов - на основе комбинации САПР системного уровня System View фирмы ELANIX с ІР-ядрами, оптимизированными для эффективной реализации в ПЛИС Xilinx. Таким образом, цифровое устройство может быть моделировано, оптимизировано и реализовано в ПЛИС с помощью библиотек ІР-ядер.

То есть можно сделать вывод, что в САПР фирмы Xilinx для осуществления перехода от функциональных моделей па системном уровне к моделям на уровне регистровых передач доминирует подход на основе ІР-ядер. [94] Фирма CADENCE, многие годы занимающаяся разработкой САПР в области электроники, расширяется за счег приобретения множества более мелких компаний; годовой объем продаж достиг 1.3 млрд. долларов в 2003г. Основные направления развития связаны со следующими базовыми конфигурациями системы[70]: — проектирование на системном уровне (system-level design); — функциональная верификация (functional verification); — эмулляция и ускорители решений (emulation and acceleration); — средства синтеза от верхних уровней до размещения и трассировки (synthesis/piace-and-route); — средства проектирования аналоговых, высокочастотных и смешанных схем (analog, radio frequency, and mixed-signal design); — проектирование топологии интегральных схем (custom 1С layout); — анализ и верификация на физическом уровне (physical verification and analysis); — проектирование и корпусирование микросхем (1С packaging); — проектирование печатных плат (РСВ design). Основные системы CADENCE для решения задач по направлениям: Virtuoso Custom Designer - это набор средств САПР для проектирования заказных ИС. Это полностью автоматизированный процесс проектирования на уровне приборов и ячеек, включая средства верификации, размещения и трассировки, CADENCE SP&R - это система сквозного синтеза от регистрового уровня или уровня затворов до формирования GDSII-файла после реализации размещения и трассировки на основе синтеза, CADENCE AMS Designer реализует маршрут проектирования эффективного решения задач проектирования систем на кристалле, в том числе и для смешанных аналого-цифровых систем. CADENCE Wireless Solution содержит высоко интегрированный набор программ, который поддерживает быстрое проектирование от концепции решения до реализации в микросхемах. Система обеспечена большим числом библиотек всех основных мировых стандартов, включая 3GPP, CDMA2000, Bluetooth, 802.11 и др. Signal Processing Worksystcm позволяет ускорить процесс проектирования сложных алгоритмически цифровых сигнальных процессоров. SPW поддерживается большим набором библиотек и позволяет от алгоритмического уровня перейти к реализации в ASIC или FPGA, NC-SIM - это один из самых быстрых пакетов моделирования на основе языков описания аппаратуры Verilog и VHDL. Основное его преимущество — это работа одновременно с двумя стандартными языками.

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

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

На сегодняшний день наиболее развитым подходом, покрывающим данный этап, является проектирование устройств и систем на основе ІР-ядер. ІР-ядра - это готовые компоненты, позволяющие легко включать их в собственный проект для создания более сложной системы. Например, ІР-ядром может быть интерфейс соединения с компьютером РСІ или USB, быстрое преобразование Фурье, голосовой кодек. Этот подход реатизован практически во всех современных системах САПР, Основным недостатком данного подхода является привязанность ядер к конкретным семействам кристаллов, т.е. при необходимости смены аппаратного базиса возникает необходимость в получении новых IP-ядер оптимизированных под него. К тому же никто не гарантирует, что IP-ядра, реализующие те же самые функции для новой элементной базы, будут сохранять свои старые интерфейсы, т.е,. встает проблема повторного связывания набора IP-ядер оптимизированного под новую элементную базу[21,22,23,24].

Так же в настоящее время ведутся активные разработки по получению описания схемы на уровне регистровых передач, исходя из ее описания на таких языках, как SystemC, Handel-C[73,74] и др.» которые относят к семейству SLDL (system-level design languages), т.е. на языках поведенческого описания приближенных к аппаратным. Здесь лидирующие позиции занимает фирма SYNOPSYS. Однако набор алгоритмов, которые возможно перевести с SLDL языков на уровень регистровых передач, ограничен следующими правилами[7э9,19,45]: 1. В программе может использоваться любое число простых переменных и переменных с индексами. 2. Единственным типом исполнительного оператора может быть оператор присваивания, правая часть которого есть арифметическое выражение; допускается любое число таких операторов. 3. Все повторяющиеся операции описываются только с помощью цикла с указанием границ изменения параметра; структура вложенности циклов может быть произвольной; шаги изменения параметров циклов всегда равны +1; если у цикла нижняя граница больше верхней, то цикл не выполняется.. 4. Допускается использование любого числа условных и безусловных операторов перехода, передающих управление «вниз» по тексту; не допускается использование побочных выходов из циклов. 5. Все индексные выражения переменных, границы изменения параметров и условия передачи управления задаются в общем случае, неоднородными формами, линейными как по параметрам циклов, так и по внешним переменным программы; все коэффициенты лилейных форм являются целыми числами. 6. Внешние переменные программы всегда целочисленные, и вектора их значений принадлежат некоторым целочисленным многоіранникам; конкретные значения внешних переменных известны только перед началом работы программы и неизвестны в момент её исследования.

Уместно сделать одно замечание относительно терминологии. Обычно под переменной с индексами понимается весь массив простых переменных, объединённых общим идентификатором. При изучении тонкой структуры программы такая «групповая» переменная очень неудобна. Гораздо удобнее рассматривать массив как группу простых переменных, идентификаторы которых составлены из идентификатора массива и индексов. Таким образом, работа с массивом сводится к работе с группой нумерованных переменных. Что резко сужает возможность применения данных методов из за снижения качества получаемого решения.

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

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

В настоящее время данный подход не нашел применения в коммерческих системах САПР, но был применен при построении некоммерческих систем: так профессор Christoph Wolinski из Los Alamos National Laboratory применил данное представление устройства для построения автоматизированной системы проецирования реконфигурируемых вычислителей. [69]

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

Как известно, качество получаемого решения при реализации устройства в ПЛИС можно определить по следующим критериям: площадь, занимаемая в кристалле, максимальная частота функционирования, время, затраченное на разработку. На основе данных критериев можно построить обобщенный скалярный критерий [3,20] оптимальности для /-ой реализации устройства, вычисляемый по следующей формуле:

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

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

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

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

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

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

Проведен обзор современной элементной базы ШШС, в ходе которого были выявлены классы микросхем наиболее перспективных для применения в современных устройствах. 3. Реализована подсистема САПР, позволяющая автоматизировать переход от представления устройства в виде функциональной модели на системном уровне к его модели на уровне регистровых передач. Данная подсистема основана на открытой архитектуре и представляет собой совокупность программных модулей, написанных на языке C++, что позволяет достичь легкой переносимости данной подсистемы между различными платформами. 4. Предложена и реализована методика перехода от описания устройства в виде функциональной модели на системном уровне к ее описанию на уровне регистровых передач. Для чего разработано лингвистическое обеспечение подсистемы САПР, предназначенное для применения данной методики. 5. Разработаны алгоритмы, объединенные в ядро подсистемы САПР, позволяющие реализовать иерархические устройства, независимые от. выбора аппаратного базиса, 6. Разработано и внедрено информационное обеспечение подсистемы САПР, позволяющее получать аппаратно независимую модель устройства. 7. Разработана обобщенная методика создания моделей аппаратно зависимых и аппаратно независимых примитивов, а также выработаны рекомендации, позволяющие сократить количество ошибок, возникающих в процессе создания примитивов, что в сумме ускоряет процесс их разработки. 8. Приведено исследование предложенных методик й программного обеспечения на примерах, применявшихся на практике устройств, для которых предлагаемая подсистема САПР формирует VTIDL описание па уровне регистровых передач по описанию данных устройств в виде функциональных моделей на системном уровне. Это существенно уменьшает время, затрачиваемое на разработку данных устройств.

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

Как было показано выше, библиотеки примитивов представляют собой набор процедур, выполняющих функции генерации интерфейсов примитивов и описаний примитивов. Нет никаких ограничений, накладываемых на данные алгоритмы. Ограничения накладываются только лишь на интерфейс взаимодействия данных процедур с ядром системы и на результаты их работы (на получаемые SDL описания, VHDL описания и списки компонентов, генерируемые данными процедурами).

Для создания библиотек примитивов была выбрана концепция динамически подключаемых библиотек (DLL — Dynamic Link Library), При этом в кавдой библиотеке может быть реализован только один примитив.

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

Каждая библиотека содержит в себе две функции: функция генерации интерфейса примитива по списку параметров; функция генерации описания примитива по списку параметров. Далее опишем отдельно особенности создания библиотек для аппаратно зависимых и аппаратно независимых примитивов. Особенность аппаратно зависимого примитива состоит в том, что при его создании генерируется аппаратно зависимый VHDL-код. Также надо отметить, что для различных примитивов, как правило, используются одинаковые компоненты. Такие компоненты называются атомами. Атомы могут быть параметризированы с помощью generic-параметров (непосредственно в VHDL описании). Атомы можно охарактеризовать как компоненты, которые используют аппаратно зависимые примитивы. Если внутри примитива используется атом, то данный примитив должен вызвать функцию, генерирующую этот атом. Для хранения атомов используется общий файл Atomsxpp, в котором реализованы процедуры генерации атомов. Для автоматизированного создания атомов была создана утилита VHDL2C, преобразующая VHDL-код в С-код для генерации VHDL-файла. При создании аппаратно зависимых примитивов используются несколько общих функций. Для этого был создан файл с реализацией часто используемых функций, который называется DllToolsxpp. К таким функциям в первую очередь относятся функции чтения значения параметра по его имени и функция создания порта. Внутренняя структура аппаратно зависимого примитива и его взаимодействие с ядром операционной системы приведена на Рис, 2.14 Структура аппаратно зависимого примитива Как видно на рисунке, функция генерации интерфейса получает из ядра системы список параметров примитива. На основании значений параметров осуществляется генерация интерфейса примитива. При этом используются функции из модуля DUTools. Функция генерации VHDL-кода примитива получает из ядра системы список параметров примитива. На основе этих параметров функция генерирует VHDL-код примитива. Данная функция возвращает в ядро сообщение об успешности генерации кода- В процессе генерации могут быть вызваны функции генерации атомов из модуля Atoms, а также использованы функции из модуля DllToois. Особенность аппаратно независимого примитива состоит в том, что при его создании генерируется либо SDL-код, либо список компонентов. При этом для того, чтобы ядро системы корректно восприняло результат, также передается сообщение о типе возвращаемого значения. Дня аппаратно независимых примитивов использование атомов не имеет смысла. При создании аппаратно независимых примитивов используются несколько общих функций. Для этого был создан файл с реализацией часто используемых функций, который называется DllToolsxpp, К таким функциям в первую очередь относятся функции чтения значения параметра по его имени и функция создания порта. Обобщенная структура аппаратно независимого примитива приведена на Рис 2.16, Структура аппаратно независимого примитива Как видно на рисунке, функция генерации интерфейса получает из ядра системы список параметров примитива. На основании значений параметров осуществляется генерация интерфейса примитива. При этом используются функции из модуля DllTools Функция генерации описания примитива получает из ядра системы список параметров примитива. На основе этих параметров функция генерирует описание примитива либо в виде списка компонентов, либо в виде SDL-описания. Ниже приведены рекомендации для написания аппаратно независимых примитивов: 1, Перед генерацией интерфейса компонента необходимо очистить список портов, что позволит вызывать функцию генерации интерфейса компонента неограниченное число раз. 2. Имена всех подключаемых в нем компонентов должны формироваться из суммы имен: Имя_Генерируемого_ГТримитива + ИмяКомпонента, что позволит избежать дублирования имен и случайного совпадения имен компонентов задаваемых пользователями с именами компонентов генерируемых программно. 3- Имя генерируемой подсхемы должно совпадать с именем примитива. Поле cComponent- ModelName - пустая строка (ведь примитив разворачивается в подсхему). 4. В функции, генерирующей подсхему, допускается подключать компоненты, которые также развернутся в подсхемы. Типовой алгоритм генерации описания аппаратно независимого примитива представлен на Рис, 2.17.

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