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



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

Исследование и разработка методов проектирования сложно-функциональных блоков помехоустойчивых цифровых интегральных схем на основе системы кодирования 1 из 4 Орлов Денис Валентинович

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

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

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

Орлов Денис Валентинович. Исследование и разработка методов проектирования сложно-функциональных блоков помехоустойчивых цифровых интегральных схем на основе системы кодирования 1 из 4: диссертация ... кандидата Технических наук: 05.27.01 / Орлов Денис Валентинович;[Место защиты: ФГАОУВО «Национальный исследовательский университет «Московский институт электронной техники»], 2016.- 124 с.

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

Введение

ГЛАВА 1. Обзор и анализ помехоустойчивых кодов для применения в вычислительных средствах обработки информации 11

1.1. Теоретические предпосылки 11

1.2. Резервирование 14

1.3. Классификация помехоустойчивых кодов 18

1.4. Анализ помехоустойчивых кодов 22

Коды Боуза—Чоудхури—Хоквингхема (БЧХ-коды) 22

Код Хэмминга 23

Код Джонсона 24

Коды Рида-Маллера 25

Двоичный код Голея 26

Сверточные коды 26

Код Фибоначчи и код золотой пропорции 27

Код 1из4 28

1.5. Арифметические алгоритмы на основе системы кодирования 1 из 4

Сложение 31

Вычитание 32

Умножение 33

Деление 35

Оценка быстродействия и занимаемой площади блока суммирования 36

1.6. Выводы и постановка задачи 37

ГЛАВА 2. Оценка эффективности применения кодирования 1 из 4 для построения вычислительных средств с конкурентными характеристиками по потребляемой мощности, быстродействию и занимаемой площади 40

2.1. Маршрут проектирования и анализа параметров 40

2.2. Сумматоры 42

2.3. Блоки мультиплексирования 49

2.4. Регистры 52

2.5. Счётчики 54

2.6. Выводы 57

ГЛАВА 3. Разработка библиотеки операторов для синтеза схем на основе кодирования 1 из 4 58

3.1. Анализ возможностей средств проектирования для реализации RTL-описаний на основе системы кодирования 1 из 4 58

3.2. Операторы и компоненты системы кодирования 1 из 4 61

Функции plus и minus 61

Функции incr и deer 62

Условный оператор mux 63

Побитовые функции and lto4, nand lto4, or lto4, nor lto4, xor lto4, xnor lto4,

invert 64

Функции сдвига 64

Функция нуля 66

Функция преобразования в систему кодирования 1 из 4 67

3.3. Применение операторов 68

3.4. Выводы 72

ГЛАВА 4. Разработка элементной базы системы кодирования 1 из 4 с четверичным представлением разряда числа 74

4.1. Разработка библиотеки четырехбитных ячеек 74

Одноразрядный сумматор 1 из 4 77

Мультиплексор 2 в 1 1 из 4 80

Триггер 1 из 4 82

4.2. Синтез четырехбитных ячеек 84

Триггер 86

Мультиплексор 89

Сумматор 92

4.3. Выводы 92

ГЛАВА 5. Разработка маршрута проектирования схем с кодированием 1 из 4 на примере простейших схем 94

5.1. Анализ и изменение маршрута синтеза 94

5.2. Маршрут синтеза недвоичной логики 97

Выбор схем 99

5.3. Апробация маршрута синтеза СФ блоков на основе системы 1из4 100

5.4. Выводы 105

Выводы и основные результаты работы 106

Список литературы

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

Актуальность.

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

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

СНК по своей сути является вычислительной системой. Основные
требования к вычислительным средствам вычислительных систем:

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

Таким образом, необходимо применение новых подходов к

обеспечению достоверности выдаваемой информации.

С целью обеспечения достоверности контроля выдаваемых данных, сокращения потребляемой энергии, безопасности и защищенности в таких вычислительных средствах, как микропроцессор, арифметико-логическое устройство (АЛУ), перспективным представляется применение системы кодирования данных 1 из 4 взамен традиционной двоичной.

Преимуществами системы кодирования 1 из 4 являются:

  1. Прозрачная связь с двоичной системой;

  2. Достоверность выдаваемой информации, обеспечиваемая простотой контроля;

  3. Увеличенное быстродействие;

  4. Сокращение числа ячеек по отношению к двоичной системе с резервированием;

  5. Уменьшение потребляемой мощности схем по сравнению с двоичной системой с резервированием.

