Научная статья на тему 'Методы структурного распознавания подсхем проходной транзисторной логики в КМОП-схемах'

Методы структурного распознавания подсхем проходной транзисторной логики в КМОП-схемах Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
2
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КМОП-схема / проходная транзисторная логика / проблема экстракции подсхем / декомпиляция описаний КМОП-схем / формат SPICE / CMOS circuit / pass transistor logic / subcircuit extraction problem / decompilation of CMOS circuit descriptions / SPICE format

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

Проверка электрических схем путем их моделирования с помощью симуляторов на уровне транзисторов типа SPICE не позволяет справиться с анализом современных СБИС. Снизить трудоемкость тестирования электрических схем можно за счет замены схемотехнического моделирования СБИС (или части СБИС) на менее затратное логическое моделирование. В работе рассмотрена проблема экстракции высокоуровневой структуры на уровне логических элементов из схемы на транзисторном уровне. Установлено, что получение такого представления существенно уменьшает время выполнения верификации топологии СБИС на стадии ее проектирования и служит основой для перепроектирования ИС и обратного инжиниринга для обнаружения несанкционированных вложений. Задача состоит в декомпиляции плоского описания КМОП-схемы с целью построения иерархического структурного описания, компонентами которого являются логические вентили и их подсхемы. Описания исходной плоской и полученной иерархической КМОП-схем представлены в формате SPICE. Предложены методы экстракции подсхем проходной транзисторной логики, представляющих собой передаточные элементы и построенные на их основе схемы. Показано, что логика на проходных транзисторах в ряде случаев позволяет проще выполнить схемы сложных элементов, таких как мультиплексоры, вентили Исключающее ИЛИ, по сравнению со статической КМОП-логикой. Предложенные методы структурного распознавания передаточных вентилей и схем на их основе реализованы на языке C++ как часть программы декомпиляции плоского описания транзисторной схемы в формате SPICE. Программа протестирована на практических схемах транзисторного уровня. Результатом работы программы декомпиляции является иерархическое SPICE-описание, в которое включены модели всех идентифицированных логических элементов.

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

Похожие темы научных работ по электротехнике, электронной технике, информационным технологиям , автор научной работы — Черемисинов Дмитрий Иванович, Черемисинова Людмила Дмитриевна

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

Methods of structural recognition of subcircuits of pass transistor logic in CMOS circuits

The circuits’ check by their simulation with transistor level simulators of SPICE type doesn’t allow handling the analysis of modern VLSI. It is possible to decrease the labor intensity of circuit testing by replacing the general purpose simulation of VLSI (or part of VLSI) with less demanding logic simulation. In this work, the problem of extracting high-level structure at the level of logical elements from a transistor level circuit is considered. It has been established that obtaining such a representation significantly reduces the execution time of VLSI topology verification at the design stage and serves as the basis for IC redesign and reverse engineering to detect unauthorized attachments. The task is to decompile a flat netlist of a CMOS circuit in order to construct a hierarchical structural netlist, the components of which are logic gates and their subcircuits. Descriptions of the original flat and resulting hierarchical CMOS circuits are presented in SPICE format. Methods are proposed for extracting subcircuits of pass transistor logic, representing transmission gates and circuits built on their basis. It was demonstrated that in some cases, pass transistor logic allows complex elements such as multiplexers and XOR gates to be implemented with simpler transistor circuits than traditional static CMOS logic provides. The proposed methods for structural recognition of transmission gates and circuits based on them are implemented in C++ as a part of a program for decompiling a flat transistor netlists in SPICE format. The program has been tested on practical transistor level circuits. The result of the decompilation program running is a hierarchical SPICE description, which includes models of all identified logical elements.

Текст научной работы на тему «Методы структурного распознавания подсхем проходной транзисторной логики в КМОП-схемах»

Научная статья УДК 519.714.5

https://doi.org/10.24151/1561-5405-2025-30-1-51-63 EDN: BBYYLF

Методы структурного распознавания подсхем проходной транзисторной логики в КМОП-схемах

Д. И. Черемисинов*, Л. Д. Черемисинова

Объединенный институт проблем информатики Национальной академии наук Беларуси, г. Минск, Беларусь

* [email protected]

Аннотация. Проверка электрических схем путем их моделирования с помощью симуляторов на уровне транзисторов типа SPICE не позволяет справиться с анализом современных СБИС. Снизить трудоемкость тестирования электрических схем можно за счет замены схемотехнического моделирования СБИС (или части СБИС) на менее затратное логическое моделирование. В работе рассмотрена проблема экстракции высокоуровневой структуры на уровне логических элементов из схемы на транзисторном уровне. Установлено, что получение такого представления существенно уменьшает время выполнения верификации топологии СБИС на стадии ее проектирования и служит основой для перепроектирования ИС и обратного инжиниринга для обнаружения несанкционированных вложений. Задача состоит в декомпиляции плоского описания КМОП-схемы с целью построения иерархического структурного описания, компонентами которого являются логические вентили и их подсхемы. Описания исходной плоской и полученной иерархической КМОП-схем представлены в формате SPICE. Предложены методы экстракции подсхем проходной транзисторной логики, представляющих собой передаточные элементы и построенные на их основе схемы. Показано, что логика на проходных транзисторах в ряде случаев позволяет проще выполнить схемы сложных элементов, таких как мультиплексоры, вентили Исключающее ИЛИ, по сравнению со статической КМОП-логикой. Предложенные методы структурного распознавания передаточных вентилей и схем на их основе реализованы на языке C++ как часть программы декомпиляции плоского описания транзисторной схемы в формате SPICE. Программа протестирована на практических схемах транзисторного уровня. Результатом работы программы декомпиляции является иерархическое SPICE-описание, в которое включены модели всех идентифицированных логических элементов.

Ключевые слова: КМОП-схема, проходная транзисторная логика, проблема экстракции подсхем, декомпиляция описаний КМОП-схем, формат SPICE

Для цитирования: Черемисинов Д. И., Черемисинова Л. Д. Методы структурного распознавания подсхем проходной транзисторной логики в КМОП-схемах // Изв. вузов. Электроника. 2025. Т. 30. № 1. С. 51-63. https://doi.org/10.24151/1561-5405-2025-30-1-51-63. EDN: BBYYLF.

© Д. И. Черемисинов, Л. Д. Черемисинова, 2025

Original article

Methods of structural recognition of subcircuits of pass transistor logic in CMOS circuits

D. I. Cheremisinov*, L. D. Cheremisinova

The United Institute of Informatics Problems of the National Academy of Sciences of Belarus, Minsk, Belarus

* [email protected]

Abstract. The circuits' check by their simulation with transistor level simulators of SPICE type doesn't allow handling the analysis of modern VLSI. It is possible to decrease the labor intensity of circuit testing by replacing the generalpurpose simulation of VLSI (or part of VLSI) with less demanding logic simulation. In this work, the problem of extracting high-level structure at the level of logical elements from a transistor level circuit is considered. It has been established that obtaining such a representation significantly reduces the execution time of VLSI topology verification at the design stage and serves as the basis for IC redesign and reverse engineering to detect unauthorized attachments. The task is to decompile a flat netlist of a CMOS circuit in order to construct a hierarchical structural netlist, the components of which are logic gates and their subcircuits. Descriptions of the original flat and resulting hierarchical CMOS circuits are presented in SPICE format. Methods are proposed for extracting subcircuits of pass transistor logic, representing transmission gates and circuits built on their basis. It was demonstrated that in some cases, pass transistor logic allows complex elements such as multiplexers and XOR gates to be implemented with simpler transistor circuits than traditional static CMOS logic provides. The proposed methods for structural recognition of transmission gates and circuits based on them are implemented in C++ as a part of a program for decompiling a flat transistor netlists in SPICE format. The program has been tested on practical transistor level circuits. The result of the decompilation program running is a hierarchical SPICE description, which includes models of all identified logical elements.

Keywords. CMOS circuit, pass transistor logic, subcircuit extraction problem, decompilation of CMOS circuit descriptions, SPICE format

For citation. Cheremisinov D. I., Cheremisinova L. D. Methods of structural recognition of subcircuits of pass transistor logic in CMOS circuits. Proc. Univ. Electronics, 2025, vol. 30, no. 1, pp. 51-63. https://doi.org/10.24151/1561-5405-2025-30-1-51-63.

Введение. Современные СБИС могут содержать более сотни миллионов транзисторов и примерно такое же количество соединений между ними. Рост сложности микросхем, которые можно разместить на одном кристалле, привел к увеличению затрат на анализ и проверку топологии на стадии проектирования с целью более раннего установления соответствия описания проекта на уровне транзисторов спецификации на проектирование [1]. Традиционные методы проверки электрических схем путем их моделирования с помощью симуляторов схем на уровне транзисторов типа SPICE [1] не справляются с анализом современных СБИС. Снизить трудоемкость тестирования

электрических схем позволяет замена трудоемкого схемотехнического моделирования СБИС или части СБИС (описания схемы на транзисторном уровне) менее затратным логическим моделированием (функционально эквивалентным представлением на уровне логических элементов) [2]. По аналогии с программированием этот процесс можно назвать декомпиляцией описания транзисторной схемы [3].

Средства декомпиляции являются мощным инструментом верификации топологии [4, 5], а также основой логического перепроектирования ИС [6] на новый элементный базис. Обзор известных результатов решения задачи декомпиляции представлен в работах [2, 7, 8]. При декомпиляции может быть известна библиотека описаний логических элементов на уровне транзисторов, использованная при компиляции топологии СБИС. В этом случае задача декомпиляции сводится к поиску в транзисторной схеме этих подсхем. В более общем случае, когда библиотека логических элементов неизвестна, задача состоит в распознавании подсхем, реализующих логические элементы, и формировании библиотеки элементов, встречающихся в схеме. В работе [3] рассмотрена задача декомпиляции плоского описания КМОП-схемы с целью построения иерархического структурного описания, компоненты которого представляют собой логические вентили и их подсхемы. Предложен метод и программа распознавания комплементарных (стандартных) КМОП-вентилей статического стиля как самого распространенного.

В настоящей работе предлагаются методы (и их практическая реализация) для выявления в КМОП-схеме подсхем проходной транзисторной логики (Pass Transistor Logic, PTL), представляющих собой передаточные элементы и построенные на их основе схемы [9]. Исходное плоское и результирующее иерархическое описания КМОП-схемы представляются в формате SPICE, который является одним из основных форматов для обмена электрическими схемами.

Схемы на основе проходной транзисторной логики. Доминирующим стилем логики при разработке современных цифровых СБИС является комплементарная МОП-структура. Элемент на основе стандартной КМОП-логики содержит две равномощные подсхемы, которые состоят соответственно из р-МОП- и n-МОП-транзисторов и реализуют взаимно инверсные булевы функции. р-МОП-блок размещен между шиной питания Vdd и выходом элемента, и-МОП-блок - между шиной земли GND и выходом. Стандартные КМОП-схемы относятся к классу статических схем, в которых выход в любой момент времени связан либо с шиной Vdd, либо с шиной GND через тракт с малым сопротивлением. Недостаток КМОП-элементов заключается в том, что количество транзисторов равно удвоенному числу входов, половина из которых - затратные по площади р-МОП-транзисторы [9].

Наряду со стандартной КМОП-логикой при построении ИС часто используется логика на проходных транзисторах (PTL), которая позволяет значительно сократить число транзисторов, необходимых для реализации логических функций, а также снизить энергопотребление схемы [9]. Простейшая цифровая схема состоит из одного МОП-транзистора -двоичного ключа, проводимость которого управляется сигналом на выводе затвора. Например, n-МОП-транзистор (рис. 1, а) пропускает сигнал с вывода A на вывод B, когда на его затвор подается сигнал высокого уровня

С

±

С

а б

Рис. 1. Элементы проходной логики: а - n-МОП-транзистор; б - передаточный

КМОП-вентиль Fig. 1. Elements of pass transistor logic: a - n-MOS transistor; b - CMOS transmission gate

(C = 1), в противном случае он запирается и вывод B переходит в третье (высокоимпе-дансное) состояние. В проходной логике сигналы с входных портов схемы допускается использовать для питания не только затворов транзисторов, но и выводов стока и истока, на которые, в частности, могут подаваться внутренние сигналы схемы. Это позволяет достаточно просто реализовать некоторые сложные логические элементы, такие как мультиплексоры.

В силу того, что транзисторы n-МОП- и р-МОП типа по отдельности не являются идеально проводящими ключами при передаче сигналов и «1», и «0» (n-МОП-транзистор почти идеально пропускает сигнал логического «0», но сильно снижает уровень сигнала логической «1», а р-МОП-транзистор действует обратным образом), в интегральных схемах используется передаточный вентиль. Он состоит из пары транзисторов - n-МОП- и р-МОП-типа, которые связаны параллельно выводами истока и стока (рис. 1, б) [9, 10]. Передаточный вентиль действует как двунаправленный ключ, для которого используется парафазное управление: на затворы n-МОП- и р-МОП-транзисторов должны подаваться комплементарные сигналы C и С . Если C = 0 (тогда С = 1), то оба транзистора запираются, при этом вывод A не имеет связи с выводом B. Если C = 1 (тогда С = 0), то оба транзистора открыты, позволяя сигналу пройти через элемент от вывода A к выводу B или наоборот (от B к A). Логика на передаточных вентилях широко применяется при проектировании сложных регулярных структур там, где существенны скорость работы и число транзисторов.

Рассмотрим задачи поиска в плоском описании КМОП-схемы передаточных вентилей и некоторых схем на их основе, в частности мультиплексоров (и демультиплексо-ров) и элементов Исключающее ИЛИ.

Задание транзисторных схем. Исходный файл SPICE может содержать три части [1]. При распознавании элементов проходной логики анализируется основная часть SPICE-описания транзисторной схемы Data Statements, которая описывает компоненты схемы в виде «моделей» и взаимосвязи между ними. Используются два основных типа моделей: модели устройств (device models) и модели подсхем (subcircuit models). Первые представляют собой примитивные компоненты, такие как транзисторы, диоды и т. д. Модель подсхемы (.subckt в SPICE-описании) определяет схему непримитивного элемента, задается в виде блока в разделе Data Statements и описывает структуру соединений элементов (примитивных и непримитивных) в этой подсхеме. Тип модели используемого в SPICE-описании элемента задается первой буквой его имени. Имена примитивных элементов, являющихся МОП-транзисторами, должны начинаться с латинской буквы «М», непримитивных элементов - с буквы «X». Следует отметить, что SPICE-описания не чувствительны к регистру символов.

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

Главной частью плоского описания схемы в формате SPICE (листинг 1) является список транзисторов, в котором для каждого из четырех выводов транзистора указано имя цепи, соединяющей его с остальными частями схемы: M<name> <nd> <ng> <ns> <nb> <model-name>, где name - имя транзистора (которому предшествует буква «m») в схеме; nd, ng, ns и nb - идентификаторы цепей, связанных с выводами стока (drain), затвора (gate), истока (source) и подложки (substrate) соответственно; model-name - имя модели (как правило, n-МОП-транзистор называется nmos, р-МОП-транзистор - pmos).

Листинг 1. SPICE-описание транзисторной схемы fdrlsl:

.SUBCKT fdrlsl ** N=133 EP=7 IP=0 FDC=30 m0 133 8 gnd gnd nmos m1 9 rl 133 gnd nmos m2 130 sl gnd gnd nmos m3 13 9 130 gnd nmos m4 8 c 13 gnd nmos m5 d 10 8 gnd nmos m6 10 c gnd gnd nmos m7 12 c 9 gnd nmos m8 14 10 12 gnd nmos m9 14 11 132 gnd nmos m10 132 rl gnd gnd nmos m11 131 sl gnd gnd nmos m12 11 12 131 gnd nmos m13 qn 11 gnd gnd nmos m14 q 12 gnd gnd nmos

m15 vcc 8 9 vcc pmos m16 9 rl vcc vcc pmos m17 vcc sl 13 vcc pmos m18 13 9 vcc vcc pmos m19 8 10 13 vcc pmos m20 d c 8 vcc pmos

m21 10 c vcc vcc pmos m22 12 10 9 vcc pmos m23 14 c 12 vcc pmos m2 4 vcc rl 14 vcc pmos m2 5 14 11 vcc vcc pmos m2 6 vcc sl 11 vcc pmos m2 7 11 12 vcc vcc pmos m2 8 qn 11 vcc vcc pmos m2 9 q 12 vcc vcc pmos .ENDS

Общая форма описания связей непримитивного элемента, модель которого представляется подсхемой с n выводами, в формате SPICE имеет вид: X<name> <P1> <P2> .. ,<Pn> <model-name>, где Pi - идентификаторы цепей, связанных с выводами элемента.

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

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

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

Для транзисторной схемы, описание которой приведено в листинге 1, имеются четыре передаточных элемента, представленные парами связанных транзисторов: (4, 19), (5, 20), (7, 22) и (8, 23). Имена транзисторов, образующих передаточные вентили, а также цепей, связанных с их стоками и истоками, выделены в листинге 1 жирным шрифтом. После распознавания передаточных вентилей исходное плоское описание

транзисторной схемы преобразуется в иерархическое описание, в котором появляется описание модели передаточного вентиля (рис. 1, б) с именем CN2 (имя соответствующей подсхемы выделено жирным шрифтом в листинге 2). Вентиль состоит из двух транзисторов и имеет шесть выводов: A и B - имена цепей, связанных со стоками и истоками; NC (соответствует сигналу С ) и C - имена цепей, соединенных с затворами р-МОП- и n-МОП-транзисторов; PB и NB - имена цепей, связанных с их подложками. Фактически сначала указываются цепи, связанные со стоком, затвором и истоком р-МОП-транзистора, а затем указывается цепь затвора n-МОП-транзистора. Пары транзисторов (5, 20), (7, 22), (8, 23) и (4, 19) из плоского SPICE-описания (см. листинг 1) заменяются в иерархическом описании передаточными элементами XM2I1, XM2I2, XM2I3 и XM2I4 типа CN2 (листинг 3).

Листинг 2. Иерархическое SPICE-описание транзисторной схемы:

* SPICE deck for cell fdrlsl gen .GLOBAL vcc gnd

.SUBCKT G0 A B Y

* (A AND B)

M1 1 A gnd gnd nmos M2 Y B 1 gnd nmos M3 vcc A Y vcc pmos M4 Y B vcc vcc pmos .ENDS

.SUBCKT G1 A Y

* A

M1 Y A gnd gnd nmos M2 Y A vcc vcc pmos .ENDS

.SUBCKT CN2 A NC B C NB PB

M1 A NC B PB pmos M2 A C B NB nmos .ENDS

.SUBCKT GMAB_0 A B C NC Y

* (A AND C) OR (B AND NC) XCN2 0 Y NC A C gnd vcc CN2 XCN21 B C Y NC gnd vcc CN2 .ENDS

.SUBCKT fdrlsl_gen rl sl c d q qn

XM0I1 rl 11 14 G0 Fets=nmos10+nmos9+pmos24+pmos25

XM0I2 sl 12 11 G0 Fets=nmos11+nmos12+pmos26+pmos27

XM0I3 8 rl 9 G0 Fets=nmos0+nmos1+pmos15+pmos16

XM0I4 sl 9 13 G0 Fets=nmos2+nmos3+pmos17+pmos18

XM1I1 11 qn G1 Fets=nmos13+pmos28

XM1I2 12 q G1 Fets=nmos14+pmos2 9

XM1I3 c 10 G1 Fets=nmos6+pmos21

XGMUAB_0 9 14 c 10 12 GMAB_0

XGMUAB_1 13 d c 10 8 GMAB_0

.ENDS

Листинг 3. Фрагмент SPICE-описания, задающего связи передаточных вентилей:

XM2I1 d c 8 10 gnd vcc CN2 Fets=pmos2 0+nmos5 XM2I2 12 10 9 c gnd vcc CN2 Fets=pmos22+nmos7 XM2I3 14 c 12 10 gnd vcc CN2 Fets=pmos2 3+nmos8 XM2I4 8 10 13 c gnd vcc CN2 Fets=pmos19+nmos4

Распознавание элементов на основе передаточных вентилей. Мультиплексор (селектор) представляет собой устройство, позволяющее подключать несколько входов к одному выходу и передавать на выход сигнал с информационного входа, номер которого определяется комбинацией адресных (управляющих) сигналов. Простейший мультиплексор MUX 2 х 1 имеет два информационных и один адресный входы (X0, X1 и C на рис. 2, а, б). Сигнал C = 0 открывает элемент p0, пропуская на выход Y сигнал X0, сигнал C = 1 открывает элемент p1, и на выход проходит сигнал X1. Выходная функция мультиплексора Y = X0C v X1C.

а о

Рис. 2. Схемы на основе передаточных вентилей: а, б - реализация и обозначение мультиплексора MUX 2 х 1; в - реализация вентиля Исключающее ИЛИ Fig. 2. Circuits based on transmission gates: a, b - implementation and designation of a multiplexer MUX 2 х 1; c - implementation of an XOR gate

КМОП-мультиплексор на основе проходной логики пропускает ток в обоих направлениях, что позволяет коммутировать не только цифровые, но и аналоговые сигналы. В силу двунаправленности схема, являющаяся мультиплексором, может выполнять и функцию демультиплексирования, передавая сигнал с «входа» Y на «выходы» X0 и Xi. Соответствующие выходные функции могут быть записаны как X0 = YC и X1 = YC.

В настоящей работе рассматривается задача выделения в транзисторной схеме простейших мультиплексоров MUX 2 х 1, потому что именно они используются при построении триггеров и регистров памяти. При этом инверсия селектирующего сигнала C подается на схему мультиплексора (см. рис. 2, а) извне, так как соответствующий инвертор используется, как правило, не для одного мультиплексора. С точки зрения топологии транзисторной схемы не имеет значения, какую функцию (мультиплексирования или демультиплексирования) выполняет распознанная схема. По умолчанию при распознавании считается, что это схема работает как мультиплексор. Для реализации мультиплексора MUX 2 х 1 на основе передаточной логики потребовалось четыре транзистора, тогда как реализация на основе стандартной КМОП-логики требует в два раза больше транзисторов. После того как в схеме выделены все передаточные вентили, проводится поиск связанных пар элементов типа CN2. Передаточные вентили pi(Ai,NCi,Bi,Ci,NBi,PB1) иpk(Ak,NCk,Bk,Ck,NBk,PBk) образуют мультиплексор при условиях:

1) выводы стока или истока их транзисторов связаны с одной цепью, т. е. выполняется одно из четырех равенств: Ai = Ak, Bi = Bk, Ai = Bk или Bi = Ak;

2) на затворы транзисторов подаются комплементарные сигналы, т. е. Ci = NCk и

NCi = Ck.

В зависимости от того, какое из равенств в условии 1 имеет место, выделяют три топологически разных структуры мультиплексора (все они функционально эквивалентны). Если связаны стоки передаточных вентилей (Ai = Ak), то такая топологическая реализация мультиплексора относится к типу AA, если связаны истоки (Bi = Bk) - к типу BB. Если сток одного вентиля связан с истоком другого или наоборот (Ai = Bk или Bi = Ak) - к типу AB. Последние два случая равнозначны в силу симметрии схемной реализации мультиплексора.

В основе предлагаемого метода распознавания мультиплексоров, так же как и метода поиска передаточных вентилей, лежит использование хеш -таблицы, которая теперь строится для передаточных элементов. Ключами этой таблицы служат хеши от имен цепей, подключенных к выводам A и B каждого из передаточных элементов (модели CN2). Для каждого передаточного вентиля вычисляются два хеша (h(A) и h(B)), и он попадает в две записи хеш -таблицы. Ситуация, когда для очередного рассматриваемого ключа h(A) или h(B) в хеш-таблице уже есть вход, означает, что существуют два передаточных элемента pi и рк, которые потенциально могут составлять мультиплексор. Для таких пар элементов проводится проверка фактических параметров цепей C и NC, связанных с затворами транзисторов, т. е. проверяется выполнение условия 2.

Для четырех ранее найденных передаточных вентилей XM2I1, XM2I2, XM2I3 и XM2I4 (см. листинг 3) вычисляются восемь хешей: h(d), h(8); h(12), h(9); h(14), h(12); h(8), h(13). Две записи в хеш-таблице, выбираемые по ключам h(8) и h(12), содержат по две ссылки (на пары элементов M2I1 и M2I4; M2I2 и M2I3). В первой паре стоки транзисторов элемента M2I4 связаны цепью 8 с истоками транзисторов элемента M2I1. Во второй паре стоки транзисторов элемента M2I2 связаны цепью 12 с истоками транзисторов элемента M2I3. В силу этого топологические реализации обоих мультиплексоров относятся к типу AB.

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

XM2I1 d c 8 10 gnd vcc CN2 и XM2I4 8 10 13 c gnd vcc CN2;

XM2I2 12 10 9 c gnd vcc CN2 и XM2I3 14 c 12 10 gnd vcc CN2,

свидетельствует о выполнении условия 2: NC1 = c = C4 и C1 = 10 = NC4; NC2 = 10 = C3 и C2 = c = NC3 (цепи затворов транзисторов выделены жирным шрифтом).

После распознавания мультиплексоров в SPICE-описание схемы fdrlsl добавляется модель мультиплексора с именем GMAB_0 (имя модели в листинге 2 выделено жирным шрифтом). Здесь A и B - имена цепей, связанные с входами X0 и X1; C и NC - цепи, связанные с управляющими входами; Y - выход мультиплексора. Пары передаточных вентилей M2I2, M2I3 и M2I1, M2I4 заменяются в иерархическом описании fdrlsl_gen элементами GMUAB_0 и GMUAB_1 типа GMAB_0 (в листинге 2 они выделены жирным шрифтом).

К числу наиболее сложно реализуемых двухвходовых логических элементов относится вентиль Исключающее ИЛИ, реализующий функцию Y = AB v AB. Его схемная реализация на основе стандартной КМОП-логики состоит из восьми транзисторов (без учета инверторов), а на основе проходной логики - из четырех (рис. 2, в). Подсхема Исключающее ИЛИ без инверторов по структуре совпадает со схемой мультиплексора MUX 2 х 1 и структурно находится как мультиплексор. Различение подсхем проводится после построения логической схемы, реализующей плоское SPICE-описание транзисторной схемы.

Результаты и их обсуждение. Предложенные в работе методы экстракции подсхем передаточных вентилей и схем на их основе реализованы в составе программы выполнения первого этапа декомпиляции плоских SPICE-описаний транзисторных схем, в процессе которого формируется библиотека элементов. На этом этапе распознаются логические вентили [11], реализованные на основе стандартной КМОП-логики, и генерируется иерархическое SPICE-описание. В рассматриваемой схеме fdrlsl (см. листинг 1) распознаются четыре экземпляра подсхемы 2И-НЕ (модель G0) и три экземпляра подсхемы инвертора (модель G1). Иерархическое SPICE-описание fdrlsl_gen, полученное в результате экстракции подсхем логических элементов, приведено в листинге 2.

На втором этапе декомпиляции строится логическая сеть [12]. В ней выделяются подсхемы с обратной связью, которые реализуются триггерами, а также распознаются некоторые другие элементы, в частности инверторы с тремя состояниями. Например, из описания fdrlsl_gen (см. листинг 2) извлечена логическая сеть (рис. 3), имеющая входные п, 5!, c, d и выходные q, qn полюсы. В ней найдены две подсхемы, представляющие собой триггеры (на рис. 3 они обведены пунктирной линией).

Рис. 3. Логическая схема fdrlsl_gen Fig. 3. Logic circuit fdrlsl_gen

В таблице приведены экспериментальные данные рассмотренных примеров плоских SPICE-описаний транзисторных схем, содержащих значительное количество элементов проходной логики. В таблице через косую черту указаны числа классов функционально и топологически эквивалентных элементов. Например, 17/35 в строке «Типы КМОП-вентилей» в столбце delta означает, что найденные 2777 КМОП-вентилей разделены на 17 классов функционально эквивалентных элементов, которые, в свою очередь, разбиты на 35 подклассов топологически эквивалентных элементов. Процессорное время декомпиляции для fdrlsl, delta, cpu составляет соответственно 5,704/0,007; 74,409/0,059; 98,128/20,051 с (через косую черту приведены значения времени выполнения первого и второго этапов декомпиляции).

Экспериментальные данные (количество элементов) Experimental data (number of elements)

Элементы проходной логики fdrlsl delta cpu

AB AA, BB

Примитивные элементы 30 11 935 243 806

МОП-транзисторы 30 11 909 243 806

Цепи 19 4153 123 017

Типы КМОП-вентилей 2/2 17/35 63/212

КМОП-вентили (все типы) 7 2777 54 323

Типы псевдоэлементов - 38/69 1/2

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

Псевдоэлементы (все типы) - 119 2392

Типы инверторов с тремя состояниями - - 2

Инверторы с тремя состояниями - - 2392

Передаточные элементы 4 661 6902

Связанные пары передаточных элементов 2 347 2825

Мультиплексоры 2 325 1559

Типы триггеров 1 18 8

Триггеры (все типы) 2 285 4924

Примечание: вентили Исключающее ИЛИ отсутствуют.

Используемое в настоящей работе демонстрационное плоское описание fdrlsl транзисторной схемы (см. листинг 1), состоящей из 30 транзисторов и 19 цепей, представляет собой часть SPICE-описания более сложного устройства delta. Его плоское SPICE-описание содержит 11 935 примитивных элементов, в том числе 11 909 МОП-транзисторов и 4153 цепи (см. таблицу). В этой схеме распознан 661 передаточный вентиль, среди них найдено 347 связанных пар, причем некоторые передаточные элементы оказались связанными с более чем одним элементом. В результате анализа связанных пар передаточных элементов распознано 325 мультиплексоров типа AB. После образования мультиплексоров в схеме осталось 11 передаточных вентилей. На этапе построения логической сети на основе анализа связей распознанных элементов найдено 285 триггеров 18 типов. Практически все триггеры содержат в своем составе мультиплексор, и только три типа триггеров (из 18) не содержат их.

В таблице приведены также данные о декомпиляции еще одного устройства, содержащего значительное число элементов проходной логики. В описании cpu этого устройства выделено 6902 передаточных вентиля, среди них оказалось 2825 связанных пар. В результате анализа этих 2825 пар распознано 1559 мультиплексоров двух типов: AA (695 мультиплексоров) и BB (864 мультиплексора). После образования мультиплексоров в схеме осталось 3784 передаточных вентиля. На первом этапе декомпиля-ции найдено также 2392 псевдоэлемента, каждый из которых состоит из 4 транзисторов и 5 цепей. Все эти псевдоэлементы на втором этапе декомпиляции распознаны как инверторы с тремя состояниями, разделенными на две группы топологически эквивалентных схем (26 и 2366 инверторов соответственно).

