Научная статья на тему 'ФОРМИРОВАНИЕ БИБЛИОТЕК СФ-БЛОКОВ В МАРШРУТЕ ПРОЕКТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ СХЕМ НА ПЛИС И РСНК'

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

CC BY
230
38
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СФ-БЛОКИ / МАРШРУТ ПРОЕКТИРОВАНИЯ / САПР / ПЛИС / РСНК / БИБЛИОТЕКА СФ-БЛОКОВ

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

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

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

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

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

COMPLEX FUNCTIONAL BLOCK LIBRARIES FORMATION IN THE DESIGN FLOW OF USER CIRCUITS ON FPGA AND RSOC

Intellectual Property (IP) cores are developed and used to accelerate the custom integrated circuits design flow and improve their final characteristics. There are two types of FPGA IP-cores: hard IP-core and soft IP-core. Hard IP-cores have an exact location and pre-routed interconnects while soft IP-cores can be synthesized from logic elements and should be placed and routed. To use IP-cores in automated design flow of integrated circuits on FPGA and RSoC it is necessary to develop IP-core libraries that allow identifying blocks on every stage of flow. This work shows the various soft and hard IP-core libraries’ types and formats used as a part of design flow for Russian FPGA and RSoC. It describes the methods of designing libraries needed by CAD systems at the stages of logic synthesis, automatic technological mapping and layout synthesis. Also, it considers soft and hard IP-core libraries’ distinct features and the methods of their formation adjusted for the FPGA and RSoC architecture. The design methods have been proposed that allow designing of libraries necessary for automated implementation of hard as well as soft IP-cores using advantage of base FPGA and RSoC architecture.

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

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

УДК 004.31:004.32: 621.3.049.771.14 DOI: 10.24151/1561-5405-2021-26-5-387-398

Формирование библиотек СФ-блоков в маршруте проектирования пользовательских схем на ПЛИС и РСнК

В.М. Хватов, С.В. Гаврилов

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

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

khvatov_v@ippm.ru

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

Ключевые слова: СФ-блоки; маршрут проектирования; САПР; ПЛИС; РСнК; библиотека СФ-блоков

Финансирование работы: работа выполнена при финансовой поддержке РФФИ (проект № 20-37-90047).

© В.М. Хватов, С.В. Гаврилов, 2021

Для цитирования: Хватов В.М., Гаврилов С.В. Формирование библиотек СФ-блоков в маршруте проектирования пользовательских схем на ПЛИС и РСнК // Изв. вузов. Электроника. 2021. Т. 26. № 5. С. 387-398. DOI: https://doi.org/ 10.24151/1561-5405-2021-26-5-387-398

Complex Functional Block Libraries Formation in the Design Flow of User Circuits on FPGA and RSoC

V.M. Khvatov, S. V. Gavrilov

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

National Research University of Electronic Technology, Moscow, Russia khvatov_v@ippm.ru

Abstract: Intellectual Property (IP) cores are developed and used to accelerate the custom integrated circuits design flow and improve their final characteristics. There are two types of FPGA IP-cores: hard IP-core and soft IP-core. Hard IP-cores have an exact location and pre-routed interconnects while soft IP-cores can be synthesized from logic elements and should be placed and routed. To use IP-cores in automated design flow of integrated circuits on FPGA and RSoC it is necessary to develop IP-core libraries that allow identifying blocks on every stage of flow. This work shows the various soft and hard IP-core libraries' types and formats used as a part of design flow for Russian FPGA and RSoC. It describes the methods of designing libraries needed by CAD systems at the stages of logic synthesis, automatic technological mapping and layout synthesis. Also, it considers soft and hard IP-core libraries' distinct features and the methods of their formation adjusted for the FPGA and RSoC architecture. The design methods have been proposed that allow designing of libraries necessary for automated implementation of hard as well as soft IP-cores using advantage of base FPGA and RSoC architecture.

Keywords: complex functional block; IP-cores; design flow; computer aided design; CAD; field-programmable gate array; FPGA; IP-core library; integrated circuit; IC

Funding: the study has been supported by the Russian Foundation for Basic Research (project № 20-37-90047).