Система кодирования 1 из 4 имеет прозрачную связь с двоичной системой, однако её алгоритмы являются достаточно объемными для реализации стандартными методами проектирования. Отсутствие основных арифметических, логических и других операторов, функций для реализации поведенческого описания цифровых СФ блоков, а также наличие четырех бит с одной единицей в разряде числа накладывают трудности на стандартный процесс проектирования. В результате типовой метод разработки цифровых устройств, основанный на применении таких языков описания аппаратуры, как VHDL и Verilog HDL (далее Verilog) и их стандартных операторов, не подходит для проектирования СФ блоков, выполненных на базе системы кодирования 1 из 4.

Следовательно, необходим поиск и развитие новых методов и подходов в проектировании цифровых СФ блоков на основе системы кодирования 1 из 4. Исследованию и разработке этих методов проектирования посвящена данная диссертация.

Цель работы

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

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

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

  2. Разработать библиотеку операторов для синтеза схем на основе кодирования 1 из 4;

  3. Разработать библиотеку цифровых элементов разряда числа системы кодирования 1 из 4;

  1. Провести исследование разработанных элементов и определить условия их применения;

  2. Провести разработку и апробацию маршрута проектирования схем на основе системы кодирования 1 из 4 с применением разработанных библиотек.

Научная новизна.

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

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

  2. Установлены ограничения реализации поведенческого описания СФ блоков на основе системы кодирования 1 из 4 с применением стандартных операторов, в частности: запрет изменять функцию, выполняемую операторами на этапе поведенческого моделирования СФ блока, и запрет на использование языков описания аппаратуры без возможности перегружать операторы.

  3. Установлены условия применимости четырехбитных ячеек системы кодирования 1 из 4 на этапе синтеза схем, позволяющие упростить структуру, уменьшить число элементов и связей между ними, а именно:

а. объединение 4-х однобитных триггеров и замена на четырехбитный триггер до момента преобразования в элементы библиотеки конечного устройства;

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

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

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

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

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

  2. Разработан и исследован новый маршрут проектирования схем на основе кодирования 1 из 4 с применением уникальных цифровых библиотек;

  3. Предложена методика разработки маршрута проектирования для схем на основе системы кодирования 1 из 4;

  4. Разработанные методы использовались при проектировании следующих зашивок на БМК: 5522БЦ4АТ-002, 5522БЦ4АТ-003, 5522БЦ5АТ-Т01, выполненных по КМОП технологии уровня 0,6 мкм, устойчивой к воздействию спецфакторов, а также при проектировании модели арифметико-логического устройства процессора на основе системы кодирования 1 из 4.

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

Основные научные результаты диссертации использованы при выполнении следующих НИР:

  1. «Разработка образовательной программы профессиональной переподготовки и учебно-методического комплекса (УМК) в области производства полупроводниковых компонентов с повышенной стойкостью к внешним воздействиям», договор № 2401/507. Шифр – «Излучение»; Рук. Шевяков В.И.;

  2. «Исследование и разработка методов и маршрутов проектирования энергоэффективной элементной базы для быстродействующих устройств обработки аналоговой и цифровой информации на основе трехмерных вертикально-интегрированных структур». Шифр: 123-ГЗ-ИЭМС; Рук. Крупкина Т.Ю.;

  3. «Исследование и разработка методов проектирования и создания наноэлектронных элементов СБИС и интеллектуальных сенсоров физических величин». Шифр – 146-ГЗ-НОЙ ПЭКБ СК. Рук. Чаплыгин Ю.A.;

  4. «Исследование и разработка технологий элементной базы высокотемпературной микро- и наноэлектроники». Соглашение № 14.581.21.0007 от 2014 г. Руководитель: Чаплыгин Юрий Александрович.

Разработанные методы использовались при проектировании

следующих зашивок на БМК: 5522БЦ4АТ-002, 5522БЦ4АТ-003, 5522БЦ5АТ-Т01, выполненных по КМОП технологии уровня 0,6 мкм устойчивой к воздействию спецфакторов, а так же при проектировании модели

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

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

  1. Применение уникальной библиотеки операторов при проектировании схем на основе системы кодирования 1 из 4;

  2. Методика проектирования цифровых схем с системой кодирования информации 1 из 4 на основе уникальной библиотеки операторов;

  3. Условия применимости четырехбитных ячеек в процессе реализации RTL-описания и его дальнейшего синтеза;

  4. Предложенный подход к проектированию схем на основе кодирования типа 1 из 4;

  5. Результаты апробации методов на базе изделий БМК типа 5522БЦ ОАО «Ангстрем».

