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

кандидата технических наук
Ласточкин, Олег Викторович
город
Москва
год
2007
специальность ВАК РФ
05.13.05
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Исследование и разработка методов проектирования специализированных модулярных вычислительных блоков на основе автоматизированной генерации функциональных описаний»

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

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

Ласточкин Олег Викторович

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

Специальность 05 13 05 -"Элементы и устройства вычислительной техники и систем управления"

Авторефер

диссертации на соискани ООЗ 1 "7"? 143 кандидата техниче^«.«

Москва-2007

003177143

Работа выполнена в Институте проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН)

Научный руководитель.

кандидат технических наук А И Корнилов

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

доктор технических наук, профессор И И Шагурин кандидат технических наук, с н с С Г Бобков

Защита состоится 20 декабря 2007 года в 10 час. 00 мин на заседании диссертационного совета Д002 078 01 в Институте проблем проектирования в микроэлектронике Российской академии наук (ИППМ РАН) по адресу 124681, г Москва, Зеленоград, ул Советская, д 3

С диссертацией можно ознакомиться в библиотеке ИППМ РАН Автореферат разослан 20 ноября 2007 г

Ученый секретарь диссертационного совета Д002 078 01,

Ведущая организация

ФГУГТ "Научно исследовательский институт микроэлектронной аппаратуры "Прогресс"

кандидат технических наук

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

Актуальность темы

Диссертационная работа посвящена исследованию и разработке методов проектирования СФ-блоков для построения Систем на Кристалле (СнК) в интегральном исполнении с применением аппарата модулярной арифметики

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

Для построения сложных интегральных схем самым эффективным подходом на сегодняшний день является методология проектирования СнК Один из основных методов повышения производительности проектирования СнК - это повторное использование заранее разработанных и прошедших тестирование функционально-законченных блоков Для обозначения таких элементов широко используются термин СФ-блок (сложный функциональный блок) или зарубежная аббревиатура - IP-блок (Intellectual Proprietary) В дальнейшем будет использоваться термин СФ-блок

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

• В настоящее время многие производители САПР предлагают и поддерживают библиотеки позиционных СФ-блоков различного назначения и уровня сложности Однако ни зарубежные, ни отечественные поставщики не предлагают специализированных СФ-блоков, реализующих основные модулярные операции и более сложные блоки на их основе,

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

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

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

Целью диссертационной работы является разработка методов проектирования сложных цифровых устройств на основе модулярной арифметики по методологии СнК и методов аппаратной реализации модулярных СФ-блоков основных вычислительных узлов для интегральной реализации модулярных систем

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

1 Анализ и систематизация существующих методов и подходов проектирования СнК Обзор современных систем автоматизированного проектирования цифровых устройств,

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

3 Определение архитектуры и разработка методов проектирования функциональных блоков, реализующих сложные математические выражения в линейных вычислителях (в частности, операцию |А*В+С|П1), а также вычислительных каналов, являющихся основными элементами устройств, реализованных с применением аппарата модулярной арифметики,

4 Анализ особенностей структурной реализации модулярных СФ-блоков различного назначения в зависимости от модуля,

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

6 Разработка маршрута проектирования модулярных СФ-блоков, который обеспечит применение разработанного метода, и расширение общего маршрута проектирования СнК за счет введения разработанного метода

Научная новизна работы состоит в разработке методов проектирования

модулярных СФ-блоков основных вычислительных узлов для интегральной

реализации модулярных систем

Лично автором получены следующие результаты

1 Разработаны методы проектирования быстродействующих модулярных умножителей для модулей вида (2"±1) на основе алгоритма Бута, обеспечивающие выигрыш по быстродействию и площади в сравнении с индексными модулярными умножителями,

2 Предложена методика выбора наиболее эффективных, с точки зрения быстродействия и занимаемой площади, структур модулярных умножителей для модулей различного вида, обеспечивающая выбор необходимой структуры умножителя наиболее полно удовлетворяющей требованиям разработчика,

3 Разработаны методы аппаратной реализации быстродействующих процессорных элементов, реализующих операцию |А*В+С|т для различных типов модулей т, а также модулярных вычислительных каналов, позволяющие улучшить быстродействие специализированных модулярных вычислителей'

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

5 Разработан маршрут проектирования модулярных СФ-блоков, основанный на предложенном методе, который интегрирован в существующий маршрут проектирования СФ-блоков,

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

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

На защиту выносятся следующие результаты

1 Методы аппаратной реализации модулярных умножителей на основе алгоритма Бута для модулей вида (2"±1),

2 Методика выбора эффективных, с точки зрения быстродействия и занимаемой площади, структур модулярных умножителей в зависимости от типа модуля,

3 Методы аппаратной реализации быстродействующих процессорных элементов, реализующих операцию |А*В+С|П„ а также модулярных вычислительных каналов,

4 Метод проектирования модулярных систем и СФ-блоков на основе генераторов функциональных представлений,

5 Маршрут проектирования модулярных СФ-блоков на основе предложенного метода,

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

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

Реализация результатов

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

Результаты диссертации внедрены и использовались в учебном процессе МИЭТ(ТУ), научно-исследовательских работах ИППМ РАН, а также в опытно-конструкторских работах ФГУП НИИМА "Прогресс"

Практическая значимость результатов работы

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

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

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

• Всероссийская межвузовская НТК студентов и аспирантов (г Москва, МГИЭТ, 2003-2006, четыре доклада) Три доклада (2004,2005,2006 гг) были отмечены дипломами I и II степени,

• Электроника и информатика - 2005 V Международная НТК (г Москва, МГИЭТ, один доклад),

• Всероссийская НТК "Проблемы разработки перспективных микроэлектронных систем" (г Истра, 2005, один доклад)

Публикации

По материалам диссертации опубликовано 12 печатных работ, а также 4 НИР, проведенных в рамках ИППМ РАН

Структура и объем работы

Диссертация состоит из введения, четырех глав, заключения, списка литературы и приложения Основной текст занимает 179 страниц

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

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

В первой главе исследуются основные принципы и понятия, заложенные в основу методологии проектирования СнК

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

Для решения возникших задач была создана методология проектирования СнК В зарубежной литературе употребляется термин 8у51ет-оп-СЬ1р В настоящее время это одно из наиболее бурно развивающихся направлений проектирования сложных систем На основе проведенных исследований, определены наиболее важные компоненты СнК, рассмотрены преимущества проектов, реализованных с применением данной методологии, проведена

классификация основных направлений методологии СнК

На сегодняшний день в общей методологии проектирования СнК можно выделить следующие направления

• Методология проектирования полностью заказных СнК,

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

• Методология проектирования, основанная на использовании общей платформы,

• Методология проектирования, основанная на синтезе проектов, реализованных на одном из высокоуровневых языков описания аппаратуры (Venlog/VHDL/SystemVenlog и т д )

Наиболее важной особенностью методологии проектирования СнК является то, что в качестве фундаментального метода повышения производительности проектирования было предложено повторное использование интеллектуальной собственности (Intellectual Proprietary) Именно тогда впервые появился термин "СФ-блок", или "IP-блок" В широком смысле СФ-блок - это объект интеллектуальной собственности, который может быть заранее разработан или приобретен, а затем многократно использован по желанию разработчика

В главе проведена классификация СФ-блоков по различным признакам и критериям Классификация по критерию гибкости повторного использования СФ-блока - одна из самых важных во всей методологии СнК По данному критерию множество СФ-блоков можно разделить на следующие важные классы

• Soft СФ-блоки - обладают наибольшей гибкостью, с точки зрения повторного использования и миграции между технологиями, являются технологически независимыми блоками и реализуются в том логическом базисе (или технологии), который доступен в настоящий момент для разработчика Под Soft СФ-блоком обычно понимают представление некоторого функционального узла на высокоуровневом языке описания аппаратуры (RTL описание),

• Firm СФ-блоки - обладают меньшей гибкостью, так как ориентированы на определенную технологию, привязка к которой осуществляется на уровне предварительного разбиения на модули в выбранном технологическом процессе Это необходимо для достижения требуемых характеристик по быстродействию и площади Миграция возможна только между похожими технологиями Примером Firm СФ-блока может служить описание на вентильном уровне, полученное после синтеза,

• Hard СФ-блоки - технологически зависимы и жестко привязаны к одному технологическому процессу Такие СФ-блоки обычно представляются в виде топологии в формате GDS

Каждый класс СФ-блоков может быть применен только на определенном этапе общего маршрута проектирования СнК (см рис 1)

Необходимо отметить, что данная классификация не ограничивает область применения СФ-блока только той группой, в которой он представлен Между этими группами может быть установлена взаимосвязь (от Soft СФ-блоков к Hard СФ-блокам) Так, эффективно реализованный Soft СФ-блок может быть переведен

на уровень Firm блоков, если привязать его к технологии, осуществив, во-первых, синтез функционального описания на HDL-языке в заданный базис логических элементов, а во-вторых, размещение и трассировку проекта В дальнейшем, если довести блок до получения топологии в формате GDS, то он станет, соответственно, Hard СФ-блоком

Уровни абстракции

Поведенческое описание

RTL описание

Логические вентили

Фотошаблоны

Рис 1 Области применения различных классов СФ-бюков в общем маршруте

проектирования СнК

Одной из составляющих частей диссертации является разработка методов проектирования модулярных СФ-блоков Особенность вычислительных устройств, реализованных с применением модулярной арифметики, заключается в том, что их архитектура в значительной степени зависит от значения модуля, для которого разрабатывается блок Кроме того, часто используются табличные преобразования, реализация которых в значительной степени определяется доступным логическим базисом Количество модулей, используемых при проектировании таких систем, достаточно велико Данные факты ограничивают не только возможность разработки полного набора модулярных Firm и Hard СФ-блоков для одной технологии, но и их миграцию на другие технологии

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

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

Этапы выполнения проекта Спецификация

'I"

Системный интегратор

Поставщики САПР

Поставщики СФ-блоков

т

Архитектурное проектирование

т

Поэедснчсскос описание

±

Soft СФ-блоки

Логическое проектирование

, Т

I опологическое _прое_кт^ование

Производство

Логический синтез

I

I

Firm СФ-блоки

т

Физический синтез

Hard СФ-блоки

Полупроводниковая фабрика

Вторая глава посвящена анализу и разработке методов проектирования СФ-блоков быстродействующих модулярных умножителей

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

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

bj*qk|m =g'lj+,k'm-' (i)

где q, „ qk - операнды, g - первообразный корень, ij и ik - соответствующие индексы, m - модуль Разновидностью индексного модулярного умножения является индексное субмодулярное умножение, также основанное на выражении (1) В таком случае исходный операнд q представляется не одним индексом i, а

набором индексов {ii,i2, ,ir}, а сумматор по модулю (т-1) расщепляется на г параллельных модулярных сумматоров с соответствующим набором субмодулей msub],msub2, ,msubr Набор субмодулей должен отвечать следующим

требованиям ]~{[=) msub, = (m-1) и модули msubj,msub2, ,msubr должны

быть попарно взаимно простыми

В целях проведения сравнительного анализа по быстродействию и занимаемой площади различных архитектур модулярных вычислительных узлов, исследуемых в диссертации, на языке Verilog разрабатывались соответствующие Soft СФ-блоки, а затем для получения необходимых характеристик производился синтез в базис 0 бмкм библиотеки стандартных ячеек при помощи средств Synopsys

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

• Установлено, что индексные модулярные умножители целесообразно применять только для простых модулей вида (2п+1) (например 5,17,257) В таком случае в умножителе используется сумматор по модулю 2", который преобразуется в обычный позиционный сумматор без старшего разряда, что обеспечивает выигрыш по быстродействию Важно отметить, что для модулей вида (2"+1) субмодулярный умножитель не реализуется, однако для всех остальных простых модулей он обладает большим быстродействием и имеет меньшую площадь,