For citation: Khvatov V.M., Gavrilov S.V. Complex functional block libraries formation in the design flow of user circuits on FPGA and RSoC. Proc. Univ. Electronics, 2021, vol. 26, no. 5, pp. 387-398. DOI: https://doi.org/ 10.24151/1561-5405-2021-265-387-398

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

денческой модели до проектирования топологии. Гибкие СФ-блоки разрабатываются на языке описания аппаратуры и, соответственно, не зависят от архитектуры ПЛИС или программируемой части РСнК. Оба типа СФ-блоков должны учитываться в САПР для автоматизированного проектирования ИС на ПЛИС и РСнК [1].

В литературных источниках описаны методы разработки ИС на ПЛИС как с СФ-блоками в составе схем, так и без них. В работах представлены различные этапы маршрута проектирования: логический синтез и ресинтез, технологическое отображение [3, 4] и топологический синтез [5-10], однако отсутствует информация о связующем звене исходного описания блока с САПР - библиотеках СФ-блоков.

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

Структурные особенности СФ-блоков в сквозном маршруте проектирования ИС на ПЛИС и РСнК. Сквозной маршрут проектирования ИС на ПЛИС и РСнК с использованием СФ-блоков состоит из следующих этапов (рисунок): разработка RTL-описания; верификация RTL-описания; логический синтез и технологическое отображение; физический синтез, состоящий из кластеризации, размещения и трассировки; статический временной анализ (СВА) и генерация файла с задержкой; функциональная и временная верификации списка соединений, полученного после трассировки.

Маршрут проектирования ИС на ПЛИС с использованием СФ-блоков The ICs design flow using IP cores for FPGAs

Для выполнения каждого этапа необходимо разработать соответствующий тип библиотеки. Для идентификации СФ-блоков на этапе логического синтеза должны быть разработаны библиотеки технологического отображения; для верификации результатов логического синтеза необходима библиотека на языке Verilog c RTL-описанием существующих блоков; для интеграции блоков в САПР и выполнения физического синтеза - библиотека на языке Tcl; для выполнения логического синтеза и СВА [11] - библиотека СФ-блоков в формате liberty.

Методы и способы, использующиеся при разработке библиотек на языке Tcl и extract/techmap, позволяют максимально обобщить процесс описания СФ-блоков и их идентификацию на RTL. Отличительные особенности в описании имеют только две большие группы блоков - жесткие и гибкие. Описание блоков из одной группы различий не имеет. Такой подход позволяет учесть структурные особенности интегрируемого блока и ускорить процесс разработки библиотек СФ-блоков, несмотря на разнообразие блоков в каждой из этих групп. Библиотека на языке Verilog для верификации и логического синтеза не рассматривается, так как каждый СФ-блок имеет уникальную функцию и собственные методы проектирования. Не рассматриваются и библиотеки стандартных логических элементов и ячеек ввода-вывода [12], так как считаются разработанными по умолчанию.

Типы библиотек СФ-блоков. В качестве примеров разработанных библиотечных элементов используются следующие СФ-блоки:

- mul_16* 16_buf - жесткий СФ-блок - умножитель двух 16-битных чисел;

- ramblock - жесткий СФ-блок - блок памяти объемом 256 слов по 9 бит с различными конфигурационными режимами;

- adder_2b - гибкий СФ-блок - сумматор двух 2-битных чисел.

Библиотека для логического синтеза и СВА. Для логического синтеза и СВА необходима библиотека, включающая в себя временные характеристики требуемых блоков. Они содержатся в библиотеке формата liberty, разработанного компанией Syn-opsys. Несмотря на разнообразие схемотехнических решений и методов характериза-ции, использующихся при проектировании жестких СФ-блоков, структура описания их характеристик в формате liberty всегда одинакова и идентична структуре описания стандартных ЛЭ. Описание жесткого СФ-блока включает в себя характеристики его выходных пинов: направление переключения, время задержки, время выходного фронта и мощность относительно времени входного фронта и выходной емкости, направление пина и максимальную нагрузочную емкость, а также характеристики входных пинов - их направление и емкость.