На этапе построения логической сети на основе распознанных элементов в ней было найдено 4924 триггера 8 типов. Все найденные триггеры не имеют в своем составе мультиплексоров, но 2 типа триггеров (их всего 2366) содержат по одному трехста-бильному инвертору с тремя состояниями. После выделения триггеров в логической сети осталось 3784 передаточных вентиля и 26 трехстабильных инверторов.

Заключение. Предложенные методы структурного распознавания передаточных вентилей и схем на их основе реализованы на языке C++ как часть программы деком-пиляции плоских описаний транзисторных схем в формате SPICE. Программа деком-пиляции протестирована на практических примерах описаний КМОП-схем, представленных в формате SPICE. Испытания проведены на компьютере с четырехъядерным процессором Intel i5-4460 3.20 ГГц с оперативной памятью 16,0 ГБ. Декомпилированные схемы прошли проверку на соответствие исходной топологии транзисторной схемы с помощью разработанных средств верификации и платформы Mentor Graphics Calibre nmLVS. Во всех случаях декомпилированные схемы успешно прошли проверку LVS (Layout Versys Schematic) топологии СБИС. Испытания показали, что программа имеет быстродействие, достаточное, чтобы обрабатывать схемы более чем со 100 тыс. транзисторов за несколько минут на персональной ЭВМ.

Программа декомпиляции состыкована с программным средством конвертации [13] структурных описаний логических схем, предназначенным для интеграции САПР СБИС и позволяющим переводить SPICE-описания полученных при декомпиляции логических сетей на языки высокого уровня, такие как VHDL и Verilog. Это делает возможным использование САПР СБИС для перепроектирования схем, а также для их моделирования на логическом уровне.

Литература

1. Baker R. J. CMOS: circuit design, layout, and simulation. 3rd ed. Piscataway, NJ; Hoboken, NJ: Wiley-IEEE Press, 2010. 1208 p. https://doi.org/10.1002/9780470891179

2. ZhangN., Wunsch D. C., Harary F. The subcircuit extraction problem // IEEE Potentials. 2003. Vol. 22. No. 3. P. 22-25. https://doi.org/10.1109/MP.2003.1232309

3. Черемисинов Д. И., Черемисинова Л. Д. Извлечение сети логических элементов из КМОП-схемы транзисторного уровня // Микроэлектроника. 2019. Т. 48. № 3. С. 224-234. https://doi.org/10.1134/ S0544126919030037. - EDN: TJNOKV.

4. Seok M. G., Park D. J., Cho G. R., Kim T. G. Framework for simulation of the Verilog/SPICE mixed model: Interoperation of Verilog and SPICE simulators using HLA/RTI for model reusability // 2014 22nd International Conference on Very Large Scale Integration (VLSI-SoC). Playa del Carmen: IEEE, 2014. P. 1-6. https://doi.org/10.1109/VLSI-SoC.2014.7004185

5. Kundu S. GateMaker: A transistor to gate level model extractor for simulation, automatic test pattern generation and verification // Proceedings International Test Conference 1998 (IEEE Cat. No. 98CH36270). Washington, DC: IEEE, 1998. P. 372-381. https://doi.org/10.1109/TEST.1998.743176

6. Hunt V. D. Reengineering: Leveraging the power of integrated product development. Essex Junction, VT: Oliver Wight Publ., 1993. 256 p.

7. Yang L., Shi C.-J. R. FROSTY: A program for fast extraction of high-level structural representation from circuit description for industrial CMOS circuits // Integration. 2006. Vol. 39. Iss. 4. P. 311-339. https://doi.org/10.1016/j.vlsi.2005.07.002

8. Efficient subgraph matching: Harmonizing dynamic programming, adaptive matching order, and failing set together / M. Han, H. Kim, G. Gu et al. // Proceeding of the 2019 International Conference on Management of Data (SIGMOD '19). New York: ACM, 2019. P. 1429-1446. https://doi.org/10.1145/3299869.3319880

9. Рабаи Ж. М., Чандракасан А., Боривож Н. Цифровые интегральные схемы. Методология проектирования: пер с англ. 2-е изд. М.: Вильямс, 2007. 912 с.

10. Combinational circuits using transmission gate logic for power optimization / G. N. Balaji, V. Aathira, K. Ambhikavathi et al. // International Research Journal of Engineering and Technology (IRJET). 2016. Vol. 3. Iss. 5. P. 649-654.

11. Черемисинов Д. И., Черемисинова Л. Д. Распознавание логических вентилей в плоской транзисторной схеме // Информатика. 2021. Т. 18. № 4. С. 96-107. https://doi.org/10.37661/1816-0301-2021-18-4-96-107. - EDN: WDOLYT.

12. Черемисинов Д. И., Черемисинова Л. Д. Обратное проектирование СБИС для обеспечения безопасности аппаратуры // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2022. № 3. С. 10-17. https://doi.org/10.31114/2078-7707-2022-3-10-17. - EDN: TKHCCS.

13. Черемисинов Д. И. Анализ и преобразование структурных описаний СБИС. Минск: Белорусская наука, 2006. 275 с.

References

1. Baker R. J. CMOS: circuit design, layout, and simulation. 3rd ed. Piscataway, NJ, Hoboken, NJ, Wiley-IEEE Press, 2010. 1208 p. https://doi.org/10.1002/9780470891179

