Введение к работе
Актуальность проблемы. Современное развитие полупроводниковых технологий, характеризующееся повышением сложности электронных устройств, изменением проектных норм, разделением труда проектировщиков и образованием кремниевых фабрик, предопределило изменения в методологии проектирования сверхбольших интегральных схем (СБИС). При наблюдаемом общем росте ресурсоемкости процесса разработки эффективным является применение методологии нисходящего проектирования на основе многоуровневого иерархического представления устройств и перехода в процессе проектирования от общего описания системы к детальному описанию составляющих ее компонентов – сложных функциональных блоков, или IP-блоков (от англ. Intellectual Property).
Наряду с изменениями стандартных методов разработки СБИС, необходимо отметить развитие методологии проектирования в соответствии с классом целевых интегральных схем. Учет специфики конкретного класса СБИС позволяет принять во внимание его особенности уже на ранних этапах проектирования и обеспечить более эффективную адаптацию архитектуры на конкретную задачу по сравнению со стандартными средствами, ориентированными на широкую область применения. Примерами таких классов микросхем являются схемы памяти, схемы программируемой логики (ПЛИС), характеризующиеся регулярной структурой. В настоящее время на мировом рынке существует множество фирм, специализирующихся на проектировании конкретного класса СБИС, например, крупнейшими производителями ПЛИС являются компании Altera и Xilinx.
Одним из специфических классов СБИС являются специализированные устройства генерации полных комбинаторных перестановок символьной строки, используемых главным образом в системах защиты информации ЭВМ. Основными особенностями таких устройств являются переменная разрядность символьной строки и наличие ограничений на требуемое множество генерируемых комбинаторных перестановок в некоторых приложениях. Например, в системах динамического преобразования форматов на основе транспозиционных преобразований, некоторые из перестановок являются недопустимыми и могут быть непригодными для формирования использующихся в этих системах дескрипторов формата, а значит, должны быть исключены из рассмотрения. В этом прослеживается аналогия со слабыми ключами в современных шифрах, например, DES. В рассматриваемом случае, перестановка является недопустимой, если она содержит одну или несколько неподвижных точек и/или инволюций.
Применение стандартных средств проектирования при разработке рассматриваемых специализированных СБИС связано с рядом проблем. Современная методология проектирования предполагает разбиение маршрута проектирования на несколько этапов проектных процедур. Первые два этапа составляют проектирование на системном уровне и на уровне регистровых передач (RTL-уровень). На верхнем структурном уровне, называемом также системным, разрабатывается и верифицируется обобщенная модель блока для проверки работоспособности взятого за основу математического алгоритма генерации перестановок. В качестве языка описания чаще всего используется язык SystemC. На RTL-уровне разрабатывается функциональное описание блока на уровне регистровых передач с использованием одного из языков описания аппаратуры (HDL-языков). Такое описание осуществляется чаще всего вручную, путем графического или текстового ввода, что, во-первых, увеличивает трудоемкость и требует недопустимо больших затрат времени, а во-вторых, влечет за собой разрыв между алгоритмическим описанием на SystemC и RTL-описанием. Аналогичный разрыв наблюдается и при разработке тестов для верификации блоков на системном и RTL уровнях.
Обозначенные проблемы, а также многообразие входных параметров генерации комбинаторных перестановок и увеличение сложности схемы блока генерации с ростом длины символьной строки, повышают риск субъективных ошибок и, таким образом, увеличивают влияние «человеческого фактора» на качество всего проекта. В результате, использование традиционной методологии в процессе проектирования рассматриваемых устройств представляется затруднительным. В этой связи, актуальной задачей представляется разработка средств автоматизации проектирования специализированных устройств генерации комбинаторных перестановок элементов символьной строки, обеспечивающих высокое качество целевых устройств и позволяющих максимально автоматизировать процесс проектирования и верификации на системном и RTL-уровнях.
Диссертационная работа выполнена в рамках госбюджетной НИР кафедры вычислительной техники и информационных систем ВГЛТА «Автоматизация проектных работ при создании изделий микроэлектроники и лесного комплекса», ГР №01.2.00609244, код ГРНТИ 68.47.01; 50.49.
Объектом исследования является средства автоматизированного проектирования специализированных устройств генерации полных комбинаторных перестановок, предназначенных для обеспечения конфиденциальности данных в рамках СУБД.
Предметом исследования являются модели, алгоритмы и методы проектирования и моделирования в САПР устройств генерации полных комбинаторных перестановок с отсевом недопустимых перестановок, содержащих неподвижные точки и обратимые пары.
Целью исследования является разработка средств проектирования: методики, моделей, методов и алгоритмов для специализированных устройств генерации полных комбинаторных перестановок элементов символьной строки.
В соответствии с поставленной целью в диссертационной работе необходимо решить следующие задачи:
провести анализ современного состояния средств автоматизированного проектирования специализированных устройств генерации полных комбинаторных перестановок, выделить направления их текущего развития;
разработать методику проектирования специализированных устройств генерации полных комбинаторных перестановок элементов символьной строки, позволяющую обеспечить наиболее эффективное проектирование устройств генерации полных комбинаторных перестановок;
разработать модели, алгоритмы и методы, позволяющие учесть особенности проектирования устройств генерации полных комбинаторных перестановок элементов символьной строки переменной разрядности с возможностью отсеивания недопустимых перестановок, которые могут снизить качество проекта;
разработать алгоритмическую основу синтеза тестовой последовательности, учитывающей особенности проектирования устройств генерации полных комбинаторных перестановок на системном уровне и уровне регистровых передач (RTL);
разработать программное обеспечение подсистемы генерации функциональных блоков для формирования множества полных комбинаторных перестановок элементов символьных строк, верификации и синтеза тестовой последовательности, внедрить разработанные средства в единую среду сквозного проектирования дизайн-центра.
Методы исследования. В качестве теоретической и методологической основы диссертационного исследования использованы элементы теории автоматизированного проектирования, множеств, дискретной математики, методы и средства структурно-функционального моделирования, технологии объектно-ориентированного и событийно-ориентированного программирования, а также метапрограммирования.
Научная новизна результатов, полученных при решении вышеперечисленных задач исследования, состоит в следующем:
методика проектирования специализированных устройств генерации полных комбинаторных перестановок элементов символьной строки, отличающаяся встроенными средства проектирования специальных микросхем, что позволяет обеспечить более высокое качество и сокращение цикла проектирования устройств генерации полных комбинаторных перестановок;
метод генерации функциональных блоков для устройств формирования множества комбинаторных перестановок элементов символьной строки переменной разрядности, отличающийся наиболее полной автоматизацией процесса проектирования на системном уровне и уровне регистровых передач;
метод аппаратной генерации полных комбинаторных перестановок в символьной строке переменной разрядности, отличающийся возможностью отсеивания неподвижных точек и инволюций в процессе реализации, что позволяет исключать недопустимые перестановки на этапе комбинаторной генерации множества возможных перестановок;
алгоритм генерации функциональных блоков для формирования множества комбинаторных перестановок элементов символьной строки переменной разрядности, отличающийся использованием в нем предложенных методов аппаратной генерации перестановок с отсеиванием неподвижных точек и инволюций и генерации соответствующих функциональных блоков;
алгоритм синтеза тестов для верификации функциональных блоков на системном уровне и уровне регистровых передач, отличающийся учетом особенностей проектирования устройств генерации полных комбинаторных перестановок.
Практическая значимость и результаты внедрения. Практическая значимость работы заключается в улучшении качества проектных работ и сокращении жизненного цикла проектирования специализированных устройств генерации полных комбинаторных перестановок за счет внедрения аппаратно-программных средств.
На основе предложенных методов, математических моделей и алгоритмов разработано программное обеспечение. Оно внедрено в ЗАО НПП «Реляционные экспертные системы» (г. Воронеж) с экономическим эффектом 405 тыс. рублей и в учебный процесс ФГБОУ ВПО «Воронежская государственная лесотехническая академия» (в учебно-методические материалы дисциплин «Системы автоматизации проектирования», «Схемотехническое и функциональное проектирование электронной компонентной базы в САПР», «Методы проектирования микроэлектронных устройств» для подготовки студентов ВГЛТА по направлению «Информационные системы и технологии», а также аспирантов и докторантов по специальности 05.13.12 – Системы автоматизации проектирования).
Полученные средства позволяют снизить трудоемкость, сократить время разработки и минимизировать риск субъективных ошибок при проектировании специализированных устройств генерации комбинаторных перестановок элементов символьной строки.
Выносятся на защиту:
- методика проектирования специализированных устройств генерации полных комбинаторных перестановок элементов символьной строки;
- метод генерации функциональных блоков для устройств формирования множества комбинаторных перестановок элементов символьной строки переменной разрядности;
- метод аппаратной генерации полных комбинаторных перестановок в символьной строке переменной разрядности;
- алгоритм генерации функциональных блоков для формирования множества комбинаторных перестановок элементов символьной строки переменной разрядности;
- алгоритм синтеза тестов для верификации функциональных блоков на системном уровне и уровне регистровых передач.
Соответствие паспорту специальности. Согласно паспорту специальности 05.13.12 – Системы автоматизации проектирования, задачи, рассмотренные в диссертации, соответствуют областям исследований, соответствующим пунктам:
1. методология автоматизированного проектирования в технике, включающая постановку, формализацию и типизацию проектных процедур и процессов проектирования, вопросы выбора методов и средств для применения в САПР;
3. разработка научных основ построения средств САПР, разработка и исследование моделей, алгоритмов и методов для синтеза и анализа проектных решений, включая конструкторские и технологические решения в САПР и АСТПП.
Апробация работы. Основные положения диссертационной работы докладывались и обсуждались на Международной научной конференции «Проблемы управления, передачи и обработки информации» (Саратов, 2009), Международной научно-практической конференции «Молодежь и наука: реальность и будущее» (Невинномыск, 2010), Всероссийской конференции с элементами научной школы для молодежи «Математическое моделирование в технике и технологии» (Воронеж, 2011), Международной научно-практической конференции «Современные проблемы гуманитарных и естественных наук» (2011).
Публикации результатов работы. По теме диссертации опубликовано 17 работ, в том числе 6 статей в изданиях Перечня, определенного ВАК Минобрнауки России, 1 монография, получено 1 свидетельство об официальной регистрации программ для ЭВМ.
Личное участие заключается в определении цели и задач работы [1-3, 12-13], в выполнении научно-технических исследований [9-10], разработке и анализе моделей [4, 5, 14, 16, 18], разработке алгоритмов [9-11], разработке методики проектирования [6, 7, 15, 17], программной реализации [8].
Структура и объём работы. Диссертация состоит из введения, четырех глав, заключения, изложенных на 116 страницах, включающих в себя список литературы из 104 наименований, 23 рисунка и 12 таблиц.