Научная статья на тему 'Генерация тестов для последовательностных схем, имеющих триггерные структуры'

Генерация тестов для последовательностных схем, имеющих триггерные структуры Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
159
44
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хаханов Владимир Иванович, Скворцова Ольга Борисовна, Пудов Виталий Анатольевич, Масуд Мд Мехеди

Предлагается информационное обеспечение систем логического моделирования и генерации тестов для цифровых устройств, ориентированное на обработку программируемых логических интегральных схем до 200 тыс. вентилей, включающих более 25 типов триггерных структур. Язык описаниия проектов — VHDL, поддержка систем проектирования фирм Aldec и Xilinx.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хаханов Владимир Иванович, Скворцова Ольга Борисовна, Пудов Виталий Анатольевич, Масуд Мд Мехеди

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Test generation for sequential curcuits with triggers

The software of logical simulation and test generation systems for digital devices oriented to processing of programmed logical integrated circuits up to 200 thousand of valves, trigger structures, including up to 25 types is offered. The language of the projects VHDL, support systems of designing corporations Aldec and Xilinx.

Текст научной работы на тему «Генерация тестов для последовательностных схем, имеющих триггерные структуры»

УДК 681.326

ГЕНЕРАЦИЯ ТЕСТОВ ДЛЯ ПОСЛЕДОВАТЕЛЬНОСТНЫХ СХЕМ, ИМЕЮЩИХ ТРИГГЕРНЫЕ СТРУКТУРЫ

ХАХАНОВ В.И., СКВОРЦОВА О.Б., ПУДОВ В.А., МАСУДМД. МЕХЕДИ_______________________

Предлагается информационное обеспечение систем логического моделирования и генерации тестов для цифровых устройств, ориентированное на обработку программируемых логических интегральных схем до 200 тыс. вентилей, включающих более 25 типов триггерных структур. Язык описаниия проектов — VHDL, поддержка систем проектирования фирм Aldec и Xilinx.

Введение

Наряду с интенсивным усовершенствованием технологий интегральных схем, позволяющим реализовывать все большее число компонентов на одном чипе, цифровые системы стали более сложными, а процесс детализированной разработки систем на уровне вентилей и триггеров превратился в рутинный и трудоемкий. Поэтому стало актуальным использование языков аппаратного описания в процессе разработки цифровых устройств. Эти языки помогают проектировщику разрабатывать и отлаживать цифровые системы вплоть до их реализации на вентильном и триггерном уровнях. Применение систем автоматизированного проектирования для такого преобразования становится все более распространенным. Это аналогично написанию программных средств на высокоуровневом языке, таком, как Си, с использованием компилятора для перевода программы в машинный код. На сегодняшний день существует два наиболее популярных языка аппаратного описания— VHDL и Verilog. Многие известные в мире фирмы, такие как ALTERA, XILINX и ALDEC, используют язык VHDL для описания поведения и структуры цифровых систем в своих программных продуктах. VHDL является классическим языком описания аппаратуры, который может быть использован для описания функционирования и моделирования широкого ряда цифровых систем, колеблясь в сложности от нескольких вентилей до совокупности большого количества сложных интегральных микросхем. Однако в настоящее время большинство программных продуктов известных фирм имеют важный недостаток — отсутствие автоматической генерации тестов, что приводит к большим трудностям для проектировщиков при отладке схем. Наличие такой генерации привело бы к обнаружению ошибок на этапе проектирования, а значит, к экономии времени проектирования, что во много раз бы повысило производительность и себестоимость проекта.

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

Для программной реализации генерации теста необходимо иметь математическую модель схемы, позволяющую обрабатывать ее без дополнительной обработки данных [ 1].

96

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

Исходя из этого, к структуре данных предъявляются следующие требования:

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

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

3. Простой доступ к информации. Подразумевает легкий доступ к отдельным элементам данных.

4. Минимальное время получения информации. Так как структура данных получается путем конвертирования из кода VHDL(k™ какого-нибудь другого формата данных), то, учитывая большой размер современных проектов, время получения информации должно быть минимальным.

