В компании Альфачип был разработан пакет A2LIB предназначенный для характеризации библиотек стандартных ячеек в формате Liberty.
Библиотека элементов – набор элементов, используемых при проектировании СБИС.
В состав библиотеки входят:
* Электрические примитивы: транзисторы, резистор, конденсатор, диоды
* Цифровые элементы: INV, NAND, NOR, XOR, AOI, D-триггер
* Специальные элементы: FILLER, TAP, DECAP
* Аналоговые блоки: операционный усилитель, дифференциальный каскад
* IP (сложно-функциональные) блоки
Библиотека стандартных ячеек в формате Liberty (Liberty Standard Cell Library) — это набор описаний логических элементов и их временных характеристик, используемых в проектировании интегральных схем (ИС). Этот формат используется для представления информации, необходимой для синтеза и анализа цифровых схем на уровне ячеек.
Основные компоненты библиотеки стандартных ячеек в формате Liberty включают:
Библиотеки стандартных ячеек в формате Liberty играют важную роль в процессе физического проектирования интегральных схем, так как они предоставляют ключевую информацию для синтеза, оптимизации, анализа временных характеристик и потребления мощности интегральных схем.
Программа A2LIB предназначена для характеризации библиотек стандартных ячеек в формате Liberty. Для ее работы требуется наличие программного обеспечения для схемотехнического моделирования. В настоящее время используется симулятор Spectre от компании Cadence Design Systems. Программа A2LIB создаёт задание для пакета Spectre, затем автоматически запускает эти задания, после чего, на основе результатов из Spectre, собирает библиотеку элементов в формате .lib. Следует отметить, что тип используемого симулятора не играет существенной роли, и при необходимости программное средство может быть оперативно перенастроено на любой другой схемотехнический симулятор, включая программы с открытым исходным кодом (NGSpice). В программе поддерживаются большинство типов ячеек, в том числе tristate (с тремя состояниями), level shifter (преобразователи напряжения). Для большинства библиотеченых ячеек уже есть готовые шаблоны заданий на характеризацию. То есть потребуются правки только для нетипичных ячеек. Программа проверена на большом количестве подготовленных библиотек (в то числе радиационно-стойких) для российских и зарубежных фабрик.
Пакет 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-файлы.
Существует определенная функциональность, которая является общей для всех типов тестовых примеров:
A2LIB написана на языке C/C++ и имеет встроенную TCL-оболочку, то есть принимает любую стандартную TCL-команду. Как обычно, есть только один обязательный параметр: имя TCL-скрипта, который должен быть прочитан и выполнен. Все остальные заданные параметры должны быть проанализированы этим скриптом.