Для гибких СФ-блоков вследствие их структурной особенности допускается отсутствие библиотеки liberty. Блоки этой группы в результате технологического отображения состоят из ЛЭ, что исключает необходимость проведения характеризации. С учетом этой особенности для выполнения логического синтеза схем с использованием гибких СФ-блоков достаточно разработать библиотеку techmap, а для выполнения СВА иметь библиотеку стандартных элементов в формате liberty.

Библиотеки для технологического отображения. В разработанном маршруте проектирования ИС логический синтез выполняется программой Yosys [13]. Кроме стандартных функций преобразования RTL-описания в список соединений на языке Verilog, в Yosys доступны команды, позволяющие использовать в синтезе собственные СФ-блоки - extract и techmap. Команда extract выполняет в RTL-описании поиск блока, изоморфного переданному из extract-библиотеки, и позволяет автоматически заменить его. Также в процессе синтеза Yosys ищет модули, выполняющие конкретные логиче-

ские функции, которые определены в его собственной библиотеке. Найденные модули не зависят от архитектуры базового кристалла. Команда techmap позволяет выполнять технологическое отображение этих модулей в архитектурно зависимые СФ-блоки из techmap-библиотеки.

Синтаксис extract- и techmap-библиотек не зависит от типа блока. В extract-библиотеке могут быть описаны как жесткий, так и гибкий СФ-блоки, функции, которые не отслеживаются в Yosys по умолчанию при использовании команды techmap. Описание блока в extract-библиотеке совпадает с его RTL-описанием.

В качестве примера элемента из extract-библиотеки приведем блок mul_16*16_buf, имеющий нестандартную функцию:

module mul_2_8x8 (A, B, Z);

input [15:0] A, B;

output [31:0] Z; assign Z[15:0] = A[7:0]*B[7:0]; assign Z[31:16] = A[15:8]*B[15:8];

endmodule

Данный блок сочетает в себе два умножителя 8-разрядных чисел. Блок mul_16*16_buf, запрограммированный как одиночный умножитель 8- или 16-разрядных чисел, выполняет простую функцию и заменяется с помощью Yosys на элементы из techmap-библиотеки.

Чтобы выполнить архитектурно зависимое отображение элемента из extract-библиотеки, элемент добавляется в techmap-библиотеку:

module mul_2_8x8 (A, B, Z); input [15:0] A, B; output [31:0] Z;

mul_2_8x8 _TECHMAP_REPLACE_ (

A_0(A[0]), ..., .A_15(A[15]), .B0(B[0]), ..., .B_15(B[15]),

.Z_0(Z[0]), ..., .Z_31(Z[31])

);

endmodule

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

В techmap-библиотеку могут быть добавлены как жесткие, так и гибкие блоки. Приведем описание гибкого СФ-блока из этой библиотеки. В качестве примера гибкого СФ-блока применяется сумматор двухразрядных чисел. Несмотря на используемые сумматоры с большей разрядностью, для компактного представления библиотечного элемента выбран этот размер. Для учета размера блоков и их рабочих параметров в techmap-библиотеку добавляются проверки для выполнения отображения. Если найденный модуль не проходит этих проверок, технологическое отображение не выполняется. В представленном сумматоре для корректного технологического отображения используются проверки ширины входных слов. Приведем пример библиотечного элемента:

module \$add (A, B, Y); input [A_WIDTH-1:0]A; input [BWIDTH-1:0] B;

output [Y_WIDTH-1:0] Y; parameter A_SIGNED=32'd0; parameter A_WIDTH=32'd2; parameter B_SIGNED=32'd0; parameter B_WIDTH=32'd2; parameter Y_WIDTH=32'd3;

if (A WIDTH == 2 && B WIDTH == 2) begin xci_adder_2b _TECHMAP_REPLACE_ ( .a0(A[0]), .a1(A[1]), .b0(B[0]), .b1(B[1]), .y0(Y[0]), .y1(Y[1]), .y2(Y[2]));

end else wire _TECHMAP_FAIL_ = 1;

endmodule

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

В представленном примере выполняется поиск двухпортовой RAM с синхронными записью и чтением по фронту тактового сигнала:

bram $__RAM init 0 abits 8 dbits 8 groups 2 ports 1 1 wrmode 1 0 enable 1 1 transp 0 0 clocks 1 2 clkpol 1 1

endbram

