Оценка качества диагностических тестов на моделях цифровых устройств ISCAS | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 52. DOI: 10.17223/19988605/52/15

Оценка качества диагностических тестов на моделях цифровых устройств ISCAS

Рассматривается методика оценки качества диагностических тестов на моделях цифровых устройств, стандартизованных международным симпозиумом IEEE. Методика ориентирована на использование современных программных средств автоматизированного проектирования электронных устройств.

Assessment of the quality of diagnostic tests on models of digital devices ISCAS.pdf В настоящее время интенсивно идет процесс внедрения во все области человеческой деятельности электронных изделий, которые являются основой цифровизации общества. Эти электронные изделия (цифровые устройства, ЦУ) нужно проектировать, изготавливать и эксплуатировать, поддерживая в рабочем состоянии. На каждом этапе жизненного цикла ЦУ требуется знать их техническое состояние, что обеспечивается контролем и диагностированием, подачей воздействий (теста) и анализом реакции изделия на него. Создание эффективных тестов является одной из актуальных задач современной диагностики. Эффективность тестов зависит от используемых алгоритмов их создания, поэтому это направление технической диагностики активно развивается. Появляется большое количество таких алгоритмов, продукция которых (тесты) требует анализа и оценки качества. Для объективного анализа и оценки алгоритмов экспертами разработаны тестовые схемы ЦУ, стандартизированные международным симпозиумом IEEE по схемам и системам ISCAS [1]. Используя эти тестовые схемы, можно в среде автоматизированного проектирования электронных устройств (Electronic Design Automation, EDA) создавать алгоритмические модели ЦУ ISCAS [1], почти не отличающиеся от их реальных физических моделей. Современные EDA, как правило, позволяют создавать алгоритмические модели на языках описания электронных схем Verilog или VHDL. Язык Verilog ближе к ЦУ, быстрее и современнее VHDL. В то же время ранее созданные модели на VHDL могут транслироваться в Verilog с последующей компиляцией, что и обеспечивает их совместимость. При этом появляется возможность эффективно исследовать различные подходы и идеи, лежащие в основе алгоритмов синтеза тестов для сложных ЦУ. Кроме того, такой подход позволяет оценить техническое состояние ЦУ, создать удобный аппарат для получения, хранения и анализа результатов диагностических экспериментов и, что особенно важно, представить эти результаты (scientific data) в различной удобной для исследователя форме (битовым массивом, бинарным вектором, графическими изображениями и т. д.). Все это делает EDA базой для разработки новой перспективной методики, решающей широкий круг задач технического диагностирования сложных ЦУ. Демонстрировать возможности такой методики можно на стандартных тестовых схемах ISCAS. Для них предлагаемая методика может содержать следующие этапы: выбор тестовой схемы из состава ISCAS; ввод исходных данных (принципиальная схема или описание ЦУ на языках Verilog, VHDL) и параметров в среде моделирования (например, Quartus II [2], 123 В.М. Соловьев, Д.В. Сперанский ModelSim [3], Icarus Verilog (Iverilog) [4] и т.д.); разработка на основе анализируемых алгоритмов контрольных и диагностических тестов (testbench) в среде моделирования; компиляция и отладка созданной модели ЦУ и testbench; диагностические эксперименты (simulation) с отлаженной моделью ЦУ и тестами в среде моделирования, а также визуализация результатов диагностического эксперимента; анализ полученных результатов и размещение результатов в открытом доступе (например, GitHub) для обеспечения возможности их проверки и повторения [5]. 1. Подготовка и проведение диагностических экспериментов Использование тестовых цифровых устройств, рекомендованных IEEE (ISCAS-85, ISCAS-89, ISCAS-99) [1], позволяет создавать одинаковые транспарентные условия для проведения диагностических экспериментов. Это обеспечивает объективную оценку эффективности контрольных и диагностических тестов, создаваемых на основе предлагаемых алгоритмов. Кроме того, такой подход решает и целый ряд других задач диагностирования, например облегчает (формализует) построение входных тестовых последовательностей в среде автоматизированного проектирования электронных устройств (EDA) и их отладку. К сожалению, автоматизированная генерация диагностической среды (testbench) в EDA до сих пор не решена. Разработчики ЦУ вынуждены создавать ее в «ручном» режиме, используя для построения, например, языки программирования высокого уровня и вводить затем тесты в EDA практически вручную. Для небольших ЦУ, содержащих до 100 элементов (вентилей, комбинационных схем) это еще может быть как-то оправдано. Однако при большом количестве входов-выходов и элементов в ЦУ (а именно такие тестовые схемы и входят в ISCAS) создание и ввод диагностических последовательностей, ориентированных даже на константные неисправности, является трудоемкой задачей. Поэтому чаще всего исследователи используют свои «закрытые» методики, представляя в публикациях результаты моделирования таблицами, проверить которые не представляется возможным. Моделирование в среде EDA - это практически создание алгоритмической модели с высокой степенью адекватности реальному (физическому) ЦУ (рис. 1). Рис. 1. Моделирование в EDA Quartus II тестовой схемы ISCAS c17 Fig. 1. Simulation in EDA Quartus II test circuit ISCAS c17 124 Оценка качества диагностических тестов на моделях цифровых устройств ISCAS Это подтверждается многолетним опытом применения такого подхода при создании заказных схем на основе FPGA [6]. В качестве среды моделирования могут использоваться как проприетарные системы (proprietari system) EDA, например Quartus II или ModelSim, так и программы с открытым исходным кодом (open source), например пакет программ Iverilog. В первом случае это системы автоматизированного проектирования (САПР), ориентированные на разработку заказных микросхем на основе программируемых матриц. Производители этих САПР (Intel, Altera, Mentor Graphics, Xilinx и т.д.), предусматривают в них, как правило, три этапа проектирования: создание алгоритмической (электронной) модели будущей микросхемы; трассировку соединений элементов в FPGA; программирование логической матрицы (перенос программы трассировки в FPGA с помощью программатора, подключенного к EDA). Каждый этап проектирования сопровождается своим поведенческим контролем (simulation) и отладкой. При организации диагностических экспериментов вначале вполне достаточно ограничиться проведением функционального контроля, остальные два нужны для настройки технологического процесса изготовления готовых микросхем. Аналогичный этап содержится и в проектировании микросхем на основе Silicon IP [7] для подготовки документации и передачи ее кремниевой фабрике для производства микросхем. Упомянутые выше EDA имеют предпочтение перед последними САПР, так как имеют «облегченные» (студенческие) лицензии, которые предоставляют для диагностических экспериментов практически все функции EDA [8]. Кроме того, большинство форматов данных в современных EDA совместимы и дополняют друг друга. В случае необходимости недоступные функции можно реализовать open source программами, например входящими в комплект программ Iverilog. Вводить исходные данные в среде EDA можно с помощью традиционных эпюр, используя графический редактор САПР, или программируя их на языках Verilog, VHDL. Первый язык предпочтительней, так как Verilog более компактен и лучше адаптирован к EDA. После ввода элементов архитектуры и параметров ЦУ (для большинства ЦУ из ISCAS в свободном доступе уже имеется описание на языке Verilog, VHDL) программа компилируется и при положительном результате формируется файл, отображающий ЦУ на уровне регистровых передач -RTL (Register Transfer Level). Вызвав этот файл в среде EDA, можно графически проконтролировать схему ЦУ, она должна соответствовать требованиям ISCAS. Кроме контроля она еще является и подтверждением успешного завершения этого этапа. 2. Создание тестов на языке Verilog в среде EDA Создание тестов (testbench) на языке Verilog в среде EDA, по мнению некоторых авторов [6], является «самой интеллектуальной работой», даже сравнимой с искусством. Эта работа трудно поддается автоматизации, ее трудоемкость сильно зависит от требований к тестовым наборам. Проще всего задать псевдослучайные или периодически повторяющиеся регулярные наборы (САПР их сама генерирует по задаваемым параметрам), сложнее сформировать функциональные контрольные тесты, так как не для всех тестовых схем ISCAS можно найти подробное описание их работы. Самыми сложными тестами являются диагностические, ориентированные на задаваемые модели неисправностей. Как правило, EDA testbench оформляют в виде второго файла (рис. 2), а первый - это модель ЦУ. Например, в EDA Quartus II это VWF файлы, в Iverilog это V файлы (Verilog файлы). Современные EDA в testbench могут включать не только тестовые наборы, но и средства анализа и визуализации (программный вариант логического анализатора), управляемые графически или программно (Quartus II). Кроме того, EDA могут кроме функционального анализа (Functional Simulation) выполнять и временной анализ (Timing Simulation), а это уже охватывает не только логические неисправности (одиночные константные или кратные, но и динамические). Все это требует тестовых наборов, обеспечивающих выявление «симптомов» такого рода неисправностей. Создание сложных диагностических тестов и является одной из целей современной диагностики, предполагающей наряду с использованием традиционных и новые алгоритмы (эволюционные, нейроморфные, квантовые и т. д.). Именно поэтому и нужны современные автоматизированные средства оценки качества этих и вновь разрабатываемых алгоритмов построения эффективных тестов. 125 В.М. Соловьев, Д.В. Сперанский G Simulation Waveform Editor - D:/intelFPGA_pro/18.1/c17/c17 - c17 - [c17.... Value at Name 0 ps N1 BO N2 FO - N3 BO N6 BO - N7 BO N22 BX N23 BX 3 > Rle Edit View Simulation Help [[search Intel FPGA >t О. ^ Л, 3! 8£ MasterTIme Ban |t) pa | | * | | * | Pointer: J9.9J ns | Interval ^9 93 ns| Start | End [ Ops 320.0 ns 640.0 ns 960.0 ns bps I I I i i i i І I _R_TLT лллгшг П 1ПЛ_ ШШШ1ШШ1ІШЛ_ 1 1 i i i i K X x X X x, X X, ■ ! ' * X. XXX x XX X X ' ' ! i i ■ i" (гг Рис. 2. Testbench схемы ISCAS c17 Fig. 2. Testbench circuit ISCAS c17 При использовании графических средств построения testbench и генерации тестовых наборов средствами EDA анализируется модель ЦУ. Визуализатор при этом может выводить шаблон логического анализа (горизонтальные оси и соответствующие им обнаруженные входы и выходы). Используя этот шаблон, можно графически задать (как бы «начертить») входные наборы, тем самым сформировать testbench. После создания модели ЦУ и testbench, как правило, оформленных в виде двух файлов, наступает этап компиляции и отладки. По существу, это итерационный процесс устранения ошибок в поведении модели ЦУ и тестах. Так как ошибки модели обычно устраняются на втором этапе, то на этом этапе в основном выявляются ошибки testbench, описание которых выводится сообщениями EDA. Реакция на эти сообщения и изменение testbench являются основной целью этапа отладки, затрагивающего как валидность самой модели, так и особенности анализируемого алгоритма построения теста. В результате такого итерационного процесса, когда сообщения об ошибках при компиляции не возникают, генерируются файлы внутреннего формата EDA (в некоторых EDA они доступны в каталоге модели) и выводятся результаты моделирования, если в меню визуализатора указывались соответствующие панели отображения. Диагностические эксперименты заключаются в задании временных параметров работы симулятора, получении массива данных (data set), сгенерированного EDA, и отображении их в заданном формате. Так, в EDA Quartus II в панели Simulation Waveform Editor, где графически создается и testbench, можно задать временную шкалу моделирования и вызвать в меню процедуру функционального моделирования (Run Functional Simulation), выведя результаты на соответствующие оси. Причем в подкаталог Simulation рабочего каталога модели ЦУ будет выведен файл результата диагностического эксперимента, который можно в дальнейшем проанализировать и опубликовать (рис. 3). Рис. 3. Результаты диагностического эксперимента с тестовой схемой ISCAS c17 Fig. 3. The results of a diagnostic experiment with a test circuit ISCAS c17 126 Оценка качества диагностических тестов на моделях цифровых устройств ISCAS В пакете программ Iverilog процесс моделирования запускается отдельной моделирующей программой, которая вызывает откомпилированный файл и выводит результат на экран или в указанный файл (рис. 4). Рис. 4. Результаты диагностического эксперимента с тестовой схемой ISCAS c17 в Iverilog Fig. 4. The results of the diagnostic experiment with the test circuit ISCAS c17 in Iverilog При необходимости можно создать и графический файл визуализации, который будет открываться в отдельной программе визуализатора. Причем в Iverilog все параметры моделирования указываются в testbench. Полученные данные (data set) и являются целью диагностического эксперимента, так как по ним можно судить о качестве тестов, созданных на основе анализируемого алгоритма. Сама среда EDA в такой диагностический эксперимент ничего от себя не вносит, она только позволяет создать адекватную модель ЦУ и тест на основе исследуемого алгоритма. При необходимости тест можно создать и другими средствами, а EDA использовать для его подачи. При этом упоминавшиеся выше EDA имеют возможность тестировать и физические объекты (ЦУ), подключаемые к ним через порты компьютера. Branch: master ^ New pull request Find File Clone or download ▼ |*| Vlad51 Add files via upload Latest commit ab0734S on 26 Feb Ш Diagnostics Add files via upload a month ago ШсМ Add files via upload 2 months ago Ш c432 Add files via upload 2 months ago (D README.md Update README.md 3 months ago Ц® README.md ISCAS Эксперименты с тестовыми схемами с17, с432 Рис. 5. Публикация результатов диагностических экспериментов в открытом доступе Fig. 5. Publication of the results of diagnostic experiments in the public domain 127 В.М. Соловьев, Д.В. Сперанский Завершающим этапом в диагностическом эксперименте является анализ полученных результатов и публикация их в открытом доступе (рис. 5). Для этого можно использовать как публичные облачные сервисы, так и сервисы контроля версий типа GitHub [9]. Это позволит в дальнейшем неоднократно обращаться к ним в процессе работы над алгоритмом и представить конечный результат на суд экспертам. Заключение Предложенная методика оценки качества контрольных и диагностических тестов позволяет объективно оценить качество алгоритмов построения тестов и автоматизировать диагностический эксперимент, проводимый на алгоритмических моделях тестовых схем ISCAS. Кроме того, результаты диагностического эксперимента, представленные как scientific data, имеют широко распространенные форматы, что облегчает их анализ и публикацию.

Ключевые слова

цифровые устройства (ЦУ), языки описания ЦУ Verilog, VHDL, контроль и диагностика ЦУ, программная среда автоматизированного проектирования ЦУ, digital devices (DD), languages of DD description Verilog, VHDL, control and diagnostic of DD, programs of Electronic Design Automation (EDA)

Авторы

ФИООрганизацияДополнительноE-mail
Соловьев Владимир МихайловичСаратовский государственный университетдоцент, кандидат технических наук, начальник Поволжского регионального центра новых информационных технологийign1122@mail.ru
Сперанский Дмитрий ВасильевичРоссийский университет транспорта (МИИТ)профессор, доктор технических наук, профессор кафедры железнодорожной автоматики и телемеханикиsperanskiy.dv@gmail.com
Всего: 2

Ссылки

ISCAS. 2019. URL: http://www.pld.ttu.ee/~maksim/benchmarks/ (accessed: 15.10.2019).
Quartus II Introduction for Verilog Users. Altera Corporation, 2009. 30 p.
Model Sim : руководство пользователя. Model Technology Incorporated, 2002. 540 с.
Icarus Verilog. 2019. URL: http://iverilog.icarus.com/ (accessed: 15.10.2019).
Эксперименты с тестовыми схемами. 2019. URL: https://github.com/Vlad51/ISCAS (дата обращения: 15.10.2019).
Соловьев В.В. Основы языка проектирования цифровой аппаратуры Verilog. М. : Горячая линия. Телеком, 2014. 206 с. ISBN 978-5-9912-0353-1.
Заказные блоки в микросхемах (Silicon IP): как это работает. 2019. URL: https://habr.com/ru/post/414215/ (дата обращения: 15.10.2019).
Quartus II Handbook. Altera Corporation, 2015. Vol. 1: Design and Synthesis. 1800 p.
Chacon S., Straub B. Pro Git. Second ed. Apress, 2019. 518 p.
 Оценка качества диагностических тестов на моделях цифровых устройств ISCAS | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 52. DOI: 10.17223/19988605/52/15

Оценка качества диагностических тестов на моделях цифровых устройств ISCAS | Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2020. № 52. DOI: 10.17223/19988605/52/15