автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.12, диссертация на тему:Методика проектирования сложных цифровых блоков в базисе ПЛИС
Автореферат диссертации по теме "Методика проектирования сложных цифровых блоков в базисе ПЛИС"
На правах
Куликов Константин Владимирович
МЕТОДИКА ПРОЕКТИРОВАНИЯ СЛОЖНЫХ ЦИФРОВЫХ БЛОКОВ В БАЗИСЕ ПЛИС
Специальность 05.13.12 - Системы автоматизации проектирования (промышленность)
Автореферат диссертации на соискание ученой степени кандидата технических наук
Владимир - 2005
Работа выполнена на кафедре «Вычислительная техника» Владимирского государственного университе та
Научный руководитель доктор технических наук, профессор
Ланцов Владимир Николаевич \
Официальные оппоненты: доктор технических наук, профессор
Жигалов Илья Евгеньевич
кандидат технических наук, доцент Тарасов Илья Евгеньевич
Ведущая организация Конструкторское бюро радиосвязи,
г. Владимир
Защита состоится «_»_2005 г. в_на
заседании диссертационного совета Д.212.025.01 в ауд. 211 корп. 1 Владимирского государственного университета по адресу: 600000, г. Владимир, ул. Горького, д. 87.
С диссертацией можно ознакомиться в библиотеке Владимирскою государственного университета.
Автореферат разослан «_»_2005 г.
Отзывы на автореферат в двух экземплярах, заверенные печатью, просьба направлять по адресу: 600000, г. Владимир, ул. Горького, д. 87, ученому секретарю диссертационного совета Д.212.025.01.
Ученый секретарь диссертационного совета доктор технических наук, ^ У?
профессор __ Макаров Р.И.
|Контрольной экземпляр) ----—— ~
2!9Ш
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. В настоящее время микроэлектроника является одной из наиболее динамично развивающихся отраслей промышленности. Достигнутый технологический уровень позволяет создавать целые системы на одном кристалле. Основное противоречие связанно с быстрым ростом возможностей элементной базы с одной сюроны и недостатком современных средств автоматизированного проектирования устройств данного класса, которые ис успевают за увеличивающимися размерами систем с другой стороны.
Система на Одном Кристалле (СОК, в английском языке System On Chip -SOC) - отдельная микросхема, на которой могут быть интегрированы различные системные компоненш: ядро RISC-процессора или модуль цифровой обработки сигналов (DSP), память, программируемая логика, аналоговые функции, устройства коммуникационных интерфейсов и управления потреблением мощности. Ранее такие элементы требовали размещения на отдельных микросхемах. В большинстве сотовых телефонов, мультимедиа системах, домашних кинотеатрах или автомобильной электронике без систем на одном кристалле обойтись уже нельзя.
Цифровые системы на кристалле могут быть построены на различном аппаратном базисе. В настоящее время рынок программируемых логических интегральных микросхем (ПЛИС) является одним из наиболее динамично развивающихся.
Многократно используемый блок (Reusable Block) - однажды спроектированный, верифицированный функциональный блок, который может быть использован повторно. Такие блоки часю называют ядрами (Cores), виртуальными компонентами (Virtual Component - VC) , макроэлементами, интеллектуальной собственностью (И' - ядрами). В данной работе используется термин ядро, как наиболее употребляемое в настоящее время в русской и иностранной литературе. Ядро - это подпрофамма для системы САПР, которая позволяет реализовать авюматизированными средствами законченную функциональную часть проектируемого устройства в кристалле. Ядра должны содержать доааючную информацию для всех этапов проектирования.
Применение ядер при проектировании по технологии ПЛИС позволяе1 сократить время проектирования в несколько раз (например, с двух месяцев до двух недель). Это достигается за счёт 01сутствия этапов проектирования тех
Использование при проектировании таких языков, как УНП1, и Уеп1(>£, позволяет отказаться от составления схем на большинстве этапов разработки СОК. Технология проектирования с помощью УНВЬ предполагает описание исходных алгоритмов функционирования аппаратуры и ее интерфейса на языке УЬГОЬ и автоматическую трансляцию этого описания до уровня логических схем и далее - до уровня масок для из! отовления микросхем или прошивки программируемых логических интегральных схем. При этом схемы устройств в графическом виде практически не используются, а отсутствие ошибок в проекте автоматически контролируется средствами верификации. Как основное средство верификации используется моделирование функционирования устройства (или 01-дельного блока) на У1Ю1.-симуляторе на всех этапах проектирования. Разработка современных вычислительных устройств без использования языков VIШЬ и УегКоя стала практически невозможной и реализована во всех крупных САПР и САПР ПЛИС.
Определим понятие «сложное ядро». Сложные ядра и о подкласс ядер который относят к классу сложных технических систем, то есть это объекты, характеризующиеся следующими свойствами: целенаправленность, целостность, и члеиимость, иерархичность, многоаспект кость и развитие. Сложные ядра требую! больших аппаратных затрат и больших затрат на проектирование. Их можно разделить на функциональные блоки. Блоками могут быть блоки ттмяш, блоки, выполняющие арифметические операции, блоки управления и друше блоки, выполняющие логические функции, то есть это блоки различного характера. Проектирование каждого из этих блоков требует особых методик.
Основной проблемой, с которой сталкивается проектировщик, при проек-<ировании сложных ядер является отсутствие методик проектирования сложных вычислительных устройств или их блоков (отдельных составляющих) для по-вюрного использования. Существующие методики, как правило, разрабатываются и используются коммерческими фирмами и носят закрытый характер. Кроме того, такие методики ориентированы на конкретные аппаратные и программные средства и в большинстве случаев требуют полной модернизации при переносе на другие платформы.
Существуют общие методики проектирования ядер. Методики проектирования сложных ядер являются либо закрытыми (используются разработчиками коммерческих САПР), либо применякнея на сильно ограниченном аппаратом базисе. Поэтому возникает острая необходимость разработки методики проектирования сложных ядер. Эта методика должна объединять методики проектирования ядер различного характера и применяться для различного аппаратного ба-
зиса. В данной работе основное внимание уделяется проектированию сложных ядер, применяемых в системах цифровой обрабоиси сш налов.
Целью работы являе1ся разработка методики проектирования сложных цифровых ядер многократною использования в базисе ПЛИС.
Основные задачи исследования.
1. Исследование современного процесса проектирования в САПР ПЛИС и элементного базиса ПЛИС, выявление наиболее перспективных классов устройств.
2. Исследование существующих методик проектирования ядер многократного использования в базисе ПЛИС, применяемых в современных системах САПР.
3. Разработка методики проектирования сложных цифровых ядер многократного использования в базисе ПЛИС.
4. Усовершенствование методики проектирования в рамках подхода основанною на представлении устройства в виде иерархии аппарашо зависимых и аппарат о независимых примитивов.
5. Проверка методики на основе проектирования ядра многократного использования, выполняющего функцию быстрого преобразования Фурье и анализ полученных результатов.
Методы исследования. Для решения поставленных задач в работе использовались методы- теории САПР, теории графов, геории множеств, теории цифровой обработки сигналов.
Научная новтпа работы. Новые научные результаш, полученные в работе, состоят в следующем:
1. Предложена методика описания модели сложного ядра мно1 ократного использования на языке У1ГОЬ.
2. Предложен маршрут проектирования сложных ядер многократного использования.
Практическая ценность. Разработанные методики и алгоритмы могут быть использованы при разработке программного обеспечения САПР цифровых устройств. Открытость материалов и ориентирование на взаимодействие с САПР ПЛИС позволяют разрабатывать собственные сложные ядра и включать их в состав таких САПР, а так же разрабатывать собственные автоматизированные средства для проектирования и применения ядер пользователя.
Разработанное информационное обеспечение позволяют сократи и, временные и материальные затраты при проект ировании цифровых устройств, особенно при повторном использовании ядер.
Имеется возможность переноса данной методологии на другие технодшии изготовления цифровых микросхем - такие как специализированные ИС (ASIC)
Реализация и внедрение результатов работы. Работа по теме диссер1а-ции проводилась на кафедре ВТ ВлГУ, в Центре микроэлектронного проектирования и обучения, в рамках х/д НИР, а так же в рамках Европейского проекта REASON - Research and Training Action for System On Chip Design (#IST-2000-30193) Полученные результаты исследований в виде методик и программного обеспечения внедрены в виде материалов отчетов в ПИР №2609/01, №2704/02, № 2851/03, выполненных в рамках госзаказа, и в учебный процесс кафедры ВТ ВлГУ.
Апробация работы. Основные положения и результаты работы докладывались и обсуждались на следующих семинарах и конференциях:
- Международная научно-техническая конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies» (Владимир, 2002, 2003, 2004 г),
- Всероссийская научно-техническая конференция «Реконфш урируемые электронные средства в системах обработки информации» (Владимир, 2002 г.)
- V международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир 2003);
- НТК профессорско-преподавательского состава ВлГ У (2001 -2005i);
- Научно-практические семинары Центра микроэлектронною проектирования и обучения ВлГУ (2001 - 2005 г).
На защиту выносятся:
1. Методика описания сложного ядра многократного использования на языке VHDL.
2. Маршрут проектирования сложных ядер многократною использования.
3. Блок многократного использования, выполняющий функцию быорою преобразования Фурье большой размерности.
Публикации по работе. По теме диссертации опубликовано 13 печат ных работ, из них 3 стати в сборниках научных трудов и 10 тезисов докладов на Международных и Российских научно-технических конференциях.
Структура работы. Диссертационная работа состоит из введения, четырёх глав, заключения, списка литературы. Общий объем диссертации - 125 страниц, в том числе - 116 страниц основного текс!а, 9 страниц списка литера[уры (108 наименований) Диссертация содержит 33 рисунка и 6 таблиц.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обосновывается актуальность работы, формулируется научная новизна и практическая ценность полученных результатов, приводится структура диссертации и основные положения, выносимые на защиту.
В первой главе диссертации приведен обзор средств и инициатив, направленных на реализацию систем на одном кристалле, в том числе и в базисе ПЛИС. Выделяются 1ехноло1 ические возможности создания и примеры готовых СОК. Приводшся классификация СОК. Рассматриваются основные проблемы, возникающие при проектировании систем на одном кристалле и возможные пути их решения. Выделяется важность применения ядер многократного использования как важнейшего элемента при создании СОК. Обосновывается необходимость создания методики проектирования сложных ядер многократного использования. Рассмотрена постановка задач исследования.
Приведена классификация систем на одном кристалле, выделяется класс рекопфигурируемых устройств. ПЛИС рассматривается как наиболее перспективная элеметная база для построения цифровой аппаратуры разнообразного назначения, в том числе в качестве систем на одном кристалле. Приводятся маршруты проектирования систем на кристалле в базисс ПЛИС: традиционный и с использованием ядер многократного использования.
На основе проведенного анализа формулируется направление исследований, заключающееся в исследовании и развитии методики проектирования сложных цифровых ядер мноюкратного использования в базисе ПЛИС. Ставятся задачи исследований.
Вторая глава посвящена рассмо) рению теоретических вопросов проектирования ядер многократного использования. Предлагается методика проектирования сложных ядер как сложных 1ехнических систем. Описывайся маршрут проектирования сложных ядер многократного использования в базисе ПЛИС. Выделяются общие правила проектирования и правила, учитывающие реализацию на языке УНОЬ. Выделяются критерии эффективности ядер. Описываются основные особенности проекшрования различных блоков сложных ядер.
Дадим характеристику сложным ядрам как сложным техническим системам (С ГС). Целенаправленность Сложное ядро как СТС создается для достижения некоюрой цели. Так как оно функционируе! в составе включающей ее над-сисгемы, то целью можно считать устранение противоречий, возникающих в этой надсистеме. Бели в качестве СТС рассматривается сложное ядро, то над-системой является САПР для которой оно создается. Противоречие может за-
ключаться, например, в несоответствии трудоемкости или сроков проектирования предъявляемым требованиям.
Целостность и чяенгшость. Сложное ядро представляет собой целостное образование, состоящее из связанных между собой элементов.
Совокупность устойчивых связей между элементами системы называется ее структурой. Часто структуру понимают более широко, включая в это понятие и совокупность элементов системы, т. е. ее состав.
Иерархичность. Сложное ядро может быть представлено не только как элемент надсистемы, находящейся на более высоком уровне иерархии, но и как совокупность элементов, являющихся подсистемами и принадлежащих более низкому уровню иерархии. Подсистемы также могут быть разделены на части (декомпозиция). Продолжая декомпозицию до уровня элементов, дальнейшее членение которых нецелесообразно, получим многоуровневую иерархическую структуру (Рис. I). Иерархическая структура облегчает задачу обеспечения совместимости элементов ядра за счет ее декомпозиции на задачи совместимости подсистем и совместимости элементов каждой подсистемы.
Рис. 1. Пример иерархической структуры сложного ядра
Многоаспектность. Сложное ядро характеризуется различными группами свойств (аспектами), которые необходимо учитывать при его проектировании и описании. Описание сложного ядра, выполненное в каком-либо аспекте, называется ее представлением. Основными представлениями системы являются функциональное, морфологическое и процессное. На базе этих представлений могут быть построены более сложные, использующие и конкретизирующие понятия
нескольких основных представлений. Каждое представление характеризуется своей структурой. Более того, под структурой сложной технической системы обычно понимается структура одного из ее представлений. Это приводит к поли декомпозируемое™ — неоднозначности декомпозиции на подсистемы — и затрудняет создание сложного ядра. В частости, сложное ядро можно декомпозировать на обеспечения (техническое, программное и др.) и подсистемы (проектирующие, обслуживающие).
Развитие. Сложное ядро является развивающимся, т.е. изменяющим свои функции, структуру, внутренние процессы на протяжении всего жизненного цикла — проектирования, изготовления, эксплуатации, ликвидации.
Перечисленные свойства позволяют сформировать основное противоречие процесса проектирования, возникающее при описании сложного ядра, — между необходимостью получения целостного описания, отражающего целостность системы, и ее сложностью, заключающейся в иерархичности, многоас-пектности, развитии. Для разрешения этого противоречия необходимо обеспечить комплексный характер создаваемых описаний, учитывающий сложность в вышеуказанном смысле. Лишь основываясь на целостном описании системы, можно с уверенностью ее проектировать.
Проектирование сложного ядра многократного использования, аналогично проектированию сложных вычислительных устройств. При этом определяют основные блоки. Такими блоками могут быть чисто логические схемы, схемы памяти, схемы, выполняющие определенные арифметические операции, схемы с повторяющейся структурой и др. Каждый блок должен быть спроектирован, учитывая ею основные свойства. Это приводит к необходимости использования при проектировании различных подходов. В работе рассматриваются особенности проектирования конкретных видов блоков проектируемого ядра.
При составлении обобщенной иерархической структуры ядра в виде дерева все лиегья будут соответствовать определенному типу. Тип будет указывать на характер блока с учетом дальнейшей аппаратной реализации. Рис. 1 показывает пример ¡акого дерева иерархической структуры. Блоки А,В,С,О - блоки различной природы (характера). Например, А - блок являются операцией умножения, В - блок - ячейки памяти, С - блок - операция возведения в степень, Б -блок выполняет логические операции. Все обозначения на такой схеме должны быть прокомментированы в проекшой документации. Буквенные обозначения могут быть введены произвольно, однако возможно использовать и другие способы обозначения соответствующих блоков.
При разработке программной модели на сис!емном уровне выделяют блоки разрабатываемого ядра. Модель должна быть максимально приближена к аппаратной реализации. Для достижения этого в программной модели необходимо использовать ограниченную разрядность для всех данных, выполнение арифметических выражений строить, учитывая возможные аппаратные oipann-чения, использовать шаги выполнения операций, аналогичные выполняемым в аппаратуре, учитывать возможные задержки в выполнении и общую длшель-ность вычислений. От этого, например, операцию умножения но возможности заменять операцией сложения. Модель проектируемого устройства может быть написана либо на языках программирования (С, С++, Pascal и т.д.) либо языках описания аппаратуры (VHDL, Verilog). В последнее время всё большую популярность набирают смешанные языки (SyslemC, HandleC и др.) построенные на базе языка С и приближенные к аппаратным среди вам. Такой подход позволяв более чётко отслеживать особенности поведения модели и изменяв cipyicrypy проекта на самых ранних стадиях.
Как правило, у многих блоков сложного ядра можно выделшь настраиваемые параметры. Сели блок ядра можно параметризировать, то желательно оставлять такую возможность доступной В программной модели шеие блоки можно использовать как функции, преобразовывающие данные в зависимости от входных параметров.
При проектировании ядер часто возникает ситуация, когда часть блоков не может быть параметризирована автоматически Поэтому при проектировании таких ядер желательно использовать готовые, заранее сформированные наборы таблиц для всего диапазона возможных значений размерности задачи, просчитанные программно и подставляемые в модель на стадии внедрения ядра в проект. Если это невозможно, тогда можно использовать специальные методы интерполяции, но в таком случае необходимо точно рассчигагь погрешность получаемого результата. В работе данные вопросы не рассматриваются.
Методику проектирования сложного ядра в общем случае можно предст-вить в виде следующих шагов:
1. Составление иерархической структуры ядра.
2. Выделение основных типов блоков, а также выделение среди них аппа-ратно зависимых и аппаратно независимых.
3. Определение способа реализации каждого блока.
4 Проектирование каждого блока с учетом аппаратного базиса и правил проектирования как на системном уровне, гак и на уровне регистровых передач.
В общем случае при проектировании ядер используемых для цифровой обработки сигналов в базисе новейших ПЛИС можно использовать дерево выбора аппаратных реализаций блоков ядра. В вершинах дерева будут находиться типы блоков, в листьях - их возможные аппаратные реализации. 'Гак, если нам необходимо реализовать в ядре операцию умножения, мы можем выбрать реализацию на микропроцессоре, на встроенных в кристалл аппаратных умножителях, на стандартной логике, либо оставить возможность (предоставить соот ветел -вуютцие интерфейсы) выполнить операцию на внешнем устройстве. Тоже самое для других типов блоков.
Таким образом, маршрут проектирования сложных ядер должен учитывать возможность разбиения проектируемого ядра на составляющие блоки, их разработку, верификацию и дальнейшее сопряжение, как на уровне функциональных моделей, так и на уровне регистровых передач (Рис. 2).
Учитывая возможности современных систем САПР, и в том числе возможности систем синтеза, в данной работе были систематизированы правила, относящиеся к проектированию ядер многократного использования. Выделяются правила общего характера и правила, относящиеся к применению языка Основное внимание уделяется правилам, которые необходимо применять при проектировании сложных ядер.
Правила общего характера можно разделить на несколько разделов:
- правила, относящиеся к написанию документации- спецификация, проектная документация, структура директорий;
- правила, которые используются на аадии разработки модели ядра или отдельных блоков на системном уровне: комментарии, иерархия, согласование имен переменных и портов;
- правила, используемые на стадии разработки модели ядра на уровне регистровых передач' синхросигналы, сигналы сброса, шины, гристабильные схемы, блоки памяти, кодирование для синтеза, буферизация, порты ввода/вывода.
Язык описания аппаратуры как и любой другой язык, имеет ряд
особенностей В первую очередь это относится к интерпретации данного языка на стадии синтеза. Поэтому необходимо придерживаться ряда правил и рекомендаций, обеспечивающих правильное функционирование разрабатываемого ядра, а так же важным является «читаемость» кода, чю важно при модернизации ядра. В работе приводится ряд правил, которых желательно придерживайся для получения универсального легко интегрируемого в проект заказчика ядра Эти правила были систематизированы относительно проектирования сложных ядер. Правила учитывают возможность модернизации ядер. В данных правилах учи-
тываются как особенности самого языка УНОЬ, так и возможности современных систем автоматизированного синтеза для ПЛИС. Эти правила относятся к стадии разработки моделей блоков на уровне регистровых передач.
О
]
н
ч
Моделирование полной модели на уровне регис! ропыхпередач
Выполнение трассиронки и размещения проектируемого уст рийства в ПЛИС
Анализ временных характеристик Моделирование на ве1ггилыгом уровне
Г
э:
Загрузка конфигурации в макет устроЙС1ва
Анализ макетных данных
О
Рис. 2. Маршрут проектирования сложных ядер
Выделим основные критерии оценки сложного ядра многократного использования.
Работоспособность сложно1 о ядра заключается в совместимости его подсистем между собой и с надсистемой (САПР), а также в функциональности ядра. Совместимость достигается за счет использования типовых средств, на базе которых строятся подсистемы ядра, и формирования системных требований, которым должны удовлетворять разрабатываемые компоненты.
Качество функционирования сложного ядра — совокупность свойств, обусловливающих достижение требуемого результата в конкретных условиях функционирования. Например, время проектирования, квалификация разработчика, соответствие различным САПР.
Эффективность сложною ядра определяют сопоставлением результатов от его функционирования и затрат всех видов ресурсов на ею создание и экс-
плуатацию. Обобщенный критерий эффективности находят на множестве частных критериев эффективности, каждый из которых описывает одну из сторон системы и может быть оценен. Проблема эффективности сложного ядра не может быть решена путем независимой оптимизации его отдельных подсистем и требует целостного подхода. Частными критериями являются как критерии оценки качества получаемого решения, так и критерии оценки качества функционирования сложного ядра.
Частным критерием оценки качества получаемого решения является энергопотребление. Рассеиваемая мощность микросхемы может быть оценена как:
Р=а*Се* Усс2 */с1к (I)
где Се - эквивалентная емкость всех переключаемых схем, Усс -напряжение питания,^« - тактовая частота, а - среднее значение активности переключений. Поэтому оптимизация энергопотребления может достигаться за счет минимизации этих параметров. Поэтому оптимизация энергопотребления может достигаться за счет минимизации: Сс, что означает минимизацию аппаратных затрат и проектных норм; Усс , что обычно выполняется как результат уменьшения проекггных норм; /сц до уровня, который ещё обеспечивает заданную производительность; а, которая достигается путем уменьшения вероятности переключения логических схем. Типичным примером минимизации активности переключений является включение режима минимального энергопотребления путем отключения синхросигнала от ядра после выполнения задачи.
Устройства с меньшими аппаратными затратами и с минимальной длиной межсоединений более предпочтительны. Уменьшение длины межсоединений достигается, в частности, конвейеризацией вычислений, построением регулярных структур, которые не допускают длинных проводников. Также этому способствует уменьшение количества портов ввода-вывода устройства, благодаря чему минимизируется число глобальных линий связи.
Максимальная тактовая частотаX» может быть оценена как:
Усс /С, (2)
где р - константа для данной технологии микросхем, Ср - эквивалентная емкость переключаемых вентилей, входящих в критический путь. Следовательно, с уменьшением V«., максимальная частота /сц может уменьшиться до уровня, который недостаточен для требуемой производительности схемы. Для того чтобы производительность схемы оставалась при этом высокой, необходимо сокращать длину критического пути, уменьшая длину цепочек вен шлей и внедряя конвейеризацию, а также уменьшая количество нагрузок на один вентиль. Конвейеризованные схемы могут потреблять меньше энергии, так как у них при такой же
производительное™ может быть меньше V«. При чрезмерном уменьшении Уи увеличиваются токи утечки. Эти токи не зависят от частоты/« и могут быть соизмеримы с током переключений. Доля энергопотребления токов утечки пропорциональна аппаратным затратам.
Вышеизложенные доводы позволяют сделать общий вывод: наилучшая стратегия при проектировании ядер - это разработка ядер, которые обеспечивают заданную производительность и имеют минимальное отношение аппаратных затрат к максимальной тактовой частоте/«. Кроме юю, ядро с минимальными аппаратными затратами занимает меньше площадь кристалла. Стратегия проектирования должна включать иерархическое проектирование, минимизацию числа межсоединений между различными уровнями иерархии, конвейеризацию и буферизацию вычислений.
Конвейеризация вычислительного устройства как составного элемента ядра многократно использования - это эффективный способ повышения его максимальной тактовой частот. Смысл конвейеризации заключается в том, что при добавлении конвейерных регистров сокращается длина критического пути, благодаря уменьшению длины цепочек вентилей между смежными решстрами.
В работе рассматриваются методы построения конвейерных ядер и предлагается методика их проектирования с помощью УИ1)Ь. Так как в 11ЛИС чаще всего реализуются конвейерные вычислительные устройства для цифровой обработки сигналов, го именно таким ядрам уделяется внимание. Эти методы и методику можно распространить на различные виды периодических алгоритмов.
Третья глава посвящена примеру проектирования на базе разработанной методики ядра многократного использования, выполняющего функцию быстрого преобразования Фурье (БПФ) большой размерности. Описаны основные преимущества и недостатки ПЛИС в качестве базиса для реализации ядра.
Типичными примерами функций цифровой обработки сигналов являются алгоритмы фильтрации, модуляция и демодуляция, кодирование и декодирование голосовых данных, различные виды анализа сигналов, в т ом числе и спектральный анализ, в котором реализуется функция дискретного преобразования Фурье. Разработанная методика была использована для реализации функции быстрого преобразования Фурье. Во-первых, это яркий представшель функций данною класса. Во-вторых, её реализация требует разработки сложною ядра, содержащего наиболее часто встречаемые элементы (блоки).
Учитывая алгоритм функционирования БПФ, была предложена обобщенная структура ядра (Рис. 3).
Данное ядро многократного использования было полностью разработано с учетом изложенною маршрута проектирования, предложенных правил проектирования и особенностей разработки отдельных блоков Учитывалась возможность интei рации ядра в существующие программные среды проектирования таких фирм,как Mentor Graphics, Altera, Xilinx и др.
Блок формирования адресов
Блоки Блок
памяти задержки
Рис. 3. Иерархическая структура ядра БПФ
Четвертая глава посвящена анализу разработанной методики и ядра многократного использования, полученного на её основе Приводится сравнение с существующими коммерческими ядрами.
Разработанное ядро, реализующее функцию быстрого преобразования Фурье может найти применение в системах цифровой обработки сигналов для задач спектрального анализа, если требуется достичь максимальной скорости обработки данных. Гак, в макете были достигнуты частоты 120 МГц. При этом в реальном времени обрабатывалось 8192 точки. Использовались 18 разрядные данные. Вычисление происходило за 57 микросекунд. При использовании кристаллов серии У1Пех П ядро занимало в кристалле 32 встроенных аппаратных умножителя и 56 блоков встроенной памяти и порядка 3000 логических ячеек (в зависимости от параметров синтеза).
Разработанная методика проектирования позволила в кратчайшие сроки получить готовый результат (порядка 2-х недель на проектирование) Нужно отметить, что сокращение общего времени па проектирование происходи 1 из-)а сокращения итерационных процессов - возврата к предыдущим пунктам маршрута проектирования Таким образом, выполнялась полная разработка, верификация и дальнейшее сопряжение ядра, как на уровне функциональных моделей, так и на уровне регистровых передач.
На стадии проектирования отдельных блоков были использованы разработанные правила проектирования, как общего характера, так и с учетом реализации синтезируемой аппаратной модели на языке VHDL. Эю позволит в дальнейшем при необходимости модернизировать ядро с небольшими материальными и временными затратами.
Каждый блок проектировался с учетом карты возможных способов реализации на основании аппаратных возможностей применяемых кристаллов. Эю даст возможность применять данное ядро с различными сериями кристаллов FPGA, ASIC или их комбинаций.
Применение конвейерной обработки данных позволило реализован, алгоритм вычисления функции Быстрого Преобразования Фурье в ограниченном пространстве аппаратных ресурсов за кратчайшее время. Получаемый результат не уступает коммерческим разработкам по занимаемой площади кристалла, час-ioie сиихросигнала и соответственно но тепловыделению кристалла Приведем сравнительную таблицу характеристик ядер БПФ различных производителей со-вмесшо с разработанным ядром (см. Табл. 1).
Табл. 1. Сравнительные характеристики ядер
Изготовитель Xilinx Altera Авторская разработка
Минимальный кристалл XC2v4000 EP2S60F484C3 XC2v2000
Количество точек 8192 8192 8192
Разрядность данных 16 16 18
Логические элементы 3141 Slice 7,351 LE 3050 Slice
Умножители 24(18x18) 18(18x18) 32(18x18)
Блоки памяти 24 (RAMB) 304 (M4K) 32 (RAMB)
Максимальная частота (МГц) 143 293 143
Время выполнения (мке) 57.29 27.95 55.27
ЗАКЛЮЧЕНИЕ В диссертации получепы следующие результаты:
1. Проведено исследование состояния в области современных САПР цифровых устройств, в ходе которого была установлена недостаточная проработанность в плане методологий проектирования сложных ядер многократною использования. В силу постоянного развития современной элементов базы создаваемые САПР должны обладать тибкостыо и открытостью, что нельзя сказать о большинстве современных коммерческих САПР.
2. Проведено исследование существующих методик проектирования ядер многократною использования в базисе ПЛИС, применяемых в современных системах САПР.
3. Проведен обзор современной элементной базы систем на одном кристалле, в ходе которого были выявлены классы микросхем наиболее перспективных для применения в современных устройствах.
4. Разработан маршрут проектирования сложных ядер многократного использования.
5. Выделены основные характеристики блоков ядер или примитивов, накладывающие ограничения на выбор «нмнетствующих моделей описания данных блоков.
6. Предложена методика формирования моделей сложных ядер в базисе ПЛИС. Предложена методика аппаратного описания сложного ядра многократного использования в виде иерархической структуры блоков.
7. На основании предложенной методики спроектировано ядро многократного использования выполняющее функцию быстрого преобразования Фурье.
Основное содержание диссертации опубликовано в следующих работах:
1. Проект REASON: возможности для российских вузов и малых предприятий / К.В. Куликов, С.Г. Мосин, В Н. Ланцов, Л.А. Калыгина // Новые методологии проектирования изделий микроэлектроники- Материалы междунар. науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2002.
2. Проект REASON: работа со школьниками и учащимися учреждений среднего специального образования / К.В. Куликов, С.Г, Мосин, В.Н. Ланцов, И.А. Коломиец // Новые методологии проектирования изделий микроэлектроники: Материалы междунар. науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2002.
3. Создание многократно используемых блоков для проектирования систем на одном кристалле / К.В. Куликов // Новые методологии проектирования изделий микроэлектроники: Материалы междунар. науч.-iexn. конф. / Владим. гос. ун-т. - Владимир, 2002.
4. Выбор многократно используемых ядер при проектировании систем на одном кристалле / К.В. Куликов // Новые методологии проектирования изделий микроэлектроники: Материалы междунар науч.-iexH. конф. / Владим. гос. ун-т. - Владимир, 2003.
5. Проект Reason: участие Владимирскою Государственною Университета в рабочих программах 2 и 7 / К.В. Куликов, С.Г. Мосин, В.Н. Ланцов // Новые методологи проекшрования изделий микроэлскфоники: Материалы меж-дунар. науч.-гехн. конф. / Владим. гос. ун-т. - Владимир, 2003.
6. Проект REASON: повышение уровня интереса в обласш микроэлектроники среди школьников / И.А. Коломиец, В.Н. Ланцов, С.1, Мосин, К.В. Куликов // Новые методологии проектирования изделий микроэлектроники. Материалы междунар. науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2003.
7. Многократно используемые блоки при проектировании систем на одном кржиалле / К.В. Куликов, В.Н. Ланцов // Реконфш урируемые электронные средства в системах обработки информации: Материалы всероссийской науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2003.
8. Особенности проектирования мнопжрашо используемых блоков как основы систем на одном кристалле / К.В. Куликов // Перспективные технологии в средствах передачи информации: Материалы международной науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2003.
9. Research of the speech signal prediction / И.А. Коломиец, Е.Б. Коблов, К.В. Куликов // East-West Design and Testing Symposium / Crimea, Ukraine, 2004.
10. IP cores using for creation complex system on a chip / К.В. Куликов // East-West Design and Test Symposium / Crimea, Ukraine, 2004. - С. 155 - 154.
11. Проект REASON: участие Владимирского государственного университета в рабочих программах 2 и 7 / К.В. Куликов, С.Г. Мосин, В.Н. Ланцов // Новые методологии проектирования изделий микроэлектроники: Материалы междунар. науч.-техн. конф. / Владим. гос. ун-т. - Владимир, 2004.
12.Проект REASON: деятельность в области тестирования и тссшпри-годною проектирования электронных ycipoBcre / К.В. Куликов, С.Г. Мосин, В.Н. Ланцов // Новые методологии проектирования изделий микроэлектроники: Материалы междунар. науч.-техн. конф. / Владим. гос. ун-i. - Владимир, 2004.
13.Основные проблемы проекшрования систем на одном кристалле / К.В. Куликов, С.Г. Мосин, В.Н. Ланцов // Новые методологии проектирования изделий микроэлектроники: Материалы междунар. науч.-гехн. конф. / Владим. гос. ун-т. - Владимир, 2004.
JIP № 020275. Подписано в печать 30.09.05. Формат 60x84/16. Бумага для множит, техники. Гарнитура Тайме. Печать на ризографе. Усл. печ. л. 0,93. Уч -изд. л. 0,97 Тираж 100 экз.
Заказ ¿SJ-Издательство Владимирского государственного университета. 600000, Владимир, ул. Горького, 87.
№20949
РНБ Русский фонд
2006-4 18897
Оглавление автор диссертации — кандидата технических наук Куликов, Константин Владимирович
СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ.
ВВЕДЕНИЕ.
1. СОСТОЯНИЕ В ОБЛАСТИ ПРОЕКТИРОВАНИЯ СИСТЕМ НА
КРИСТАЛЛЕ И ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ.
1.1. Обзор элементной базы систем на одном кристалле.
1.1.1. Примеры реализации систем на одном кристалле.
1.1.2. Классификация цифровых интегральных микросхем.
1.1.3. Классификация систем на одном кристалле.
1.1.4. Достоинства и недостатки ПЛИС в качестве основы реализации систем на одном кристалле.
1.2. Основные проблемы, возникающие при проектировании систем на одном кристалле и возможные пути их решения.
1.2.1. Различные подходы и методологии проектирования отдельных узлов.
1.2.2. Виды ядер многократного использования.
1.2.3. Примеры решения проблем.
1.3. Обзор современных САПР ПЛИС.
1.3.1. Средства проектирования систем на одном кристалле на основе многократно используемых блоков фирмы ХШпх.
1.3.2. Средства проектирования систем на одном кристалле на основе ПЛИС фирмы ALTERA.
1.3.3. Средства проектирования систем на одном кристалле фирмы ATMEL.
1.3.4. Программные средства фирмы Mentor Graphics.
1.3.5. Маршрут проектирования цифровых устройств в базисе ПЛИС
1.4. Цель и постановка задачи исследований.
1.5. Выводы.
2. Разработка методики проектирования сложных ядер в базисе
2.1. Методика проектирования сложного ядра.
2.2. Маршрут проектирования сложного ядра.
2.3. Общие правила проектирования.
2.4. Правила создания ядер, используя язык описания аппаратуры VHDL
2.5. Методики проектирования отдельных блоков сложных ядер.
2.5.1. Критерии оценки сложного ядра.
2.5.2. Проектирование схем с памятью.
2.5.3. Методы проектирования конвейерных вычислительных устройств 2.6. Выводы.
3. Применение разработанной методики проектирования.
3.1. Разработка ядра Быстрого Преобразования Фурье.
3.1.1. Выбор ПЛИС для реализации ядра БПФ.
3.1.2. Применение предложенных методик при проектировании ядра
3.1.3. Реализации ядра БПФ большой размерности для 0 кристаллов серии Virtex II и Virtex II Pro.
3.2. Выводы.
4. Анализ разработанной методики.
4.1. Анализ применения.
4.2. Сравнение полученных ядер с существующими.
4.3. Выводы.
Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Куликов, Константин Владимирович
В настоящее время микроэлектроника является одной из наиболее динамично развивающихся отраслей промышленности. Достигнутый технологический уровень позволяет создавать целые системы на одном кристалле. Современные средства, где доминирует программное обеспечение САПР, не могут оперировать с требуемым количеством транзисторов, быстро возрастающим в соответствии с законом Мура. Возникает основное противоречие, связанное с одной стороны с быстрым ростом возможностей элементной базы, а с другой - с недостатком современных средств автоматизированного проектирования устройств данного класса [15].
Всё большее количество выпускаемых серийно микросхем можно назвать системами на одном кристалле. Система на Одном Кристалле (СОК, в английской языке System On a Chip) - отдельный чип, на котором, в зависимости от необходимости, интегрированы ядро RISC-процессора или DSP, память, программируемая логика, аналоговые функции, устройства коммуникационных интерфейсов и управления потреблением мощности. Ранее такие элементы требовали размещения на отдельных микросхемах. Реализуя на едином кристалле кремния большое число системных функций, эти микросхемы составляют наибольшую часть стоимости системы в целом. В большинстве сотовых телефонов, мультимедиа системах, домашних кинотеатрах или автомобильной электронике без таких микросхем обойтись уже нельзя. Сегодня система на кристалле стоит много меньше, чем аналогичная на стандартном микропроцессоре с равным числом интегральных транзисторов и сравнимыми затратами на проектирование [7].
Низкая цена - это не единственное преимущество данных систем. Такие качества как высокая производительность и надежность, малые потребляемые мощности, многофункциональность и удобства для пользователя, сокращение времени выхода конечного продукта на рынок, простота проектирования делают изготовление таких систем привлекательными как для заказчика, так и для проектировщика.
Цифровые системы на кристалле могут быть построены на различном аппаратном базисе. В настоящее время рынок программируемых логических интегральных микросхем (ПЛИС) является одним из наиболее динамично развивающихся. ПЛИС применяются в следующих направлениях:
• аппаратные макеты цифровых устройств,
• в случае мелко серийного производства (сокращение сроков выхода на рынок по сравнению с применением заказных и полузаказных интегральных микросхем),
• программно определяемое радио - новая технология в системах связи,
• реконфигурируемые вычислители,
Программное обеспечение, применяемое при разработке цифровых устройств, быстро морально устаревает вследствие высоких темпов развития элементной базы, результатом чего является необходимость его модернизации. Данное утверждение полностью правомерно и по отношению к САПР ПЛИС. Так, на данный момент, в современных коммерческих САПР ПЛИС, хорошо отработаны методы получения конфигурации ПЛИС по моделям устройств на уровне регистровых передач. Однако современные устройства ПЛИС обладают такой логической емкостью, что позволяют проектировать целые системы на одном кристалле, и соответственно для проектирования систем необходимо применять средства проектирования на системном уровне. В настоящее время нет однозначной, удовлетворяющей всех разработчиков аппаратуры методологии получения конфигурации ПЛИС по функциональной модели устройства на системном уровне.
Многократно используемый блок (Reusable Block) - однажды спроектированный, верифицированный функциональный блок, который может быть использован повторно. Такие блоки часто называют ядрами (Cores), виртуальными компонентами (Virtual Component - VC) , макроэлементами, интеллектуальной собственностью (TP - ядрами). В данной работе используется термин ядро, как наиболее употребляемое в настоящее время в русской и иностранной литературе. Ядро - это подпрограмма для 7 системы САПР, которая позволяет реализовать автоматизированными средствами законченную функциональную часть проектируемого устройства в кристалле.
Многократное использование ядер интеллектуальной собственности (IP reuse) - это один из путей усовершенствования продуктивности проектирования систем на одном кристалле. Хотя многократное использование ядер было открыто и технически, и как бизнес концепция уже много лет назад [51], но только в последнее время систематическое использование, основанное на технологии EDA (Electronic Design Automation - автоматизация проектирования электронных приборов и устройств) позволило осуществить выход на полупроводниковый рынок.
Применение ядер при проектировании по технологии ПЛИС позволяет сократить время проектирования в несколько раз (например, с двух месяцев до двух недель). Это достигается за счёт отсутствия этапов проектирования тех элементов микросхемы, которые реализуются ядрами. Причём, данный метод может применяться для любой технологии производства микросхем.
Проектирование на основе ядер (Core-Based Design) становится все более популярным среди фирм изготовителей во всем мире [63]. Компании располагают своими библиотеками компонентов, которые не совместимы друг с другом. Этот факт замедляет, а иногда останавливает процесс проектирования из-за трудности или невозможности перевода ядер из одного формата в другой. Зачастую проектировщикам приходится тратить много времени для решения проблем верификации ядер в своих системах. Это противоречит принципам создания систем на кристалле на основе готовых блоков, где все направлено на облегчение и ускорение процесса проектирования.
Закрытость архитектур коммерческих САПР делает невозможным добавление собственных функциональных моделей устройств на системном уровне для получения по ним моделей устройства на уровне регистровых передач.
Существует популярный подход, позволяющий осуществить переход от функциональной модели на системном уровне к модели устройства на уровне регистровых передач - применение языков описания аппаратуры на системном уровне (SLDLs, system-level design languages). К таким языкам относятся: SystemC, Handel-C, OpenVera. Основным недостатком данного подхода является ограниченность групп алгоритмов, которые возможно применять для осуществления данного перехода, следствием чего является снижение качества получаемого решения (по сравнению с технологией ядер). Однако его несомненным плюсом является независимость от аппаратного базиса, в котором будет реализовано устройство [55].
Использование при проектировании таких языков, как VHDL и Verilog, позволяет отказаться от составления схем на большинстве этапов разработки СОК. Технология проектирования с помощью VHDL предполагает описание исходных алгоритмов функционирования аппаратуры и ее интерфейса на языке VHDL и автоматическую трансляцию этого описания до уровня логических схем и далее - до уровня масок микросхем или прошивки программируемых логических интегральных схем (ПЛИС). При этом схемы устройств в графическом виде практически не используются. Отсутствие ошибок в проекте автоматически контролируется средствами верификации. Как основное средство верификации используется моделирование функционирования устройства (или отдельного блока) на VHDL-симуляторе на всех этапах проектирования. Разработка современных вычислительных устройств без использования языков VHDL и Verilog стала практически невозможной [27].
Существует два основных способа создания ядер многократного использования. Первый подразумевает создание ядра на базе уже существующих разработок. Второй подразумевает создание совершенно новых ядер. Основной проблемой, с которой может столкнуться проектировщик, является отсутствие методик проектирования сложных вычислительных устройств или их блоков (отдельных составляющих) для повторного использования. Существующие методики, как правило, разрабатываются и используются коммерческими фирмами и носят закрытый характер. Кроме того, такие методики ориентированы на конкретные аппаратные и программные средства и в большинстве случаев требуют полной модернизации при переносе на другие платформы.
Определим понятие «сложное ядро». Сложные ядра - это подкласс ядер, который относят к классу сложных технических систем, то есть это объекты, характеризующиеся следующими свойствами: целенаправленность, целостность, и членимость, иерархичность, многоаспектность и развитие. Сложные ядра требуют больших аппаратных затрат и больших затрат на проектирование. Их можно разделить на функциональные блоки. Блоками могут быть блоки памяти, блоки, выполняющие арифметические операции, блоки управления и другие блоки, выполняющие логические функции, то есть это блоки различного характера. Проектирование каждого из этих блоков требует особых методик. Например, если ядром выполняются различные арифметические операции и при этом необходимо хранить определенный объем информации во внутренней памяти, то в ядре выделяются отдельные блоки для выполнения арифметических операций и блоки памяти - это ядро является сложным.
Основной проблемой, с которой сталкивается проектировщик, при проектировании сложных ядер является отсутствие методик проектирования сложных вычислительных устройств или их блоков (отдельных составляющих) для повторного использования. Существующие методики, как правило, разрабатываются и используются коммерческими фирмами и носят закрытый характер. Кроме того, такие методики ориентированы на конкретные аппаратные и программные средства и в большинстве случаев требуют полной модернизации при переносе на другие платформы.
Существуют общие методики проектирования ядер. Методики проектирования сложных ядер являются либо закрытыми (используются разработчиками коммерческих САПР), либо применяются на сильно
10 ограниченном аппаратном базисе. Поэтому возникает острая необходимость разработки методики проектирования сложных ядер. Эта методика должна объединять методики проектирования ядер различного характера и применяться для различного аппаратного базиса. В данной работе основное внимание уделяется проектированию сложных ядер, применяемых в системах цифровой обработки сигналов.
Целью работы является исследование и развитие методики проектирования сложных цифровых ядер многократного использования в базисе ПЛИС.
Для достижения данной цели в работе ставятся и решаются следующие задачи:
1. Исследование современного процесса проектирования в САПР ПЛИС и элементного базиса ПЛИС, выявление наиболее перспективных классов устройств.
2. Исследование существующих методик проектирования ядер многократного использования в базисе ПЛИС, применяемых в современных системах САПР.
3. Разработка методики проектирования сложных цифровых ядер многократного использования в базисе ПЛИС.
4. Усовершенствование методики проектирования в рамках подхода основанного на представлении устройства в виде иерархии аппаратно зависимых и аппаратно независимых примитивов.
5. Проверка методики на основе проектирования ядра многократного использования, выполняющего функцию быстрого преобразования Фурье и анализ полученных результатов.
Методы исследования. Для решения поставленных задач в работе использовались методы: теории САПР, теории графов, теории множеств, теории цифровой обработки сигналов.
Научная новизна работы. Новые научные результаты, полученные в работе, состоят в следующем:
1. Предложена методика описания модели сложного ядра многократного использования на языке VHDL.
2. Предложен маршрут проектирования сложных ядер многократного использования.
Практическая ценность. Разработанные методики и алгоритмы могут быть использованы при разработке программного обеспечения САПР цифровых устройств. Открытость материалов и ориентирование на взаимодействие с САПР ПЛИС позволяют разрабатывать собственные сложные ядра и включать их в состав таких САПР, а так же разрабатывать собственные автоматизированные средства для проектирования и применения ядер пользователя.
Разработанное информационное обеспечение позволяют сократить временные и материальные затраты при проектировании цифровых устройств, особенно при повторном использовании ядер.
Имеется возможность переноса данной методологии на другие технологии изготовления цифровых микросхем - такие как специализированные ИС (ASIC).
Реализация и внедрение результатов работы.
Работа по теме диссертации проводилась на кафедре ВТ ВлГУ, в Центре микроэлектронного проектирования и обучения, в рамках х./д. НИР, а так же в рамках Европейского проекта REASON - Research and Training Action for System On Chip Design (#lST-2000-30193). Полученные результаты исследований в виде методик и программного обеспечения внедрены в виде материалов отчетов в НИР №2609/01, №2704/02, № 2851/03, выполненных в рамках госзаказа, и в учебный процесс кафедры ВТ ВлГУ.
Апробация работы.
Основные положения и результаты работы докладывались и обсуждались на следующих семинарах и конференциях:
- Международная научно-техническая конференция «Новые методологии проектирования изделий микроэлектроники» «New design methodologies» (Владимир, 2002, 2003, 2004 г);
- Всероссийская научно-техническая конференция «Реконфигурируемые электронные средства в системах обработки информации» (Владимир, 2002 г.)
- V международная научно-техническая конференция «Перспективные технологии в средствах передачи информации» (Владимир 2003);
- НТК профессорско-преподавательского состава ВлГУ (2001-2005г);
- Научно-практические семинары Центра микроэлектронного проектирования и обучения ВлГУ (2001 - 2005 г).
На защиту выносятся:
1. Методика описания сложного ядра многократного использования на языке VHDL.
2. Маршрут проектирования сложных ядер многократного использования.
3. Блок многократного использования, выполняющий функцию быстрого преобразования Фурье большой размерности.
Публикации по работе. По теме диссертации опубликовано 13 печатных работ, из них 3 стати в сборниках научных трудов и 10 тезисов докладов на Международных и Российских научно-технических конференциях.
Структура работы. Диссертация состоит из введения, четырёх глав, заключения, списка литературы. Общий объем диссертации - 125 страниц, в том числе - 116 страниц основного текста, 9 страниц списка литературы (108 наименований). Диссертация содержит 33 рисунка и 6 таблиц.
Заключение диссертация на тему "Методика проектирования сложных цифровых блоков в базисе ПЛИС"
4.3.Выводы
1. Разработанное ядро многократного использования, выполняющее функцию Быстрого Преобразования Фурье, не уступает по своим характеристикам коммерческим ядрам.
2. Был проведен анализ и верификация разработанного ядра. В результате анализа было установлено, что данная методика позволяет эффективно разрабатывать и внедрять сложные цифровые ядра.
3. Было установлено, что применение разработанной методики позволяет ускорить процесс переноса устройств из одного элементного базиса в другой (в сравнении с существующими методами, применяемыми в современных коммерческих системах САПР), при этом сохраняется качество получаемого решения.
4. Разработанное ядро можно интегрировать во все современные системы проектирования ПЛИС, таких фирм как Xilinx, Altera, Mentor Graphics.
ЗАКЛЮЧЕНИЕ
Проведенное исследование в области методов и средств проектирования цифровых устройств показало необходимость развития средств САПР высокоуровневого проектирования. Это связано с высокими темпами развития современной цифровой аппаратуры, появлением новых подходов к проектированию цифровых устройств: реконфигурируемые устройства, системы на кристалле и т.д. Необходимость упора именно на высокоуровневое проектирование объясняется повышенной сложностью современных цифровых устройств (исчисляется миллионами логических вентилей), что делает практически невозможным моделирование поведения всего устройства даже на уровне регистровых передач.
На данный момент в современных системах САПР имеется достаточное количество хорошо отработанных методов проектирования и верификации цифровых устройств на системном уровне. Также хорошо развиты методы получения конфигурации устройства по его модели на уровне регистровых передач. Однако до сих пор нет универсальных и хорошо отработанных методологий получения моделей устройства на уровне регистровых передач по его моделям на системном уровне. Особенно, если необходимо обеспечить качественную и быструю смену аппаратного базиса, в котором реализуется устройство. Основными задачами, решенными в процессе выполнения работы, были: исследование и развитие методики проектирования сложных цифровых ядер многократного использования в базисе ПЛИС и усовершенствование методики проектирования в рамках подхода основанного на представлении устройства в виде иерархии аппаратно зависимых и аппаратно независимых примитивов,
В диссертационной работе были получены следующие основные результаты:
1. Проведено исследование состояния в области современных САПР цифровых устройств, в ходе которого была установлена недостаточная проработанность в плане методологий проектирования
115 сложных ядер многократного использования. В силу постоянного развития современной элементной базы создаваемые САПР должны обладать гибкостью и открытостью, что нельзя сказать о большинстве современных коммерческих САПР.
2. Проведено исследование существующих методик проектирования ядер многократного использования в базисе ПЛИС, применяемых в современных системах САПР.
3. Проведен обзор современной элементной базы систем на одном кристалле, в ходе которого были выявлены классы микросхем наиболее перспективных для применения в современных устройствах.
4. Разработан маршрут проектирования сложных ядер многократного использования.
5. Выделены основные характеристики блоков ядер или примитивов, накладывающие ограничения на выбор соответствующих моделей описания данных блоков.
6. Предложена методика формирования моделей сложных ядер в базисе ПЛИС.
7. Предложена методика аппаратного описания сложного ядра многократного использования в виде иерархической структуры блоков.
8. Усовершенствована методика построения моделей аппаратно зависимых и аппаратно независимых примитивов.
9. На основании предложенной методики спроектировано ядро многократного использования, выполняющее функцию быстрого преобразования Фурье.
Библиография Куликов, Константин Владимирович, диссертация по теме Системы автоматизации проектирования (по отраслям)
1. Арно Рудольф Все меняется в эпоху SOC. http://chipnews.gaw.ru/html.cgi/arhiv/9902/stat43.html
2. Борзенко А. Системы на одном кристалле. PC Week, 1999, №44, с24
3. Бухтеев А. Методы и средства проектирования систем на кристалле. -CHIPINFO, 09 марта 2005г
4. Воеводин В.В. Математические модели и методы в параллельных процессорах. М.: Наука, - 1986. - 296с.
5. Дейв Криста, Тони Джонсон Методология высокоуровневого проектирования устройств на базе FPGA. http://chipnews.gaw.ru/html.cgi/arhivi/9903/stat-38.htm
6. Дж. Ф. Уэйкерли Проектирование цифровых устройств. В 2 томах. М. Постмаркет, 2002.
7. Джим Липман Сложные устройства на одном кристалле становятся реальностью. http://chipnews.gaw.ru/html.cgi/arhiv/9902/stat15.htm
8. Капитанов В., Мистюков В., Довгань С. Контроллер PCI интерфейса на ПЛИС фирмы Xilinx. http://chipnews.gaw.ru/html.cgi/arhiv/0002/stat-14.htm
9. Кривченко И. Системная интеграция в микроэлектронике — FPSLICTM. , http://chipnews.gaw.ru/html.cgi/arhiv/0003/stat-4.htm
10. Куликов К.В. Выбор многократно используемых ядер при проектировании систем на одном кристалле. Международная научно-техническая конференция «Новые методологии проектирования изделий микроэлектроники», Владимир: Владим. гос. ун-т, 4-5 декабря 2003г.
11. Куликов К.В. Основные проблемы проектирования систем на одном кристалле. Новые методологии проектирования изделий микроэлектроники (New design methodologies): Материалы МНТК., г.Владимир. 10-11 декабря 2004г. - ВлГУ, 2004. - С. 35 - 37.
12. Куликов К.В. Создание многократно используемых блоков для проектирования систем на одном кристалле. Международная научно-технической конференция «Новые методологии проектирования изделий микроэлектроники», Владимир: Владим. гос. ун-т, 2002
13. Ланцов В.Н., Морозов М.А. Проектирование систем на кристалле (System-on-a-Chip). Владимир, ВлГУ, 1999
14. Ли Е.А., Мессершмитт Д.Г. Вычисления с синхронными потоками данных. ТИИЭР. - 1987. - Т. 75.-№ 9. - С. 107-119.
15. Лохов А., Рабоволюк А., Средства проектирования FPGA компании Mentor Graphics. Электроника: Наука, Технология, Бизнес 4/2004
16. Лохов А., Средства проектирования СБИС компании Mentor Graphics. -Электроника: Наука, Технология, Бизнес 7/2003
17. Мальцев П.П., Гарбузов Н.И., Шарапов А.П., Кнышев Д.А. Программируемые логические ИМС на КМОП-структурах и их применение. М.:Энергоатомиздат. - 1998.
18. Марсия Сэвидж IBM делает шаг в будущее: система на одном кристалле. 31 мая 1999, http://www.crn.ru/news.asp?ID=2595
19. Мистюков Владимир, Володин Павел, Капитанов Владимир Однокристальная реализация алгоритма БПФ на ПЛИС фирмы Xilinx. -Компоненты и технологии, № 10, 2000
20. Пархи К.К. Методы преобразования алгоритмов для параллельных процессоров. ТИИЭР. - 1989. - Т. 77. - №12. - С.96-114.
21. Петричкович Я., Солохина Т. SoC серии «МУЛЬТИКОР» — первый шаг и положительная динамика развития. Компоненты и технологии, № 5, 2003
22. Попович А. ПЛИС ACTEL платформа для «Систем на кристалле» бортовой аппаратуры. - Электроника: Наука, Технология, Бизнес, 2004 №4
23. Pao С.К., Кайлат Т., Регулярные итеративные алгоритмы и их реализация в процессорных матрицах. ТИИЭР. - 1988. - 76, - № 3, - С. 58-69.
24. Самир Самхури Оптимизация параметров FPGA матриц за счет правильного HDL кодирования, http://chipnews.gaw.ru/html.cgi/arhivi/9902/stat-33.htm
25. Сергиенко А.Б. Цифровая обработка сигналов. Учебник для вузов. -Издательский дом «Питер» 2003. - 603с.
26. Сергиенко A.M. VHDL для проектирования вычислительных устройств. К ЧП «Корнейчук», ООО «ТИД «ДС», 2003 — 208 с
27. Сигаев Алексей Микроконтроллеры фирмы Mitsubishi. http://www.compitech.ru/html.cgi/arhiv/0008/stat76.htm
28. Стешенко В.Б. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. Занятие 1. Обзор элементной базы. Chip News. 1999. № 8. С. 2-6.
29. Стешенко В.Б. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. Занятие 2. Система проектирования MAX+PLUS II фирмы ALTERA. Chip News. 1999. № 9. С. 15-18.
30. Стешенко В.Б. Школа разработки аппаратуры цифровой обработки сигналов на ПЛИС. Занятие 3. Программное обеспечение проектирования на ПЛИС Xilinx. Chip News. 1999. № 10. С. 15-18.
31. Стешенко Владимир Проектирование СБИС, Стили и этапы проекта. -Компоненты и технологии, № 10, 2000
32. Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2000. -528 с.
33. A worldwide intellectual property network for system on chip (soc) design. -Jaen Mermet Laboratoire TIMA (ECSI Director), StanBaker (VSI Alliance Executive Director)
34. Agilent SOC (System-on-a-chip) Test. http://www.ate.agilent.com/ste/products/intelligenttest/SOCtest/SOCTech Oview.shtml
35. Amit Dhir The Home Networking Revolution. Xilinx Inc., 2001
36. Ashok Halambi, Radu Cornea, Peter Grun, Nikil Dutt, Alex Nicolau Architecture Exploration of Parameterizable EPIC SOC Architectures. -University of California at Irvine, Proceedings of the Design, Automation and Test in Europe
37. Assisting SMEs to exploit their Intellectual Property the assistec project. -Tony DENT, iprias Ltd., Nadim KRIM, CMP, Ian PEARSON, iprias Ltd.
38. Barbara Tuck Verifying SoCs with embedded processors and analog IP, iCD, 16 July 2001
39. Barbara Tuck Differentiation in configurable SoC design options continues. -iCD, 16 April 2001
40. Barbara Tuck It takes an arsenal of tools to verify a system-on-a-chip. iCD, 14 May 2001
41. Barbara Tuck Library modeling language for SoCs covers RTL to silicon. -iCD, 13 August 2001
42. Barbara Tuck Network processors and more at Embedded Processor Forum. -iCD, 16 July 2001
43. Barbara Tuck One-stop shopping for success in SoC design. iCD, 15 January 2001
44. Barbara Tuck Vendors making moves to ease IP-based SoC design. iCD, 12 November 2001
45. Cadence SoC Encounter. http://www.cadence.com/datasheets/socencounter.html
46. Charles Shelor Designing With Intellectual Property. VHDL Times, Second Quarter 1997
47. Chris Balough, Joji Okada, Configurable SoC platform-based design strategy.- iCD, 18 June 2001
48. Clive Jones Actel breaks density barrier with world's first 1-million gate, single-chip flash FPGA; new family targets traditional ASIC markets. -http://www.actel.com/company/press/2002pr/PAplusLaunch.html
49. Cristina Barna, Wolfgang Roscnstiel Object-Oriented Reuse Methodology for VHDL. Forschungszentrum Informatik Haid-und Neustr. 10-14, 76137 Karlsruhe, Germany, Universitat Tubingen Sand 13, 72076 Tubingen, Germany
50. David Maliniak Design Languages Vie For System-Level Dominance. New Design Methods for Reconflgurable Hardware, Celoxica. - Oct., 2001.
51. Design of Microprocessors. EDA Roadmap Taskforce Report.// Electronic Design Automation Industry Council. — Si2, Inc. 1999. - C. 51.
52. Doug Campbell Programmable devices continue to erode ASIC market. -iCD, 13 August 2001
53. Fast Fourier Transform v3.1, Product Specification. Xilinx Inc., November 11, 2004, http://www.xilinx.com/ipcenter/catalog/logicore/docs/xfft.pdf
54. FFT MegaCore Function from Altera Corporation. http://www.altera.com/products/ip/dsp/transforms/m-ham-fft.html
55. Frank Vahid, Tony Givargis Platform Tuning for Embedded Systems Design.- University of California, Riverside, Computer, March 2001
56. Gary Silcott SOC Challenges for Wireless Handsets. Motorola, Computer, June 1999
57. Gerhard Fettweis DSP Cores for Mobile Communications: Where are we going? Mobile Communications Systems, Dresden University of Technology, D-01062 Dresden
58. Gore Т., Morawiec A. Emerging Standards for IP Exchange. Conference on Intellectual Prorerty in Electronics (IP'97)., SantaClara, CA, USA, 17-18 March 1998
59. Heiming Coors, Natividad Martinez Madrid, Ralf Seepold Hardware/Software Co-Design for IP Objects Based on CORBA. Eberhard-Karls-University Tubingen, Tubingen, Germany, F^rschungszentrum Informatik (FZI), Karlsruhe, Germany
60. Hugo De Man System-on-Chip Design Impact on Education and Research. -Katholieke Universteit Leuven/IMED, Belgium, Design & Test of Computers, July-September 1999
61. Immed Moussa, Mario Diaz-Nava, Ahmed Amine Jerraya Cost Evaluation in the Design for Reuse Context. TIMA lab., 46 Av. Felix Viallet 38031 Grenoble France, SGS-THOMSON Microelectronics, Crolles FRANCE
62. Ireneusz Janiszewski, Robert Baraniecki and Krystyna Siekierska A Reusable Microcontroller Core's Design. Institute of Electron Technology, Proceedings of the Fall VIUF Workshop
63. Janet Wilson Thin Clients Benefit From SOC. Computer, June 1999
64. Janick Bergeron Writing Testbanches, Functional Verification of HDL Models. Kluwer Academic Publishers, ISBN 0-7923-7766-4
65. Jean-Frangois Agaesse, Bernard Laurent Virtual Components Application and Customization. ASIC Product Line Thomson CSF Semiconducteurs122
66. Specifiques TCS, Avenue de Rocheplaine BP 123, 38521 Saint Egreve Cedex, FRANCE
67. Jiirgen Haase Design Methodology for IP Providers. SICAN GmbH, Hannover, Germany
68. Jonah Probell, Andrew Young Designing an SoC with reusable hardware-software development board. LEXRA INC., iCD, 16 April 2001
69. Karen Parnell, Nick Mehta Programmable Logic Design Quick Start Hand Book Second Edition. Xilinx Inc. January 2002
70. Kulikov K.V. IP cores using for creation complex system on a chip. East-West Design and Test Symposium. - Crimea, Ukraine, September, 2004. - P. 155- 154.
71. Larry Saunders Aspects of RTL and Behavioral Modeling. VHDL Times, Second Quarter 1997
72. Lee H. Goldberg Vendors Are Counting on Appliance-on-Chip Technology. -Computer, November 1999
73. Lee Hansen Using Xilinx ISE software for hight-density design. Xcell journal summer 2001. Page(s): 39-42.
74. Lobachev G.A., Plotnikiv P.V. Computer-Aided Design Subsystem of Multichannel Quadrature Delimiters on XILINX FPGA. Microelectronic and Microsystems Design - REASON Student Contest 4th Electronic Circuits and Systems Conference 2003.
75. Mar Hershenson Will the analog design flow catch up. Barcelona Design, iCD, 13 August 2001
76. Mark Birnbaum, Howard Sachs How VSIA Answers the SOC Dilemma. -(Virtual Socket Interface Alliance and Fujitsu Microelectronics Inc.), Computer, June 1999
77. Neil Peterson and William Peisel Networking the Office with SOCs. -NETsilicon Inc., Computer, June 1999
78. P. Plotnikov, G. Lobachev, Comparison XILINX and ALTERA FPGAs. in Proceedings of International Scientific Conference Informatics, Mathematical123
79. Modelling and Design in the Technics, Controlling and Education (IMMD'2004), Vladimir, 2004. p. 137 139.
80. Рак К. Chan: Digital System Design Using Field Programmable Gate Arrays.- : Prentice Hall, 1994
81. Quartus II Development Software. http://www.altera.com/literature/lit-qts.jsp
82. R. Hofman Design and rapid prototyping of communication systems. -Information and communication technologies: chances and challenges Vladimir 2003. Page(s):25-33.
83. Rao R. Tummala System on Chip or System on Package. Georgia Institute of Technology, Vijay K. Madisetti, Georgia Institute of Technology and VP Technologies Inc., Design & Test of Computers, april-June 1999
84. Rob A. Rutenbar (When) Will FPGA Kille ASICs. - 38th Design Automation Conference, Las Vegas, Nevada, USA, June 18-22, 2001
85. Robert Cravotta Dual-core device adds networking. EDN, February 17, 2005
86. S Meiyappan, К Jaramillo, and P Chambers 10 tips for generating reusable VHDL. VLSI Technology Inc, EDN, August 19, 1999
87. Serafin Olcoz Semiconductor Knowledge Management and Soft-Cores Reuse.- SIDSA, Proceedings of the XII Brazilian Symposium on Integrated Circuits and Systems Design
88. Servant Zorian, LogicVision, Erik Jan Marinissen Testing Embedded-Core-Based System Chips. Philips Research Laboratories, Sujit Dey University of California, San Diego, Computer, June 1999
89. Shiang-yi Chiang Foundries and the Dawn of an Open IP Era. Computer, Vol. 34, No. 4, April 2001
90. Software Manuals and documentation for ISE/Foundation 5.1i. -http://www.xilinx.com/support/swmanuals/xilinx5/index.htm
91. Solving the System-on-a-Chip Problem of Design for Test, Opmaxx™ Introduces BISTMaxx™ for Testing Analog/Mixed-Signal IP and Digital Delay Paths
92. Stephan Ohr Analog IP vendor Gain becomes fabless chip supplier. Silicon Strategies, http://www.siliconstrategies.com/story/OEG20020222S0037
93. Stratix GX FPGA Family. http://www.altera.com/literature/ds/dssgx.pdf
94. Terry Thomas Technology for IP Reuse and Portability. Virtual Silicon Technology, Design & Test of Computers, October-December 1999
95. Tets Maniwa Field programmable may no longer imply short develop times. -Chip Design Magazine, August/September 2004
96. The Programmable Logic Data Book. Xilinx, Inc., 2003
97. Tim Henricks Pitfalls of analog-mixed signal in SoC implementation. Tality Corp., iCD, 13 August 2001
98. Triscend E5 CSoC Family. Triscend Corporation, http://www.triscend.com/products/indexe5.html
99. U. Bidarte, J.A. Ezquerra, A. Zuloaga, J.L. Martin VHDL Modeling of an Adaptiv Architecture for Real-Time Image Enhancement
100. Virtex-II Platform FPGA Solution Launches New Era of High Performance System Design. Xcell journal, Summer 2001
101. Virtex-II Pro™ Platform FPGAs: Introduction and Overview. -http://direct.xilinx.com/bvdocs/publications/ds083.pdf
102. Warren Savage, John Chilton, Raul Camposano IP Reuse in the System on a Chip Era. Synopsys Inc., Mountain View, California, USA
103. Wolfgang Ecker, Mike Heuchling, Jochen Mades, Claus Schneider, Thomas Schneider, Andre Windisch, Ke Yang, Martin Zambaldi VHDL2HYPER A highly flexible Hypertext Generator for VHDL Models1. АКТ ВНЕДРЕНИЯматериалов диссертационной работы Куликова К.В.
104. Методика проектирования сложных цифровых блоков в базисе ПЛИС"в учебный процесс кафедры ВТ
105. Зав. кафедрой ВТ, профессор, д.т.н.1. Л.А.Калыгина1. В.Н. Ланцов
-
Похожие работы
- Методы и средства прогнозирования стойкости ПЛИС к воздействию радиационных факторов космического пространства
- Проектирование высокоинтегрированных программируемых логических интегральных схем по субмикронным проектным нормам
- Методы и алгоритмы повышения отказоустойчивости программируемых логических интегральных схем на основе КМОП элементов с избыточным базисом
- Проектирование функциональных блоков программируемой логической интегральной схемы, конфигурируемых с использованием метода сканирования пути
- Проектирование структуры межсоединений программируемых логических интегральных схем
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность