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

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

CC BY
105
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА ВЫПОЛНИМОСТИ БУЛЕВЫХ ФОРМУЛ (SAT-ПОДХОД) / СИСТЕМА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ (САПР) / ПРОГРАММИРУЕМАЯ ЛОГИЧЕСКАЯ ИНТЕГРАЛЬНАЯ СХЕМА / ПЛИС / ТРАССИРОВКА / ОСТРОВНАЯ АРХИТЕКТУРА / АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ ТЕСТОВ / ВЕРИФИКАЦИЯ СБИС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Заплетина Мария Андреевна, Жуков Денис Владимирович, Гаврилов Сергей Витальевич

Методы анализа выполнимости булевых формул являются одним из эффективных подходов к решению задачи булевого сопоставления и проверки эквивалентности цифровых схем. В комбинации с классическими трассировочными алгоритмами и оптимизационными техниками данные методы показывают результаты, превосходящие классические алгоритмы трассировки по скорости работы и качеству получаемого результата. В работе выполнен анализ современной практики применения методов на основе задачи выполнимости булевых формул в системах автоматизации проектирования сверхбольших интегральных схем. Рассмотрены примеры подходов на основе задачи выполнимости булевых формул к задачам трассировки и формальной проверки эквивалентности описаний цифровых схем в рамках технологического отображения в составе маршрута проектирования ПЛИС. Разработан и представлен алгоритм детальной трассировки блоков коммутации ПЛИС с применением задачи выполнимости. Результаты его работы продемонстрированы на примере программируемого логического блока интегральной микросхемы российского производства 5400ТР094. Блок имеет островную архитектуру, т.е. малые программируемые логические блоки и блоки коммутации образуют регулярно повторяющуюся схемотехническую структуру. Свойства выбранной классической архитектуры позволяют расширить область применения предложенного алгоритма на весь класс ПЛИС островного типа. Тестирование алгоритма проведено на наборах проектных схем ISCAS-85, ISCAS-89 и LGSynth-89. Выполнено сравнение разработанного алгоритма на основе методов анализа выполнимости булевых формул с известным алгоритмом трассировки Pathfinder по критериям затраченного времени и достигнутой степени разводимости блоков коммутации. Установлено, что методы анализа выполнимости булевых формул для задачи трассировки способны к доказательству неразводимости рассматриваемой трассировочной задачи в отличие от алгоритма Pathfinder, результаты работы которого могут лишь косвенно свидетельствовать об этом. Показано, что применение более производительного решателя для задачи выполнимости существенно ускоряет работу предложенного алгоритма детальной трассировки.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Заплетина Мария Андреевна, Жуков Денис Владимирович, Гаврилов Сергей Витальевич

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

BOOLEAN SATISFIABILITY METHODS FOR MODERN COMPUTER-AIDED DESIGN PROBLEMS IN MICROELECTRONICS

Currently, the methods based on a Boolean satisfiability (SAT) problem are one of the efficient approaches to solving the problem of Boolean matching and the equivalence checking of digital circuits. In combination with classic routing algorithms and optimization techniques, the SAT methods demonstrate the results exceeding the classic routing algorithms by the operation speed and the quality of obtained results. In the paper, the analysis of the modern practice of using the SAT methods in the CAD systems for VLSI has been performed. The examples of modern SAT approaches to the problems of the formal equivalence checking of digital circuits descriptions within the technological mapping framework and to the routing problem as a part of the FPGA design flow have been considered. The algorithm of the detailed routing of the FPGA switching blocks using the satisfiability problem has been developed and presented. The results of its work have been demonstrated on the example of the programmable logic block of the domestic made integrated circuit 5400TP094. The block has the island architecture, where the configurable logic blocks and switching blocks form a regularly repeated layout template. The properties of the chosen classic architecture permit to expand the region of presented algorithm to the entire class of island style FPGA. The algorithm has been tested on the project benchmarks ISCAS-85, ISCAS-89 and LGSynth-89. The comparison of the developed SAT-based algorithm with the well-known routing algorithm Pathfinder by criteria of the elapsed time and the achieved portion of routed nets in the switching blocks is presented. It has been determined that the considered Boolean satisfiability methods for the routing problem are capable to prove the circuit unroutability, unlike the algorithm Pathfinder which results can only implicitly indicate it. The paper demonstrates that the application of more efficient SAT solver significantly accelerates work of the suggested detailed routing algorithm.

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

СХЕМОТЕХНИКА И ПРОЕКТИРОВАНИЕ CIRCUIT ENGINEERING AND DESIGN

УДК 621.3.049.771.14:621.3.062 DOI: 10.24151/1561-5405-2020-25-6-525-538

Методы анализа выполнимости булевых формул для современных задач систем автоматизации проектирования в микроэлектронике

М.А. Заплетина, Д.В. Жуков, С.В. Гаврилов

Институт проблем проектирования в микроэлектронике Российской академии наук, г. Москва, Россия

zapletina_m@ippm.ru