• При использовании индексных субмодулярных умножителей рекомендуется выбирать модули, для которых максимальный субмодуль является величиной 2"

(например 13,41,97),

• В случае, если для модуля возможны несколько наборов субмодулей (например модуль 61 имеет разложения - (3,4,5),(5,12),(4,15),(3,20)), рекомендуется выбирать набор, который содержит значение субмодуля вида 2П и имеет минимальные значения субмодулей

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

Следует отметить, что наряду с модулями, являющимися простыми числами, при разработке модулярных вычислительных систем (например, в криптографии, отказоустойчивых системах и т д) используются модули из множеств (2"-1), 2П и (2"+1) Метод, основанный на индексном представлении операндов, применим только для простых чисел из этих множеств Для преодоления данного ограничения при разработке модулярных умножителей могут быть адаптированы принципы построения позиционных умножителей

Индексное представление операндов применяется для построения умножителя по модулю 2П При этом каждому числу из диапазона [0,1, ,2"-1] ставится в соответствие триада индексов Недостаток такого метода заключается в значительной избыточности при представлении чисел и, как следствие, резком росте площади и задержки умножителя при увеличении значения модуля Однако легко показать, что произведение по модулю 2" двух чисел вычисляется как

|АВ|2„ = Хм)г121 . где г, -1-й бит результата двоичного умножения А на В Таким

образом, умножитель по модулю 2" - это позиционный умножитель от результата которого взяты младшие п бит

