Научная статья на тему 'АВТОМАТИЧЕСКАЯ НАСТРОЙКА ПРОГРАММНЫХ СРЕДСТВ РАЗМЕЩЕНИЯ ПОЛЬЗОВАТЕЛЬСКИХ СХЕМ НА ПЛИС'

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

CC BY
61
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗМЕЩЕНИЕ ЭЛЕМЕНТОВ / АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ / ПЛИС / ТЕОРЕТИКО-МНОЖЕСТВЕННАЯ МОДЕЛЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Эннс Виктор Иванович, Гаврилов Сергей Витальевич, Чочаев Рустам Жамболатович

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

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

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

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

AUTOMATIC FPGA PLACEMENT CONFIGURATION FOR CUSTOMER DESIGNS

Searching for new ways to improve the efficiency of integrated circuits (IC) led to the development of specialized heterogeneous configurable IC (FPGA) and systems-on-a-chip. Their key feature is an extended interpretation of standard cell library, containing ready-to-use IP cores along with standard cells. Specific customer designs require the flexibility of the configurable heterogeneous IC’s architecture and, therefore, automatic CAD clustering and placement algorithms configuration. The development of efficient configuration methods and algorithms is impossible without relying on the mathematical apparatus. In this work, such mathematical apparatus is provided. The authors described a set-theoretic model of a hierarchical project and formalized the hierarchical approach to the netlist, using the apparatus of mathematical logic, set and graph theories. The correspondence between the customers designs’ elements and FPGA’s elements has been formalized to provide fast clustering and placement configuration. The obtained results provide the basis for future efficient methods for automatic placement and clustering configuration.

Текст научной работы на тему «АВТОМАТИЧЕСКАЯ НАСТРОЙКА ПРОГРАММНЫХ СРЕДСТВ РАЗМЕЩЕНИЯ ПОЛЬЗОВАТЕЛЬСКИХ СХЕМ НА ПЛИС»

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

УДК 658.512:004.42:510.2/.6:519.1 DOI: 10.24151/1561-5405-2021-26-6-508-520

Автоматическая настройка программных средств размещения пользовательских схем на ПЛИС

В.И. Эннс1, С.В. Гаврилов2, Р.Ж. Чочаев2

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

venns@niime.ru

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

Ключевые слова: размещение элементов; автоматизация проектирования; ПЛИС; теоретико-множественная модель

Для цитирования: Эннс В.И., Гаврилов С.В., Чочаев Р.Ж. Автоматическая настройка программных средств размещения пользовательских схем на ПЛИС // Изв. вузов. Электроника. 2021. Т. 26. № 6. С. 508-520. DOI: https://doi.org/ 10.24151/1561-5405-2021-26-6-508-520

© В.И. Эннс, С.В. Гаврилов, Р.Ж. Чочаев, 2021

Automatic FPGA Placement Configuration for Customer Designs

1 * 2 2 V.I. Enns , S.V. Gavrilov , R.Zh. Chochaev

Molecular Electronics Research Institute, Moscow, Russia

2

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

venns@niime.ru

Abstract. Searching for new ways to improve the efficiency of integrated circuits (IC) led to the development of specialized heterogeneous configurable IC (FPGA) and systems-on-a-chip. Their key feature is an extended interpretation of standard cell library, containing ready-to-use IP cores along with standard cells. Specific customer designs require the flexibility of the configurable heterogeneous IC's architecture and, therefore, automatic CAD clustering and placement algorithms configuration. The development of efficient configuration methods and algorithms is impossible without relying on the mathematical apparatus. In this work, such mathematical apparatus is provided. The authors described a set-theoretic model of a hierarchical project and formalized the hierarchical approach to the netlist, using the apparatus of mathematical logic, set and graph theories. The correspondence between the customers designs' elements and FPGA's elements has been formalized to provide fast clustering and placement configuration. The obtained results provide the basis for future efficient methods for automatic placement and clustering configuration.

Keywords. placement; computer-aided design; field-programmable gate array; FPGA; set-theoretic model

For citation. Enns V.I., Gavrilov S.V., Chochaev R.Zh. Automatic FPGA placement configuration for customer designs. Proc. Univ. Electronics, 2021, vol. 26, no. 6, pp. 508-520. DOI. https://doi.org/ 10.24151/1561-5405-2021-26-6-508-520

