УДК 004.054
КОМПЛЕКС ПРОГРАММНЫХ СРЕДСТВ ДЛЯ ПРЕДВАРИТЕЛЬНОЙ ОЦЕНКИ КАЧЕСТВА
ТЕСТОВ ЦИФРОВЫХ СХЕМ
С.А. Белозоров, С.В. Тюрин
В статье предложен комплекс программных средств, поддерживающий оригинальный подход к оптимизации времени разработки тестов для цифровых схем. Данный подход базируется на предварительной (до использования традиционных средств САПР) расчетной оценке качества конкурирующих тестов, представленных в виде бинарных матриц
Ключевые слова: предварительная оценка, качество тестов, HDL, MS Excel, табличное представление тестов
Введение
Широко известно, что этап тестирования -один из самых важных и продолжительных этапов в разработке и производстве современных цифровых схем. Согласно [1], в среднем продолжительность этапа тестирования занимает 40-60% от всего времени, затрачиваемого на разработку. Такая большая продолжительность существенно отражается на стоимости конечного продукта. В этой связи, снижение продолжительности этапа тестирования по-прежнему является актуальной задачей исследований.
Большая продолжительность этапа тестирования отчасти связана с используемыми для этого методами оценивания качества тестов. Одним из наиболее распространенных и эффективных является метод, основанный на вычислении отношения количества детектируемых тестом гипотетических неисправностей к общему их количеству [2]. При этом к гипотетическим неисправностям относят только, так называемые, «константные неисправности» (КН) или «залипания». Проверка того, является ли неисправность детектируемой, сводится, как правило, к использованию дорогостоящих САПР и внесению в схему или модель устройства неисправности с последующим проведением на ней испытания [3]. Количество таких испытаний весьма велико, поскольку оно проводится для конкурирующих тестов при их последовательной оптимизации.
В последнее время стала прослеживаться интересная тенденция, заключающаяся в применении процедуры предварительной расчетной оценки качества тестов [4,5] до использования традиционных средств САПР. Подразумевается, что на основе расчетных оценок качества конкурирующих тестов, представленных в виде бинарных матриц, представляется возможным предварительно исключить тесты с плохим качеством (с недостаточным покрытием неисправностей), сократив таким образом затраты на оптимизацию тестов.
Белозоров Семен Александрович - ВГТУ, аспирант, email: [email protected]
Тюрин Сергей Владимирович - ВГТУ, канд. техн. наук, доцент, e-mail: [email protected]
В современных САПР не предусмотрены возможности по предварительной оценке качества тестов, а расширение функциональности САПР в этом направлении можно ожидать в далекой перспективе и, только после того, как методология предварительной оценки докажет свои потенциальные преимущества.
В данной статье представляется программный комплекс, базирующийся на таких программных средствах как MS Excel и ModelSim, и предназначенный для исследования эффективности методов предварительной расчетной оценки качества тестов.
1. Методы предварительной оценки качества тестов
Рассмотрим способ предварительной оценки качества диагностических тестов, описанный в [4]. Он основан на определении процента покрываемых константных неисправностей некоторых цепей и подразумевает вычисление предварительной эффективности теста (степень покрытия тестом информационных цепей диагностируемого изделия) по следующей формуле:
H = кизм 1K
где K - количество цепей цифровой схемы, доступных для непосредственного наблюдения, КИЗМ - количество из K цепей, в которых произошло хотя бы одно изменение логических значений сигналов. Для применения этого способа достаточно уметь анализировать логические значения в доступных цепях.
Метод предварительной оценки, основанный на энтропийном критерии качества [5], включает в себя более глубокий анализ теста, так как позволяет определять покрытие тестом не только потенциальных константных неисправностей, но и неисправностей типа «парные короткие замыкания».
Тестовая последовательность в этом методе представляется в виде бинарной матрицы:
' *11 *12 • ■ *1K
Y = *21 *22 • *2K
„ *N1 *N2 ■ *NK
где Уу- значение, принимаемое ]-той контролируемой точкой после подачи 1-того входного набора. Следует отметить, что подобное матричное представление теста также хорошо подходит и к выше рассмотренному способу. Однако понятие кон-
трольной точки в этом методе более широкое, и помимо выходов и промежуточных точек включает в себя еще и входы схемы.
Суть энтропийного критерия качества заключается в оценивании структуры тестовой матрицы с использованием следующих классификационных признаков: структура двоичных наборов, представляющих строку, структура двоичных наборов, представляющих столбец, частота единичного логического значения в строке, частота единичного логического значения в столбце. Энтропийный критерий качества имеет следующий вид [5]:
= {а/N)• f [w.-Inf"w, 1+(1-w, 'j-ln^1-w, lj +
H
i=1
K)• f (q.• ln(qi)+(l-a-^ln(l -q.))+
i=1
R
i=1
+(^IK)- f p.•lnf p. j+(juI(n• K))• f k, ln(ki)
i=1
где а, р, у, ^ - коэффициенты, определяющие метод разбиения тестовой последовательности и выбор классификационных признаков: а и у соответствуют разбиению на строки, в и ^ - на столбцы; для а и в классификационным признаком является частота 1 сигнала по строке или столбцу соответственно, для у и ^ - структура строки или столбца соответственно;
а, Р,у, т е {о, 1}; 8 - число типов столбцов; N -длина теста; К - число контролируемых точек; к
Я = 2 ; Wi = т/К , (1=1,...^), где т1 - число
единиц в 1-ой строке; = п/ N, (1=1,. ,К), где п1 -
число единиц в 1-ом столбце; р= Ц /N , (1=1,...Д),
где 11 - число строк 1-го типа; к1 - число столбцов тестовой последовательности 1-го типа. Таким образом, вычисление значения энтропийного критерия требует выполнения большего числа операций, среди которых есть как простые арифметические операции над значениями элементов тестовой матрицы и логические операции над строками и столбцами, так и операция вычисления натурального логарифма.
Для реализации рассмотренных методов предварительной оценки качества тестов достаточно обеспечить:
— получение в виде бинарной матрицы результатов моделирования цифровой схемы для различных конкурирующих тестов;
— выполнение математических операций над элементами матрицы тестов.
2. Комплексирование программных средств
Помимо функционального наполнения комплекс программных средств (КПС) должен отвечать требованиям простоты использования, низкой стоимостью внедрения и инвариантностью к средствам моделирования. Последний пункт необходим для
обеспечения большего числа потенциальных потребителей комплекса программных средств.
Ни один из наиболее распространенных пакетов моделирования не представляет результаты моделирования в требуемом матричном виде. По этой причине возникает необходимость разработки программного конвертора, обеспечивающего возможность преобразования результатов моделирования, полученных при использовании пакета моделирования, в бинарную матрицу.
Анализ форматов файлов, используемых современными пакетами моделирования для сохранения результатов моделирования, показал, что одним из наиболее распространенных форматов файлов для представления тестов является VCD формат, описанный в стандарте IEEE 1364 языка Verilog [6]. Именно этот факт и определил то, что подавляющее большинство систем моделирования, поддерживающих язык Verilog, поддерживают и VCD формат.
Файл VCD является текстовым ACSII файлом, что существенно упрощает работу с ним и снижает себестоимость разработки программного конвертора. Тело файла разделяется на две части: заголовок и основная часть. В заголовке содержится общая информация о входах/выходах схемы, временном масштабе, границах действия переменных. Основная часть содержит значения сигналов. Данный формат файлов поддерживают такие известные пакеты моделирования, как ModelSim, ActiveHDL, NC-Verilog, Verilog-XL, Virtuoso UltraSim, Riviera. При этом ModelSim позволяет расширить поддержку VCD формата до проектирования на языках SystemC и VHDL. Важной особенностью перечисленных пакетов моделирования является то, что все они имеют возможность автоматизации последовательности операций посредством скриптов, командных файлов, благодаря чему можно осуществить операцию формирования VCD файла для заданного HDL проекта с минимальным участием пользователя.
После конвертирования VCD файла в бинарную матрицу необходимо выполнить процедуру предварительной оценки качества теста. Г ибкое выполнение этой процедуры должен обеспечить хорошо проработанный графический интерфейс программы. Однако самостоятельная его проработка влечет за собой увеличение конечной стоимости программного продукта. В связи с этим, в качестве контейнера для хранения таблиц выбран широко распространенный табличный процессор MS Excel, известный своими возможностями по проведению математических расчетов по табличным данным, проработанным и удобным интерфейсом.
Другим преимуществом MS Excel является наличие специального программного интерфейса OLE Automation для интеграции его возможностей. Это позволяет без особых затрат обеспечить взаимодействие со всеми возможностями MS Excel. Сама же технология OLE позволяет внедрить графический интерфейс в пользовательский интерфейс разрабатываемой программы.
На базе пакета моделирования ModelSim, табличного процессора MS Excel и конвертора файлов моделирования, разработан программный комплекс, обеспечивающий выполнение следующих функций:
— конвертирование VCD файла в таблицу MS Excel;
— конвертирование таблицы MS Excel в VCD файл;
— получение для HDL проекта матрицы теста в виде таблицы MS Excel для случаев, когда входные данные заданы HDL-тестбенчем (тестовым файлом), VCD файлом или таблицей MS Excel.
Для удобства отображения матрица теста представлена в транспонированном виде, по сравнению с предложенной в [5].
Схематично принцип работы программы на примере операции моделирования VHDL проекта по входным данным из таблицы Excel представлен на рис. 1. Пользователь задает HDL файлы проекта. Для удобства пользователя планируется реализация поддержки файлов проектов наиболее распространенных систем автоматизированного проектирования (САПР). На данный момент реализован модуль для поддержки проектов САПР ISE WebPACK с расширением xise.
Рис. 1. Схема выполнения операции моделирования на основе XLS файла
Помимо файлов проекта пользователь должен задать и тестбенч. Важной особенностью VCD формата является то, что пакеты моделирования принимают его и как файл тестовых воздействий. Поэтому помимо HDL тестбенчей обеспечена возможность выбора пользователем VCD тестбенчей и даже табличных тестбенчей, автоматически конвертируемых в VCD файл. Далее производится автоматическая генерация файла команд для пакета моделирования, в который записываются пути и имена vhdl и vcd файлов, команды запуска моделирования, сохранения результатов и завершения работы среды моделирования. На данный момент обеспечено автоматизированное взаимодействие с пакетом моделирования ModelSim, командные файлы которого имеют
расширение fdo. Дождавшись завершения исполнения пакетом ModelSim командного файла, разработанный программный комплекс автоматически конвертирует полученный VCD файл в таблицу Excel, которая автоматически открывается пользователю.
Рассмотрим на примере, как, используя средства табличного процессора MS Excel, можно произвести расчет критерия качества H5 для схемы 3 из [5] (рис. 2).
Рис. 2. Тестируемая схема
Моделирование будем производить по тесту, предложенному в [5]. В результате моделирования при помощи разработанного программного комплекса получим таблицу, представленную на рис. 3.
Рис. З. Тестовая бинарная матрица
Критерий H5 с учетом транспонирования таблицы имеет вид:
H5 =(1/ N )• ^ + (1/ K )• h2
где
h = f ^ w.-ln(w, jj +1(1-w. j-ln)^1 — w. i =1
h2 = f (qi lll(qi)+(1-qij • ln(1-qi
i=1
где N - длина теста; K - число контролируемых то-
K
чек; R = 2 ; w, = m, IK , (i=1,... ,N), где m; - число
единиц в i-ом столбце; q, = n, IN, (i=1,...,K), где n;
- число единиц в i-ой строке.
Рассчитаем значение критерия средствами табличного процессора MS Excel. В первую очередь, для каждого столбца и для каждой строки тестовой последовательности необходимо подсчитать количество единичных значений. В простейшем случае,
если таблица содержит только нулевые и единичные значения сигналов, достаточно вычислить сумму по строкам и столбцам используя функцию СУММ(диапазон), в качестве параметра которой передать диапазон ячеек для суммирования (например, “=СУММ(Б6:М6)” для подсчета количества единичных значений сигнала “х1” из теста, представленного на рис. 3). В противном случае необходимо использовать функцию СЧЁТЕСЛИ(диапазон; критерий), в качестве второго параметра передав “1” (например, “= СЧЁТЕСЛИ(Б6:16;1)”). На основании полученных значений несложно вычислить значения Ы и Ь2, воспользовавшись для этого функциями СУММ и LN для вычисления натурального логарифма (рис. 4).
Рис. 4. Расчет критерия H5 в Excel
Подобные расчеты также можно произвести с использованием языка VBA или технологии OLE Automation. Таким образом, MS Excel обеспечивает мощную и удобную базовую платформу для предварительной оценки качества тестов.
Заключение
Сокращения времени оптимизации тестов цифровых схем можно достичь путем применении процедуры предварительной расчетной оценки качества тестов. Такая процедура для известных рас-
четных критериев эффективно реализуется предложенным программным комплексом, базирующимся на таких программных средствах как MS Excel, ModelSim и специализированного конвертора, обеспечивающего взаимообратные преобразования VCD файлов и файлов MS Excel. Подобный комплекс является мощной и малобюджетной базовой платформой для предварительной оценки качества тестов.
Литература
1. Мосин С.Г. Структурные решения тестопригодного проектирования заказных интегральных схем // Информационные технологии. — №11. — 2008. — c. 2-10.
2. Benso A. Fault injection techniques and tools for embedded systems reliability evaluation - Kluwer Academic Publishers, 2003. - 241 c.
3. Сперанский Д.В., Скобцов Ю.А, Скобцов В.Ю. [Моделирование, тестирование и диагностика цифровых устройств] URL: http://www.intuit.ru/studies/courses/3440/682/info (дата обращения: 6/05/2013).
4. Пат. 2475821 Российская Федерация МПК G06F 11/22 (2006.01), G05B 23/00 (2006.01). Способ предварительной оценки качества диагностических тестов [Текст] / Степанов Ю.Л., Щубарев В.А., Большаков А.А., Ким М.А., Гришкин В.М.; заявитель и патентообладатель ОАО “Авангард”. - №2011138433/08; заявл. 19.09.2011; опубл. 20.02.2013, Бюл. № 5. - 13 с. : ил.
5. Петрухнова Г. В. Разработка математического обеспечения специализированных систем контроля цифровых узлов на основе автоморфизмов тестовых последовательностей: Дис. ... канд. техн. наук: 05.13.11: - Воронеж, 1999. - с. 137.
6. IEEE Standard Verilog. - New York : Institute of Electrical and Electronics /Engineers, 28.09.2001.
7. Тюрин С.В. Способ тестопригодного проектирования логических преобразователей / С.В. Тюрин, С.Л. Подвальный, Ю.С. Акинина. // Сб. науч. трудов IV Всероссийской Научно-технической конференции «Проблемы разработки перспективных микро- и наноэлектронных систем 2010». М.: ИППМ РАН. 2010. С. 36-41.
8. Подвальный, С. Л. Многоальтернативные системы: обзор и классификация [Текст] / С. Л. Подвальный // Системы управления и информационные технологии -2012. - Т.48. - № 2. - С. 4-13.
Воронежский государственный технический университет
COMPLEX OF SOFTWARE TOOLS FOR PRELIMINARY ASSESSMENT OF TEST
QUALITY FOR DIGITAL CIRCUITS
S.A. Belozorov, S.V. Tjurin
The article suggests complex of software tools that supports a novel approach to optimize the time of test design for digital circuits. This approach is based on a preliminary (before the use of traditional CAD tools) assessment of the quality of competing tests, presented in as binary matrices
Key words: preliminary assessment, quality of tests, HDL, MS Excel, tabular presentation of test