Методы анализа выполнимости булевых формул являются одним из эффективных подходов к решению задачи булевого сопоставления и проверки эквивалентности цифровых схем. В комбинации с классическими трассировочными алгоритмами и оптимизационными техниками данные методы показывают результаты, превосходящие классические алгоритмы трассировки по скорости работы и качеству получаемого результата. В работе выполнен анализ современной практики применения методов на основе задачи выполнимости булевых формул в системах автоматизации проектирования сверхбольших интегральных схем. Рассмотрены примеры подходов на основе задачи выполнимости булевых формул к задачам трассировки и формальной проверки эквивалентности описаний цифровых схем в рамках технологического отображения в составе маршрута проектирования ПЛИС. Разработан и представлен алгоритм детальной трассировки блоков коммутации ПЛИС с применением задачи выполнимости. Результаты его работы продемонстрированы на примере программируемого логического блока интегральной микросхемы российского производства 5400ТР094. Блок имеет островную архитектуру, т.е. малые программируемые логические блоки и блоки коммутации образуют регулярно повторяющуюся схемотехническую структуру. Свойства выбранной классической архитектуры позволяют расширить область применения предложенного алгоритма на весь класс ПЛИС островного типа. Тестирование алгоритма проведено на наборах проектных схем ISCAS-85, ISCAS-89 и LGSynth-89. Выполнено сравнение разработанного алгоритма на основе методов анализа выполнимости булевых формул с известным алгоритмом трассировки Pathfinder по критериям затраченного времени и достигнутой степени разводимости блоков коммутации. Установлено, что методы анализа выполнимости булевых формул для задачи трассировки способны к доказательству неразводимости рассматриваемой трассировочной задачи в отличие от алгоритма Pathfinder, результаты работы которого могут лишь косвенно свидетельствовать об этом. Показано, что

© М.А. Заплетина, Д.В. Жуков, С.В. Гаврилов, 2020

применение более производительного решателя для задачи выполнимости существенно ускоряет работу предложенного алгоритма детальной трассировки.

Ключевые слова: задача выполнимости булевых формул (SAT-подход); система автоматизации проектирования (САПР); программируемая логическая интегральная схема; ПЛИС; трассировка; островная архитектура; автоматическая генерация тестов; верификация СБИС

Для цитирования: Заплетина М.А., Жуков Д.В., Гаврилов С.В. Методы анализа выполнимости булевых формул для современных задач систем автоматизации проектирования в микроэлектронике // Изв. вузов. Электроника. 2020. Т. 25. № 6. С. 525-538. DOI: 10.24151/1561-5405-2020-25-6-525-538

Boolean Satisfiability Methods for Modern Computer-Aided Design Problems in Microelectronics

M.A. Zapletina, D.V. Zhukov, S.V. Gavrilov

Institute for Design Problems in Microelectronics of Russian Academy of Sciences, Moscow, Russia

zapletina_m@ippm.ru

Abstract: Currently, the methods based on a Boolean satisfiability (SAT) problem are one of the efficient approaches to solving the problem of Boolean matching and the equivalence checking of digital circuits. In combination with classic routing algorithms and optimization techniques, the SAT methods demonstrate the results exceeding the classic routing algorithms by the operation speed and the quality of obtained results. In the paper, the analysis of the modern practice of using the SAT methods in the CAD systems for VLSI has been performed. The examples of modern SAT approaches to the problems of the formal equivalence checking of digital circuits descriptions within the technological mapping framework and to the routing problem as a part of the FPGA design flow have been considered. The algorithm of the detailed routing of the FPGA switching blocks using the satisfiability problem has been developed and presented. The results of its work have been demonstrated on the example of the programmable logic-block of the domestic made integrated circuit 5400TP094. The block has the island architecture, where the configurable logic blocks and switching blocks form a regularly repeated layout template. The properties of the chosen classic architecture permit to expand the region of presented algorithm to the entire class of island style FPGA. The algorithm has been tested on the project benchmarks ISCAS-85, ISCAS-89 and LGSynth-89. The comparison of the developed SAT-based algorithm with the well-known routing algorithm Pathfinder by criteria of the elapsed time and the achieved portion of routed nets in the switching blocks is presented. It has been determined that the considered Boolean satisfiability methods for the routing problem are capable to prove the circuit unroutability, unlike the algorithm Pathfinder which results can only implicitly indicate it. The paper demonstrates that the application of more efficient SAT solver significantly accelerates work of the suggested detailed routing algorithm.

Keywords. Boolean satisfiability problem; SAT; computer-aided design; CAD; FPGA; routing; island architecture; ATPG; VLSI verification

For citation. Zapletina M.A., Zhukov D.V., Gavrilov S.V. Boolean satisfiability methods for modern computer-aided design problems in microelectronics. Proc. Univ. Electronics, 2020, vol. 25, no. 6, pp. 525-538. DOI. 10.24151/1561-5405-2020-25-6-525538

Введение. Задача выполнимости для заданной булевой формулы (Boolean satisfability problem, SAT) позволяет найти такую подстановку входных переменных, которая обращает значение этой формулы в истинное. Если подобная подстановка может быть найдена, формула является выполнимой, в противном случае формула невыполнима. Наряду с родственным ему методом резолюций [1] в настоящее время SAT-подход часто применяется для решения задач автоматизации проектирования в микроэлектронике.

Задача выполнимости булевой формулы стала одной из первых задач с доказанной NP-полнотой (теорема Кука - Левина [2, 3]). Это означает, что существование эффективного универсального алгоритма для всей группы задач выполнимости (как и доказательство его отсутствия) эквивалентно одному из центральных вопросов теории сложности о равенстве между классами P и NP. Но, несмотря на то что в настоящее время известны только алгоритмы решения задач выполнимости с экспоненциальной сложностью, на практике многие современные SAT-решатели способны находить решение конкретных сложных задач за приемлемое время.

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