Введение. Современную ситуацию на рынке ПЛИС можно охарактеризовать доминированием двух крупных компаний: Intel и Xilinx. Именно эти компании являются инноваторами в сфере разработки ПЛИС благодаря накопленному за десятилетия опыту и финансированию новых исследований и разработок. Так, в последние годы компания Xilinx тратит не менее 600 млн долл. на НИОКР [1] ежегодно. В таких неравных условиях прямая конкуренция с технологическими гигантами невозможна. Поэтому оптимальной стратегией развития отечественных реконфигурируемых ИС и систем на кристалле (СнК) видится разработка эффективных программируемых гетерогенных схем, ориентированных на целевого потребителя и предоставляющих доступ к большому количеству готовых сложнофункциональных (СФ) блоков [2].

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

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

Основные понятия и обозначения. Иерархическое описание базового проекта ПЛИС представляет собой упорядоченную тройку:

П =

где £ = ,1 = 1, — , |£|} - множество схем в иерархическом описании проекта; Ь с £ -

подмножество базисных библиотечных подсхем для текущего уровня (или этапа) проектирования (базис); ^ е £, ^ £ Ь - схема верхнего уровня. Схема ^ е £ - это упорядоченная пятерка:

^ = ), Е),N(^),Р),С)),

где ц^) - уникальный идентификатор схемы; Е (^) = {ег, 1 = 1,—, |Е (- множество элементов в схеме s; N (£ ) = {пг, 1 = 1, —, N (£ )Ц - множество цепей в схеме s; Р (£ ) = { р ,1 = 1, —, р ( £ )Ц - множество внешних контактов схемы s; С (£) = {сг, 1 = 1, —, | С ( £ )Ц - множество соединений схемы s. Каждый элемент е е Е (£) может быть представлен как

е = (^(е), т(е),Р(е,

где ц^) - уникальный идентификатор элемента; m(e)£S - модель элемента, которая представляется схемой нижележащего уровня иерархии; Р (е) = {pi, г = 1,—, р (е)Ц -

множество контактов элемента, такое, что Р (е) -о- Р (т (е)); |Р (е)| = |Р (т (е))| .

Любой внешний контакт схемы р е Р (£) можно охарактеризовать следующим образом:

Р = (ц( Р ), Ч Р )) ,

где р) - уникальное имя контакта; т( р )е|^, хш, т^.} - тип контакта: вход, выход

или двунаправленный.

Множество соединений в схеме - это подмножество пар:

С(8) = \(р,пУре[ У

[ ) \

Каждую цепь п е N (£) можно охарактеризовать уникальным идентификатором и связанным с ней набором соединений:

п = ^(п),С(п.

На текущем уровне (этапе) проектирования библиотечные подсхемы являются «черными ящиками» и не содержат внутренних данных:

V5 g L : E ) = 0, N ) = 0, C (5 ) = 0.

При этом библиотеку базового проекта L можно представить как совокупность подмножеств:

L =lle u Loo u LM u u LBB,

где L^ - подмножество логических элементов (ЛЭ); LIO - подмножество элементов ввода-вывода; LM - подмножество СФ-блоков; Lio - подмножество трассировочных элементов; L - подмножество иных вспомогательных элементов, которые выполняют второстепенные функции.

Следует отметить, что для гетерогенных схем ключевой особенностью является то, что в базис L на определенных этапах проектирования помимо стандартных элементов могут входить различные СФ-блоки.

Параметры базового кристалла ПЛИС. Базовый кристалл ПЛИС П = (S, L, на этапе размещения может иметь два представления:

1) плоское (одноуровневое) - Hf ( П) = ^ S/, Lf, , где область размещения представляет собой двухмерную матрицу конфигурируемых ЛЭ, состоящих из Х-входовой ячейки асинхронной памяти (Look up Table, LUT) и регистра [3];

2) двухуровневое блочное - П6 (П) = (Sb,Lb,sb}, где область размещения на верхнем уровне представляет собой двухмерную матрицу блоков [4, 5], каждый из которых, в свою очередь, представляет собой матрицу из ЛЭ.

Двухуровневое блочное представление проекта П6 (П) наиболее точно отражает

архитектуру базовых кристаллов реконфигурируемых гетерогенных схем «островного» типа [6]. В подобном базовом кристалле выделяется уровень «блоков» («островов»), которые не входят в множество L: B = {bi} : B n L = 0, |B| = 1.

Итоговое блочное представление проекта Пь (П) = (Sb ,Lb ,sb ) имеет следующий

вид:

L = {5 :(5 glW(5,5m)},

Sb uLb uB},Lb nB = 0, 5ь =(Ц( 5b ) ,E ( 5b ), N ( 5b ), P ( 5b ), C ( 5b )) ,

где ^ ) = ц(^ ); р(яь ) = Р(*т ); ф^ ) = 1, если = ^ ) или Зе е Е (^ ) :ф( т (е)) =1.

Размещение блочных элементов Е (5ь) с Е (), Е (5ь) = {е: е е Е () &т (е) е Б} на верхнем уровне представляет собой двухмерную матрицу блоков:

мь ={ту: тееб(^),т(т)еБ1=У---,ь=У---,^ь}>

МЛ = \Еб ()| = !ь^ь.

В свою очередь, каждый блок b е B в двухуровневом представлении включает в себя элементы нижележащего уровня иерархии:

b = (ц(Ь), E(b), N(b), P (b), C (b)),

где E (b) = {e: m (e), m (e)e ^ u LRo u Lbb }.

Подмножество ЛЭ блока Еш (b) e E (b), Еш (b) = {e: e е E (b) &m (e) е Lle } представляет собой матрицу ЛЭ:

MLE ={m,j : ^ е ele (b) , m (m,j )е LLE , i = —, 1 LE J = Ъ ■ ■ ■ , JLE} ,

MleI = К (b) = IleJe ■

В таком случае общее количество логических элементов в базовом проекте зависит от размеров матриц M и M :

If = hlLE ,

jf = Jbjle ,

ele ( )| = \Mf | = If Jf = |eb ()| • |ele (b) = IbJbILEJLE ■

Следует отметить, что на верхнем уровне иерархии ЛЭ отсутствуют: Ve е Е (sb )u Е(b) :m (e)e L^. ^ e е E (b).

Важными параметрами базового проекта также являются параметры коммутационных и трассировочных ресурсов. Анализ данных параметров требует классификации и типизации контактов блоков в двухуровневом представлении. Множество всех контактов можно разбить на три большие группы:

Р )={р, , 1 = 1, — ,|Р )|} £ е ЬЬЕ ^ !ю ^ ЬМ ^ ЬВ ^ !ка ,

