СОВРЕМЕННЫЕ ТЕХНОЛОГИИ МОДЕЛИРОВАНИЯ И ВЕРИФИКАЦИИ
ЦИФРОВЫХ СИСТЕМ НА КРИСТАЛЛАХ
Харьковский национальный университет радиоэктроники, Украина
Предлагается программно-аппаратная реализация методов моделирования исправного поведения и неисправностей, а также линтинг-технология верификации цифровых систем на ранних стадиях проектирования. Внедрение упомянутых технологий позволяет существенно повысить быстродействие моделирования по сравнению с программными аналогами, а также уменьшить общее время проектирования цифровых систем большой размерности на 20-30%.
1. Введение
Развитие микроэлектроники диктует новые требования к технологиям проектирования цифровых изделий. Основной параметр любой разработки – time-to-market – предполагает активизацию усилий ведущих фирм мира и их сателлитов в целях поиска новых методов и средств моделирования, верификации и тестирования проектируемых изделий. Здесь основными направлениями практически ориентированных научных исследований следует считать: 1) внедрение во все стадии процесса проектирования технологий и стандартов граничного сканирования; 2) применение линтинг-технологий и механизма ассерций для ускорения верификации разработки на системном уровне; 3) разработка и использование аппаратных акселераторов для моделирования и тестирования сложных проектов. По всем направлениям имеются существенные достижения, внедренные в мировой рынок технологий со стороны фирмы Aldec, USA, которая является одним из лидеров инноваций в области EDA (Electronic Design Automation). Разработка упомянутой компании – HESTM (Hardware Embedded Simulator) является универсальным специализированным процессором (подключаемым к персональному компьютеру), который способен в сотни и тысячи раз повысить быстродействие моделирования и верификации цифровых проектов. Здесь в качестве управляющего ядра используется ARM-процессор, соединенный с кристаллом FPGA (Xilinx) с помощью шины AMBA. Основная идея – проект, как правило, состоит из уже отлаженных моделей компонентов, которые помещаются в HES, а модели примитивов, требующие доработки, представлены в программном коде на языках описания аппаратуры. По мере отладки все компоненты помещаются в кристалл HES, в результате чего появляется аппаратная модель цифровой системы с большими преимуществами по времени ее обработки перед программным аналогом. Тем не менее, HES-модель проекта имеет один существенный недостаток – ее функциональность не предполагает выполнение режима многозначного моделирования, а состояния линий определяются только значениями {0,1}. Такая ограниченность алфавита моделирования не позволяет решать практически ориентированные задачи, связанные с установкой схемы в наперед заданное двоичное состояние, а также выполнять анализ проектов на предмет выявления состязаний, гонок сигналов и статических (динамических) рисков сбоев. С другой стороны, реализация таких функций в программном исполнении является затратной по времени, что оказывает существенное влияние на их применение в практическом проектировании. Таким образом, актуальной представляется проблема совмещения упомянутых свойств с их аппаратурной реализацией, что дает возможность найти на рынке своего потребителя, который готов платить больше за высокое быстродействие аппаратного моделирования с новыми функциональными возможностями.
Объект тестирования – цифровая система, имплементируемая в кристаллы ASIC или PLD, спецификация которой представлена на языке VHDL. Цель исследования – программно-аппаратная реализация существующих методов моделирования для верификации и тестирования цифровых систем, имплементируемых в кристаллы, содержащие миллионы вентилей. Задачи исследования: 1. Современные маршруты верификации SoC. 2. Линтинг-технология верификации на ранних стадиях создания проекта. 3. Аппаратное многозначное моделирование исправного поведения на основе HES. 4. PRUS – мультипроцессор для решения булевых уравнений большой размерности. 5. Аппаратное моделирование неисправностей на основе специализированного мультипроцессора.
В основу предлагаемого исследования положены работы, связанные с повышением быстродействия моделирования и верификации [1-3], совместные разработки Харьковского национального университета радиоэлектроники с фирмой Aldec, USA [4-7], а также достижения в области EDA за последние годы [8-11].
2. LINT – технология диагностирования HDL-проектов
Мотивация определяется тремя основными проблемами при разработке аппаратуры: 1) Высокая стоимость (до 1000000 долларов) исправления ошибок на поздних стадиях проектирования цифровых систем; 2) Менеджмент и координация командной разработки сверхсложных проектов; 3) Уменьшение интервала времени для выхода готового продукта на рынок электронных технологий.
Цель LINT–технологии – минимизация материальных затрат и времени проектирования сверхсложных (более 1 вентилей) цифровых систем на кристаллах за счет использования программного комплекса автоматизированного диагностирования функциональных неисправностей на ранних стадиях проектирования. Отличительная особенность lint-технологии – использование библиотеки стандартных и оптимальных решений от мировых производителей SоC в процессе создания кода, инвариантного к стандартам и маршрутам проектирования ведущих EDA-компаний мира.
Для достижения поставленной цели решены задачи: 1) Создание универсальной, платформенно независимой архитектуры системы диагностирования LINT; 2) Разработка механизма ассоциативного сканирования HDL-модели для выбора соответствующего абстрактного шаблона – правил проектирования функциональности; 3) Разработка Application Programming Interface (API), позволяющего добавлять ad-hoc технологии в существующие маршруты проектирования; 4) Имплементация архитектуры, моделей и технологий в код С++ на основе Standard Template Library (STL); тестирование и верификация модели; создание прототипа (Beta-версия); интеграция LINT-системы с продуктом Riviera, фирмы Aldec.
Функциональности LINT-системы диагностирования: 1) Сканирование исходного HDL - кода для создания внутренней модели проекта; 2) Анализ модели в целях диагностирования функциональных (семантических) несоответствий относительно заданных правил и шаблонов; 3) Верификация валидной синтезируемости конструкций RTL-модели в целях обеспечения ее полного соответствия с пост-синтезной моделью вентильного уровня; 4) Поддержка IEEE-стандартов тестопригодного проектирования; 5) Семантическая проверка test bench, как кода, дополняющего проект.
Научная новизна – впервые предложена универсальная модель диагностирования функциональных неисправностей на ранних стадиях проектирования и модель поиска шаблонов диагностирования сложных правил проектирования, не проверяемых конкурентами.
Рыночная привлекательность: 10000 инсталляций в США, Азии, Европе. LINT-система диагностирования работает под управлением ОС Windows, LINUX/UNIX, SUN. Конкуренты (Synopsis LEDA, Atrenta Spyglass, TransEDA Vn-Check) имеют аналогичные средства, ориентированные только для ОС LINUX и SUN.
3. Мультипроцессор PRUS аппаратное моделирование булевых уравнений
Цель исследования – однобитовый мультипроцессор, имплементируемый в ASIC, с матрично-сферической организацией взаимных связей и минимальным набором команд для повышения быстродействия решения систем булевых уравнений большой размерности в сотни раз.
Проблема обработки булевых уравнений, насчитывающих порядка миллиона вентилей, связана с организацией вычислений на мультипроцессорной системе путем введения параллелизма и конвейеризации. Это позволяет уменьшить время получения решения в сотни раз по сравнению с последовательной обработкой данных.
PRUS (Programmable Unlimited Systems) есть ad hoc технология и специализированное вычислительное устройство, реализуемое в кристалле ASIC, для быстрого решения булевых уравнений. Архитектура PRUS представляет собой матрицу параллельных процессоров, каждый из которых связан с восемью другими линиями передачи данных. Структура PRUS и модель обработки уравнений разработаны доктором Stanley Hyduke и носят название “Compiler Synchronized Parallel-processor Network-based Logic Device” – сеть параллельных компилятивно синхронизированных процессоров. PRUS-технология и логический процессор, имеющий порядка 90 вентилей, защищены патентами США, что подтверждает оригинальность архитектурных и процессных решений, ориентированных на эмуляцию системы булевых уравнений большой размерности.
Проектирование на основе PRUS подобно классической схеме (design flow) за исключением того, что стадия place and route заменяется фазой распределения булевых уравнений между сотнями (тысячами) логических процессоров, работающих параллельно. Boolean Equation Compiler™ (BECom) обеспечивает размещение уравнений по процессорам, задает время формирования решения на выходе каждого из них, а также планирует передачу полученных результатов другому процессору.
PRUS есть эффективная сеть процессоров, которая обрабатывает систему логических уравнений и обеспечивает обмен данными между компонентами сети в процессе их решения. Простая схемотехника каждого процессора, требуюет 48 бит памяти для эмуляции двухвходового вентиля, позволяет обрабатывать сверхбольшие проекты, насчитывающие более 20 миллионов вентилей, затрачивая на это 256 Мбайт оперативной памяти. При этом затраты на описание триггера составляютбит. Триггерные структуры могут располагаться в любой части комбинационной схемы, обеспечивая полную свободу проектирования.
Базовый вариант процессора PRUS может быть синтезирован на 90 вентилях, что дает возможность легко имплементировать, например, сеть, содержащую 4096 вычислителей, в ASIC, используя современную силиконовую технологию. Учитывая, что затраты памяти для эмуляции вентилей и триггеров весьма незначительны, то PRUS может представлять интерес для проектирования систем управления в таких областях человеческой деятельности, как: индустрия, медицина, защита информации, геология, прогнозирование погоды, искусственный интеллект, космонавтика. Это представляет особый интерес для цифровой обработки данных, распознавания образов, криптоанализа. Одним из основных приложений PRUS в EDA (Electronic Design Automation) технологиях является эмуляция больших проектов [8], имплементируемых в ASICs и FPGA.
4. FS-Мультипроцессор – аппаратное моделирование неисправностей
Цель исследования – FS-мультипроцессор, имплементируемый в PLD, с матричной организацией взаимных связей и минимальным набором команд для повышения быстродействия анализа качества тестов на 2-3 порядка..
Проблема оценки качества тестов для цифровых систем, насчитывающих порядка миллиона вентилей, зависит от организации вычислений путем введения параллелизма и конвейеризации на мультипроцессорной структуре. Архитектура FSM представляет собой матрицу параллельных секквенсеров, каждый из которых связан с восемью другими линиями передачи данных. Анализу тестов на основе FSM предшествует фаза компиляции кода языка HDL к примитивным конструкциям описания структуры схемы на основе двухвходовых логических элементов. Компилятор обеспечивает размещение уравнений по процессорам (дедуктивным секвенсерам), задает время формирования решения на выходе каждого из них, а также планирует передачу полученных результатов другому процессору.
FSM есть эффективная сеть дедуктивных процессоров для моделирования неисправностей, которая обрабатывает структурную модель проектируемой системы и обеспечивает обмен данными между компонентами сети в процессе их анализа. Аппаратурная сложность одного секвенсера равна 16 вентилям. FSM позволяет обрабатывать сверхбольшие проекты, насчитывающие более 20 миллионов вентилей, затрачивая на это 200 Мбайт оперативной памяти. Базовый вариант FSM процессора имеет сеть, содержащую 16 вычислителей имлементированных в FPGA. Увеличение числа секвенсеров практически не влияет на аппаратурные затраты пректа, но существенно может повысить быстродействие анализа качества тестов.
5. HEFFS – аппаратное моделирование в многозначном алфавите
Цель исследования – существенное (x10, x100, x1000) повышение быстродействия синхронного моделирования и временной верификации вычислительных систем на кристаллах путем использования многозначных аппаратных моделей компонентов, позволяющих расширить функциональные возможности средств логического hardware-анализа в целях идентификации переходных процессов и определения состязаний на ранних стадиях проектирования цифровых изделий. Для достижания данной цели решены задачи: 1) Создания структурно-функциональной многозначной аппаратной модели цифрового устройства с шинной организацией линий для многократного повышения быстродействия анализа переходных процессов; 2) Разработана двухсхемная структурно-функциональная аппаратная модель цифрового устройства для совместного моделирования многозначных входных наборов и многократного повышения быстродействия анализа переходных процессов в последовательностных устройствах; 3) Реализован программно-аппаратный комплекс MV-HES (Multi-Valued Hardware Embedded Simulator), позволяющий верифицировать сложные цифровые SoC на ранних стадиях проектирования; 4) Выполнена интеграция комплекса MV-HES с программным продуктом Active HDL, что позволило в 2-5 раз сократить общее время проектирования цифровых систем большой размерности, реализуемых на ПЛИС.
Список литературы
1. Yervant Zorian. Test Requirements for Embedded Core-Based Systems and IEEE P1500. In Proceedings IEEE International Test Conference (ITC). Washington, DC. November 1997. IEEE Computer Society Press. P. 191-199.
2. C. A. Papachristou, F. Martin, and M. Nourani. Microprocessor based testing for core-based system on chip. In Proceedings of the 36th ACM/IEEE conference on Design automation conference. ACM Press. 19p.
3. IEEE Std 1149.1-2001. Standard Test Access Port and Boundary-Scan Architecture. New York. 20p.
4. , , Wade Ghribi, Hassan Ktiaman. Иерархическое тестирование программно-технических комплексов. АСУ и приборы автоматики. 2005. № 1(134). С. 93-102.
5. , , Ваде Гриби, Хасан Ктейман. Ассерt-метод верификации цифровых систем на основе стандарта IEEE 1500 SECT. АСУ и приборы автоматики. 2005. № 3(132). С. 93-105.
6. , , Хасан Ктейман, Ваде Гриби. HEDEFS – программно-аппаратная система моделирования неисправностей. Радиоэлектроника и информационные технологии. ЗНПУ, 2006. №3. С.77-84.
7. Zinchenko Yu., Pidoshovka A., Wade Ghribi. Hardware embedded deductive fault simulation. Материалы 10-го международного молодежного форума “Радиоэлектроника и молодежь в 21 веке”.– Х.: ХНУРЭ,– 20с.
8. Stanley Hyduke, Vladimir Hahanov, Volodymyr Obrizan, Wade Ghribi. PRUS – Spherical Multiprocessor for Computation of Boolean equations. Proceedings of the 8th International Conference CADSM 2005. Lviv, Ukraine. 2005. P. 41-48.
9. Breuer M. A. A Note on Three-Valued Logic Simulation// IEEE Trans.1. Altera Corp., Data Book. San Jose, Calif., 1995. on Comput. 1972. V.21, No 4. P.401-402.
10. Анализ риска сбоя в сети асинхронных автоматов // Автоматика и телемеханика. 1991. №6. C.141-146.
11. Janick B. Writing testbenches: functional verification of HDL models. Boston. Kluwer Academic Publishers, 20p.