Современные SAT-решатели [4] - программы для доказательства выполнимости (или невыполнимости) передаваемой им булевой формулы - эффективно решают задачи, содержащие сотни тысяч литералов и миллионы ограничений [5, 6]. Это значительным образом определяет круг возможных задач, для которых могут применяться методы анализа выполнимости булевых формул. Так, например, подход к детальной трассировке подразумевает использование менее 100 литералов и до 350 ограничений в составе финальной булевой системы для каждого блока коммутации. С учетом высокой доли разведенных схем эта информация свидетельствует в пользу уместности использования SAT-методов в данном случае.

В последние два десятилетия отмечается ускоренный рост производительности SAT-решателей. Наглядно этот процесс отражают результаты ежегодных международных соревнований [6-8]. Одна из ключевых причин постоянного совершенствования методов решения задач выполнимости - широкий спектр их практического применения в различных областях науки и техники (искусственный интеллект, биоинформатика, верификация аппаратного и программного обеспечения, автоматическое доказательство теорем и др.). Методы анализа выполнимости активно применяются и для задач систем автоматизации проектирования.

Цель настоящей работы - демонстрация возможностей SAT-подхода, свойственных ему ограничений и наиболее частых способов повышения производительности алгоритмов на его основе.

Методы анализа выполнимости булевых формул для задач современных

САПР. Для области проектирования микроэлектроники методы анализа выполнимости булевых формул являются сравнительно новыми. Рассмотрим примеры того, как SAT-методы и основанные на них алгоритмы позволяют решать некоторые сложные задачи САПР.

SAT-методы для задач технологического отображения. Технологическое отображение является одним из важнейших этапов маршрута проектирования на ПЛИС. Его назначение состоит в конвертации булевого представления проектной схемы из общего вида в функционально эквивалентную сеть программируемых логических ячеек целевой ПЛИС. Задача формальной проверки эквивалентности описаний цифровых схем является необходимой составляющей процедур логического синтеза и формальной верификации в составе маршрута проектирования СБИС. Подход, представленный в [9], эффективно решает ее для схем с сотнями и тысячами входов и выходов. При поиске решения, кроме перестановок входов и выходов, допускалось наличие инверсии на них. Гибридный подход на основе [9] обеспечил коллективу авторов работы [10] первое место среди участников соревнования по алгоритмам и методам булевого сопоставления, проводимого в рамках конференции ICCAD в 2016 г.

Опишем основной принцип применения методов выполнимости булевых формул для задачи проверки эквивалентности. Пусть две булевы функции f и g, имеющие по одному выходу, эквивалентны. В терминах SAT-подхода это означает, что булева формула f Ф g невыполнима для всех входных значений этих функций. В этом случае f Ф g = g Ф f = 0, где Ф - логическая операция исключающего ИЛИ. В обратном случае, если формула f Ф g выполнима, функции f и g не являются эквивалентными. Найденные при этом наборы входных значений могут быть использованы в качестве тестовых векторов для функциональной верификации [11, 12], если f и g представляют реализованную в кристалле функцию и ее спецификацию.

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

Применение методов анализа выполнимости в составе расширения системы ABC [13] для технологически независимой логической оптимизации и структурного ресин-теза комбинационной логики описано в работе [14]. Авторы показали, как решатель MiniSAT [15] используется совместно с интерполяционным пакетом, преобразующим булевы функции узлов схемы после ресинтеза, для доказательства корректности проведенной процедуры. Практические результаты исследования сконцентрированы на минимизации числа межсоединений конечного отображения проектной схемы в базисе ПЛИС. Оптимизация занимаемой площади и задержек межсоединений также предусмотрена. Однако, по мнению исследователей [14], специфика этих критериев требует дальнейшего изучения. Тестирование работы предложенного метода проводилось на наборе схем, содержащих от 800 до 20 000 шестивходовых LUT. Важное преимущество метода состоит в масштабируемости и возможности его применения в промышленном дизайне.

Методы анализа выполнимости булевых формул используются при решении задач в рамках технологического отображения. Работы в этой области демонстрируют результаты использования SAT-методов, которые выгодно отличают их от других подходов [10]. Одновременно с постоянным совершенствованием SAT-решателей это вызывает интерес исследователей и стимулирует дальнейшее развитие методов анализа выполнимости как самодостаточного методологического направления.

SAT-методы для трассировки ПЛИС. Значительная часть исследовательских работ по решению задачи трассировки в рамках маршрута топологического проектирования на базе ПЛИС посвящена применению методов анализа выполнимости булевых формул. Так, алгоритмы оценки разводимости размещений и трассировки представлены в работах [16-20]. Особенность трассировки на основе SAT-методов заключается в одновременном поиске решения для всего списка межсоединений, а не итерационно для каждой цепи. Это позволяет отказаться от приема разрыва и перетрассировки [21], широко применяемого для классических алгоритмов.

В исследовании [16] предложен метод для представления трассировочных ограничений в виде одной булевой формулы. Любое ее решение - это полное детальное трассировочное решение. Запись задачи трассировки в форме диаграммы двоичных решений (binary decision diagram, BDD) позволяет одновременно перечислить все возможные маршруты для всех цепей. Общий вид структуры ПЛИС с архитектурой островного типа, для которой в [16] решена задача трассировки, представлен на рис.1. Программируемые логические блоки и блоки коммутации в этом случае образуют регулярно повторяющуюся схемотехническую структуру.

Рис.1. Структура ПЛИС с архитектурой островного типа: CLB - программируемый логический блок;

S-block (SB) и C-block (CB) - блоки коммутации двух типов [16] Fig.1. Island style FPGA architecture model: CLB - configurable logic block; S-block (SB) - switch block,

and C-block (CB) - connection block [16]