Вычисление произведения двух чисел по модулям (2"±1) основано на выражении

И2„±1 =|2Г=о1г,21 +Х11пп-1^1|2П±1 (2)

Структура умножителя по модулю (2"-1), в соответствии с (2), состоит из двоичного умножителя пхпи сумматора по модулю (2"-1) После выполнения позиционного умножения старшие биты результата ([2п-1 п]) складываются с младшими битами ([п-1 0]) на модулярном сумматоре При построении умножителя по модулю (2п+1) модулярный сумматор заменяется вычитателем по модулю (2"+1) Недостатком архитектуры является рост задержки на критическом пути в позиционном умножителе при увеличении значения модуля

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

В результате проведенных исследований установлено, что для реализации модулярных умножителей наиболее эффективен анализ по три бита В таком случае, в зависимости от значений триад бит, выработка частичных произведений основывается на формутах |2Л|т, |-А|т, {— 2А(т, вычисление которых,

вследствие свойств модулярной арифметики, сводится к простейшим арифметическим операциям Если А = (ап_|,ап_2, ,а0), тогда имеют место следующие выражения

Применение перекодировки Бута позволяет сократить количество частичных произведений примерно в два раза При этом их выработка, в соответствии с (3), выполняется на основе простейших операций инверсии и циклической перестановки, что способствует снижению аппаратных затрат и повышению быстродействия умножителя в целом В умножителях по модулю (2"+1) к частичным произведениям необходимо добавить корректирующую единицу Сложение частичных произведений осуществляется на основе модулярного мул ьтио перандного сумматора, при проектировании которого применяются алгоритмы быстрого сложения (например диаграмма двоичных решений ВЬО)

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

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

• Для модулей, являющихся простыми числами, целесообразно применять индексные субмодулярные умножители Набор субмодулей следует выбирать, основываясь на предложенных критериях, обеспечивающих выигрыш в быстродействии до 50% в сравнении с индексными модулярными умножителями,

• Выбор структуры умножителя для модулей вида (2п-1), при п>2 должен основываться на следующих правилах

- применение модулярного индексного (при п=2 и т=3) и субмодулярного индексного (при п=3 и т=7) умножителей обеспечивает выигрыш по площади (-30%) при равном с алгоритмом Бута быстродействии, -для п>3 (модули ш=15,31, и т д) наиболее эффективной является реализация на основе алгоритма Бута выигрыш в быстродействии (для модулей ш=31 и т=127) - до двух раз (в сравнении с индексными

умножителями), а по площади - от двух до четырех раз,

• Выбор структуры умножителя для модулей вида (2"+1) при п>2 должен основываться на следующих правилах

- для п=2 и п=4 (модули т=5 и т=17) применение индексного модулярного умножителя обеспечивает выигрыш по площади (-45% и -15% соответственно) и в быстродействии (-48% и -7% соответственно) в сравнении с реализацией на основе позиционного умножителя и модулярного вычитателя,

- для п=3, п=5, п=6 (модули ш=9,33,65) более эффективной является структура на базе позиционного умножителя и вычитателя, обеспечивающая выигрыш в быстродействии (-20%) и по площади (-2 5 раза) в сравнении с умножителем на основе алгоритма Бута,

- для п>7 (модули гп=129,257,513 и т д) максимальное быстродействие обеспечивается применением алгоритм Бута, выигрыш в сравнении с реализацией на основе позиционного умножителя и вычитателя -10% Архитектура на базе позиционного умножителя и вычитателя обеспечивает экономию по площади (примерно в два раза) в сравнении с реализацией на основе алгоритма Бута,

• Для модулей вида 2" наиболее эффективным решением является позиционный умножитель, от результата которого взяты младшие п бит

Применение предложенной методики позволяет повысить эффективность проектирования СФ-блоков модулярных умножителей, а также обеспечивает выбор структуры умножителя, наиболее полно удовлетворяющей требованиям по быстродействию и занимаемой площади

Третья глава посвящена разработке методов аппаратной реализации СФ-блоков процессорных элементов, выполняющих операцию |А*В+С|т, и методов построения модулярных вычислительных каналов

На основе проведенного исследования установлено, что областями эффективного применения модулярной арифметики являются цифровая обработка сигналов, криптография, отказоустойчивые системы, специализированные вычислители для решения задач линейной алгебры

Вычисление конечной суммы скалярных произведений (свертки)

L

Y = Ха,Ь, - одна из базовых операций в таких устройствах Анализ различных 1=0

архитектур показал, что для вычисления свертки на основе модулярной арифметики наилучшим образом подходит транспонированная форма построения вычислителя (см рис 2)

Из структуры видно, что перевод данных в модулярный и двоичный вид выполняется преобразователями на входе и выходе устройства, а вычисление операции свертки для каждого модуля в соответствующем вычислительном канале Основным компонентом канала является процессорный элемент, выполняющий операцию | а, * b, + res,_] |m| = res, (4) От его характеристик

(быстродействие, площадь и т. д.) в значительной степени зависит эффективность реализации канала и системы в целом.

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

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

Процессорный элемент для модуля, являющегося простым числом, реализуется на основе индексного субмодулярного умножителя. Данная структура содержит два блока прямого индексного преобразования, несколько модулярных сумматоров (в зависимости от субмодулярного разложения), блок обратного индексного преобразования, модулярный сумматор и элемент задержки. Проведенные исследования показали, что при построении модулярного канала из структуры исключаются оба блока прямого индексного преобразования. Это позволяет получить существенный выигрыш как по задержке (например для модуля II ~ 11%; для модуля 41 -39%), так и по площади (для модуля 11 ~ 36%; для модуля 41 уменьшение по площади более чем в два раза).

Особенности структуры процессорного элемента для модулей вида (2"-1) обусловлены применением алгоритма Бута при построении умножителя. Элемент содержит преобразователь Бута, мультиоперандный и обычный модулярные сумматоры. Сложение частичных произведений осуществляется на мультиоперандном сумматоре (в данном случае дереве Уоллеса). Частичные произведения и слагаемое ге.чм принимают значения из диапазона [0,...,2"-1) и имеют одинаковую разрядность. Учитывая данный факт, слагаемое гс8|_| в качестве дополнительного операнда складывается с частичными произведениями на мультиоперандном сумматоре, а не на финальном сумматоре с результатом умножения а! на Ь,. Вследствие этого на выходе мультиоперандного сумматора формируется значение выражения (4), а из структуры исключается финальный сумматор, что дает выигрыш в быстродействии -30%, и по площади -27%.

В связи с особенностями модулярной арифметики процессорный элемент для модулей вида 2" наилучшим образом проектируется на основе позиционного матричного умножителя и позиционного сумматора

При разработке процессорного элемента для модулей вида (2"+1) используются различные структуры в зависимости от значения модуля Так, структура на базе индексного умножителя является эффективным решением по быстродействию и занимаемой площади для модулей ш=5 и ш=17 Для модулей небольшой разрядности (до 8 бит) более эффективна реализация на основе позиционного умножителя и модулярного вычитателя Для модулей разрядностью более 8 бит, с точки зрения быстродействия более эффективной является структура на основе алгоритма Бута

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

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

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

Параметр Двоичный вычислитель Модулярный вычислитель Двоичный вычислитель Модулярный вычислитель

Динамический диапазон 2ю 2 'о 232 232

Разрядность вх данных 12 бит 12 бит 12 бит 12 бит

Длина конвейера 64 64 256 256

Набор модулей - 41 127 255 1024 - 11 13 31 41 127 255

Максимальная задержка, не 25 46 13 20 13 74 14 80 7 82 28 53 9 54 9 98 10 08 14 50 1200 1304

Задержка прямого преобразователя не _ 1390 1421

Задержка обратного преобразователя не _ 10 08 _ 8 54

Выигрыш в быстродействии - ~1 73 раза _ -1 97 раза

Занимаемая площадь, мкм2 301393 2 799947 3 1206864 3 2489803 0

В модулярном вычислителе для диапазона 210 максимальной задержкой обладает канал по модулю ш=255 Это объясняется тем, что процессорный элемент для канала был построен иа базе матричного умножителя и модулярного сумматора, поскольку реализация на основе алгоритма Бута на тот момент еще не

была разработана Несмотря на это, выигрыш в быстродействии составил ~1 73 раза Быстродействие модулярного вычислителя для диапазона 212 определяется задержкой канала по модулю т=41, которая выросла с 13 20 не до 14 50 не в сравнении с первым вариантом Это вызвано значительно возросшей нагрузкой межсоединений из-за увеличения длины канала в четыре раза Применение разработанных методов построения процессорных элементов на основе алгоритма Бута для каналов по модулям ш=127 и т=255 обеспечило существенное повышение их быстродействия, что полностью компенсировало вклад задержек межсоединений в общую задержку каналов Важно отметить, что задержка двоичного вычислителя увеличилась, в то время как общее быстродействие модулярного вычислителя осталось практически на прежнем уровне, несмотря на значительное увеличение конвейера Это обеспечило увеличение выигрыша в быстродействии на -14% до —I 97 раза Отметим, что отношение площадей сократилось с 2 65 раза до 2 06 раза (-22%) Данный факт позволяет прогнозировать повышение эффективности модулярных вычислителей в сравнении с позиционными вычислителями, с точки зрения занимаемой площади, при дальнейшем увеличении динамического диапазона

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

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

Из анализа маршрутов проектирования СнК и СФ-блоков, проведенного в первой главе диссертации, установлено, что создание проекта или СФ-блока начинается с разработки его функционального описания на HDL-языке От времени, затраченного на получение описания, и качества его реализации зависит время выполнения и качество проекта в целом В результате исследования современных САПР ведущих компаний (таких как Synopsys, Mentor Graphics, Xilinx, Altera, Aldec и т д) были определены основные средства работы с HDL-языками К ним относятся встроенные текстовые редакторы, генераторы заготовок HDL-описаний, генераторы структурного описания проекта из графических блок-диаграмм, генераторы описания конечных автоматов, специализированные средства генерации (например IP Core Generator компании Altera) и библиотеки Soft СФ-блоков Однако данные средства ориентированы на работу исключительно с позиционными блоками, а библиотеки не содержат модулярных СФ-блоков Таким образом, создание модулярного Soft СФ-блока полностью перекладывается на команду проектировщиков модулярной системы

Анализ особенностей структурной реализации модулярных СФ-блоков показал, что

1 Конкретное структурное решение модулярного СФ-блока в значительной

степени определяется модулем, 2. Модуль используется как константный аргумент при реализации СФ-блока,

3 Модуль определяет разрядность входных и выходных данных СФ-блока,

4 По разрядности строятся регулярные структуры с жестко определенной архитектурой (последовательная арифметика),

5 Разрядность используется при построении устройств, которые имеют нерегулярную структуру, зависящую от разрядности и количества аргументов (дерево Уоллеса, быстрый перенос, перекодировка Бута и т д),

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

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

Основные задачи, решение которых повысит эффективность разработки модулярных Soft СФ-блоков и систем с применением языков описания аппаратуры, могут быть сформулированы следующим образом

• Для сокращения временных затрат и снижения вероятности появления ошибок на этапе функционально-логического проектирования процесс создания функционального описания модулярного Soft СФ-блока должен быть автоматизирован,

• Важной является задача автоматизации процесса создания описаний сложных иерархических Soft СФ-блоков (трактов обработки данных), в состав которых входят функциональные узлы, реализующие операции различного класса,

• Эффективность разработки как всего блока, так и его отдельных модулей может быть повышена за счет генерации дополнительных функциональных представлений (файлов testbench, командных файлов для синтеза блока и т д),

• Разработанные методы должны интегрироваться в общий маршрут проектирования Soft СФ-блоков без вмешательства в базовые САПР

Для решения поставленных задач предлагается метод, основанный на применении специализированных средств создания модулярного Soft СФ-блока Основной элемент метода генератор функциональных представлений (ГФП) -программный модуль, обеспечивающий создание необходимого функционального представления для разрабатываемого СФ-блока Предлагается использовать такой генератор, как средство описания архитектуры СФ-блока Метод реализации СФ-блоков определенного класса (например, умножителя) представляется в виде параметризированного программного модуля - генератора, который может быть использован для автоматизированной генерации описания любого СФ-блока из данного класса на языке описания аппаратуры В диссертации базовым языком описании аппаратуры был выбран язык Venlog

Предлагается следующая классификация генераторов

• ГФП первого типа - обеспечивают автоматизированную генерацию

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

• ГФП второго типа - обеспечивают автоматизированную генерацию представлений сложных составных блоков, в структуру которых входят узлы, представления которых созданы с применением ГФП первого типа Результат работы - набор файлов с RTL описаниями отдельных блоков, входящих в структуру макроблока, а также файл с иерархическим RTL описанием верхнего уровня макроблока,

• ГФП третьего типа - обеспечивают создание вспомогательных представлений, например, для тестирования блока (набор файлов testbench), синтеза средствами САПР (командные файлы синтеза) и т д

Важными требованиями при применении ГФП являются высокая гибкость, а также легкость его перенастройки для генерации представлений целого класса СФ-блоков Это достигается благодаря применению входных параметров (как сказано выше, самый важный входной параметр - значение модуля), с помощью которых осуществляется управление генератором

Эффективность применения ГФП значительно повышается, если обеспечить возможность обмена данными между независимыми генераторами Для этого предлагается использовать выходные параметры (разрядность результата или выхода СФ-блока является самым важным выходным параметром генератора) Обеспечив обмен данными между генераторами, проектировщик получает возможность использовать ГФП не по отдельности, а в совокупности с другими генераторами (в таком случае генераторы первого типа объединяются в более сложные генераторы второго типа) для создания описаний сложных составных СФ-блоков - трактов обработки данных Поскольку выходные параметры для каждого блока вычисляются соответствующим ГФП, то достаточно определить входные параметры только для генератора, создающего описание первого блока в тракте После генерации функционального описания блока автоматически вычисленные выходные параметры передаются на вход следующего ГФП (или нескольких генераторов) На основе полученных данных генерируются описания следующих блоков, а также автоматически рассчитываются их выходные параметры, которые, в свою очередь, передаются на следующие генераторы Таким образом, для всех внутренних блоков создаются функциональные описания, а также автоматически вычисляется разрядность межблочных шин Полученные после работы ГФП данные используются при генерации верхнего уровня иерархического СФ-блока Предложенный метод применяется для генерации (соответствующими ГФП третьего типа) наборов файлов testbench для верификации создаваемых функциональных описаний, а также генерации заготовок сценариев синтеза

В главе подробно рассмотрены основные принципы и особенности разработки ГФП всех трех типов, а также предложен общий маршрут проектирования генераторов

На основе методов аппаратной реализации модулярных СФ-блоков, разработанных в диссертации, была создана библиотека ГФП В состав библиотеки входит более пятидесяти генераторов различного типа Разработаны

генераторы базовых модулярных СФ-блоков двухвходовых и мультиоперандных сумматоров для модулей разного типа, умножителей (индексный модулярный и субмодулярный, по модулю вида 2", модулю вида (2"±1) как основе алгоритма Бута, так и на основе матричного умножителя), таблиц перекодировки различного типа и назначения Созданы генераторы иерархических СФ-блоков процессорных элементов и модулярных вычислительных каналов для модулей (2п-1),2п,(2п+1) и простых чисел Реализованы генераторы позиционных СФ-блоков, используемых при построении двоичного вычислителя двухвходовых и мультиоперандных сумматоров, умножителя Бута (с коррекцией частичных произведений и без коррекции), а также генератор полного описания двоичного вычислителя сумм скалярных произведений При разработке библиотеки использовался язык Perl

Важной частью общего маршрута проектирования СнК является цикл разработки и повторного использования СФ-блока С учетом предложенного метода в маршрут вводится дополнительная ветвь, включающая в себя этап генерации технологически независимых описаний СФ-блоков с применением библиотеки ГФП На рис 3 элементы дополнительной ветви выделены цветом В случае, если необходимый СФ-блок не найден в библиотеке СФ-блоков, разработчик обращается к библиотеке ГФП и с помощью соответствующего генератора создает функциональное описание блока на HDL-языке Если генератор не найден, начинается разработка нового СФ-блока, после чего определяются общие принципы построения СФ-блока, а затем осуществляется алгоритмизация и разработка нового генератора

При проектировании модулярных систем важной задачей является определение базовых оснований для обеспечения необходимого динамического диапазона [О, ,М] Традиционно данная задача решается следующим образом определив диапазон функционирования устройства, проектировщик, основываясь на собственных экспертных оценках, выбирает набор модулей {Щ|,т2, ,тр} удовлетворяющих выражению М = m,

Предложенный метод проектирования модулярных Soft СФ-блоков позволяет по-новому подойти к решению данной задачи Генерация синтезируемых Venlog-описаний СФ-блоков входящих в устройство выполняется автоматически с минимальными временными затратами Следовательно, может быть создано множество описаний исследуемого СФ-блока (или множества СФ-блоков) для большого набора модулей Проведя синтез описаний в доступный логический базис с помощью средств синтеза (Synopsys, MentorGraphics и т д), разработчик получает набор характеристик СФ-блока (задержка, площадь и т д ) На основе полученных данных делается вывод об эффективности реализации СФ-блока для того или иного модуля по заданной характеристике, а затем выбирается набор модулей для реализации всего устройства

График с результатами синтеза в базис 0 бмкм библиотеки Venlog-описаний различных структур процессорных элементов, полученных с помощью библиотеки ГФП для различных значений модулей, показан на рис 4 На основании данного графика можно провести оценку быстродействия процессорных элементов для заданного набора модулей

Синтез СФ-блока и щлклга в целом. Переход на следующий этал маршрута проектирования.

Рис.3. Модификация общего маршрута проектирования и повторного использования модулярного Soft СФ-блока на основе применения библиотеки ГФП.

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

О 70 140 210

Значение модуля

— Процессорный элемент (модуль 2лп) —■—Процессорный элемент (модуль 2Лп-1)

— Процессорный элемент (модуль простое число) —И—Процессорный элемент (модуль 2Ло+1)

14.00 12.00 10.00 8.00 6.00

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

Так, в наборе модулей {41,127,255,256} минимальным быстродействием обладает элемент для модуля 41 Важно отметить, что график может быть использован при определении набора модулей, для которых реализация процессорных элементов обеспечивает требуемое быстродействие Например, если необходимо обеспечить быстродействие на уровне 10 не, тогда, согласно графику, для построения устройства можно выбрать все модули вида 2", (2"-1) и отдельные модули (разрядностью до четырех бит), являющиеся простыми числами и вида (2"+1) Применив данный подход для базовых блоков системы (сумматоров, умножителей, таблиц перекодировки и т д), разработчик сможет оценить эффективность отдельных блоков и разрабатываемого устройства в целом для интересующего его набора модулей

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ

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

Основные результаты диссертации

1 Разработан метод проектирования СФ-блоков умножителей для модулей вида (2П±1) на основе модифицированного алгоритма Бута, позволяющий увеличить их быстродействие по сравнению с индексными субмодулярными умножителями примерно в два раза, а также получить значительный выигрыш по занимаемой площади,

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

3 Разработаны методы аппаратной реализации быстродействующих процессорных элементов, реализующих операцию |А*В+С|т для различных значений модулей и модулярных вычислительных каналов на их основе Применение данных методов при построении специализированных модулярных вычислителей конечной суммы скалярных произведений

обеспечило двукратный выигрыш по быстродействию для 30- и 32-битного диапазонов в сравнении с двоичной реализацией вычислителей,

4 Разработан метод проектирования и повторного использования модулярных Soft СФ-блоков, основанный на применении генераторов функциональных представлений Метод обладает следующими достоинствами

- позволяет значительно сократить время проектирования, а также снизить вероятность появления ошибок при разработке простых и сложных иерархических модулярных Soft СФ-блоков и СнК на их основе,

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

5 На основе предложенного метода и разработанных методов проектирования модулярных СФ-блоков создана библиотека, содержащая более пятидесяти генераторов, которая обеспечивает

- автоматизированную генерацию основных компонентов СФ-блоков (высокоуровневых поведенческих RTL-описаний, наборов файлов testbench, заготовок сценариев синтеза),

- возможность создавать не только базовые модулярные СФ-блоки (например умножители), но и сложные иерархические СФ-блоки на их основе (например процессорные элементы или вычислительные каналы)

6 Предложен маршрут проектирования модулярных Soft СФ-блоков, основанный на применении библиотеки генераторов функциональных представлений Он интегрируется в существующий маршрут проектирования СФ-блоков, а также в общий маршрут проектирования модулярной СнК,

7 Разработан оригинальный метод выбора наборов остатков для проектирования модулярных вычислительных систем, основанный на применении генераторов функциональных представлений совместно со средствами синтеза Метод обеспечивает выбор базового набора модулей таким образом, чтобы характеристики конечного устройства максимально полно удовлетворяли требованиям разработчика по необходимому параметру (например по быстродействию, занимаемой площади и т д)

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИОННОЙ РАБОТЫ

[1] Семенов М Ю, Калашников В С, Ласточкин О В Структура оптимизированных сумматоров, функционирующих в системе остаточных классов // Десятая всероссийская межвузовская конференция студентов и аспирантов «Микроэлектроника и информатика-2003» тез докладов - М МИЭТ, 2003 - С 91

[2] Ласточкин О В Особенности реализации умножителей в устройствах построенных с применением принципов модулярной арифметики // Одиннадцатая всероссийская межвузовская конференция студентов и аспирантов «Микроэлектроника и информатика-2004» тез докладов - М МИЭТ, 2004 - С 219

[3] Корнилов А И, Семенов М Ю, Ласточкин О В Принципы построения модулярных индексных умножителей // Известия ВУЗов Электроника - 2004 -№2 - С 48-55

[4] Исследование методов проектирования и разработка программных средств синтеза быстродействующих арифметических устройств отчет о НИР (заключ ), шифр "Вега-0-К-2004" / ИППМ РАН, рук Стемпковский А Л, - Москва, 2004 - № ГР 01200410528 -Инв №02200406453

[5] Исследование и разработка методов аппаратной реализации базовых элементов и основных вычислительных процедур для специализированных устройств цифровой обработки сигналов с применением нетрадиционной арифметики отчет о НИР (заключ), шифр "Вега-К-2004" / ИППМРАН, рук Стемпковский А Л -Москва,2005 - №ГР 01200410531 -Инв №02200601688

[6] Ласточкин О В Принципы построения IP-блоков двоичных и специализированных умножителей с применением языка Venlog HDL // Двенадцатая всероссийская межвузовская конференция студентов и аспирантов «Микроэлектроника и информатика-2005» тез докладов - М МИЭТ, 2005 - С 104

[7] Семенов М Ю, Калашников В С , Ласточкин О В Применение аппарата модулярной арифметики для построения фильтра с конечной импульсной характеристикой // Известия ВУЗов Электроника - 2005 - №3 -С 46-50

[8] Корнилов А И , Семенов М Ю , Калашников В С , Ласточкин О В Принципы построения специализированных вычислителей с применением модулярной арифметики // Проблемы разработки перспективных микроэлектронных систем — 2005 сб научных трудов / под общ ред А Л Стемпковского - М ИППМ РАН, 2005 - С 346-351

[9] Корнилов А И, Семенов М Ю, Калашников В С, Ласточкин О В Методология проектирования специализированных вычислителей на основе автоматизированной генерации технологически независимых IP-блоков // Проблемы разработки перспективных микроэлектронных систем - 2005 сб научных трудов / под общ ред АЛ Стемпковского - М ИППМ РАН, 2005 С 487-492

[10] Корнилов А И , Семенов М Ю , Ласточкин О В , Калашников В С Реализация специализированных быстродействующих вычислителей на основе

нетрадиционных алгоритмов с применением IP-генераторов // V Международная научно-техническая конференция «Электроника и информатика - 2005» материалы конференции -М МИЭТ, 2005 Ч 1 -С 192-193

[11] Исследование методов проектирования и разработка программных средств синтеза быстродействующих арифметических устройств отчет о НИР (заключ) шифр "Вега-0-Ст-2005" / ИППМ РАН, рук Стемпковский A JI - Москва, 2005 -№ГР 01200606057 -Инв №02200603585

[12] Корнилов АИ, Калашников ВС, Ласточкин ОВ, Семенов МЮ Особенности построения умножителей по модулю (2"-1) // Известия ВУЗов Электроника - 2006 - №1 - С 55-59

[13] Ласточкин О В Методология разработки IP-генераторов и их применение в общем маршруте проектирования СБИС // Тринадцатая всероссийская межвузовская конференция студентов и аспирантов «Микроэлектроника и информатика-2006» тез докладов - М МИЭТ, 2006 - С 78

[14] Корнилов АИ, Семенов МЮ, Калашников ВС, Ласточкин О В Применение современных методов проектирования при реализации модулярных вычислительных процедур // Юбилейная Международная научно-техническая конференция (В рамках V Международной научно-технической конференции «Электроника и информатика - 2005») «50 лет модулярной арифметике» сб научных трудов - М ОАО "Ангстрем", МИЭТ, 2006, - С 369-383 http //www computer-museum ru/histussr/sokconfO htm

[15]Стемпковский АЛ, Корнилов АИ, Семенов МЮ, Калашников ВС, Ласточкин О В Построение систем повышенной надежности на основе аппарата модулярной арифметики с применением современных методов и средств проектирования // Проблемы разработки перспективных микроэлектронных систем - 2006 сб научных трудов / под общ ред A JI Стемпковского - М ИППМ РАН, 2006 - С 253-258

[16] Исследование методов проектирования и разработка программных средств синтеза быстродействующих арифметических устройств отчет о НИР (заключ) шифр "Вега-0-Ст-2006" / ИППМ РАН, рук Стемпковский А Л - Москва, 2006 -№ ГР 01200606060 - Инв №02200701842

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

Введение.

Глава 1. Анализ и исследование основных принципов методологии проектирования Систем на Кристалле.

1.1. Основные понятия методологии проектирования Систем на Кристалле.

1.2. Классификация СФ-блоков.

1.3. Общий маршрут проектирования Систем на Кристалле.

Выводы по главе 1.

Глава 2. Методы аппаратного проектирования СФ-блоков модулярных умножителей для реализации устройств построенных с применением модулярной арифметики.

2.1. Основные свойства и особенности аппарата модулярной арифметики.

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

2.3. Принципы построения позиционных умножителей с применением алгоритма Бута и анализ возможности применения данного подхода при реализации модулярных умножителей.

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

2.5. Анализ результатов синтеза модулярных умножителей и выработка рекомендаций по выбору эффективной структуры умножителя в зависимости от типа модуля.

Выводы по главе 2.

Глава 3. Применение предложенных методов реализации модулярных умножителей при построении специализированного двоично-модулярного вычислителя сумм скалярных произведений.

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

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

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

Выводы по главе 3.

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

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

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

4.3. Структура и состав библиотеки генераторов функциональных представлений.

4.4. Маршрут проектирования модулярных Soft СФ-блоков на основе применения библиотеки генераторов функциональных представлений.

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

Выводы по главе 4.

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

Актуальность работы

Диссертационная работа посвящена исследованию и разработке методов проектирования СФ-блоков для построения Систем на Кристалле (СнК) в интегральном исполнении с применением аппарата модулярной арифметики. Постоянное повышение быстродействия - одно из основных требований, предъявляемых к современным системам обработки данных. Применение аппарата модулярной арифметики при разработке таких систем позволяет распараллелить процесс вычислений и существенно повысить их быстродействие без перехода на новые технологические нормы.

Для построения сложных интегральных схем самым эффективным подходом на сегодняшний день является методология проектирования СнК. Один из основных методов повышения производительности проектирования СнК - это повторное использование заранее разработанных и прошедших тестирование функционально-законченных блоков. Для обозначения таких элементов широко используются термин СФ-блок (сложный функциональный блок) или зарубежная аббревиатура - IP-блок (Intellectual Proprietary). В дальнейшем будет использоваться термин СФ-блок.

Однако применение модулярной арифметики в методологии СнК в значительной степени ограничено. Это вызвано отсутствием методов повторного использования и эффективной аппаратной реализации модулярных СФ-блоков:

• В настоящее время многие производители САПР предлагают и поддерживают библиотеки позиционных СФ-блоков различного назначения и уровня сложности. Однако ни зарубежные, ни отечественные поставщики не предлагают специализированных СФ-блоков, реализующих основные модулярные операции и более сложные блоки на их основе;

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

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

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

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

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

1. Анализ и систематизация существующих методов и подходов проектирования СнК. Обзор современных систем автоматизированного проектирования цифровых устройств;

2. Анализ и разработка эффективных методов аппаратной реализации модулярных умножителей для модулей различного типа с целью повышения их быстродействия в интегральном исполнении;

3. Определение архитектуры и разработка методов проектирования функциональных блоков, реализующих сложные математические выражения в линейных вычислителях (в частности, операцию |А*В+С|т), а также вычислительных каналов, являющихся основными элементами устройств, реализованных с применением аппарата модулярной арифметики;

4. Анализ особенностей структурной реализации модулярных СФ-блоков различного назначения в зависимости от модуля;

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

6. Разработка маршрута проектирования модулярных СФ-блоков, который обеспечит применение разработанного метода, и расширение общего маршрута проектирования СнК за счет введения разработанного метода.

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

1. Разработаны методы проектирования быстродействующих модулярных умножителей для модулей вида (2П±1) на основе алгоритма Бута, обеспечивающие выигрыш по быстродействию и площади в сравнении с индексными модулярными умножителями;

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

3. Разработаны методы аппаратной реализации быстродействующих процессорных элементов реализующих операцию |А*В+С|т для различных значений модулей т, а также модулярных вычислительных каналов, позволяющие улучшить быстродействие специализированных модулярных вычислителей;

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

5. Разработан маршрут проектирования модулярных СФ-блоков, основанный на предложенном методе, который интегрирован в существующий маршрут проектирования СФ-блоков;

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

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

На защиту выносятся следующие результаты:

1. Методы аппаратной реализации модулярных умножителей на основе алгоритма Бута для модулей вида (2"±1);

2. Методика выбора эффективных с точки зрения быстродействия и занимаемой площади архитектур модулярных умножителей в зависимости от типа модуля;

3. Методы аппаратной реализации быстродействующих процессорных элементов, реализующих операцию |А*В+С|т, а также модулярных вычислительных каналов;

4. Метод проектирования модулярных систем и СФ-блоков на основе генераторов функциональных представлений;

5. Маршрут проектирования модулярных СФ-блоков на основе предложенного метода;

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

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

Реализация результатов

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

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

Результаты диссертации внедрены и использовались в учебном процессе МИЭТ(ТУ), научно-исследовательских работах ИППМ РАН, а также в опытно-конструкторских работах ФГУП НИИМА "Прогресс".

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

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

- Всероссийская межвузовская НТК студентов и аспирантов (г. Москва, МГИЭТ, 20032006,4 доклада). Три доклада (2004,2005,2006гг.) отмечены дипломами I и II степени;

- Электроника и информатика - 2005. V Международная НТК (г. Москва, МГИЭТ, один доклад);

- Всероссийская НТК "Проблемы разработки перспективных микроэлектронных систем" (г. Истра, 2005, один доклад).

Публикации По материалам диссертации опубликовано 12 печатных работ, сделано 5 докладов на Всероссийских и Международных конференциях, а также 4 НИР, проведенных в рамках ИППМ РАН.

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

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

Основные результаты диссертации:

1. Разработан метод проектирования СФ-блоков умножителей для модулей вида (2п-1) и (2п+1) на основе модифицированного алгоритма Бута, позволяющий увеличить их быстродействие по сравнению с индексными субмодулярными умножителями примерно в два раза, а также получить значительный выигрыш по занимаемой площади;

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

3. Разработаны методы аппаратной реализации быстродействующих процессорных элементов, реализующих операцию |А*В+С|т для различных значений модулей и модулярных вычислительных каналов на их основе. Применение данных методов при построении специализированных модулярных вычислителей конечной суммы скалярных произведений обеспечило двукратный выигрыш по быстродействию для 30- и 32-битного диапазонов в сравнении с двоичной реализацией вычислителей;

4. Разработан метод проектирования и повторного использования модулярных Soft СФ-блоков, основанный на применении генераторов функциональных представлений. Метод обладает следующими достоинствами:

- позволяет значительно сократить время проектирования, а также снизить вероятность появления ошибок при разработке простых и сложных иерархических модулярных Soft СФ-блоков и СнК на их основе;

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

5. На основе предложенного метода и разработанных методов проектирования модулярных СФ-блоков создана библиотека, содержащая более пятидесяти генераторов, которая обеспечивает:

- автоматизированную генерацию основных компонентов СФ-блоков (высокоуровневых поведенческих RTL-описаний, наборов файлов testbench, заготовок сценариев синтеза);

- возможность создавать не только базовые модулярные СФ-блоки (например умножители), но и сложные иерархические СФ-блоки на их основе (например процессорные элементы или вычислительные каналы).

6. Предложен маршрут проектирования модулярных Soft СФ-блоков, основанный на применении библиотеки генераторов функциональных представлений. Он интегрируется в существующий маршрут проектирования СФ-блоков, а также в общий маршрут проектирования модулярной СнК;

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

Заключение

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

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

1. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М.: Советское радио, 1968. - 440с.

2. Амербаев В.М. Теоретические основы машинной арифметики. Алма-Ата: Наука, 1976. -324с.

3. Амербаев В.М., Стемпковский A.JL, Широ Г.Э. Быстродействующий согласованный фильтр, построенный по модулярному принципу// Информационные технологии. 2004. - №9. -С. 5-12.

4. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. -М.: Мир, 1979.-536 с.

5. Бухтев А. Создайте собственный маршрут проектирования ПЛИС в системе Active-HDL компании Aldec// ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. № 3/2005. -С. 64-66.

6. Виноградов И.М. Основы теории чисел. М: Наука, Главная редакция физико-математической литературы, 1981 - 176с.

7. Евстигнеев В.Е. Недвоичная машинная арифметика и специализированные процессоры / Под. ред. Акушского И.Я. -М.: МИФИ Сервис, 1992. -267 с.

8. Калашников B.C. Основные виды архитектур модулярных сумматоров для двухоперандов// Микроэлектроника и информатика-2004. Одиннадцатая всероссийская межвузовская конференция студентов и аспирантов: Тезисы докладов, М.:МИЭТ, 2004.-444с, стр.219.

9. И.Калашников B.C. Принципы построения двоичных и модулярных мультиоперандных сумматоров. Микроэлектроника и информатика-2005. Двенадцатая всероссийская межвузовская конференция студентов и аспирантов: Тезисы докладов, М.:МИЭТ, 2005.

10. Калашников B.C., Ласточкин О.В., Семенов М.Ю. Лабораторный практикум по курсу "Основы логического синтеза средствами САПР Synopsys с использованием Verilog HDL". -М.: МИЭТ, 2004. 88с.

11. Кнут Д. Искусство программирования, том 2. Получисленные алгоритмы. -М.: Издательский дом "Вильяме", 2001. 832с.

12. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. -М.: МЦНМО, 2001.-960с.

13. П.Корнилов А.И., Семенов М.Ю. Преобразователь из модулярного представления в двоичную систему счисления на основе алгоритма с предварительной обработкой данных// Известия вузов. Электроника. 2003. - №3. - С. 54-58.

14. Корнилов А.И., Исаева Т.Ю., Семенов М.Ю. Методы логического синтеза сумматоров сускоренным переносом по модулю (2" -l) а основе BDD-технологи.// Известия вузов. Электроника. 2004. - №3. - С. 54-60.

15. Корнилов А.И., Семенов М.Ю., Калашников B.C. Методы аппаратной оптимизации сумматоров для двух операндов в системе остаточных классов// Известия ВУЗов. Электроника. 2004. - №1. - С. 75-82.

16. Корнилов А.И., Семенов М.Ю., Ласточкин О.В. Принципы построения модулярных индексных умножителей// Известия ВУЗов. Электроника. 2004. - №2. - С. 48-55.

17. Корнилов А.И., Семенов М.Ю., Калашников B.C., Ласточкин О.В. Особенностипостроения умножителей по модулю (2n -l)// Известия ВУЗов. Электроника. 2006. -№1.-С. 55-59.

18. Кравченко В., Радченко Д. Виртуальное прототипирование для аппаратно-программной верификации СБИС// ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. № 7/2003. -С. 34-67.

19. Лохов А., Рабоволюк А. Средства проектирования FPGA компании Mentor Graphics// ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. № 4/2004. -С. 60-62.

20. Немудрое В., Мартин Г. Системы на кристалле. Проектирование и развитие. М. -Техносфера, 2004. -216с.

21. Немудров В., Евтушенко Е., Сырцов И. Методология проектирования систем на кристалле: основные принципы, методы, программные средства// Электроника: Наука, Технология, Бизнес. 2003. - №6. - С.7-11.

22. Семенов М.Ю., Калашников B.C., Ласточкин О.В. Применение аппарата модулярной арифметики для построения фильтра с конечной импульсной характеристикой// Известия ВУЗов. Электроника. 2005. - №3. - С. 46-50.

23. Стемпковский А.Л., Корнилов А.И., Семенов М.Ю. Особенности реализации устройств цифровой обработки сигналов в интегральном исполнении с применением модулярной арифметики// Информационные технологии. 2004. - №2. - С. 2-9.

24. Стемпковский А.Л., Семенов М.Ю. Основы логического синтеза средствами САПР Synopsys с использованием Verilog HDL: Учебное пособие. М.: МИЭТ, 2005. - 140 с.

25. Торгашов В.А. Система остаточных классов и надежность ЦВМ. -М.: Советское радио, 1973.-120 с.

26. Abdel-Hamid A., Tahar S., El Mostapha Aboulhamid. IP Watermarking Techniques: Survey and Comparison// System-on-Chip for Real-Time Applications, 2003. Proceedings. The 3rd IEEE International Workshop on, 30 Jun. 2 Jul. 2003. Pages: 60-65.

27. Active-HDL 7.1 SP2 Software Manual// Aldec Corporation. May 2006. Pages: 1280.

28. Bayomi M.A., Jullien G.A. A VLSI Implementation of the Residue Adders// IEEE Trans, on Circuits and Systems. Mar. 1987. - Vol.34, №3. - P. 284-288.

29. Bening L., Foster H. Principles of Verifiable RTL Design a functional coding style supporting verification processes in Verilog// Kluwer Academic Publishers. Second Printing 2000. Pages: 253.

30. Bricaud P. IP Reuse Creation for System-on-a-Chip Design// Custom Integrated Circuits, 1999. Proceedings of the IEEE 1999,16-19 May 1999. Pages: 359-401.

31. Bricaud P., Antipolis S. VC Rating and Quality Metrics: Why Bother?// Quality Electronic

32. Design, 2002. Proceedings. International Symposium on 18-21 Mar. 2002. Pages: 257-260.

33. Bricaud P., Remond F. Set-Top box System-on-Chip Design Methodology// Electronics Systems and Software. Volume 1, Issue 1, Feb.2003. Pages: 10-13.

34. Cardarilli G.C., Lojacono R., Martinelli G., Salerno M. Structurally Passive Digital Filters in Residue Number Systems// IEEE Trans, on Circuits and Systems, vol.35, No.2, February 1988, P. 149-158.

35. Cardarilli G.C., Re M., Lojacono R. A new RNS FIR Filter Architecture// DSP-97, IEEE 13th International Conference on Digital Signal Processing, Volume 2,2-4 Jul. 1997, P. 671-674.

36. Cardarilli G.C., Nannarelli A., Re M. Reducing Power Dissipation in FIR Filters using the Residue Number System// Proc. of 43rd IEEE Midwest Symposium, on Circuits and Systems, Aug. 2000, P. 320-323.

37. Cardarilli G.C., Del Re A., Nannarelli A., Re M. Residue Number System Reconfigurable Datapath//ISCAS 2002, IEEE International Symposium on Circuits and Systems, Vol. II, May 2002, P. 11-756-11-759.

38. Charbon E., Torunoglu I. On Intellectual Property Protection// Custom Integrated Circuits Conference, 2000. CICC 2000. Proceedings of the IEEE 2000. 21-24 May 2000. Pages: 517523.

39. Chang S., Kim S.D. Reuse-based Methodology in Developing System-on-Chip// Software Engineering Research, Management and Applications, 2006. Fourth International Conference on 9-11 Aug. 2006. Pages: 125-131.

40. Corrigan W. ASIC Challenges: Emerging from a Primordial Soup// Design and Test of Computers, IEEE, Volume 15, Issue 3, Jul.-Sept. 1998. Pages: 4-7.

41. Del Re A., Nannarelli A., Re M. Implementation of Digital Filters in Carry-Save Residue Number System// IEEE Conference Record on the Thirty-Fifth Asilomar Conference on Signals, Systems and Computers, Volume 2, 4-7 Nov. 2001, P. 1309-1313.

42. Design Ware IP Family Reference Guide// Synopsys Inc., www.svnopsys.com, Jun. 2006. Pages: 456.

43. Development System Reference Guide// Xilinx, Inc. www.xilinx.com. Dec. 2005. Pages: 454.

44. Efstathiou C., Vergos H., Nikolos D. Modified Booth Modulo 2n-l Multipliers// IEEE Transactions on Computers, Vol.53, No.3, Mar. 2004. Pages:370-374.

45. Eroy F. A Core-Based System-to-Silicon Design Methodology// Design & Test of Computers,

46. EE. Volume 14, Issue 4, Oct.-Dec. 1997. Pages: 36-41.

47. Grobschadl J. The Chinese Remainder Theorem and its Application in a High-Speed RSA Crypto Chip // 16 Annual Conference Computer Security Application, 2000. ACSAC'00. Dec. 2000. Pages: 384-393.

48. Gupta R., Zorian Y. Introducing Core-Based System Design// Design & Test of Computers, IEEE. Volume 14, Issue 4, Oct.-Dec. 1997. Pages: 15-25.

49. HDL Designer Reference Manual// Mentor Graphics, Inc. Online documentation, www.mentor.com.

50. Hekmatpour A., Goodnow K., Shah H. Standards-Compliant IP-Based ASIC and SoC Design// SOC Conference, 2005. Proceedings. IEEE International 25-28 Sep. 2005. Pages: 322-323.

51. Hiasat A. A. High-Speed and Reduced-Area Modular Adder Structures for RNS// IEEE Transactions on Computers, vol. 51, no. 1, Jan. 2002.

52. Hiasat A. New memoryless, mod (211 ±l) residue multiplier // Electronic letters, 30th Jan. 1992, vol.28, No.3, P.314-315.

53. Homayoon Sam, Arupratan Gupta. A Generalized Multibit Recoding of Two's Complement Binary Numbers and Its Proof with Application in Multiplier Implementations// IEEE Transactions on Computers. Vol. 39, N0.8, Aug. 1990. P. 1006-1015.

54. Hunt M., Rowson J. Blocking in a system on a chip// Spectrum, IEEE, Vol.33, Issue 11. Nov. 1996. Pages: 35-41.

55. International Technology Roadmap for Semiconductors (ITRS), 2005. Available: http://www.public.itrs.net.

56. Jenkins W.K., Jullien G.A., Dimitrov V.S. Residue Arithmetic With Applications in Digital Signal Processing, 1999.

57. Jullien G.A. Number Theoretic Techniques in Digital Signal Processing// Advances in Electronics and Electron Physics, Academic Press Inc., Vol. 80. 1991. Pages: 131.

58. Kahng A.B., Lach J., Mangione-Smith W.H., Mantik S., Markov I., Potkonjak M., Tucker P., Wang H., Wolfe G. Watermarking Techniques for Intellectual Property Protection// Design Automation Conference, 1998. Proceedings 15-19 Jan. 1998. Pages: 776-781.

59. Keutzer K., Chinnery D. Closing the Gap Between ASIC and Custom: An ASIC Perspective// Deisgn Automation Conference, 2000. Proceedings 2000. 37th . 5-9 Jun. 2000. Pages: 637-642.

60. Keutzer K., Malik S., Newton A.R. From ASIC to ASIP: The Next Design Discontinuity// Computer Design: VLSI in Computers and Processors, 2002. Proceedings 2002. IEEE International Conference on. 16-18 Sept. 2002. Pages: 84-90.

61. Kim Y., Song Bang-Sup, Grosspietsch J., Gilling S. A Carry-Free 54x54 Multiplier Using Equivalent Bit Conversion Algorithm// IEEE Journal of Solid-State Circuits, Vol. 36, No. 10, Oct. 2001. Pages: 1538-1545.

62. Lakshmanan, Othman M., Mohamad Alauddin Mohd Ali. High Performance Parallel Multiplier using Wallace-Booth Algorithm// Semiconductor Electronics, 2002. Proceedings. ICSE 2002. IEEE International Conference on, 12-21 Dec. 2002. Pages: 433-436.

63. Li Li, Gao M., Cheng Z., Zhang D., He S. A New Platform-Based Orthogonal SoC Design Methodology// ASIC, 2003. Proceedings. 5th International Conference on Volume 1,21-24 Oct. 2003. Pages: 428-432.

64. Martin G. Design Methodologies for System Level IP// Design, Automation and Test in Europe, 1998. Proceedings. 23-26 Feb.1998. Pages: 286-289.

65. Martin G., Chang H. Tutorial 2 System-on-Chip Design// ASIC,2001. Proceedings. 4th International Conference on 23-25 Oct. 2001. Pages: 12-17.

66. Max+Plus II. Version 8.1 Programmable Logic Development System// Altera Corporation. Sept. 1997. Pages: 380.

67. Narayan N., Newbould R., Carothers J., Rodriguez J., Holman T. IP Protection for VLSI Designs via Watermarking of Routers// ASIC/SOC Conference, 2001. Proceedings. 14th Annual IEEE International 12-15 Sept. 2001. Pages: 406-410.

68. Qi H., Jiang Z., Wei J. IP Reusable Design Methodology// ASIC'2001. Proceedings. 4th International Conference on. 23-25 Oct. 2001. Pages: 756-795.

69. Quartus II. Version 6.0 Handbook// Altera Corporation. May 2006. Pages: 2160.

70. Piestrak S. J. Design of Residue Generators and Multioperand Modular Adders Using Carry-Save Adders. IEEE Transactions on Computers, vol. 423, no. 1, Jan. 1994.

71. Radhakrishnan D., Yuan Y. A fast RNS Galois field multiplier// Circuits and Systems, 1990. IEEE International Symposium on, 1-3 May 1990. Vol.4. Pages: 2909-2912.

72. Radhakrishnan D., Yuan Y. Novel Approaches to the Design of VLSI RNS Multipliers// IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing". Vol.39, no. 1. Jan. 1992. Pages: 52-57.

73. Radhakrishnan D., Preethy A. A 32 bit multiplier architecture using Galois fields// The 2nd European Parallel and Distributed Syst. Conf., Vienna, Austria, Jul. 1998. Pages: 94-99.

74. Radhakrishnan D., Preethy A. A 36-bit Balanced Moduli MAC Architecture// Circuit and Systems, 1999. 42nd Midwest Symposium on Volume 1,8-11 Aug. 1999. Pages:380-383.

75. Rincon Ann Marie, Cherichetti C., Monzel J., Stauffer D., Trick M. Core Design and System-on-a-Chip Integration// Design & Test of Computers, IEEE. Volume 14, Issue 4, Oct.-Dec. 1997. Pages: 26-35.

76. Saleh B., Wilton S., Mirabbasi S., Hu A., Greenstreet M., Lemieux G., Pande P., Grecu C., Ivanov A. System-on-Chip: Reuse and Integration// Proceedings of the IEEE. Volume 94, Issue 6, Jun. 2006. Pages: 1050-1096.

77. Sangiovanni-Vincentelli A., Carloni L., De Bernardinis F., Sgroi M. Benefits and Challenges for Platform-Based Design// Design Automation Conference, 2004. Proceedings. Pages: 409414.

78. Schinianakis D.M., Kakarountas A.P., Stouraitis T. A New Approach to Elliptic Curve Cryptography: an RNS Architecture// Electrotechnical Conference, 2006. MELECON 2006. IEEE Mediterranean 16-19 May 2006. Pages: 1241-1245.

79. Sbab S., Al-Khalili A.J., Al-Khalili D. Comparison of 32-bit Multipliers for Various Performance Measures// The 12th International Conference on Microelectronics, Tehran, Oct. 31 -Nov. 2, 2000. P. 75-80.

80. Seidel Peter-Michael, Lee D McFearin, David W Matula. Binary Multiplication Radix-32 and Radix-256// Computer Arithmetic, 2001. Proceedings., 15th IEEE Symposium on, 11-13 Jun. 2001. P. 23-32.

81. Smith D., Franzon P. Verilog styles for synthesis of digital systems// Prentice Hall inc. 2000. Pages: 314.

82. Taylor F.J. Large Moduli Multipliers for Signal Processing// IEEE Transactions on Circuits and Systems, Vol. cas-28, no. 7, Jul. 1981. Pages: 731-736.

83. Using the ISE Design Tools for Spartan-3 Generation FPGAs// Xilinx, Inc. www.xilinx.com. May 2005. Pages: 18.

84. VSI Alliance™ White Paper. Intellectual Property Protection: Schemes, Alternatives and

85. Discussion. Version 1.1. Revision Jan. 2001.

86. Wang Z., Jullien G.A., Miller W. An Algorithm for Multiplication Modulo (2n-l) // Circuits and Systems 1996, IEEE 39th Midwest Symposium on, Vol.3,18-21 Aug. 1996, Pages: 1301-1304.

87. Wang W., Swamy M.N.S., Ahmad M.O. Moduli Selection in RNS for Efficient VLSI Implementation// Circuits and Systems, 2003. IS CAS'03. Proceedings of the 2003 International Symposium on. Volume 4,25-28 May 2003. Pages: IV-512-IV-515.

88. Wei S., Yang Y. Application-Oriented Platform-Based SOC Design Technology// SolidState and Integrated Circuits Technology, 2004. Proceedings. 7th International Conference on. Volume 2.18-21 Oct. 2004. Pages: 1337-1340.

89. Wittmann R., Schardein W., Bierbaum D., Darianian M. Soc-Driven Design Methodology for Full Custom Hight Performance Mixed-Signal Designs// ASIC/SOC Conference, 2000. Proceedings. 13th Annual IEEE International 13-16 Sept. 2000. Pages: 148-152.

90. Zimmermann R. Efficient VLSI Implementation of Modulo (2" ±l. Addition and Multiplication// Computer Arithmetic, 1999. Proceedings. 14th IEEE Symposium on, 14-16 Apr. 1999. P. 158-167.