Р (£ ) = Рг (£ )и Рт (£ )и Р (£ ) ,

^ е Р (£ ) : ^ (Р) е Кр , ^аш , } ,

где Р (£) - подмножество сигнальных (трассировочных) контактов для подключения внешних сигнальных цепей посредством трассировочных ресурсов £ е ЬДо; Рт (£) -подмножество программируемых контактов; Р (£) - подмножество специальных контактов; {тг>?р,тш(,тйг} - типы контактов по направлению распространения сигналов:

вход, выход, двунаправленный контакт.

Тогда коммутационные возможности блока на верхнем уровне иерархии можно характеризовать количеством сигнальных контактов Р (Ь) блока Ь или, согласно терминологии теории графов [7], локальной степенью блока:

* (Ь) = Р (Ь)|,

Автоматическая настройка программных средств размещения пользовательских схем... количество выходов блока - исходящей локальной степенью блока Ь:

Л (ь )=|РЛь )|,

РГ(ь) = {р] е Рг (ь): т(р;) = хаШ},

а количество входов - входящей локальной степенью блока Ь:

Л +(ь) = |Р(ь)| ,

Р (ь) = {Р+ е Рг (ь): т(р+) = тгй} .

Двунаправленные контакты могут использоваться по-разному, в том числе для сквозных трасс:

Л * (ь ) = Р (ь )|,

Р* (ь) = {Р* е Рг (ь): т(р*) = ты}.

Общее количество входов всех ЛЭ в блоке в значительной степени определяет необходимое количество локальных трасс | К1ос (ь) |, где К1ос (Ъ)с N (Ъ) - подмножество цепей в блоке Ь, которые обеспечивают внутренние коммутации между входами и выходами ЛЭ в блоке, а также могут быть использованы для последующей связи с внешними цепями за пределами блока. Соответственно, необходимое количество локальных трасс можно вычислить следующим образом:

^ (ь) - р; (5) • \е1£ (ь)|=р; (5 )• | мЬе |= р; (5) I.

Реальное количество | (ь) | может быть меньше, так как:

- некоторые входы ЛЭ могут использовать общие входные сигналы или быть замкнуты на цепи земли / питания;