Рассмотрим базовые этапы выполнения трассировки с применением задачи анализа выполнимости булевых формул. На первом этапе происходит разделение трассировочных ресурсов ПЛИС на области и/или элементы, которым присваиваются уникальные имена, в дальнейшем используемые в качестве переменных булевой системы ограничений. Так, в [16] введены переменные (уникальные имена) для обозначения доступных для трассировки магистралей ПЛИС, программируемых коммутационных ключей, находящихся на них, входов-выходов блоков коммутации, коммутационных элементов внутри них и др. На втором этапе глобальный алгоритм трассировки выстраивает все возможные маршруты для каждой проектной цепи в терминах введенных обозначений. В формируемую впоследствии булеву формулу переменная входит в прямом виде, если

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

Недостаток представленного метода - необходимость его адаптации для работы на топологиях с большим объемом трассировочных ресурсов, что вызвано генерацией чрезмерно сложных булевых формул из-за высокой гибкости трассировочного решения. Преимущество метода заключается в его эффективности для быстрой оценки раз-водимости отдельных областей ПЛИС (например, отдельного канала или блока коммутации). В [17] представлен обновленный вариант данного метода. Важный результат этой работы заключается в том, что в ней впервые заявлено о том, что SAT-методы могут гарантированно выявлять принципиально не разводимые размещения. Оптимизация метода формирования конечной булевой системы полного трассировочного решения и применение более эффективного на больших задачах SAT-решателя GRASP [22] позволили расширить область использования предложенного метода для оценки разводи-мости всей ПЛИС, а не только отдельных ее областей. Недостатком метода можно считать наличие примеров задач, для которых поиск решения или его отсутствия требует много времени (24 ч) [17].

В работе [18] рассмотрено применение методов анализа выполнимости к детальной трассировке. Главная особенность представленного метода состоит в том, что наборы трассировочных ограничений сформулированы в терминах возможных маршрутов для цепей, назначенных на блок коммутации, а не в терминах доступных трассировочных ресурсов (магистралей, ключей и т.д.). В этом случае переменными базовой КНФ-формулы являются не уникальные имена всех доступных элементов трассировочных ресурсов, а индексы целостных маршрутов для каждой из проектных цепей. Поскольку один маршрут объединяет ряд магистралей и коммутационных ключей, метод позволяет сформировать более простую и короткую булеву формулу для искомого трассировочного решения. Однако с ростом значения параметра связности Fc блоков коммутации число возможных маршрутов растет экспоненциально, что потенциально может быть проблемой. Здесь и далее параметр связности отражает число терминалов коммутационного блока, с которыми может быть скоммутирован один его терминал.

В работе [19] проведено сравнение двух методов решения задачи трассировки -анализа выполнимости булевых формул и целочисленного линейного программирования. Экспериментальные результаты показали преимущество первого метода как по скорости работы алгоритма, так и по качеству найденного решения. Тем не менее в [18, 19] отмечаются некоторые ограничения по применению современных SAT-методов трассировки для ПЛИС c высокой степенью интеграции, что характеризует усовершенствование этих методов как актуальную исследовательскую задачу.

Стратегия комбинированного применения классического алгоритма трассировки Pathfinder [23] и подхода на основе анализа выполнимости булевых формул представлена в [20]. Несмотря на то что Pathfinder является одним из наиболее известных и часто используемых алгоритмов трассировки, он имеет весомый недостаток. Если конкретное размещение является неразводимым, то это нельзя определить в самом начале процедуры трассировки. Pathfinder в таком случае совершает большое количество итераций до тех пор, пока не достигнет заранее заданного ограничения работы (например, по ее длительности), так и не получив сходимости решения. Для нивелирования этого недостатка в работе [20] предложено следующее. Раз в несколько итераций алгоритма Pathfinder выполняется построение булевой формулы на основе набора всех ранее найденных детальных трассировочных решений для каждого двухтерминального межсоединения. При этом в качестве булевых переменных, как и в работе [18], используются индексы возможных маршрутов цепей. Анализ полученной булевой формулы в SAT-решателе позволяет выяснить, были ли за все время работы Pathfinder найдены такие детальные решения для всех межсоединений, которые в комбинации дадут корректное полное трассировочное решение. Такая проверка способна сократить количество генерируемых Pathfinder детальных трассировочных решений и найти решение до того момента, как будет достигнута естественная сходимость Pathfinder, при условии, что она возможна в данном случае. Данный метод в ряде случаев позволяет улучшить суммарное время трассировки по сравнению с классическим алгоритмом Pathfinder. Если принять во внимание другие алгоритмы и методы трассировки, то комбинирование SAT-подхода, например, с алгоритмом Frontier [24] обеспечивает в разы меньшее суммарное время трассировки по сравнению с алгоритмом, описанным в [20], без потери качества решения. В целом рассмотренные работы позволяют сделать вывод о жизнеспособности идеи комбинирования методов анализа выполнимости булевых формул с классическими алгоритмами трассировки.

В работе [25] представлены два подхода к формулировке задачи выполнимости булевых формул для трассировки сетей синхросигналов для семейства архитектур Xilinx UltraScale. Применение нового алгоритма вызвано необходимостью решения сложной задачи трассировки межсоединений при наличии большого количества синхронизационных доменов. В основе представленного алгоритма лежит модель ориентированного ациклического графа трассировочных ресурсов. Первый подход (бинарный) используется для уменьшения количества переменных итоговой булевой формулы методом логарифмического кодирования. Второй подход (унарный) применяется для создания более компактной булевой формулы разными способами обхода графов. Унарная формулировка SAT-задачи применена в ряде других работ [26, 27]. SAT-подход с ее использованием [28] как наиболее эффективный из двух внедрен в среду проектирования Vivado Design Suite [29] компании Xilinx.

Рассмотренные применения методов анализа выполнимости булевых формул для задач трассировки ПЛИС позволяют сделать следующие выводы. Будучи скомбинированными с классическими трассировочными алгоритмами [20, 24], они показывают результаты, превосходящие классические алгоритмы по скорости работы и качеству получаемого результата. Кроме того, современные вариации SAT-методов для задачи трассировки являются частью коммерческих сред проектирования [28], что свидетельствует в пользу их актуальности и соответствия требованиям отрасли в настоящее время.

SAT-подход к детальной трассировке блоков коммутации. SAT-подход к детальной трассировке блоков коммутации предназначен для второго этапа двухуровневой трассировки ПЛИС островного типа. Такой тип ПЛИС подразумевает наличие про-

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

На этапе глобальной трассировки каждому блоку коммутации устанавливается в соответствие множество из п цепей Е = {е1,е2,.. .,£„}, в котором каждой цепи е/ еЕ соответствует множество терминалов блока коммутации Т = где терминал ¿0 е Т является источником, а подмножество ^} ^ Т - приемниками сигнала. Все

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

Структура трассировочных ресурсов программируемого блока тестового кристалла ПАЦИС 5400ТР094 [30] предполагает наличие двух типов коммутационных блоков, отличающихся значением параметра связности Fc. Терминалы блока типа SB могут быть скоммутированы с тремя терминалами того же разряда на трех других сторонах блока, т.е. Fc = 3. Терминалы второго типа CB могут быть соединены с терминалами блока на всех четырех сторонах, поэтому Fc = 4 (рис.2). Отметим, что для наглядности разрядность блоков коммутации на рис.2 не соответствует реальной на кристалле ПАЦИС 5400ТР094 [30].

5678 5678

Рис.2. Детальная трассировка блоков коммутации типа CB: а - входные данные (каждая назначенная на блок цепь имеет оригинальное обозначение терминалов, стрелка указывает направление к приемникам сигнала); б - результат

процедуры трассировки (занятые магистрали выделены жирным) Fig.2. The CB switchbox detailed routing task: a - the input data (each net assigned to switchbox has an original terminals symbol and their arrows point to the targets); b - the routing procedure results (bold lines are busy)

Рассмотрим алгоритм детальной трассировки [31] блока коммутации. Он имеет итерационный характер, выражающийся в пошаговом перестроении системы булевых ограничений с учетом ранее найденных решений и возникающих перегрузок. Сгенерированный набор логических ограничений впоследствии объединяется в КНФ-формулу и передается на анализ с помощью SAT-решателя. Алгоритм перемещается по элемен-

там множества цепей Е = {е1,е2,...,еп}, присвоенных данному коммутационному блоку на этапе глобальной трассировки, и для каждого межсоединения ei е E выполняет следующие процедуры:

Шаг 1. Создание текущей системы булевых уравнений:

1) добавление базовых ограничений блока на основе его схемотехники;

2) добавление ранее найденных решений (занятых магистралей и ключей);

3) добавление терминалов цепи Т = {t0, tx,..., tk }, Tee.;

4) добавление прочих исключений.

Шаг 2. Анализ составленной системы посредством SAT-решателя. Если трассировка блока типа CB невозможна, выполняется:

1) проверка наличия свободных магистралей;

2) проверка конкретных магистралей;

3) переработка ограничений и исключений;

4) обратный переход к трассировке первой цепи блока e е E.

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

Шаг 3. Переход к eM и шагу 1 до тех пор, пока i < n.

Шаг 4. Трассировка блока коммутации закончена с положительным результатом, если найдены все необходимые пути, в противном случае трассировка завершена неудачно.

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

RouteFormula( x) = baseA conn( x) л liveA exc(b),

где base - базовые ограничения блока на основе его схемотехники; conn( x) - терминалы цепи, которые используются на текущей итерации; live - уравнения, задающие элементы внутренней конструкции блока (например, магистрали) и использующиеся на данной итерации; exc(b) - набор булевых ограничений на коммутационные ресурсы блока, основывающийся на ранее найденных решениях и перегрузках, возникших на текущем шаге.

Нужно отметить разницу между двумя типами блоков на этапе составления базовых ограничений, наследуемую от схемотехники. Для описания блока типа SB требуется намного больше условий, поскольку возможные пути сигнала в нем сильно ограничены в отличие от блока CB. Суть базовых ограничений состоит в том, чтобы исключить все маршруты сигнала для каждого терминала, кроме тех, которые обеспечены наличием легальных схемотехнических путей.

Численные эксперименты для представленного алгоритма выполнены на основе программируемого логического блока интегральной микросхемы российского производства 5400ТР094 [30] с применением тестовых схем ISCAS-85, ISCAS-89 и LGSynth-89 [32], выборка из которых представлена в табл.1. Расчеты проводились на персональном компьютере с процессором Intel Core i5-7400 с тактовой частотой 3,0 ГГц и 8 Гб ОЗУ. Для программирования доступны 1794 логических элемента.

Таблица 1

Количественные характеристики тестовых проектных схем

Table 1

The numerical characteristics of the test circuits

Схема Проектные цепи Логические элементы Коммутационные блоки

c17 10 4 19

c432 118 82 303

c499 154 113 587

c880 204 144 628

c1355 154 113 597