2. Zhang N., Wunsch D. C., Harary F. The subcircuit extraction problem. IEEE Potentials, 2003, vol. 22, no. 3, pp. 22-25. https://doi.org/10.1109/MP.2003.1232309

3. Cheremisinov D. I., Cheremisinova L. D. Extracting a logic gate network from a transistor-level CMOS circuit. Russ. Microelectron., 2019, vol. 48, iss. 3, pp. 187-196. https://doi.org/10.1134/ S106373971903003X

4. Seok M. G., Park D. J., Cho G. R., Kim T. G. Framework for simulation of the Verilog/SPICE mixed model: Interoperation of Verilog and SPICE simulators using HLA/RTI for model reusability. 2014 22nd International Conference on Very Large Scale Integration (VLSI-SoC). Playa del Carmen, IEEE, 2014, pp. 1-6. https://doi.org/10.1109/VLSI-SoC.2014.7004185

5. Kundu S. GateMaker: A transistor to gate level model extractor for simulation, automatic test pattern generation and verification. Proceedings International Test Conference 1998 (IEEE Cat. No. 98CH36270). Washington, DC, IEEE, 1998, pp. 372-381. https://doi.org/10.1109/TEST.1998.743176

6. Hunt V. D. Reengineering: Leveraging the power of integrated product development. Essex Junction, VT, Oliver Wight Publ., 1993. 256 p.

7. Yang L., Shi C.-J. R. FROSTY: A program for fast extraction of high-level structural representation from circuit description for industrial CMOS circuits. Integration, 2006, vol. 39, iss. 4, pp. 311-339. https://doi.org/10.1016/jvlsi.2005.07.002

8. Han M., Kim H., Gu G., Park K., Han W.-Sh. Efficient subgraph matching: Harmonizing dynamic programming, adaptive matching order, and failing set together. Proceedings of the 2019 International Conference on Management of Data (SIGMOD '19). New York, ACM, 2019, pp. 1429-1446. https://doi.org/10.1145/ 3299869.3319880

9. Rabaey J. M., Chandrakasan A., Borivoje N. Digital integrated circuits. A design perspective. 2nd ed. London, Pearson, 2002. 800 p.

10. Balaji G. N., Aathira V., Ambhikavathi K., Geethiga S., Havin R. Combinational circuits using transmission gate logic for power optimization. International Research Journal of Engineering and Technology (IRJET), 2016, vol. 3, iss. 5, pp. 649-654.

11. Cheremisinov D. I., Cheremisinova L. D. Logical gates recognition in a flat transistor circuit. Informat-ika = Informatics, 2021, vol. 18, no. 4, pp. 83-94. (In Russian). https://doi.org/10.37661/1816-0301-2021-18-4-96-107. - EDN: WDOLYT.

12. Cheremisinov D. I., Cheremisinova L. D. Reverse engineering of VLSI for equipment safety. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh system (MES) = Problems of Advanced Micro- and Nano-electronic Systems Development (MES), 2022, no. 3, pp. 10-17. (In Russian). https://doi.org/10.31114/2078-7707-2022-3-10-17. - EDN: TKHCCS.

13. Cheremisinov D. I. Analysis and transformation of VLSI structural descriptions. Minsk, Belorusskaya nauka Publ., 2006. 275 p. (In Russian).

Информация об авторах

Черемисинов Дмитрий Иванович - кандидат технических наук, доцент, ведущий научный сотрудник Объединенного института проблем информатики Национальной академии наук Беларуси (Беларусь, 220012, г. Минск, ул. Сурганова, 6), [email protected]

Черемисинова Людмила Дмитриевна - доктор технических наук, профессор, главный научный сотрудник Объединенного института проблем информатики Национальной академии наук Беларуси (Беларусь, 220012, г. Минск, ул. Сурганова, 6), [email protected]

Information about the authors

Dmitry I. Cheremisinov - Cand. Sci. (Eng.), Assoc. Prof., Leading Reseacher, The United Institute of Informatics Problems of the National Academy of Sciences of Belarus (Belarus, 220012, Minsk, Surganov st., 6), [email protected]

Liudmila D. Cheremisinova - Dr. Sci. (Eng.), Prof., Chief Reseacher, The United Institute of Informatics Problems of the National Academy of Sciences of Belarus (Belarus, 220012, Minsk, Surganov st., 6), [email protected]

Поступила в редакцию / Received 21.03.2024 Поступила после рецензирования / Revised 05.06.2024 Принята к публикации / Accepted 11.12.2024

Издательско-полнграфнческий комплекс Национального исследовательского университета «МИЭТ»

информирует

Вышло в свет учебное пособие

Самохин В. И., Самохин Д. В., Камолов М. М. Электротехника : учеб. пособие. М.: МИЭТ, 2024.180 с.: ил.

R. И. Гашпин. Д. В. Самтин. М. Ч. Каыаюн

Электротехника

Учебное пособие

«О

ISBN 978-5-7256-1024-6

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

Для студентов, изучающих дисциплины «Электротехника», «Теория электрических цепей» и «Теоретические основы электротехники. Переходные процессы». Может быть рекомендовано для самостоятельного изучения и в качестве дополнительного материала для расчёта курсовых работ, подготовки к семинарам, лабораторным работам и экзаменам.

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