Личный вклад автора.

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

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

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

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

техническая конференция «Микроэлектроника и информатика-2012»,
МГИЭТ(ТУ), 2012г.; VI научно-техническая конференция молодых ученых,
префектура Зеленоград, октябрь 2012г.; V Всероссийская научно-техническая
конференция "Проблемы разработки перспективных микро- и

наноэлектронных систем", 2012г.; Международная научно-практическая
конференция: Закономерности и тенденции развития в современном
обществе, г. Уфа, март 2013г.; Всероссийская межвузовская научно-
техническая конференция «Микроэлектроника и информатика-2013», НИУ
МИЭТ, 2013г.; Международная научно-практическая конференция:

Фундаментальные проблемы науки, г. Уфа, сентябрь 2013г.; Всероссийская
межвузовская научно-техническая конференция «Микроэлектроника и
информатика-2014», НИУ МИЭТ, 2014г.; Международная научно-

практическая конференция: Научные преобразования в эпоху глобализации,

г. Курган, май 2016г.; Международная научно-практическая конференция: Современный взгляд на будущее науки, г. Томск, май 2016г.

Публикации.

По материалам диссертации опубликовано 14 работ, включая 4 статьи в изданиях, входящих в перечень ВАК, 10 в сборниках научных трудов и в тезисах докладов научно-технических конференций.

Структура и объем диссертации. Диссертация состоит из общей характеристики работы, пяти глав, заключения и списка используемой литературы. Диссертация изложена на 121 листе основного текста, содержит 62 рисунка и 3 таблицы к основному тексту, список литературы из 90 наименований. Приложений 2.

Анализ помехоустойчивых кодов

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

Как известно из [1-2], двоичная система была введена в компьютерную технику Джоном фон Нейманом в 1946 г. Одним из «неймановских принципов» было обоснование использования в электронных компьютерах двоичной системы исчисления. На тот момент в науке существовали две системы исчисления: десятичная и двоичная системы. Выбрана была двоичная система исчисления, т.к. именно двоичная система в полной мере характеризовала принцип работы электронных компонентов и отвечала требованиям и правилам булевой логики, а, учитывая почти полное отсутствие альтернатив в системах исчисления, это, безусловно, было правильным решением. Однако введение в компьютерную технику двоичной системы привело к появлению проблемы «нулевой избыточности», или отсутствие избыточности, что делает двоичные коды с учетом правил и алгоритмов классической двоичной системы разрешенными». Этот своего рода «троянский конь» полностью сводит к нулю возможность выявления, не говоря про исправление, любого рода ошибок, которые с разной степенью вероятности могут появиться под действием различных негативных факторов, например, таких как радиация, различные виды помех (внутренних и внешних), электромагнитные воздействия и т.д.

Современной тенденцией развития микроэлектроники в области защиты интегральных схем от различных сбоев, помех [3-9] являются аппаратные методы, такие как различные варианты помехоустойчивого кодирования (Error-Correcting Codes, ЕСС) и резервирования (мажорирования). Кодирование широко применяется в области защиты регулярных структур с большим объемом данных, примером которых могут выступать оперативная память или многоразрядные шины передачи данных. Ведущие производители современных вычислительных систем применяют ЕСС во всех важных блоках, начиная от кэш-памяти микропроцессора и заканчивая блоками ввода-вывода. Целями кодирования обычно являются: 1) С целью кодового разделения сигналов передавать сообщения по общему каналу связи; 2) Повышение помехоустойчивости и достоверности выдаваемой информации; 3) Уменьшение избыточности - экономичное использование каналов связи, вызванное экономией полос частот; 4) Уменьшение стоимости обработки (передачи и хранения) информации; 5) Обеспечение сохранности и скрытности обработки (передачи и хранения) информации; 6) Обработка любой информации в единой системе, что подразумевает её преобразование в эту систему; 7) Обработка любой информации в соответствии с характеристиками предоставляемого канала связи. Помехоустойчивые, или корректирующие коды делятся на два типа: 1. Коды с обнаружением и исправлением ошибок - позволяют обнаружить и исправить ошибки в кодовой последовательности; 2. Коды с обнаружением ошибок - позволяют обнаружить ошибку в кодовой по следовательно сти.

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

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

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

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

Для нерегулярных структур, особенно менее распространенных в коммерческих изделиях, применяют другие методы защиты, более сложные, а с развитием технологий применяются комплексные решения. Традиционно, системы, основное применение которых, например, аппаратура космических аппаратов, требуют повышенной надежности и защищенности от разных типов сбоев. К таким система применяют метод тройного модульного резервирования (TMR — Triple Modular Redundancy), также называемого как мажорирование [15]. Принцип работы данного метода заключается в том, что три, например, вычислительных блока работают параллельно, а на выходе установлен специальный блок, который сравнивает результаты их вычислений и в случае несовпадения формируется сигнал об ошибке. В результате система выполняет заложенные в неё действия по обработке этого сигнала и устранению ошибки.

Код Фибоначчи и код золотой пропорции

На начальном этапе, ТЗ, был выбран для каждого из блоков свой набор схем. Они представлены ниже. Структурные схемы блоков выбирались согласно структурным схемам разработанных блоков арифметико-логического устройства (АЛУ) процессора на основе кодирования 1 из 4. Разрядность схем типа регистр, блок мультиплексирования (коммутации) и сумматор составляет 32 разряда у двоичной системы и 16 разрядов (по 4 бит каждый) у системы кодирования 1 из 4, что соответствует 32 разрядам двоичной системы. У схем счетчиков разрядность зависит от коэффициента счета. В данном случае он 15. Эта цифра была выбрана согласно алгоритмам умножения и деления системы кодирования 1 из 4. Следовательно, у двоичного счетчика четыре разряда, а у счетчика системы кодирования 1 из 4 он равен двум четырехбитным разрядам.

На языке описания аппаратуры Verilog были реализованы поведенческие описания этих схем, согласно тем алгоритмам и функциям, которые они должны выполнять. Описаны тестовые воздействия. Используя программы для моделирования цифровых схем NCLaunch и NC-Sim, пакета INCISIVE фирмы Cadence, была проведена отладка поведенческого описания схем и тестового модуля. Программой RTL Compiler, фирмы Cadence, проведен синтез схем, получен список цепей (netlist), файл задержек (sdf), а также информационные файлы параметров схем по площади и потребляемой мощности, максимальной задержке и частоте.

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

Сумматор - это логическое устройство, которое выполняет арифметическое преобразование двух сигналов, при котором результирующий выходной сигнал является суммой этих двух сигналов. При этом в результате работы устройства выполняются и другие операции типа учета знака и выравнивания порядков слагаемых, которые выполняются в таких вычислительных средствах, как АЛУ или микропроцессор, в состав которых входят сумматоры [49-52]. Сумматоры могут классифицироваться по различным признакам [53]: 1) Система счисления: - двоичные; - двоично-десятичные; - десятичные; - прочие (например, амплитудные). 2) Число одновременно срабатываемых разрядов: - Одноразрядный двоичный сумматор - это комбинационное двоичное устройство, которое представляет собой логический элемент с тремя входными (два слагаемых и перенос с предыдущего разряда) и двумя выходными портами (сумма и перенос в последующий разряд), работа которого может быть описана таблицей 2.1; - Многоразрядный двоичный сумматор - это комбинационное двоичное устройство, которое производит операцию логического сложения многоразрядных двоичных чисел. Это комбинационная схема, которая чаще всего строится на основе одноразрядных сумматоров.

Для многоразрядных двоичных сумматоров характерно деление по обработке складываемых чисел: 1) последовательные двоичные сумматоры - это такие сумматоры, в которых одноименные разряды двух слагаемых складываются один за другим, а каждая пара на одном и том же элементе; 2) параллельные двоичные сумматоры - это такие сумматоры, в которых одноименные разряды двух слагаемых складываются одновременно, а каждая пара имеет свой элемент.

Классическим примером параллельного сумматора является последовательное соединение п одноразрядных сумматоров (где п - число разрядов) посредством цепей переносов между разрядами. При этом быстродействие таких схем невелико и зависит от задержки распространения сигнала в цепях переноса, т.к. результат выполнения операции сложения на выходе каждого і-го одноразрядного сумматора и сигнал переноса появятся только после появления сигнала переноса с предыдущего, (i-l)-ro разряда сумматора. Поэтому уменьшение времени распространения сигнала в цепях переноса является для параллельных сумматоров ключевой задачей.

Для решения задачи увеличения быстродействия сумматоров применяют так называемые сумматоры с ускоренным переносом, пример которого показан на рисунке 2.2 [54-55]. В данном устройстве формирование переносов происходит в специальном блоке (блок организации ускоренного переноса) в параллельной форме, иначе говоря, производится одновременное назначение сигналов переноса во все разряды сумматора. Сигналов задания переноса в одноразрядных сумматорах нет. Формируются только сумма Sj и специальные сигналы Yj и Хі? на которые не влияет сигнал переноса. Сигналы Yj и Xj служат указателями блоку ускоренного переноса для формирования переноса. Их принцип работы заключается в следующем: - если Yj=l, то в і-м разряде формируется перенос рі+і в следующий (і+1)-й разряд, независимо от поступления на і-й разряд переноса из предыдущего рм; - если Xj=l, то і-м разряде перенос рі+і в следующий (і+1)-й разряд формируется только в случае наличия сигнала переноса из предыдущего ри разряда.

Блоки мультиплексирования

Процесс проектирования СФ блоков на основе системы кодирования 1 из 4 довольно долгий и затруднительный. Реализация каждого блока, даже сумматора, требует значительных временных затрат. Например, операции сложения системы 1 из 4 и двоичной системы отличны, а стандартного оператора или функции для языков описания аппаратуры Verilog или VHDL [69-70] типа «+», « » у сложения системы кодирования 1 из 4 просто не существует. Следовательно, применение языков описания аппаратуры для последующего синтеза схем тоже не дает большого преимущества. Поэтому типовой метод обладает рядом недостатков и не подходит для проектирования СФ блоков на основе системы 1 из 4. Недостатки типового метода проектирования: Увеличение объема RTL-кода; Увеличение времени проектирования СФ блока; Увеличение вероятности возникновения ошибки; Увеличение времени отладки СФ блока. Отсюда актуальным встает вопрос о разработке библиотеки операторов системы кодирования 1 из 4 для процесса синтеза, чтобы иметь возможность создавать простые описания на языке проектирования схем в базисе нестандартной логики. Прежде всего, необходимо рассмотреть возможности программ синтеза, моделирования и особенности языков проектирования.

Обзор технических возможностей языковых средств и средств САПР показывает, что вариантами решения данного вопроса являются: 1) Перегрузка операторов языковыми средствами [71-72]. Позволяет переопределить выполняемую оператором функцию; 2) Cadence Chip Ware Developer (у Synopsys это Design Ware) [73-76] - позволяет управлять связями типа HDL-элемент («+», « » и т.д.) и представление на уровне вентилей предопределённых архитектур блоков. Она обладает четырехуровневой иерархией: 1. HDL-подпрограмма (функция) или HDL-оператор, определяющие синтетический оператор (map to operator); 2. Синтетический оператор - независимое от языка и технологии определение конкретной функции; 3. CWD компонент - может быть один или много; 4. CWD implementation (представление компонента) - Verilog или VDHL-описание, используемое при синтезе.

Синтетический оператор может быть простым, как обычный HDL-оператор типа «+» и « », или сложным, как большая подпрограмма. HDL-подпрограмма (функция) или HDL-оператор и являются искомыми понятиями для создания библиотеки операторов системы 1 из 4. Это специально разработанная функция, как для синтеза, так и для моделирования. Создается средствами языков Verilog, VHDL и т.д.

Для работы с операторами в базе данных системы синтеза должны быть определены следующие элементы: 1. Синтетический оператор; 2. Компонент с параметрами, определяющий этот синтетический оператор; 3. Связи между компонентом и синтетическим оператором; 4. Представление компонента (Verilog или VDHL описание, используемое при синтезе). Отсюда следует, что создав новое специальное представление для стандартных операторов типа «+», « » и т.д., при работе с системой кодирования 1 из 4, можно реализовывать поведенческое описание и проводить синтез, не меняя привычных операторов.

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

1. Что касается языковых средств, то у некоторых языков описания аппаратуры есть возможность перегрузки оператора. Под перегрузкой оператора понимают изменение, модификация функции стандартного оператора или замена на любую другую. Такой возможностью обладают языки VHDL и SystemVerilog, но такой способностью не обладает Verilog. На сегодняшний день Verilog востребован не менее, чем VHDL или System Verilog. Поэтому использование перегрузки операторов не является универсальным решением;

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

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

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