c1908 178 145 623

c3540 578 528 1477

c6288 819 787 2072

misex3 641 627 1880

x4 syn 286 192 882

Для демонстрации влияния алгоритма, лежащего в основе используемого SAT-решателя, составлена табл.2, в которой столбцы SAT(1) и SAT(2) отражают время детальной трассировки на основе двух разных SAT-решателей. Процедура плоской и этап глобальной иерархической трассировки выполнены алгоритмом Pathfinder. В основе обоих SAT-решателей - алгоритм Дэвиса - Патнема - Логемана - Лавленда (DPLL, [33]).

Таблица 2

Результаты трассировки с помощью алгоритма Pathfinder и итерационного алгоритма на основе SAT-подхода

Table 2

The routing results obtained by classical Pathfinder algorithm and the proposed iterative SAT based algorithm

Схема Время плоской трассировки,с Время глобальной трассировки, с SAT (1), с SAT (2), с Pathfinder, с

x4 synth 207,58 43,075 1,94 0,782 0,18

c1355 99,812 22,051 0,893 0,406 0,107

c1908 98,908 21,881 0,922 0,408 0,106

c3540 149,093 37,4 4,119 1,983 0,46

c6288 102,201 23,12 3,618 1,669 0,405

s838 14,975 7,997 0,433 0,188 0,056

s1488 84,01 37,053 2,252 1,064 0,277

c880 99,658 24,451 1,001 0,425 0,111

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

c432 51,737 10,421 0,52 0,21 0,053

c499 115,628 26,464 0,834 0,371 0,093

test_2 230,95 157,276 5,193 2,431 0,597

test_4 130,876 59,703 4,701 1,95 0,463

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

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

Литература

1. Гаврилов С.В., Глебов А.Л., Стемпковский А.Л. Методы логического и логико-временного анализа цифровых КМОП СБИС. M.: Наука, 2007. 223 c.

2. Cook S. The complexity of theorem proving procedures // Proc. of the Third Annual ACM Symposium on Theory of Computing. 1971. P. 151-158.

3. Левин Л.А. Универсальные задачи перебора // Проблемы передачи информации. 1973. Т. 9. № 3. С. 115-116.

4. SAT-solving in practice, with a tutorial example from supervisory control / C. Koen, N. Een, M. Sheeran et al. // Discrete Event Dynamic Systems. 2009. Vol.19 (4). P. 495-524.

5. Ohrimenko O., Stuckey P.J., Codish M. Propagation = Lazy clause generation // Principles and Practice of Constraint Programming - CP 2007 Lecture Notes in Computer Science / Ed. by C. Bessiere. Berlin, Heidelberg: Springer, 2007. P. 544-558.

6. Jarvisalo M., Le Berre D., Roussel O., Simon L. The international sat solver competitions // AI Mag. 2012. Vol. 33 (1). P. 89-92.

7. Marques-Silva J. Practical applications of Boolean satisfiability // Proc. of the 9th International Workshop on Discrete Event Systems (Goteborg, Sweden, May 2008). 2008. P. 74-80.

8. The International SAT Competition Web Page. URL: http://www.satcompetition.org/ (дата обращения: 29.04.2020).

9. Katebi H., Markov I.L. Large-scale Boolean matching // 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010). Dresden, 2010. P. 771-776.

10. A two-step search engine for large scale boolean matching under NP3 equivalence / C. Pui, P. Tu, H. Li et al. // 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC). Jeju, 2018. P. 592-598.

11. Dehbashi M., Fey G. Debug automation for synchronization bugs at RTL // 27th Intern. Conf. on VLSI Design and 2014 13th International Conference on Embedded Systems. 2014. P. 44-49.

12. Гаврилов С.В. Методы анализа логических корреляций для САПР цифровых КМОП СБИС. М.: Техносфера, 2011. 136 c.

13. ABC: A system for sequential synthesis and verification. URL: https://people.eecs.berkeley.edu/~alanmi/abc/ (дата обращения: 31.05.2020).

14. Mishchenko A., Brayton R., Jiang J.-H. R., Jang S. SAT-based logic optimization and resynthesis // Proc. IWLS. 2007. P. 358-364.

15. Een N., Sorensson N. An extensible SAT-solver // SAT'03. URL: http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat (дата обращения: 31.05.2020).

16. Wood R.G., Rutenbar R.A. FPGA routing and routability estimation via boolean satisfiability // IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 1998. Vol. 6. No. 2. P. 222-231.

17. Nam G.-J., Sakaliah K.A., Rutenbar R.A. Satisfiability-based layout revisited: detailed routing of complex FPGAs via search-based boolean SAT // Proc. of the 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Arrays (Feb. 1999). 1999. P. 167-175.

18. Nam G.-J., Aloul F., Sakallah K.A., Rutenbar R.A. A comparative study of two Boolean formulations of FPGA detailed routing constraints // IEEE Transactions on Computers. 2001. Vol. 53. No. 6. P. 688-696.

19. Nam G.-J., Sakallah K.A., Rutenbar R.A. A new FPGA detailed routing approach via search-based Boolean satisfiability // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2002. Vol. 21. No. 6. P. 674-684.

20. Nam G.-J., Sakallah K., Rutenbar R.A. Hybrid routing for FPGAs by integrating boolean satisfiability with geometric search // Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream Lecture Notes in Computer Science / Ed. by M. Glesner, P. Zipf, M. Renovell. Berlin, Heidelberg: Springer Berlin Heidelberg, 2002. P. 360-369.