match $__RAM min efficiency 1 maketransp

endmatch

Двухпортовая RAM имеет дополнительные сигналы разрешения записи и чтения, 8-битную шину адреса. Однако у такой RAM отсутствует прозрачный режим передачи данных и недоступна инициализация. В секции match определено минимальное число блоков, которое необходимо найти для выполнения отображения.

Приведем пример блока памяти из techmap-библиотеки:

module \$__RAM (CLK1, CLK2, A1ADDR, A1DATA, A1EN, B1ADDR, B1DATA, B1EN); parameter CFG_ABITS = 8; parameter CFG_DBITS = 8; input CLK1, CLK2; //Write data

input [CFG_DBITS-1:0] A1DATA; input [CFG ABITS-1:0] A1ADDR; input A1EN;

//Read data

output [CFGDBITS-1:0] BIDATA; input [CFGABITS-1: 0] B1ADDR; input B1EN;

ramblock _TECHMAP_REPLACE_ ( //wr control

.WADDR_0(A1ADDR[0]), ..., .WADDR_7(A1ADDR[7]), .WCLKS(CLK1), . WBLKB(A1EN), . WRB (1'b0), //rd control

.RADDR_0(B1ADDR[0]), ..., .RADDR_7(B1ADDR[7]), .RCLKS (CLK2), .RBLKB(B1EN), .RDB(1'b0), .DI_0(A1DATA[0]), ..., .DI_8(A1DATA[8]), .D0_0(B1DATA[0]), ..., .DO_8(B1DATA[8]), .PARODD(1'b1), .RSTB(1'b1), //cfg

.fifo(1'b0), .wsinc(1'b1), .rsinc(1'b1), .pipln(1'b0), .pargen(1'b0)

);

endmodule

Данный пример показывает наличие конфигурационных пинов блока и их динамическое программирование. Эту особенность необходимо выделить для САПР и учитывать ее при разработке Tcl-библиотеки.

Библиотека для интеграции блоков в САПР. Библиотека на языке Tcl разработана на основе специальных функций САПР, позволяющих добавить в программу информацию об архитектурно зависимых элементах ПЛИС. Данные из этой библиотеки используются для выполнения физического синтеза, программирования элементов и генерации списков соединений. Команда для добавления жесткого СФ-блока в программу совпадает с командой для добавления стандартного ЛЭ. Она имеет следующий синтаксис:

xc_lib_cell <cell_name> <subckt name> {<input nodes>} {<set nodes>}, где

<cell_name> - имя СФ-блока;

<subckt name> - имя подсхемы на базовом кристалле;

<input nodes> - входные узлы;

<set nodes> - значения программирования внутренних узлов.

Под входными узлами подразумеваются входные пины, которые будут доступны пользователю при использовании блока в проекте. Под внутренними узлами - пины, программируемые сигналами из конфигурационной памяти ПЛИС, доступные только разработчику при разработке библиотеки. Внутренние узлы библиотечных элементов соединены с конфигурационной памятью, а их значения задаются при программировании ПЛИС или РСнК. В следующем примере представлен архитектурно зависимый блок mul_16*16_buf, сконфигурированный в качестве двух умножителей 8-разрядных чисел (его конфигурация выполняется с помощью двух конфигурационных пинов c_m):

xc_lib_cell mul_2_8x8 mul_16x16_buf { A_0=A<0> ... A_15=A<15> B_0=B<0> ... B_15=B<15> Z_0=Z_buf<0>....

Z_31=Z_buf<31>

} {

c_m<0>=1 c_m<1>=1

}

Значения конфигурационных сигналов могут формироваться не только в специализированной памяти, но и от цепей земли / питания, находящихся рядом с блоком или в программируемой части кристалла. Такие сигналы необходимо трассировать наряду с другими сигналами данных. На примере из techmap-библиотеки показано, что они программируются не статически, как конфигурационные сигналы умножителя, а динамически при использовании СФ-блока в RTL-описании.

На примере блока пользовательской памяти покажем, что пины для динамического программирования передаются в САПР вместе с другими внешними входными пинами:

xc_lib_cell ramblock ramblock { WADDR_0=WADDR<0>... WADDR_7=WADDR< 7> WCLKS= WCLKS WBLKB=WBLKB WRB=WRB WPE=WPE

RADDR_0=RADDR<0>...

RADDR_7=RADDR< 7>

RCLKS=RCLKS

RBLKB=RBLKB

RDB=RDB

RPE=RPE

DI_0=DI<0> ...

DI_8=DI<8>

D0_0=D0<0> ...

D0_8=D0<8>

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

PARODD =PAR0DD

RSTB=RSTB ßf°=ßf°

wsinc=wsinc

rsinc=rsinc

pipln=pipln

pargen =pargen

} {

}

Данный подход дает возможность выполнять трассировку цепей, соединенных с этими пинами. Здесь конфигурационными пинами являются fifo, wsinc, rsinc, pipln, pargen. При статическом программировании число библиотечных элементов равно количеству возможных режимов 2Л5, где 5 - количество конфигурационных сигналов, 2 - количество значений, которое могут принимать сигналы.

Гибкие СФ-блоки после этапа логического синтеза и технологического отображения состоят из ЛЭ ПЛИС. Некоторые ПЛИС имеют в структуре ЛЭ специализированные ресурсы и архитектурные особенности, позволяющие уменьшить площадь СФ-блока, количество занимаемых трассировочных ресурсов и повысить производительность. Метод интеграции гибкого СФ-блока в САПР позволяет учитывать специфику ПЛИС с помощью специально разработанной команды, отличающейся от добав-

ления твердых СФ-блоков. Синтаксис команды для добавления в программу гибких СФ-блоков следующий:

xc_lib_ip <се11 пате> {<три р^>} (<ЬБ ^>} {<ге1айуе р1асете^>}, где <се11 пате> - название библиотечного СФ-блока; <трШ; рш8> - входные пины;

<ЬБ - список соединений и логических элементов блока;

<ге1айуе р1асешеп1> - размещение с использованием относительных координат.

В отличие от жестких СФ-блоков при добавлении гибких СФ-блоков в библиотеке не указываются конфигурационные пины. Они учитываются при программировании ЛЭ, на основе которого разрабатывается гибкий СФ-блок. Это видно из примера описания 2-битного сумматора:

xc_lib_ip xci_adder_2b { а0=А0 а1=А1 Ь0=В0 Ь1=В1 у0=У0 у1=У1

у2=У2 } {

хс_^ add0 LE_add { а=А0 Ь=В0 1с=1 ci0=0 ci1=1 у=У0 со0=со00 со1=со10 } хс_Ш81 add1 LE_add { а=А1 Ь=В1 1с=1 ci0=co00 ci1=co10 у=У1 со0=со01 со1=со11 }

xc_inst cin2 LE_buf_ci 1 { с=со11 у=У2 } } {

хс_тар_^^р add0 9 0 хс_тар_^^р add1 8 0 xc_map_inst_ip ст2 7 0

}

Использование в описании блока списка соединений позволяет учитывать специальные входы и выходы ЛЭ, дающие возможность объединять ЛЭ в цепочки без трассировочных ресурсов. В данном примере это пины для быстрого переноса - 1с, сЮ, с11, со0, со1. Здесь LE_add - ЛЭ, запрограммированный в режим сумматора однобитных чисел; LE_buf_ci1 - ЛЭ, формирующий старший бит суммы, бит переноса с предыдущего ЛЭ.

Инициализация относительных координат выполняется следующим образом:

хс_тар^р <inst пате> {х} {у}, где

<inst пате> - имя ЛЭ из списка соединений;

<х>, <у> - относительные координаты матрицы ПЛИС или программируемой части РСнК.

Относительное размещение библиотечного СФ-блока позволяет зафиксировать полученную цепочку ЛЭ и не разделять ее на разные группы логических блоков. Такой подход дает возможность осуществить корректную кластеризацию СФ-блока еще при разработке библиотеки и выполнить глобальное размещение на базе алгоритмов моделирования отжига с использованием гибкого СФ-блока.

Заключение. Предложенный маршрут проектирования ИС включает в себя использование набора библиотек СФ-блоков на ПЛИС и РСнК. Разработанные методы формирования библиотек, применяющихся при имплементации СФ-блоков, учитывают особенности архитектуры базовых ПЛИС и РСнК. Это библиотека для технологическо-

го отображения блоков на этапе логического синтеза и библиотека для интегрирования СФ-блоков в САПР для выполнения этапа физического синтеза.

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

Литература

1. Layout synthesis design flow for special-purpose reconfigurable systems-on-a-chip / S.V. Gavrilov, D.A. Zheleznikov, M.A. Zapletina et al. // Russian Microelectronics. 2019. Vol. 48. Iss. 3. P. 176-186. DOI: https://doi.org/10.1134/S1063739719030053

2. Vasilyev N.O., Tiunov I.V., Ryzhova D.I. The simulated annealing based logical resynthesis method for LUT-based FPGAs // 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow: IEEE, 2020. P. 1892-1894. DOI: https://doi.org/10.1109/ EIConRus49466.2020.9038959

3. Ziener D., Assmus S., Teich J. Identifying FPGA IP-cores based on lookup table content analysis // 2006 International Conference on Field Programmable Logic and Applications. Madrid: IEEE, 2006. P. 1-6. DOI: https://doi.org/10.1109/FPL.2006.311255

4. Shubnaya A., Shupletsov M. Algorithms for IP block identification based on structural approach // 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Saint Petersburg; Moscow: IEEE, 2019. P. 1672-1677. DOI: https://doi.org/10.1109/EIConRus.2019.8656919

5. Фролова П.И., Чочаев Р.Ж., Иванова Г.А., Гаврилов С.В. Алгоритм размещения с оптимизацией быстродействия на основе матриц задержек для реконфигурируемых систем на кристалле // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2020. № 1. С. 2-7. DOI: https://doi.org/1031114/2078-7707-2020-1-2-7

6. Zapletina M.A., Zheleznikov D.A., Gavrilov S.V. The global interconnect routing approach for reconfigurable system-on-a-chip // 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow: IEEE, 2020. P. 1901-1904. DOI: https://doi.org/10.1109/ EIConRus49466.2020.9039182

7. Заплетина М.А., Железников Д.А., Гаврилов С.В. Иерархический подход к трассировке рекон-фигурируемой системы на кристалле островного типа // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2020. № 3. С. 16-21. DOI: https://doi.org/10.31114/2078-7707-2020-3-16-21

8. Adya S.N., Markov I.L. Consistent placement of macro-blocks using floorplanning and standard-cell placement // ISPD'02: Proceedings of the 2002 International Symposium on Physical Design. New York: ACM, 2002. P. 12-17. DOI: https://doi.org/10.1145/505388.505392

9. Emmert J.M., Bhatia D. A methodology for fast FPGA floorplanning // FPGA'99: Proceedings of the 1999 ACM/SIGDA seventh international symposium on Field programmable gate arrays. New York: ACM, 1999. P. 47-56. DOI: https://doi.org/10.1145/296399.296427

10. Farooq U., Parvez H., Mehrez H., Marrakchi Z. Exploration of heterogeneous FPGA architectures // International Journal of Reconfigurable Computing. 2011. Vol. 2011. Art. ID 121404. 18 p. DOI: https://doi.org/ 10.1155/2011/121404

11. Yosys Open SYnthesis Suite: [Web]. URL: http://www.clifford.at/yosys/about.html (дата обращения: 10.02.2020).

12. Garbulina T.V., Khvatov V.M., ZheleznikovD.A. Development and verification of various formats of functional blocks libraries as a part of the design flow for FPGAs // 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow: IEEE, 2019. P. 1687-1691. DOI: https://doi.org/10.1109/EIConRus.2019.8657285

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

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

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

ектирования и конструирования интегральных схем Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина,1), khvatov_v@ippm.ru

Гаврилов Сергей Витальевич - доктор технических наук, профессор, директор Института проблем проектирования в микроэлектронике Российской академии наук (Россия, 124365, г. Москва, г. Зеленоград, ул. Советская, 3), заведующий кафедрой проектирования и конструирования интегральных схем Национального исследовательского университета «МИЭТ» (Россия, 124498, г. Москва, г. Зеленоград, пл. Шокина,1), s.g@ippm.ru

References

1. Gavrilov S.V., Zheleznikov D.A., Zapletina M.A., Khvatov V.M., Chochaev R.Z., Enns V.I. Layout synthesis design flow for special-purpose reconfigurable systems-on-a-chip. Russian Microelectronics, 2019, vol. 48, iss. 3, pp. 176-186. DOI: https://doi.org/10.1134/S1063739719030053

2. Vasilyev N.O., Tiunov I.V., Ryzhova D.I. The simulated annealing based logical resynthesis method for LUT-based FPGAs. 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow, IEEE, 2020, pp. 1892-1894. DOI: https://doi.org/10.1109/ EIConRus49466.2020.9038959

3. Ziener D., Assmus S., Teich J. Identifying FPGA IP-cores based on lookup table content analysis. 2006 International Conference on Field Programmable Logic and Applications. Madrid, IEEE, 2006, pp. 1-6. DOI: https://doi.org/10.1109/FPL.2006.311255

4. Shubnaya A., Shupletsov M. Algorithms for IP block identification based on structural approach. 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Saint Petersburg, Moscow, IEEE, 2019, pp. 1672-1677. DOI: https://doi.org/10.1109/EIConRus.2019.8656919

5. Frolova P.I., Chochaev R.Zh., Ivanova G.A., Gavrilov S.V. Timing-driven placement algorithm based on delay matrix model for reconfigurable system-on-chip. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES), 2020, no. 1, pp. 2-7. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2020-1-2-7

6. Zapletina M.A., Zheleznikov D.A., Gavrilov S.V. The global interconnect routing approach for reconfigurable system-on-a-chip. 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow, IEEE, 2020, pp. 1901-1904. DOI: https://doi.org/10.1109/ EIConRus49466.2020.9039182

7. Zapletina M.A., Zheleznikov D.A., Gavrilov S.V. The hierarchical approach to island style reconfigurable system-on-chip routing. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES), 2020, no. 3, pp. 16-21. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2020-3-16-21

