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

НИИ системных исследований РАН

МАРШРУТ ФУНКЦИОНАЛЬНОЙ ВЕРИФИКАЦИИ

СЛОЖНЫХ СБИС

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

Наиболее важной и значимой проблемой проектирования сложных микропроцессорных СБИС является функциональная верификация. В настоящее время считается, что затраты на верификацию сложных схем класса микропроцессоров превышают 70 % от общих трудозатрат на разработку. Не смотря на это, ошибки логической модели остаются наиболее распространенной причиной необходимости дополнительных итераций изготовлений микросхем [1]. Если же проектируется СБИС, представляющая собой систему на кристалле (СнК), состоящую из нескольких микропроцессорных элементов, проблема верификации становится основной.

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

НЕ нашли? Не то? Что вы ищете?

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

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

Действие

1

Разработка поведенческой модели на языке SystemC

2

Прямая верификация RTL-модели

3

Функциональная верификация RTL-модели

4

Верификация с помощью утверждений (assertions)

5

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

6

Оценка коэффициента покрытия тестов (code coverage)

7

Запуск ограниченной версии ОС на аппаратном ускорителе в режиме симуляции

8

Запуск полной версии ОС и драйверов внешних устройств на аппаратном ускорителе в режиме внутрисхемной эмуляции

9

Запуск полной версии ОС и максимально возможного набора прикладных задач на технологической плате на базе ПЛИС (Altera)

10

Проверка функциональной эквивалентности RTL и gate-level моделей

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

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

1. http://dac.com/41st/41exebitorArea.nsf/companysearch