Средства характеризации библиотек стандартных ячеек и СФ-блоков

В компании Альфачип был разработан пакет A2LIB предназначенный для характеризации библиотек стандартных ячеек в формате Liberty.

Библиотека элементов – набор элементов, используемых при проектировании СБИС.

В состав библиотеки входят:
* Электрические примитивы: транзисторы, резистор, конденсатор, диоды
* Цифровые элементы: INV, NAND, NOR, XOR, AOI, D-триггер
* Специальные элементы: FILLER, TAP, DECAP
* Аналоговые блоки: операционный усилитель, дифференциальный каскад
* IP (сложно-функциональные) блоки

Библиотека стандартных ячеек в формате Liberty (Liberty Standard Cell Library) — это набор описаний логических элементов и их временных характеристик, используемых в проектировании интегральных схем (ИС). Этот формат используется для представления информации, необходимой для синтеза и анализа цифровых схем на уровне ячеек.

Основные компоненты библиотеки стандартных ячеек в формате Liberty включают:

  1. Ячейки (Cells): ячейки представляют собой базовые логические элементы, такие как инверторы, буферы, порты И (AND), порты ИЛИ (OR), триггеры и т.д. Каждая ячейка имеет уникальное имя и описание, включая физические атрибуты (размер, расположение выводов) и логические атрибуты (входы, выходы, функциональное поведение).
  2. Таблицы времени задержки (Timing Tables): эти таблицы описывают зависимость времени задержки (время задержки распространения) от различных факторов, таких как емкость нагрузки, напряжение питания и температура. Таблицы времени задержки включают значения времени задержки для восходящих и нисходящих фронтов сигнала.
  3. Таблицы мощности (Power Tables): таблицы мощности содержат информацию о потреблении мощности ячейками в зависимости от комбинаций входных значений и других условий, таких как напряжение питания и температура. Эти таблицы помогают оценить энергопотребление схемы.
  4. Технологические атрибуты (Technology Attributes): эти атрибуты описывают параметры технологического процесса производства интегральных схем, такие как минимальный размер транзисторов, доступные напряжения и другие характеристики, влияющие на производство ячеек.
  5. Функциональные атрибуты (Functional Attributes): эти атрибуты описывают логическое поведение ячеек, такие как булева функция, задержки распространения и дополнительные свойства, которые помогают алгоритмам синтеза правильно использовать ячейки в схеме.
  6. Технические комментарии (Technical Comments): дополнительная информация, которая может включать в себя пояснения, рекомендации по использованию, замечания по производственным особенностям и другие полезные заметки для разработчиков.

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

Описание программы A2LIB

Программа A2LIB предназначена для характеризации библиотек стандартных ячеек в формате Liberty. Для ее работы требуется наличие программного обеспечения для схемотехнического моделирования. В настоящее время используется симулятор Spectre от компании Cadence Design Systems. Программа A2LIB создаёт задание для пакета Spectre, затем автоматически запускает эти задания, после чего, на основе результатов из Spectre, собирает библиотеку элементов в формате .lib. Следует отметить, что тип используемого симулятора не играет существенной роли, и при необходимости программное средство может быть оперативно перенастроено на любой другой схемотехнический симулятор, включая программы с открытым исходным кодом (NGSpice). В программе поддерживаются большинство типов ячеек, в том числе tristate (с тремя состояниями), level shifter (преобразователи напряжения). Для большинства библиотеченых ячеек уже есть готовые шаблоны заданий на характеризацию. То есть потребуются правки только для нетипичных ячеек. Программа проверена на большом количестве подготовленных библиотек (в то числе радиационно-стойких) для российских и зарубежных фабрик.

Текущие ограничения

  1. Поддерживается только нелинейная модель задержки (Non Linear Delay Model (NLDM)). Отсутствует поддержка более продвинутых моделей на основе составного источника тока (CCS). Однако их поддержка требуется лишь на самых современных технологических процессах.
  2. На текущий момент работает с Cadence Spectre, однако возможна адаптация под любой другой симулятор, включая программы с открытым исходным кодом.
  3. Требуется доработка документации.

Интерфейс A2LIB

Маршрут в программе A2LIB

Пакет A2LIB предназначен для автоматического определения характеристик библиотек цифровых стандартных ячеек и создания библиотек технологий. Он характеризует каждый стандартный элемент из библиотеки с помощью схемотехнического симулятора Spectre. В качестве входной информации программе задаются описание схемы, описание технологии, набор реалистичных входных осциллограмм после драйвера и задание на характеризацию в формате специального файла с расширением .loop. На основе этих данных A2LIB формирует набор входных файлов для симулятора Spectre. Затем пакет Spectre использует входные данные для анализа и вычисляет необходимые данные, которые затем сохраняются в сформированном специальном выходном файле Measure. Эти результаты, полученные от Spectre, обрабатываются специальным скриптом на языке Perl. Скрипт создает выходные таблицы в TCL-формате, которые могут быть прочитаны A2LIB. На основе этих таблиц A2LIB формирует технологическую библиотеку в формате нелинейной модели задержки (NLDM Liberty). Библиотека содержит таблицы задержки, времени перехода, времени установки и удержания, динамической мощности, скрытой мощности, статической мощности, минимальной импульсной ширины.

Тест-кейсы

Тест-кейс — это функциональная единица самого низкого уровня в A2LIB. Каждый тест-кейс используется для измерения определенной группы параметров схемы. Обычно для полной характеристики поведения схемы требуется несколько различных тест-кейсов. Существует несколько различных типов тест-кейсов, таких как delay, clock_gate, dynamic_power и т.д. Для каждой схемы, которую будет анализировать A2LIB, задается ноль или более тестовых примеров каждого типа. Схема в A2LIB соответствует ячейке, для которой генерируются правила синхронизации. Поэтому A2LIB потребуются определения всех соединений выводов схемы и один netlist (список соединений) для симулятора, который охватывает схему, тестируемую в каждом тестовом примере. Эти тест-кейсы и другая важная управляющая информация передаются в A2LIB с помощью файлов, известных как Loop-файлы.

Существует определенная функциональность, которая является общей для всех типов тестовых примеров:

  1. Установка осциллограмм на входные контакты.
  2. Установка нагрузки на выходные выводы.
  3. Определение того, что необходимо контролировать для проведения необходимых измерений.
  4. Предоставление другой информации, необходимой A2LIB для создания правил времени прохождения сигнала.

Интерфейс командной строки (CLI)

A2LIB написана на языке C/C++ и имеет встроенную TCL-оболочку, то есть принимает любую стандартную TCL-команду. Как обычно, есть только один обязательный параметр: имя TCL-скрипта, который должен быть прочитан и выполнен. Все остальные заданные параметры должны быть проанализированы этим скриптом.