Таким образом, применение стандартных операторов с измененным представлением компонента для проектирования схем на основе системы кодирования 1 из 4 не представляется возможным.

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

Маршрут синтеза недвоичной логики

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

Для построения электрических схем каждого типа триггера использовались готовые решения из библиотеки стандартных элементов. Однако следует учесть, что согласно свойству кодирования 1 из 4 в каждом разряде может быть только одна единица, не больше и не меньше, необходимо строить ячейку одного разряда триггера I из 4 таким образом, чтобы при сбросе он хранил в себе код «0001». Следовательно, самым простым выходом из данной ситуации является объединение в одной ячейке схем четырех триггеров из библиотеки стандартных элементов, причем самый первый бит - это триггер с установкой, а все остальные - это триггеры со сбросом. Пример такой схемы показан на рисунке 3.10.

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

Наиболее практичным топологическим размещением в данном случае будет являться следующее размещение: все элементы повернуты таким образом, что тактовые порты каждого элемента находятся в центре общей топологии (рисунок 3.12а). Это лучше показано на виде abstract (рисунок 3.126).

а) Топологическое представление схемы триггера 1 из 4; б) Вид abstract триггера 1 из 4 Имея топологическое представление элемента и его абстракцию проводим физическую верификацию. В результате были получены представления схемы в виде extracted, из которого выгружается CDL-netlist а также формат описания топологии LEF. Затем была проделана характеризация элементов и получены временные библиотеки в формате Liberty (.lib) и поведенческая модель в формате Verilog (.v). В итоге были разработаны следующие типы четырехбитных триггеров: 1. DFTNQ14 - фронтовой D-триггер 1 из 4; 2. DHTNQ14 - фронтовой D-триггер 1 из 4 с разрешением на запись; 3. LANTNQ14 - триггер 1 из 4 по уровню типа latch. Разработка четырехбитной ячейки триггера дает разработчику ряд возможностей: 1. Несмотря на заявление о помехозащищенности системы кодирования 1 из 4, данная система имеет уязвимое место - тактовая цепь и цепь сброса/установки триггеров. Следовательно, данная ячейка позволяет встроить в нее элементы, буфер и инвертор, для защиты тактового сигнала и сигнал сброса; 2. Для уменьшения потребления энергии в современных системах используют такое понятие как clock gating. Это управление записью информации в триггер за счет прерывания тактового сигнала. Применение данного метода совместно с четырехбитной ячейкой позволяет разработать простую структуру с меньшим потреблением и меньшей площадью; 3. Также комбинация первых двух методов делает структуру с пониженным потреблением, меньшей площадью и устойчивостью к сбоям.

Применение готовой четверичной ячейки разряда в случае проектирования топологии схемы позволяет упростить и ускорить процесс топологического проектирования схемы. В свою очередь, для этого необходим список цепей (netlist), содержащий такие ячейки. Список цепей можно получить в результате синтеза RTL-кода [87] либо из структурного описания, либо комбинацией этих методов. Существует возможность объединения ячеек в блоки (partition) и применения готовой четырехбитной ячейки на этапе разработки топологии.

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

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

Синтез RTL-кода позволяет быстро фактически безошибочно получить список цепей схемы любой сложности. Данный метод предпочтительнее структурного описания. Однако существует одна проблема. Сложно-функциональные блоки, такие как ячейки разряда, просто не будут использоваться в схеме после синтеза, т.к. системы синтеза построены следующим образом: — провести синтез в базисе примитивов типа 2-И-НЕ, 2-ИЛИ-НЕ, инвертор, триггер, мультиплексор и т.д.; — перевести полученную схему в базис конкретной библиотеки; — провести оптимизацию по площади, быстродействию, потребляемой мощности. Отсюда встает вопрос об автоматизации процесса синтеза с применением четырехбитных ячеек, чтобы иметь возможность создавать простые описания на языке проектирования схем в базисе нестандартной логики.

Для того, чтобы предложить тот или иной метод, необходимо рассмотреть возможности программ синтеза и принцип их работы с точки зрения построения списка цепей с использованием кодирования 1 из 4. Для данных целей были проанализированы списки цепей блоков регистров, счетчиков, сумматоров и блоков коммутации (мультиплексоров), полученные в результате синтеза RTL-кода на языке Verilog. Для синтеза использовалась программа RTL Compiler фирмы Cadence.