Научная статья на тему 'ТЕСТИРОВАНИЕ БИБЛИОТЕК ЦИФРОВЫХ ЯЧЕЕК'

ТЕСТИРОВАНИЕ БИБЛИОТЕК ЦИФРОВЫХ ЯЧЕЕК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
58
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИБЛИОТЕКА СТАНДАРТНЫХ ЭЛЕМЕНТОВ / ВЕРИФИКАЦИЯ / ТЕСТИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ильин Сергей Алексеевич

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

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

TESTING DIGITAL LIBRARIES OF STANDARD CELLS

The method of testing the digital libraries of standard cells in the format of Liberty and Verilog using the specialized software has been proposed. The software products implementing the given method have been developed and described. The comparison of this technique efficiency with the existing testing methods has been performed.

Текст научной работы на тему «ТЕСТИРОВАНИЕ БИБЛИОТЕК ЦИФРОВЫХ ЯЧЕЕК»

СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ

УДК 621.3.049.771.16

Тестирование библиотек цифровых ячеек

С.А. Ильин

Национальный исследовательский университет «МИЭТ.»

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

Ключевые слова: библиотека стандартных элементов, верификация, тестирование.

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

Одним из элементов автоматизированного маршрута синтеза цифровых устройств является библиотека стандартных цифровых элементов [1]. Наиболее важными представлениями библиотеки стандартных цифровых элементов являются форматы Liberty и Verilog. Файлы описания библиотек в форматах Liberty и Verilog - звенья процесса синтеза и содержат очень большой объем данных, отформатированных в соответствии с определенными правилами [2]. При современных технологиях изготовления ИС и соответствующих им объемах данных, содержащихся в библиотеках, на первый план выходит задача максимально автоматизировать процессы контроля получаемых результатов. Таким образом, актуальной становится задача разработки методики тестирования данных, содержащихся в файлах Liberty и Verilog, и построения маршрута реализации указанной методики.

Форматы входных данных. Каждый из форматов представления данных о библиотеке стандартных ячеек Liberty и Verilog решает определенные задачи и имеет свои особенности.

Библиотека в формате Verilog содержит описания ячеек, составленные в соответствии с форматом языка Verilog v. 1995/2001 [2, 3, 4]. Каждое описание содержит объяв-

© С.А. Ильин, 2013

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

В отличие от описания библиотеки в формате Verilog, описание библиотеки в формате Liberty не связано с каким-либо языком описания аппаратуры и является самостоятельным форматом, предложенным фирмой Synopsys. Формат Liberty дает больше информации о функционировании конкретных ячеек, чем поведенческое описание. Данная особенность связана с тем, что в формате Liberty отражено больше параметров, для каждой ячейки описывается каждый вход/выход: мощность утечки, потребляемая мощность при различных сочетаниях входных воздействий, задержки при различных комбинациях входных воздействий, нагрузочной емкости и направления/длительности фронта, входная емкость контактов, площадь ячейки [5]. Указывается также информация, относящаяся к библиотеке в целом: при каких условиях проводилось моделирование, при каких сочетаниях нагрузочных емкостей и фронтов, единицы измерения величин в библиотеке и модели проводников (межсоединений). Описания даны в соответствии с общим форматом, единым для каждого конкретного типа ячеек (комбинационных, последовательностных, буферов и т.п.)

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

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

Процесс тестирования можно разделить на два этапа [6]:

- тестирование представления библиотеки как файла определенного формата;

- тестирование корректности данных в разных представлениях библиотеки.

Тестирование представления библиотеки как файла определенного формата, содержащего данные о ячейках, проводится с целью выяснения синтаксической правильности структуры файла. Успешное прохождение подобного теста гарантирует, что использование данного файла в маршруте проектирования устройства не вызовет ошибок, но не гарантирует корректность представленных данных. Этот этап можно назвать тестированием при помощи САПР, в который входят: проверка синтаксиса; компиляция во внутреннее представление САПР; зачитывание данных программным продуктом.

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

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

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

Тест целостности данных - проверка того, что данное представление ячейки содержит все необходимые данные и атрибуты. В применении к существующей задаче тест целостности данных - это тестирование описания ячейки на наличие всех необходимых значений и атрибутов. Тест частично пересекается по спектру решаемых задач с этапом тестирования при помощи САПР.

Тест корректности данных - проверка данных на корректность (корректность изменения данных, корректность значений величин). Тест представляет собой тестирование описаний ячеек на правильность содержащихся в них значений: проверку знака величины, ее равенства нулю (для того, чтобы избежать ошибок, связанных с делением на нуль) или нечисловому значению.