8. Adya S.N., Markov I.L. Consistent placement of macro-blocks using floorplanning and standard-cell placement. ISPD'02: Proceedings of the 2002 International Symposium on Physical Design. New York, ACM, 2002, pp. 12-17. DOI: https://doi.org/10.1145/505388.505392

9. Emmert J.M., Bhatia D. A methodology for fast FPGA floorplanning. FPGA'99: Proceedings of the 1999 ACM/SIGDA seventh international symposium on Field programmable gate arrays. New York, Association for Computing Machinery, 1999, pp. 47-56. DOI: https://doi.org/10.1145/296399.296427

10. Farooq U., Parvez H., Mehrez H., Marrakchi Z. Exploration of heterogeneous FPGA architectures. International Journal of Reconfigurable Computing, 2011, vol. 2011, art. ID 121404, 18 p. DOI: https://doi.org/ 10.1155/2011/121404

11. Yosys Open SYnthesis Suite. Available at: http://www.clifford.at/yosys/about.html (accessed: 10.02.2020).

12. Garbulina T.V., Khvatov V.M., Zheleznikov D.A. Development and verification of various formats of functional blocks libraries as a part of the design flow for FPGAs. 2019 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus). Moscow, IEEE, 2019, pp. 1687-1691. DOI: https://doi.org/10.1109/EIConRus.2019.8657285

13. Stempkovskiy A.L., Gavrilov S.V., Glebov A.L. Digital CMOS VLSI logic and logic-time analysis methods. Moscow, Nauka Publ., 2007. 220 p. (In Russian).

Received 30.03.2021; Revised 30.03.2021; Accepted 08.07.2021.

Information about the authors:

Vasiliy M. Khvatov - Junior Scientific Researcher of the CAD Department, Institute for Design Problems in Microelectronics of the Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), PhD student of the Design and Construction of Integrated Circuits Department, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), khvatov_v@ippm.ru

Sergey V. Gavrilov - Dr. Sci. (Eng.), Prof., Director, Institute for Design Problems in Microelectronics of the Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), Head of the Design and Construction of Integrated Circuits

Department, National Research University of Electronic Technology (Russia, 124498, Moscow, Zelenograd, Shokin sq., 1), s.g@ippm.ru

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