21. Железников Д.А., Заплетина М.А., Хватов В.М. Исследование механизма разрыва и перетрассировки на этапе топологического синтеза в базисе реконфигурируемых систем на кристалле // Проблемы разработки перспективных микро- и наноэлектронных систем МЭС. 2018. С. 188-192.

22. Marques Silva J.P., Sakallah K. GRASP - a new search algorithm for satisfiability // Proc. of the 1996 IEEE/ACM International Conference on Computer-Aided Design (ICCAD '96). IEEE Computer Society, USA, 1997. P. 220-227.

23. McMurchie L.E., Ebeling C. PathFinder: a negotiation-based path-driven router for FPGAs // Proc. ACM/IEEE Int. Symposium on Field Programmable Gate Arrays (Feb. 1995). 1995. P. 111-117.

24. Liu Z., Yu Z., Gu X. A new and efficient algorithm for FPGA routing // 2007 2nd IEEE Conference on Industrial Electronics and Applications. Harbin, 2007. P. 1431-1436.

25. Fraisse H., Joshi A., Gaitonde D., Kaviani A. Boolean satisfiability-based routing and its application to xilinx ultrascale clock network // Proc. of the 2016 ACM/SIGDA Intern. Symposium on Field-Programmable Gate Arrays (FPGA '16). 2016. P. 74-79.

26. Board-level multiterminal net assignment for the partial cross-bar architecture / X. Song, W.N.N. Hung, A. Mishchenko et al. // IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 2003. Vol. 11. No. 3. P. 511-514.

27. Velev M.N., Gao P. Comparison of boolean satisfiability encodings on FPGA detailed routing problems // 2008 Design, Automation and Test in Europe. Munich, 2008. P. 1268-1273.

28. Fraisse H. Incremental routing for circuit designs using a SAT router // Pat. 10445456 USA. 2019.

29. Xilinx Vivado Design Suite. URL: https://www.xilinx.com/products/design-tools/vivado.html (дата обращения: 31.05.2020).

30. ДЦ «Союз»: 5400ТР094 ПАЦИС. URL: https://dcsoyuz.ru/products/pais/art/1605 (дата обращения: 09.07.2020).

31. Zhukov D. V., Zheleznikov D.A., Zapletina M.A. The iterative SAT based approach to detailed routing for reconfigurable system-on-a-chip // 2020 IEEE Conf. of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). 2020. P. 1905-1910.

32. Наборы тестовых схем ISCAS'89 и LGSynth'89. URL: https://ddd.fit.cvut.cz/prj/Benchmarks/ (дата обращения: 09.07.2020).

33. Davis M., Logemann G., Loveland D. A machine program for theorem-proving // Commun. ACM. 1962. Vol.5. No. 7. P. 394-397.

Поступила в редакцию 23.07.2020 г.; после доработки 23.07.2020 г.; принята к публикации 22.09.2020 г.

Заплетина Мария Андреевна - младший научный сотрудник отдела САПР Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул.Советская, 3), zapletina_m@ippm.ru

Жуков Денис Владимирович - инженер-исследователь отдела САПР Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул.Советская, 3), zhukov_d@ippm.ru

Гаврилов Сергей Витальевич - доктор технических наук, профессор, директор Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул.Советская, 3), s.g@ippm.ru

References

1. Gavrilov S.V., Glebov A.L., Stempkovskiy A.L. Methods of logical and logical-time analysis of digital CMOS VLSI. Metody logicheskogo i logiko-vremennogo analiza tsifrovykh KMOP SBIS. Moscow, Nauka Publ., 2007, pp. 73-76. (in Russian).

2. Cook S. The complexity of theorem proving procedures. Proceedings of the Third Annual ACM Symposium on Theory of Computing, 1971, pp. 151-158.

3. Levin L.A. Universal enumeration problems. Problemy peredachi informatsii = Problems of Information Transmission, 1973, vol. 9, no. 3, pp. 115-116. (in Russian).

4. Koen C., Eén N., Sheeran M., Sorensson N., Voronov A., Âkesson K. SAT-solving in practice, with a tutorial example from supervisory control. Discrete Event Dynamic Systems, 2009, vol.19 (4), pp. 495-524.

5. Ohrimenko O., Stuckey P. J., Codish M. Propagation = Lazy Clause Generation. Principles and Practice of Constraint Programming - CP 2007 Lecture Notes in Computer Science. Ed. C. Bessière. Berlin, Heidelberg, Springer, 2007, pp. 544-558.

6. Jârvisalo M., Le Berre D., Roussel O., Simon L. The international sat solver competitions. AI Mag, 2012, vol. 33 (1), pp. 89-92.

7. Marques-Silva J. Practical applications of Boolean satisfiability. Proceedings of the 9th International Workshop on Discrete Event Systems. Goteborg, Sweden, May 2008, pp. 74-80.

8. The International SAT Competition Web Page. Available at: http://www.satcompetition.org/ (accessed: 20.07.2020).

9. Katebi H., Markov I.L. Large-scale Boolean matching. 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010). Dresden, 2010, pp. 771-776.

10. Pui C., Tu P., Li H., Chen G., Young E.F.Y. A two-step search engine for large scale boolean matching under NP3 equivalence. 2018 23rd Asia and South Pacific Design Automation Conference (ASP-DAC). Jeju, 2018, pp. 592-598.

11. Dehbashi M., Fey G. Debug Automation for Synchronization Bugs at RTL. 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems, 2014, pp. 44-49.