Тест сравнения - сравнение двух файлов и анализ содержащихся в них данных. Тест решает задачу функционально-логического тестирования, позволяя определить правильность функционирования ячеек, представленных в файлах разного формата (Liberty vs. Verilog) или в файлах одного формата, но различным образом (Verilog vs. Verilog, Liberty vs. Liberty).

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

Perl является одним из наиболее переносимых языков программирования и обеспечивает работоспособность программы практически во всех реально используемых операционных системах, таких как Unix, Linux, Mac OS X, и всех разновидностях Windows без какой-либо перекомпиляции.

Пакет прикладных программ реализует следующую функциональность:

- проверка атрибутов в Liberty-файле (area, leakage, library name, footprint и т.д.);

- проверка полноты наличия в Liberty-файле набора ячеек из списка;

- функционально-логическое тестирование комбинационных ячеек, содержащихся в Liberty-файле и Verilog-файле. Программа формирует файл тестовых воздействий и проверяет правильность функционирования ячейки, функция которой взята из Liberty-файла и ячейки, описание которой находится в Verilog-файле;

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

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

Реализация предложенной методики в маршруте создания представления библиотеки в формате Synopsys Liberty

Сравнение и анализ результатов внедрение методики тестирования библиотек. Наличие единой методики тестирования библиотек в совокупности с автоматизированным маршрутом позволяет практически полностью избежать ошибок, характерных для процесса, когда тестирование проводится вручную каждым разработчиком самостоятельно [6]. Для оценки эффективности предлагаемого маршрута можно рассмотреть работу скрипта, который проводит функционально-логическое тестирование ячеек, описанных в Liberty- и Verilog-файлах. Исследуемая библиотека содержала 274 ячейки, из которых 40% были уникальными, иными словами для них не существовало RTL-описаний. Затраты времени на тестирование можно оценить следующим образом: 1,5-2 ч на анализ Liberty-файла (поиск функции и создание RTL-описания для каждой уникальной ячейки), 20-30 мин на переделку уже сделанного RTL-описания для одного из вариантов и 30-40 мин на создание файла тестовых воздействий, запуск

моделирования и анализ результатов. Таким образом, общие затраты времени для библиотеки небольшого по промышленным меркам размера составят примерно 466 ч или 12 рабочих недель квалифицированного инженера. Автоматизированное ПО справляется с подобной задачей за 2,5-3 ч, автоматически формируя RTL-описания, файлы тестовых воздействий и анализируя результаты, полностью исключая возможность ошибки в связи с человеческим фактором, освобождая рабочее время проектировщика. Аналогичные выкладки по временным затратам получаются и для остальных программ.

Таким образом, методика тестирования делится на два этапа: тестирование при помощи средств САПР и тестирование при помощи специализированного ПО.

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

Литература

1. Chavez-Martinez E.J., Chavez-MartinezM., Gurrola-Navarro M.A. Modified standard cell methodology for VLSI layout compaction // Electrical Engineering, Computing Science and Automatic Control (CCE): 9-th Intern. Conf. (Mexico, 26-28 of September 2012). - 2012. - P. 1-6.

2. Liberty User Guide, Volume 1, Version 2003.12. - December 2003. - P. 1011. - URL: www.synopsys.com. (дата обращения: 2.08.2012).

3. IEEE Standard Verilog Hardware Description Language, IEEE Std 1364-2001 (Revision of IEEE 1364-1995), 17 march, 2001. - 778 p.

4. Verilog - XL Reference, Product Version 3.3. - July 2001. - 566 p. - URL: www.cadence.com (дата обращения: 2 августа 2012 г.)

5. Hashimoto M., Fujimori K., Onodera H. Standard Cell Library with various driving strength cells for 0,13, 0,18, and 0,35 um technologies // Proc. of the ASP-DAC 2003 Asia and South Pacific (21-24 January 2003). - 2003. - P. 589-590.

6. Ильин С.А. Методика верификации библиотек стандартных цифровых элементов // Тез. докл. XVII Всерос. межвуз. конф. студентов и аспирантов «Микроэлектроника и информатика 2010». -М.: МИЭТ, 2010. - С. 77.

Статья поступила 2 августа 2012 г.

Ильин Сергей Алексеевич - аспирант кафедры проектирования и конструирования интегральных микросхем МИЭТ. Область научных интересов: разработка библиотек стандартных цифровых элементов, автоматизация маршрута разработки библиотек, автоматизация маршрута характеризации библиотек, характеризация библиотек, верификация и тестирование библиотек. E-mail: vermut.42@gmail.com

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