2. Структура данных “Формат SCH”

Разработанная структура данных “Формат SCH” отвечает всем этим требованиям и призвана облегчить задачи моделирования и диагностики. Формат SCH состоит из четырех основных частей:

S={ Sh,Ss,Sl,Sn}, (1)

где Sh — раздел заголовка; Ss — структура схемы; Sl — библиотека примитивов; Sn — таблица соответствий линий.

Раздел заголовка. Включает общую информацию о схеме: количество линий, входов, выходов и т.д. Размер этого заголовка всегда одинаковый и не зависит от размера схемы:

Sh={N,Nfb,Ninp,N out,Ntyp}, (2)

здесь N — общее количество линий в схеме; Nfb — количество обратных линий; Ninp — количество входных линий; Nout — количество выходных линий; Ntyp — количество типов примитивов.

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

Ss = {n,T5Narg,a} , (3)

где n — номер линии; T — тип примитива (номер кубического покрытия, формирующего данную линию); а — вектор-список аргументов (линий), формирующих данную линию.

РИ, 2001, № 1

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

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

Sl = {T,Narg,Nvec,C}, (4)

где T — тип примитива(порядковый номер элемента в библиотеке); N^g—количество аргументов—число входов элемента данного типа; Nvec — количество векторов в кубическом покрытии—определяет размер кубического покрытия; C — кубическое покрытие.

Кубическое покрытие записывается символами четырехзначного алфавита {0, 1, X, Uj.Ero размер равен:

z: out STD_LOGIC

);

end test8;

architecture arch of test8 is

begin

process

constant t : STD_LOGIC :=’1';

Begin if s =t then z<=t and a; end if;

End process; end arch;

Схему, описанную в листинге 1, можно представить в виде системы булевых уравнений (7) и схематично, как показано на рис.1:

C = s

D = s & (a) ___________________ (7)

z(t) = (D &C) |((C&D)&z(t-1)). ()

LSl=Narg*Nvec. (5) Рассматриваемая схема хранится в формате SCH

таким образом:

Размер раздела определяется количеством типов

Примитивов и размером их кубических Покрытий. Раздеё Загоёовок схемы’:

Раздел имен линий. Включает список имен линий и Sh - N Ninp Nfb Nout Ntyp

их соответствующие номера. 6 2 1 1 3

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

Раздел ‘Структура схемы’:

Ss =

n T N arg a

2 0 1 5

3 1 2 0,1

4 0 1 1

5 2 3 4,3,2

Раздел ‘Соответствия линий’:

(8)

(9)

Sn ={V,n}, (6)

где V — имя линии; n — номер линии.

Размер раздела зависит от количества линий и от длин их имен.

Рассмотрим подробнее формат SCH на примере простой схемы (рис.1), описанной на языке VHDL и представленной в листинге 1.

Рис.1. Пример схемы триггера

Листинг 1