12. Gavrilov S.V. Methods for analyzing logical correlations for CAD digital CMOS VLSI. Metody analiza logicheskih korrelyacii dlya SAPR SBIS. Moscow, Tehnosfera Publ., 2011. 136 p. (in Russian)

13. ABC: A system for sequential synthesis and verification. Available at: https://people.eecs.berkeley.edu/~alanmi/abc/ (accessed: 20.07.2020).

14. Mishchenko A., Brayton R., Jiang J.-H.R., Jang S. SAT-based logic optimization and resynthesis. Proceedings IWLS, 2007, pp. 358-364.

15. Een N., Sorensson N. An extensible SAT-solver. SAT'03. Available at: http://www.cs.chalmers.se/Cs/Research/FormalMethods/MiniSat_(accessed: 20.07.2020).

16. Wood R.G., Rutenbar R.A. FPGA routing and routability estimation via Boolean satisfiability. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 1998, vol. 6, no. 2, pp. 222-231.

17. Nam G.-J., Sakaliah K.A., Rutenbar R.A. Satisfiability-based layout revisited: detailed routing of complex fpgas via search-based Boolean SAT. Proceedings of the 1999 ACM/SIGDA seventh international symposium on Field programmable gate arrays, February, 1999, pp. 167-175.

18. Nam G.-J., Aloul F., Sakallah K.A., Rutenbar R.A.A comparative study of two Boolean formulations of FPGA detailed routing constraints. IEEE Transactions on Computers, 2001, Vol. 53, no. 6, pp. 688-696.

19. Nam G.-J., Sakallah K.A., Rutenbar R.A. A new FPGA detailed routing approach via search-based Boolean satisfiability. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2002, vol. 21, no. 6, pp. 674-684.

20. Nam G.-J., Sakallah K., Rutenbar R.A. Hybrid Routing for FPGAs by Integrating Boolean Satisfiability with Geometric Search. Field-Programmable Logic and Applications: Reconfigurable Computing Is Going Mainstream Lecture Notes in Computer Science. Ed. by M. Glesner, P. Zipf, M. Renovell. Berlin, Heidelberg, Springer Berlin Heidelberg, 2002, pp. 360-369.

21. Zheleznikov D.A., Zapletina M.A., Khvatov V.M. The rip-up and reroute technique research for physical synthesis in the basis of reconfigurable SoCs. Problems of Advanced Micro- and Nanoelectronic Systems Development (MES-2018), 2018, pp. 188-192. (in Russian).

22. Marques Silva J.P., Sakallah K. GRASP - a new search algorithm for satisfiability. Proceedings of the 1996 IEEE/ACM international conference on Computer-aided design (ICCAD '96). IEEE Computer Society, 1997, USA, pp. 220-227.

23. McMurchie L.E., Ebeling C. PathFinder: a negotiation-based path-driven router for FPGAs. Proceedings of the ACM/IEEE Intl Symposium on Field Programmable Gate Arrays, 1995, pp. 111-117.

24. Liu Z., Yu Z., Gu X. A New and Efficient Algorithm for FPGA Routing. 2007 2nd IEEE Conference on Industrial Electronics and Applications. Harbin, 2007, pp. 1431-1436.

25. Fraisse H., Joshi A., Gaitonde D., Kaviani A. Boolean satisfiability-based routing and its application to Xilinx ultrascale clock network. Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA '16), 2016, pp. 74-79.

26. Song X., Hung W.N.N., Mishchenko A., Chrzanowska-Jeske M., Kennings A., Coppola A. Board-level multiterminal net assignment for the partial cross-bar architecture. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2003, vol. 11, no. 3, pp. 511-514.

27. Velev M.N., Gao P. Comparison of Boolean satisfiability encodings on FPGA detailed routing problems. 2008 Design, Automation and Test in Europe. Munich, 2008. pp. 1268-1273.

28. Fraisse H. Incremental routingfor circuit designs using a SAT router. Patent USA, no. 10445456, 2019.

29. Xilinx Vivado Design Suite. Available at: https://www.xilinx.com/products/design-tools/vivado.html (accessed: 20.07.2020).

30. Design Center «Soyuz»: 5400ТР094 PADIC. Available at: https://dcsoyuz.ru/products/pais/art/1605 (accessed: 20.07.2020). (in Russian).

31. Zhukov D.V., Zheleznikov D.A., Zapletina M.A. The iterative SAT based approach to detailed routing for reconfigurable system-on-a-chip. 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), 2020, pp. 1905-1910.

32. Circuit testbenches ISCAS'89, LGSynth'89. Available at: https://ddd.fit.cvut.cz/prj/Benchmarks/ (accessed: 20.07.2020).

33. Davis M., Logemann G., Loveland D. A machine program for theorem-proving. Commun. ACM, 1962, vol. 5, no. 7, pp. 394-397.

Received 23.07.2020; Revised 23.07.2020; Accepted 22.09.2020. Information about the authors:

Mariya A. Zapletina - Junior Researcher of the CAD Department, Institute for Design Problems in Microelectronics of Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), zapletina_m@ippm.ru

Denis V. Zhukov - Research Engineer of the CAD Department, Institute for Design Problems in Microelectronics of Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), zhukov_d@ippm.ru

Sergey V. Gavrilov - Dr. Sci. (Eng.), Prof., Acting Director, Institute for Design Problems in Microelectronics of Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), s.g@ippm.ru

Информация для читателей журнала «Известия высших учебных заведений. Электроника»

С тематическими указателями статей за 1996 - 2020 гг., аннотациями и содержанием последних номеров на русском и английском языках можно ознакомиться на сайте:

http://ivuz-e.ru

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