- некоторые ЛЭ могут не использоваться в конкретных блоках.

Поэтому в предыдущую формулу следует добавить понижающий коэффициент

Ко е (0,1], подбираемый экспериментально:

К (ь)| = кОосР; (5) • (ь)| = КОосР (5) .

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

Л (^) = |Р (^)| .

Исходящая степень

Л (^ )= |РЛ ^ )|, Рг(5) = {Р7е Р (5): т(р;) = Тои<},

входящая степень s:

d +(- ) = |P+( - )|, р;{ - )={ p;^ p (-): т( p;)=v}.

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

Если архитектура ПЛИС имеет канальную структуру с выделенными областями каналов и блоков коммутаций (switch box) [8, 9], то к важнейшим характеристикам ПЛИС относятся пропускная способность вертикальных / горизонтальных каналов и пропускная способность блоков коммутаций. Однако архитектура базового кристалла ПЛИС может сильно отличаться от классической канальной. В таком случае каналы и блоки коммутации отсутствуют, поэтому главными характеристиками являются пропускные способности вертикальных и горизонтальных сечений, т.е. количество цепей, пересекающих данное сечение. В случае двухуровневого блочного представления П6 (П) = (Sb, L, пропускную способность соответствующих сечений можно вычислить по формулам:

ах(Xks ) = \{n :n е N(-) &Xmn (n) < Xks feX^ (n) > Xks }|,

°r (YSk) = |{n: n е N(-) &Ymn (n) < YSk &Ymax (n) > YSk }|,

где X\, Y/ - координаты вертикальных / горизонтальных сечений; X^n (n), Y^n (n),

Xmax (n)> Ymax (n) - координаты цепей n е N (-b ) .

Таким образом, ключевыми параметрами базового кристалла, влияющими на полноту и эффективность реализации пользовательских схем в ПЛИС, являются:

- количество блоков | Ев (-b) |, т.е. количество блочных элементов по вертикали Ib и горизонтали ;

- размеры блока | Ele (b) |, т.е. размер блочной матрицы по вертикали IiB и горизонтали J ;

- количество внешних выводов блока d (b), в том числе количество входящих трасс d; (b) (входов блока);

- количество исходящих трасс d~ (b) (выходов блока), количество сквозных трасс d* (b), т.е. двунаправленных выходов блока, соединенных внутри блока;

- количество локальных трасс внутри блока | Nloc (b) |;

- количество коммутаций ЛЭ d (-), в том числе количество коммутаций для входов ЛЭ d; (-) и выходов ЛЭ d~ (-) ;

- количество связей между блоками и их структура;

- пропускная способность блоков коммутаций между каналами.

Формализация задачи размещения пользовательских схем на ПЛИС. В стандартном маршруте проектирования на ПЛИС [6] после этапа логического синтеза и технологического отображения в базис библиотечных элементов следует один из важнейших этапов - размещение элементов пользовательских схем.

Пусть задана пользовательская проектируемая схема в «плоском» виде, которую требуется запрограммировать в ПЛИС:

Пи Л ^и , [и , Эти) , ГДе Эти = {^(Эти ) , Е (Эти ) , ^ ти ) , Р (Эти ) , С (Эти )) ■

Задача размещения элементов пользовательской схемы [10] по своей сути является задачей установления соответствия р между множеством элементов библиотечного уровня пользовательского проекта с элементами библиотечного уровня проекта самой ПЛИС:

Р: Е^ти)^{е: ееЕ(^), т(е)&{Ьш иЬм и[ю}} .

Пусть Е1Ж (smu) ,Ем (smu), Е/0 (smu) - непересекающиеся подмножества множества элементов пользовательского проекта соответствующего типа:

Е (smu ) = Е[Е (smu ) 0 ЕМ (Smu ) 0 Е/0 (Smu ) ,

Vе е Е1Ж -.т(р(е))е Ь[Ж ,

Vе е Ем :т(р(е))е [м, Ve е Е/о :т(р(е))е [/о ■

Тогда для каждого элемента е е Е (smu) к моменту решения задачи размещения известен как конкретный тип библиотечного элемента Т е {[Е, 10,М}, так и конкретный экземпляр т ( е)е{[[Е о[м о[/о}, а также конкретный экземпляр библиотеки пользовательского пр°екта ^ е [ , ^ = (ц(\ ) ,0, 0, Р (Эи ), 0) ■

Количество ЛЭ в пользовательских схемах значительно превышает количество элементов других типов, поэтому их размещение представляет собой наиболее сложную задачу. В случае если базовый кристалл имеет иерархическую двухуровневую структуру, целесообразно сначала выполнить декомпозицию (или кластеризацию) пользовательских схем, а затем выполнить размещение в два этапа: 1) размещение кластеров на верхнем уровне; 2) размещение ЛЭ в пределах блоков [11].

При решении задачи декомпозиции (кластеризации) определяется разбиение элементов пользовательской схемы на кластеры [12], где каждому кластеру соответствует

блок ЛЭ базовой ПЛИС. Множество кластеров К = {К } представляет собой множество непересекающихся подмножеств элементов е е Еш (эти) :

V е{0,1,...,| К } К с Е[Е (Эти),

Е[Е (Эти ) = К1 0 К2 0 К3Кк '

VI, ] е{0,1,..., |К|},/ * j :К о К =0 ■

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

1) на общее количество ЛЭ пользовательской схемы:

\ele (ele (^)|,

Ele ( S/ )| = Mf \=IfJf = \Ев (S )| * I Ele (b)| = WuJle ;

2) на размер кластера:

\K\ * К (ъ)|,

\Ele (ъ) = MleI = IleJle ;

3) на количество кластеров:

K * Е (s)|>

ЕВ (Sb ) = {e G Е (Sb ) : m (e)G B} ,

\Eb (S)| = Mb\ = IbJb •

В результате алгоритм кластеризации должен автоматически вычислять допустимые размеры кластера и их количество в зависимости от ограничений базового кристалла. Нарушение ограничения 1 можно проверить сразу после этапа логического синтеза и технологического отображения. Ограничение 2 или 3 можно исключить перед кластеризацией. Например, можно автоматически задать количество требуемых кластеров |К| = \ЕВ (sb )|, тогда средний размер кластера вычисляется по следующей формуле и удовлетворяет ограничению на размер кластера:

\ELE (Smu ^ |ele (Smu ^ |ele (Smu ^

IK J _ Eb (S,)| _ _ Jb _

<

К (b )|.

Если приоритетной задачей является максимальное заполнение площади ПЛИС, то максимальный размер кластера задается как | = \ЕШ (¿)|, а количество требуемых кластеров вычисляется по следующей формуле:

K=

|ele (Smu ^ |ele (Smu ^ |ele (Smu ^

|Kmax | _ |Ele (b) _ ilejle

<

\EB (sb )| .

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

- наружные (внешние) - цепи, которые никак не связаны с элементами в данном кластере К :

N. ( К (),

V" е Next (К.);У(Р(в),п) е С) :в £ К,;

- внутренние - цепи, которые связаны только с элементами в данном кластере к :

^ ( К,) cN (),

V" е Nmt (К,);V(р,п) е С) :р е Р(в),в е К,;

- смежные - цепи, которые связаны с элементами как внутри, так и вне кластера Kt:

Nad] (K)^N(),

Vn e Nd (k) :3(p,n)e C(^),3(p2,n)e C(^),

Pi e P (в1 )Ав1 e K ,P2 e P (Smu )VP2 e P (в2 )Ав2 g K • В таком случае количество внешних выводов кластера K (или его степень) равно:

d (K ) = | Kd] (K )|.

Аналогично количество выходов (или исходящая степень кластера) равно:

d (K ) = |n- (K )|, N (K ) с Nadj (K ), Vn e N (K)3(p,n) eC(^) :p e P(e)Ав e Kt ai(p) = •

Количество входов (или входящую степень) кластера можно вычислить следующим образом:

d+ (K ) = |N (K )|, N+ (K ) с Ndj (K ), Vn e N +( K )3( p, n) e C (^): P e P (Smu ) A*( p ) = ^„p V p e P (в) Ав g Ki A^( p ) = ^out •

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

d + (K) < d + (b)+d -{b)=P (b)|+1P* (b)|,

d (K) < d (b)+d' (b)=P (b)|+1P* (b)| •

1+<

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

К (*)| * Р+ (Э) • \Е[Е (Ь)| = Р+ (Э) • = Р+ (Э)/^[Е ,

К (Ь)| = КсР+ (*) • |£[Е (Ь)| = Кср+ (*)1Ш^, К1ос < 1,

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

С учетом специфики подключения входов и выходов ЛЭ в блоке получаем следующее ограничение на количество внутренних цепей кластера :

Nint (K)+d + (K )<| Noc (b )| •

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

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

K ^ Mb:

Vb-.K^Mb-mij=Vb{Kk).

Как в процессе итерационного решения задачи размещения на блочном уровне, так и по ее результатам одним из критических факторов, обеспечивающих полноту последующей трассировки соединений, является соблюдение ограничений на фактическое количество цепей, пересекающих сечение (разрез) по вертикали для заданного X, и фактическое количество цепей, пересекающих сечение (разрез) по горизонтали для заданного У. С учетом выбранного на очередном шаге итерационного размещения блоков Ц : К —> М ь; яг = (Кк) можно вычислить граничные координаты цепей пользова-

V

тельской схемы:

Хт1п (П), 7т1„ (П), Хтах (П), Гт, («), « е N (^ ) .

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

°X (Эим,XI) = |{п :п е N() &Хтп (п) < Хк8 (п) > Хк8 }|, ^7 (Эти 7 ) = |{п : п е N(^ ) &7тп (п) < 7/ йГ^* (п) > 7/ }|.

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

°X , Хк ) <ах (Хк) ,

а7 (Эим 7) 7) .

После выполнения размещения на верхнем уровне блоков необходимо выполнить размещение ЛЭ внутри блоков, т.е. каждому элементу в кластере поставить в соответствие ЛЭ в базовом кристалле:

Р': Е(Эти , т =Р'(е).

При этом размещение элемента е е К не должно выходить за пределы того блока Ь, на который отображен кластер Ке:

Ve е Ке: 3 тъ (l\jb) = Vb (Kk ) л mf (lf ,Jf)=p'(e):Ib

A Jb =

JLE

Таким образом, для успешного программирования пользовательских схем в базисе ПЛИС на этапе размещения должны выполняться следующие ограничения:

- на отображения элементов библиотечного уровня пользовательского проекта на элементы соответствующего типа библиотечного уровня проекта самой ПЛИС;

- на максимальную пропускную способность сечений в базовом кристалле.

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

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

Литература

1. Xilinx, Inc. Form 10-K II Investor Relations: [Web] I Xilinx. 31.03.2018. URL: http:IIinvestor.xilinx.com/static-files/13e52459-fd4c-44da-adee-19e463d02ae8 (дата обращения: 14.04.2021).

2. Эннс В. СнК, БМК или ПЛИС: выбор варианта исполнения цифровой интегральной схемы // Компоненты и технологии. 2018. № 4 (201). С. 100-102.

3. 5400ТР094 ПАЦИС // ДЦ СОЮЗ: [Электронный ресурс]. 2020. URL: https://dcsoyuz.ru/ products/pais/art/1605 (дата обращения: 13.04.2021).

4. iCE40LM family data sheet II Lattice Semiconductor Corp.: [Web]. 2020. URL: http://www.latticesemi.com/view_document?document_id=50152 (дата обращения: 13.04.2021).

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

6. Hauck S., DeHon A. Reconfigurable computing. Vol. 1: The theory and practice of FPGA-based computation. San Francisco, CA: Morgan Kaufmann, 2007. 944 p.

7. Харари Ф. Теория графов I под ред. Г.П. Гаврилова; пер. с англ. и предисл. В.П. Козырева. 5-е изд., доп. М.: Ленанд, 2018. 304 с.

8. Строгонов А.В., Давыдов С.И., Мотылев М.С., Быстрицкий А.В. Программируемая коммутация межсоединений в ПЛИС типа программируемые пользователем вентильные матрицы // Вестник Воронежского государственного технического университета. 2011. Т. 7. № 8. С. 21-24.

9. Жуков Д.В., Железников Д.А., Заплетина М.А. Применение SAT-подхода к трассировке блоков коммутации для реконфигурируемых систем на кристалле // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2020. № 1. С. 2б-32. DOI: https:IIdoi.org/10.31114I2078-7707-2020-1-2б-32

10. Wang W., Meng Q., Zhang Z. A survey of FPGA placement algorithm research II 2017 7th IEEE International Conference on Electronics Information and Emergency Communication (ICEIEC). Macau: IEEE, 2017. P. 498-502. DOI: https:IIdoi.orgI10.1109IICEIEC.2017.8076614

11. Гаврилов С.В., Железников Д.А., Чочаев Р.Ж., Эннс В.И. Адаптация метода моделирования отжига для размещения элементов в базисе реконфигурируемых систем на кристалле // Электронная техника. Сер. 3. Микроэлектроника. 2018. № 4 (172). С. 55-61.

12. Гаврилов С.В., Железников Д.А., Чочаев Р.Ж., Хватов В.М. Алгоритм декомпозиции на основе метода имитации отжига для реконфигурируемых систем на кристалле // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС). 2018. № 1. С. 199-204. DOI: https:IIdoi.org/ 10.31114/2078-7707-2018-1-199-204

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

Эннс Виктор Иванович - кандидат технических наук, заместитель генерального директора по разработкам и внедрению микросхем специального и космического назначения НИИ молекулярной электроники (Россия, 124460, г. Москва, г. Зеленоград, ул. Академика Валиева, 6/1), venns@niime.ru

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

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

References

1. Xilinx, Inc. Form 10-K. Investor Relations, Xilinx. Available at: http://investor.xilinx.com/static-files/13e52459-fd4c-44da-adee-19e463d02ae8 (accessed: 14.04.2021).

2. Enns V. SoC, GA or FPGA: selecting a digital integrated circuit design. Komponenty i tekhnologii = Components and Technologies, 2018, no. 4 (201), pp. 100-102. (In Russian).

3. 5400ТР094 PAZIS. DC SOYUZ. Available at: https://dcsoyuz.ru/products/pais/art/1605 (accessed: 13.04.2021). (In Russian).

4. iCE40LM family data sheet. Lattice Semiconductor Corp. Available at: http://www.latticesemi.com/ view_document?document_id=50152 (accessed: 13.04.2021).

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 Perspective 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. Hauck S., DeHon A. Reconfigurable computing. Vol. 1: The theory and practice of FPGA-based computation. San Francisco, CA, Morgan Kaufmann, 2007. 944 p.

7. Harary F. Graph theory. Boca Raton, FL, CRC Press, 2018. 288 p.

8. Strogonov A.V., Davydov S.I., Motylev M.S., Bystritsky A.V. Programmable switching in FPGA interconnect. Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta = Bulletin of Voronezh State Technical University, 2011, vol. 7, no. 8, pp. 21-24. (In Russian).

9. Zhukov D.V., Zheleznikov D.A., Zapletina M.A. Application of SAT approach to switch blocks routing for reconfigurable systems-on-chip. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Perspective Micro- and Nanoelectronic Systems Development (MES), 2020, no. 1, pp. 26-32. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2020-1-26-32

10. Wang W., Meng Q., Zhang Z. A survey of FPGA placement algorithm research. 2017 7th IEEE International Conference on Electronics Information and Emergency Communication (ICEIEC). Macau, IEEE, 2017, pp. 498-502. DOI: https://doi.org/10.1109/ICEIEC.2017.8076614

11. Gavrilov S.V., Zheleznikov D.A., Chochaev R.Zh., Enns V.I. The modification of simulated annealing-based placement algorithm for reconfigurable systems-on-chip. Elektronnaya tekhnika. Ser. 3. Mikroelektronika = Electronic Engineering. Ser. 3. Microelectronics, 2018, no. 4 (172), pp. 55-61. (In Russian).

12. Gavrilov S.V., Zheleznikov D.A., Chochaev R.Z., Khvatov V.M. Partitioning algorithm based on simulated annealing for reconfigurable systems-on-chip. Problemy razrabotki perspektivnykh mikro- i nanoelektronnykh sistem (MES) = Problems of Perspective Micro- and Nanoelectronic Systems Development (MES), 2018, no. 1, pp. 199-204. (In Russian). DOI: https://doi.org/10.31114/2078-7707-2018-1-199-204

Received 28.05.2021; Revised 28.05.2021; Accepted 11.10.2021. Information about the authors:

Victor I. Enns - Cand. Sci. (Eng.), Deputy General Director of the Development & Implementation Space & Special Purpose Chips, Molecular Electronics Research Institute (Russia, 124460, Moscow, Zelenograd, Akademik Valiev st., 6/1), venns@niime.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), sergey_g@ippm.ru

Rustam Zh. Chochaev - Research Engineer of the CAD Department, Institute for Design Problems in Microelectronics of the Russian Academy of Sciences (Russia, 124365, Moscow, Zelenograd, Sovetskaya st., 3), chochaev_r@ippm.ru

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