Пример схемы триггера, описанной на языке VHDL entity test8 is port (

a,s: in STD_LOGIC;

V a s z(t -1) D C z

n 0 1 2 3 4 5

(10)

Раздел ‘Библиотека примитивов’:

Sl

T Narg Nvec C

0 1 2 00 11

0X0

1 2 3 X 0 0 1 1 1

10X0 0X00

2 3 6 X 0 0 0 11X1 0X11 X 1 1 1

(11)

Исходя из изложенного материала, можно сделать вывод, что формат SCH соответствует требованиям, выдвинутым в начале этой статьи. Разработана программа Conversion, конвертирующая систему логических уравнений, описанных при помощи языка VHDL, в формат SCH. На рис.2 изображен пример использования программы в системе Test Builder, генерирующей тесты для О КН комбинационных схем.

РИ, 2001, № 1

97

Test:

a b c d

012345 012345

0: 01X010 1..1.1 25.00%

— 1..1.1 = 25.00%

1: 110111 00.000 41.67%

— Х0.Х0Х = 66.67%

2 : 11X111 0..0.0 25.00%

— Х0.Х0Х = 66.67%

3: 001001 010010 50.00%

— ХХ0ХХХ = 91.67%

4 : 01X010 1..1.1 25.00%

— ХХ0ХХХ = 91.67%

5 : 100000 1111.1 41.67%

— ХХХХХХ =100.00%

Рис.2. Результат генерации тестов для ОКН комбинационной схемы

Программа TestBuilder разработана на основании использования модифицированного К-алгоритма [2]. Из рис. 2 видно, что построенный программой TestBuilder тест покрывает 100% неисправностей в схеме. Столбец ‘а’ содержит пронумерованные линии из рис.1. Столбец ‘b’ - это входные тестовые воздействия. В ‘с’ показаны неисправности, проверяемые построенным тестом. И, наконец, ‘d’ содержит процент неисправностей, проверяемых конкретной тестовой последовательностью. Для того чтобы сделать полученный тест читабельным в среде VHDL, необходима его конвертация в требуемый формат. Полученный TestBentch представлен в листинге 2.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Листинг 2

Файл VHD, содержащий тестовые воздействия entity test8_tb is end test8_tb;

architecture TB_ARCHITECTURE of test8_tb is — Component declaration of the tested unit component test8 port(

a : in STD_LOGIC; s : in STD_LOGIC; z : out STD_LOGIC); end component; signal a : STD_LOGIC; signal s : STD_LOGIC; signal z : STD_LOGIC; begin

— Unit Under Test port map UUT : test8 port map (a => a, s => s, z => z); process begin

a<=’0'; s<=’1'; wait for 5 ns; a<=’1'; s<=’1'; wait for 5 ns; a<=’0'; s<=’0'; wait for 5 ns; wait;

end process;

end TB_ARCHITECTURE;

configuration TESTBENCH_FOR_test8 of test8_tb is for TB_ARCHITECTURE for UUT : test8

use entity work.test8(arch); end for; end for;

end TESTBENCH_FOR_test8;

Total checked 12 of 12 SF (100.00%):

На рис. 3 показан результат генерации тестов для рассматриваемой схемы, представленный в виде диаграммы.

Name Value Stimulator | і . ip . 10.9 ns | 2.0 ■ i ■ 30

^ a 1 | |

s 1 z 1

~I I I

Рис.3. TeCT Bentch (диаграмма)

Заключение

Таким образом, предложенное информационное обеспечение производит логическое моделирование и генерацию тестов для цифровых устройств, ориентировано на обработку программируемых логических интегральных схем и имеет реальную возможность интегрирования в области CAD-систем. Что касается практического применения полученных результатов, то с появлением научного и практического интереса к языку VHDL предлагаемое информационное обеспечение реализовано в качестве базового для тестирования схемных реализаций структурно-функционального уровня описания (примитивные элементы, 25 типов триггеров, вентильные схемы, функциональные комбинационные примитивы, заданные покрытиями).

Литература: 1. Хаханов В.И. Техническая диагностика элементов и узлов персональных компьютеров. К.: I3MH. 1997.308 с. 2. Хаханов В.И., Ковалев Е.В., Ханько В.В., Масуд Мд. Мехеди. Система генерации тестов для проектирования цифровых автоматов в среде VHDL-Active. АСУ и ПА. Выл. 111. 2000. с. 15-21. 3. Ashenden, Peter. Designer's Guide to VHDL. Morgan Kaufman, 1994. 500p.

Поступила в редколлегию 14.01.01

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры автоматизации проектирования вычислительной техники ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей. Увлечения: баскетбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: [email protected]

Скворцова Ольга Борисовна, аспирантка кафедры автоматизации проектирования вычислительной техники ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей. Увлечения: аэробика, иностранные языки, музыка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: <[email protected]>

Пудов Виталий Анатольевич, соискатель кафедры автоматизации проектирования вычислительной техники ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем. Увлечения: программирование. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail:<[email protected]>

Масуд Мд. Мехеди, аспирант кафедры автоматизации проектирования вычислительной техники ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей. Увлечения: путешествия. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

РИ, 2001, № 1

98

i Надоели баннеры? Вы всегда можете отключить рекламу.