Выпуск #10/2022
А. Строгонов, М. Белых, Д. Пермяков
НАУЧНЫЕ ШКОЛЫ ПО РАЗРАБОТКЕ ПРОГРАММНЫХ ИНСТРУМЕНТОВ САПР ПЛИС
НАУЧНЫЕ ШКОЛЫ ПО РАЗРАБОТКЕ ПРОГРАММНЫХ ИНСТРУМЕНТОВ САПР ПЛИС
Просмотры: 931
DOI: 10.22184/1992-4178.2022.221.10.112.117
Разработка и внедрение отечественных САПР ПЛИС требует создания в России современных научных школ в области проектирования ПЛИС. В статье представлен обзор ведущих зарубежных и отечественных научных школ, занимающихся разработкой программных инструментов САПР ПЛИС.
Разработка и внедрение отечественных САПР ПЛИС требует создания в России современных научных школ в области проектирования ПЛИС. В статье представлен обзор ведущих зарубежных и отечественных научных школ, занимающихся разработкой программных инструментов САПР ПЛИС.
Теги: cad design flow fpga hdl synthesis hdl-синтез ip block library open source software scientific school библиотека ip-блоков маршрут проектирования научная школа плис по с открытым исходным кодом сапр
Научные школы по разработке программных инструментов САПР ПЛИС
А. Строгонов, д. т. н.1, М. Белых 2, Д. Пермяков 3
Разработка и внедрение отечественных САПР ПЛИС требует создания в России современных научных школ в области проектирования ПЛИС. Проблемы в этой области связаны не только с технологическим отставанием российских ПЛИС, но и с монопольным положением на рынке ведущих мировых разработчиков инструментов проектирования. Чтобы преодолеть многочисленные патентные барьеры американских компаний, российским разработчикам САПР необходимо на начальном этапе полагаться на независимые исследования международного научного сообщества и использовать ПО с открытым исходным кодом, а затем переходить к созданию собственных программных платформ. В статье представлен обзор ведущих зарубежных и отечественных научных школ, занимающихся разработкой программных инструментов САПР ПЛИС.
Ведущие зарубежные производители ПЛИС самостоятельно или в кооперации с другими компаниями разрабатывают и обеспечивают поддержку собственных САПР, сосредоточив в своих руках 99% рынка HDL-синтеза. При этом программные средства с открытым исходным кодом занимают всего 1%. Например, САПР Xilinx Foundation Series была разработана компанией Xilinx в кооперации с Aldec и Synopsys для работы с ПЛИС емкостью до 2 млн системных вентилей. Сегодня на рынке доступны последние версии САПР для создания проектов на базе ПЛИС СнК, такие как Xilinx Vivado Design Suite и Altera Quartus Prime.
Китайские компании, как правило, используют лицензионное ПО от американских вендоров. Например, китайская Gowin Semiconductor использует ПО Synopsys в собственной САПР Gowin для RTL-синтеза в уникальный базис ПЛИС. Синтезатор Synplify Pro от Synopsys используется совместно с синтезатором Gowin Synthesis собственной разработки. Китайские разработчики начали путь освоения американских ПЛИС с низкобюджетных серий ПЛИС Altera и Xilinx, например ПЛИС типа «программируемая пользователем вентильная матрица» (ППВМ) серии XC4000E, созданной на основе 0,5‑мкм КМОП СОЗУ с трехслойной металлизацией без встроенных блоков памяти и ЦОС-блоков.
ПЛИС Xilinx устаревших серий XC2000–XC4000E имеют одноуровневую структуру, в которой конфигурируемые логических блоки (КЛБ) окружены с четырех сторон межсоединениями горизонтальных и вертикальных трассировочных каналов, равномерно распределенных по всей площади кристалла. В ПЛИС Xilinx более поздних серий логическими плитками могут быть как КЛБ или умножители (ЦОС-блоки), так и блоки памяти.
ПЛИС B4013E разработки Пекинского института микроэлектронных технологий (Beijing Microelectronics Technology Institute – BMTI, известный также как «Институт 772») является полным аналогом ПЛИС XC4013E с матрицей КЛБ 24 × 24 (от 10 до 30 тыс. системных вентилей). Для проектирования цифровых устройств в базисе ПЛИС B4013E используется САПР Xilinx Foundation Series.
В Китае был освоен также выпуск серии ПЛИС BQ5V (BQ5VSX35T / 50T / 95T / 240T / LX155T), аналогичной серии ПЛИС Xilinx Virtex‑5, выпускаемой по 65‑нм КМОП технологическому процессу. Для разработки проектов используется САПР Xilinx ISE. Дополнительно выпускаются ИС аэрокосмического применения (BSV2CQRH) для очистки конфигурационной памяти ПЛИС по технологии СОЗУ серии Virtex 2 XQR2V1000, XQR2V3000, XQR2V6000 или аналогичные им BQR2V1000, BQR2V3000, BQR2V6000.
На сегодняшний момент в России полностью отсутствуют ПЛИС с архитектурой, подобной ПЛИС СнК Altera / Xilinx. Общими недостатками отечественных ПЛИС разных производителей являются отсутствие высокоскоростных приемо-передатчиков GTХ; АЦП последовательного приближения со скоростью преобразования не менее 1 Мвыб / с; коммуникационных протоколов PCI Express V1.1 / 2.0, 10GBASE-R, Interlaken, XAUI, RXAUI, CAUI, CPRI, OBSAI, OC‑48 / 192, SRIO, SATA, SDI; блоков ФАПЧ (тактовые частоты менее 250 МГц). Кроме того, отечественные ПЛИС отличаются малым объемом блочной памяти ОЗУ и недостаточным количеством ЦОС-блоков, они не поддерживают новые интерфейсы MIPI I3C и MIPI D-PHY для сопряжения датчиков (например, видеокамер и дисплеев) и других интерфейсных БИС, а также не обеспечивают 128‑битное шифрование данных AES.
Российские ПЛИС не поддерживают ОСРВ uCOSIII (коммерческая) и FreeRTOS (бесплатная). На отечественных ПЛИС невозможно построить развитые экосистемы, которые включают инструменты проектирования (САПР ПЛИС) и библиотеки IP-блоков.
Большая часть отечественных ПЛИС является функциональными аналогами ПЛИС Altera, построенных как на основе технологии СОЗУ (FPGA) серий FLEX10K, Cyclone II, III, IV, Stratix III, так и на основе флеш-технологии (CPLD) серии MAX II. Но встречаются ПЛИС по технологии программирования антифьюз, как у ПЛИС Actel.
Для отечественной электронной промышленности с целью импортозамещения продукции зарубежных производителей ПЛИС необходима собственная САПР, позволяющая внедрять новые архитектуры с уникальным базисом. Однако создание собственных программных инструментов на основе зарубежных САПР индустриальных ПЛИС является сложной или даже невыполнимой задачей. Закрытые базы данных ПЛИС и не поддерживаемые программные интерфейсы индустриальных САПР во многом тормозят исследования архитектур и плохо подходят для разработки собственных программных инструментов САПР.
Международные научные школы, в основном, занимаются исследованием возможностей различных архитектур ПЛИС и их поведения в будущем при переходе с одного технологического поколения на другое. Накопленный опыт впоследствии широко используется зарубежными компаниями, выпускающими индустриальные ПЛИС.
Одним из ведущих американских специалистов является профессор кафедры электротехники и вычислительной техники Университета Бригама Янга Брент Нельсон (Brent E. Nelson). Он специализируется на проектировании цифровых систем и инструментах САПР ПЛИС. Его текущие исследовательские интересы сосредоточены на разработке инструментов САПР и методов проектирования с целью преодоления ограничений САПР индустриальных ПЛИС. Он является руководителем проектов RapidSmith, Tincr, RapidSmith2 и Maverick, которые дают исследователям доступ к современным архитектурам ПЛИС Xilinx. Текущие проекты профессора Нельсона сосредоточены на инструментах САПР с открытым исходным кодом и защите битового потока ПЛИС.
Использование программных инструментов индустриальных САПР для таких задач, как синтез, размещение и трассировка при исследовании архитектур ПЛИС, связано с трудностями или вовсе невозможно, поскольку компании-разработчики индустриальных САПР не предоставляют достаточной информации о программных интерфейсах, ссылаясь на коммерческую тайну. Базы данных индустриальных ПЛИС также являются собственностью компаний, что усложняет доступ к ним. Поэтому исследования новых архитектур проводятся на гипотетических (академических) ПЛИС с использованием программных инструментов САПР с открытым кодом.
Например, ПО RapidSmith с открытым программным кодом на языке Java Университета Бригама Янга предоставляет возможность научному сообществу воплощать экспериментальные алгоритмы САПР, такие как размещение, трассировка и другие, для ПЛИС Xilinx. RapidSmith создан под устаревшую САПР ISE, а новая версия, RapidSmith2, нацелена на исследования современных индустриальных ПЛИС СнК Xilinx, доступных в Vivado. Способность экспортировать дизайн проекта из Vivado, изменять его на более мощном по сравнению с Tcl языке Java, а затем импортировать обратно является очень полезной возможностью RapidSmith2 (совместно с TincrCAD).
TincrCAD – программный интерфейс приложения (API) Tcl, построенный поверх собственных команд Vivado Tcl. Он содержит набор команд, которые часто используются при разработке собственных инструментов САПР, и предоставляет разработчикам более высокие уровни абстракций (вместо использования XDL-вида с экземплярами (instances) и ячейками (cell), RapidSmith2 использует представление Vivado с секциями (site, «часть», «сегмент») и базовыми элементами (BLE)), повышая производительность и увеличивая детализацию информации. RapidWright от Xilinx Research Labs – это следующее поколение RapidSmith, платформа с открытым исходным кодом от Xilinx Research Labs c прямой поддержкой инструментов Vivado. Отличительной функцией RapidWright является способность читать и записывать незашифрованные файлы снимка дизайна Vivado (Vivado Design Checkpoint, контрольные точки способны сохранить состояние проекта в любой стадии процесса проектирования). RapidWright поддерживает полное представление как о логическом, так и о физическом списке соединений конструкций ПЛИС.
Исследование архитектур индустриальных ПЛИС позволяет найти компромисс между эффективностью 4-LUT и 6-LUT для новых архитектур. В индустриальных архитектурах ПЛИС наблюдается тенденция к росту числа входов генераторов булевых функций (LUT). Если базовым LUT долгое время являлся неделимый 4-LUT (например, серия Xilinx Virtex), то с 2003 года в архитектурах ПЛИС появилась 6‑входовая перестраиваемая LUT (fracturable или адаптивный LUT, аналогичный ПЛИС Altera, например, серии Stratix II). Как показали исследования, увеличение числа входов LUT обеспечивает более высокую производительность проектов в ПЛИС. Адаптивный LUT в базовом логическом элементе (BLE) появился также и в Xilinx Virtex‑5. Каждый LUT может быть сконфигурирован либо как один 6‑входной LUT с одним выходом, либо как два 5‑входных LUT с отдельными выходами, но с общими входами. Одновременно растет и число LUT, например с 10 до 32 (64 триггера в КЛБ), как в новых архитектурах Xilinx Versal.
Более крупные КЛБ помогают за счет упрощения размещения и маршрутизации между блоками сократить время работы инструментов САПР. Как только появилась перестраиваемая LUT, в архитектурах Altera / Xillinx были реализованы вторые двухтактные триггеры (FF) в BLE. В архитектуре Altera Stratix V количество FF было дополнительно увеличено с двух до четырех на BLE, чтобы удовлетворить растущий спрос на FF, поскольку проекты стали более глубоко конвейерными для достижения более высокой производительности. Так, в серии Versal, число триггеров меняется от 332 048 до 1 969 152, а число LUT от 161 024 до 984 576.
В научном сообществе широко используется программный инструмент с открытым кодом Yosys (разработчик Clifford Wolf) для Verilog-синтеза в базис индустриальных ПЛИС Xilinx с применением САПР ISE. Yosys преобразует Verilog-проекты в формат BLIF и позволяет их отображать в базис ПЛИС Xilinx серий Spartan‑6 и Virtex‑7. Для логической оптимизации и отображения в базис ПЛИС в Yosys интегрирован программный инструмент ABC. Под термином «синтез логики» понимается автоматическое преобразование проекта с уровня регистровых передач (RTL) на уровень вентилей технологического базиса ПЛИС.
Рассмотрим научную школу, ориентирующуюся на ПЛИС Altera. Она представлена группами Вон Бетца (Vaughn Betz) и Джонатана Роузе (Jonathan Rose). Вон Бетц является первоначальным разработчиком широко используемого маршрута САПР для размещения, маршрутизации и оценки архитектуры VPR FPGA, а также ведущим разработчиком проекта VTR, основанного на VPR. Джонатан Роузе был президентом и генеральным директором, а Вон Бетц – соучредителям Right Track для коммерциализации VPR, позднее компания была куплена Altera и стала частью Технологического центра Altera в Торонто. Бетц работал в Altera в качестве старшего директора по разработке программного обеспечения и является одним из архитекторов САПР Quartus. Бетц принимал участие в разработке первых пяти серий ПЛИС Stratix и Cyclone, а Роузе – в разработке Altera Apex 20K и Flex 10K. В настоящее время Бетц – профессор и заведующий кафедрой промышленных исследований NSERC / Intel в Университете Торонто.
САПР VTR 8.0 позволяет задавать и исследовать сегментацию межсоединений и топологию маршрутизаторов в трассировочных каналах, внутрикластерную коммутацию, структуру логических элементов, коммутацию внутри логического элемента, размеры LUT, различные связи, например, между блоками памяти и умножителями в ПЛИС, строить планировку кристалла и многое другое. VTR дает возможность создавать кросс-бары с полной коммутацией и с шинным мультиплексированием. Ядром VTR является VPR (Versatile Place and Route). Упаковщик AAPack реализует кластеризацию взаимосвязанных логических элементов в структурно-зависимые блоки ПЛИС, он основан на «жадном» эвристическом алгоритме упаковки с использованием затравочного механизма роста кластера. Размещение кластеров на кристалле ПЛИС осуществляется с помощью алгоритма «имитации отжига», а процесс трассировки использует модификацию алгоритма PathFinder.
Как отмечают исследователи, реализация проектов на ПЛИС серии Virtex‑6 в VTR сопряжена с большими трудностями, так как некоторые особенности логических элементов Virtex‑6 не поддерживаются синтезом VTR, например, мультиплексоры F7 / F8, LUTRAM (LUT в режиме ОЗУ) и SRL (LUT, как сдвиговый регистр) в секции SLICEM. Также, двухтактные триггеры FF в ПЛИС Virtex 6 могут тактироваться нарастающим или спадающим фронтом синхросигнала, но все FF в секции должны тактироваться одинаковыми фронтами. Алгоритм упаковки AAPack в САПР VTR 8.0 не содержит встроенных средств обеспечения этого правила.
Рассмотрим отечественную научную школу по созданию программных инструментов САПР ПЛИС, представленную Институтом проблем проектирования в микроэлектронике РАН (ИППМ РАН). В рамках импортозамещения зарубежной электронной компонентной базы в России предполагалось разработать ПЛИС серии 5510XC (1Т, 2Т, 3Т), содержащих 20, 50 и 100 тыс. логических вентилей, с использованием 180‑нм КМОП технологического процесса. На стадии разработки серии уровень сложности сравнивали с зарубежными ПЛИС типа CPLD Xilinx серии ХС9500 (выпускалась по 350‑нм КМОП флеш-технологии). Однако по справочным данным они являются функциональными аналогами ПЛИС Altera серии MAX II (2009 года) EPM570, EPM1270 и EPM2210 по количеству логических элементов (570, 1270 и 2210 логических элементов соответственно) и выпускаются по аналогичной технологии. ПЛИС не содержат встроенных ЦОС-блоков, малопригодны для реализации алгоритмов ЦОС и эффективны для создания управляющих автоматов. Основными производителями ПЛИС по флеш-технологии являются Intel / Altera, AMD / Xilinx, Lattice, Microsemi.
Серию 5510XC предполагалось выпускать с использованием КМОП флеш-технологии (80–100 МГц) с количеством логических вентилей 250 тыс. В 2017–2018 годах ставилась задача освоить ПЛИС по технологии антифьюз (однократно-программируемые элементы памяти) с использованием 180‑нм КНИ-технологии (сложность на уровне ПЛИС Virtex), а в 2019–2020 годах освоить ПЛИС с использованием 90 / 65‑нм КНИ-процесса (уровень сложности Virtex‑4, 5).
Таким образом, по состоянию на 2020 год отставание от ПЛИС серии Virtex‑5 составило 12 лет, при этом отечественные ПЛИС не содержат микропроцессорную подсистему или PCIe-контроллер, значительно проигрывая по количеству системных вентилей. Например, второе поколение ПЛИС Virtex-E, выпущенные в 1999 году по 180‑нм КМОП-технологии, содержали 2 млн системных вентилей. На рис. 1 показана ПЛИС 5510ХС3Т, содержащая 100 тыс. логических вентилей.
В ИППМ РАН был разработан маршрут проектирования ПЛИС серии 5510XC с использованием языка Tcl. Маршрут объединяет в себе два подхода к решению задачи логического синтеза. Первый использует программные инструменты логического синтеза индустриальных САПР: Design Compiler (Synopsys) или RTL Compiler (Cadence) с применением препроцессора XC PREP собственной разработки. Второй подход ориентирован на использование ПО с открытым программным кодом – логический синтезатор Yosys в сочетании с инструментом для технологического отображения ABC c применением препроцессора XCY.
Исходя из архитектурных особенностей ПЛИС серии 5510ХС был разработан алгоритм кластеризации для автоматической компоновки групп логических блоков. Для оптимизации размещения используется алгоритм на основе моделирования отжига. За основу алгоритма автоматической трассировки межсоединений для ПЛИС был взят алгоритм PathFinder. Подобные алгоритмы также используются в академической САПР VPR.
В 2020 году были представлены оригинальные ПЛИС М3 разработки АО «ПКК Миландр», которые можно сравнить с Altera FLEX 10K30 (емкость эквивалентна 30 тыс. вентилей). ПЛИС М3 унаследовала структуру ПЛИС М1, характерную для ПЛИС Actel. Логический блок (LB) ПЛИС М3 состоит из четырех логических элементов (LE), а каждый LE состоит из 3-LUT и триггера (рис. 2).
Маршруты проектирования ПЛИС от АО «ПКК Миландр» основаны на синтезаторе Yosys и программных средствах размещения и трассировки собственной разработки (рис. 3). Для ПЛИС М1 отмечались архитектурные ограничения по трассировочным ресурсам, а также то, что САПР не может реализовывать сложные проекты. На ПЛИС М3 удалось реализовать достаточно сложные проекты, например 8‑разрядный микропроцессор Zilog NextZ80.
Программный инструмент Yosys с открытым программным кодом для Verilog-синтеза обрабатывает практически любой синтезируемый проект на языке Verilog‑2005. Позволяет отображать Verilog-проекты как в базис библиотечных ячеек заказных БИС (в формате Liberty), так и в базис некоторых серий ПЛИС Xilinx (серий Spartan‑6 и Virtex‑7 c использованием САПР ISE и Vivado), Lattice и Altera (в двух сериях ПЛИС Altera Cyclone IV и MAX II). Следует заметить, что как ПЛИС М3, так и ПЛИС 5510ХС3Т не содержит встроенных умножителей, поэтому использование синтезатора Yosys в маршрутах проектирования является вполне обоснованным.
Заключение
На сегодняшний день в России полностью отсутствуют высокоинтегрированные ПЛИС СнК с архитектурой, подобной ПЛИС AMD / Xilinx. Процесс перехода от САПР и ПЛИС зарубежных производителей к отечественным требует не только огромных инвестиций, но и создания в России нескольких научных школ в области проектирования ПЛИС.
В условиях абсолютной монополии американских компаний и многочисленных патентных барьеров придется ориентироваться на независимые исследования и разработки научных сообществ, решая, таким образом, проблему отечественных ПЛИС с нуля. В дальнейшем необходимо построить платформу экосистемы линейки продуктов. Типовая экосистема должна включать в себя ПЛИС, инструменты САПР, библиотеки IP-блоков.
Одна из основных задач российских научных школ – разработка ПЛИС с архитектурой, подобной ПЛИС Xilinx. В начале необходимо разработать САПР с инструментами синтеза, размещения, трассировки и конфигурирования ПЛИС, в основе которой возможно использовать зарубежное программное обеспечение международного научного сообщества с открытым исходным кодом. А в последствии – разработать собственные программные инструменты САПР с учетом уникального базиса отечественных ПЛИС. Тем не менее, необходимо учитывать тот факт, что сегодня наметилась тенденция коммерциализации программных инструментов САПР ПЛИС и БИС с открытым программным кодом.
ЛИТЕРАТУРА
Строгонов А. В., Городков П. С. Современные тенденции развития ПЛИС от системной интеграции к искусственному интеллекту // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 4. С. 1–9.
Строгонов А. В., Городков П. С. Обзор ПЛИС китайских производителей // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2022. № 4. С. 1–8.
Гаврилов С. В., Железников Д. А., Липатов И. А., Тиунов И. В. Маршрут проектирования для отечественных программируемых интегральных схем специального назначения: интеграция с существующими промышленными средствами автоматизированного проектирования и решение проблем импортозамещения // Электронная техника. Cерия 3. Микроэлектроника. 2017. № 4 (168). C. 5–11.
Строгонов А. В., Кривчун М. С., Городков П. С. Обзор программных средств с открытым исходным кодом для исследования современных архитектур ПЛИС Xilinx // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 1. С. 1–7.
Строгонов А. В., Горлов М. И., Городков П. С. САПР с открытым кодом для реализации проектов в академических ПЛИС // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2018. № 3. С. 1–8.
Камкин А. С., Смолов С. А., Чупилко М. М. Сравнение открытых маршрутов проектирования цифровой аппаратуры: qFlow, OpenLANE, Coriolis, SymbiFlow // Труды ИСП РАН. Том 33, вып. 6. 2021. С. 111–130.
А. Строгонов, д. т. н.1, М. Белых 2, Д. Пермяков 3
Разработка и внедрение отечественных САПР ПЛИС требует создания в России современных научных школ в области проектирования ПЛИС. Проблемы в этой области связаны не только с технологическим отставанием российских ПЛИС, но и с монопольным положением на рынке ведущих мировых разработчиков инструментов проектирования. Чтобы преодолеть многочисленные патентные барьеры американских компаний, российским разработчикам САПР необходимо на начальном этапе полагаться на независимые исследования международного научного сообщества и использовать ПО с открытым исходным кодом, а затем переходить к созданию собственных программных платформ. В статье представлен обзор ведущих зарубежных и отечественных научных школ, занимающихся разработкой программных инструментов САПР ПЛИС.
Ведущие зарубежные производители ПЛИС самостоятельно или в кооперации с другими компаниями разрабатывают и обеспечивают поддержку собственных САПР, сосредоточив в своих руках 99% рынка HDL-синтеза. При этом программные средства с открытым исходным кодом занимают всего 1%. Например, САПР Xilinx Foundation Series была разработана компанией Xilinx в кооперации с Aldec и Synopsys для работы с ПЛИС емкостью до 2 млн системных вентилей. Сегодня на рынке доступны последние версии САПР для создания проектов на базе ПЛИС СнК, такие как Xilinx Vivado Design Suite и Altera Quartus Prime.
Китайские компании, как правило, используют лицензионное ПО от американских вендоров. Например, китайская Gowin Semiconductor использует ПО Synopsys в собственной САПР Gowin для RTL-синтеза в уникальный базис ПЛИС. Синтезатор Synplify Pro от Synopsys используется совместно с синтезатором Gowin Synthesis собственной разработки. Китайские разработчики начали путь освоения американских ПЛИС с низкобюджетных серий ПЛИС Altera и Xilinx, например ПЛИС типа «программируемая пользователем вентильная матрица» (ППВМ) серии XC4000E, созданной на основе 0,5‑мкм КМОП СОЗУ с трехслойной металлизацией без встроенных блоков памяти и ЦОС-блоков.
ПЛИС Xilinx устаревших серий XC2000–XC4000E имеют одноуровневую структуру, в которой конфигурируемые логических блоки (КЛБ) окружены с четырех сторон межсоединениями горизонтальных и вертикальных трассировочных каналов, равномерно распределенных по всей площади кристалла. В ПЛИС Xilinx более поздних серий логическими плитками могут быть как КЛБ или умножители (ЦОС-блоки), так и блоки памяти.
ПЛИС B4013E разработки Пекинского института микроэлектронных технологий (Beijing Microelectronics Technology Institute – BMTI, известный также как «Институт 772») является полным аналогом ПЛИС XC4013E с матрицей КЛБ 24 × 24 (от 10 до 30 тыс. системных вентилей). Для проектирования цифровых устройств в базисе ПЛИС B4013E используется САПР Xilinx Foundation Series.
В Китае был освоен также выпуск серии ПЛИС BQ5V (BQ5VSX35T / 50T / 95T / 240T / LX155T), аналогичной серии ПЛИС Xilinx Virtex‑5, выпускаемой по 65‑нм КМОП технологическому процессу. Для разработки проектов используется САПР Xilinx ISE. Дополнительно выпускаются ИС аэрокосмического применения (BSV2CQRH) для очистки конфигурационной памяти ПЛИС по технологии СОЗУ серии Virtex 2 XQR2V1000, XQR2V3000, XQR2V6000 или аналогичные им BQR2V1000, BQR2V3000, BQR2V6000.
На сегодняшний момент в России полностью отсутствуют ПЛИС с архитектурой, подобной ПЛИС СнК Altera / Xilinx. Общими недостатками отечественных ПЛИС разных производителей являются отсутствие высокоскоростных приемо-передатчиков GTХ; АЦП последовательного приближения со скоростью преобразования не менее 1 Мвыб / с; коммуникационных протоколов PCI Express V1.1 / 2.0, 10GBASE-R, Interlaken, XAUI, RXAUI, CAUI, CPRI, OBSAI, OC‑48 / 192, SRIO, SATA, SDI; блоков ФАПЧ (тактовые частоты менее 250 МГц). Кроме того, отечественные ПЛИС отличаются малым объемом блочной памяти ОЗУ и недостаточным количеством ЦОС-блоков, они не поддерживают новые интерфейсы MIPI I3C и MIPI D-PHY для сопряжения датчиков (например, видеокамер и дисплеев) и других интерфейсных БИС, а также не обеспечивают 128‑битное шифрование данных AES.
Российские ПЛИС не поддерживают ОСРВ uCOSIII (коммерческая) и FreeRTOS (бесплатная). На отечественных ПЛИС невозможно построить развитые экосистемы, которые включают инструменты проектирования (САПР ПЛИС) и библиотеки IP-блоков.
Большая часть отечественных ПЛИС является функциональными аналогами ПЛИС Altera, построенных как на основе технологии СОЗУ (FPGA) серий FLEX10K, Cyclone II, III, IV, Stratix III, так и на основе флеш-технологии (CPLD) серии MAX II. Но встречаются ПЛИС по технологии программирования антифьюз, как у ПЛИС Actel.
Для отечественной электронной промышленности с целью импортозамещения продукции зарубежных производителей ПЛИС необходима собственная САПР, позволяющая внедрять новые архитектуры с уникальным базисом. Однако создание собственных программных инструментов на основе зарубежных САПР индустриальных ПЛИС является сложной или даже невыполнимой задачей. Закрытые базы данных ПЛИС и не поддерживаемые программные интерфейсы индустриальных САПР во многом тормозят исследования архитектур и плохо подходят для разработки собственных программных инструментов САПР.
Международные научные школы, в основном, занимаются исследованием возможностей различных архитектур ПЛИС и их поведения в будущем при переходе с одного технологического поколения на другое. Накопленный опыт впоследствии широко используется зарубежными компаниями, выпускающими индустриальные ПЛИС.
Одним из ведущих американских специалистов является профессор кафедры электротехники и вычислительной техники Университета Бригама Янга Брент Нельсон (Brent E. Nelson). Он специализируется на проектировании цифровых систем и инструментах САПР ПЛИС. Его текущие исследовательские интересы сосредоточены на разработке инструментов САПР и методов проектирования с целью преодоления ограничений САПР индустриальных ПЛИС. Он является руководителем проектов RapidSmith, Tincr, RapidSmith2 и Maverick, которые дают исследователям доступ к современным архитектурам ПЛИС Xilinx. Текущие проекты профессора Нельсона сосредоточены на инструментах САПР с открытым исходным кодом и защите битового потока ПЛИС.
Использование программных инструментов индустриальных САПР для таких задач, как синтез, размещение и трассировка при исследовании архитектур ПЛИС, связано с трудностями или вовсе невозможно, поскольку компании-разработчики индустриальных САПР не предоставляют достаточной информации о программных интерфейсах, ссылаясь на коммерческую тайну. Базы данных индустриальных ПЛИС также являются собственностью компаний, что усложняет доступ к ним. Поэтому исследования новых архитектур проводятся на гипотетических (академических) ПЛИС с использованием программных инструментов САПР с открытым кодом.
Например, ПО RapidSmith с открытым программным кодом на языке Java Университета Бригама Янга предоставляет возможность научному сообществу воплощать экспериментальные алгоритмы САПР, такие как размещение, трассировка и другие, для ПЛИС Xilinx. RapidSmith создан под устаревшую САПР ISE, а новая версия, RapidSmith2, нацелена на исследования современных индустриальных ПЛИС СнК Xilinx, доступных в Vivado. Способность экспортировать дизайн проекта из Vivado, изменять его на более мощном по сравнению с Tcl языке Java, а затем импортировать обратно является очень полезной возможностью RapidSmith2 (совместно с TincrCAD).
TincrCAD – программный интерфейс приложения (API) Tcl, построенный поверх собственных команд Vivado Tcl. Он содержит набор команд, которые часто используются при разработке собственных инструментов САПР, и предоставляет разработчикам более высокие уровни абстракций (вместо использования XDL-вида с экземплярами (instances) и ячейками (cell), RapidSmith2 использует представление Vivado с секциями (site, «часть», «сегмент») и базовыми элементами (BLE)), повышая производительность и увеличивая детализацию информации. RapidWright от Xilinx Research Labs – это следующее поколение RapidSmith, платформа с открытым исходным кодом от Xilinx Research Labs c прямой поддержкой инструментов Vivado. Отличительной функцией RapidWright является способность читать и записывать незашифрованные файлы снимка дизайна Vivado (Vivado Design Checkpoint, контрольные точки способны сохранить состояние проекта в любой стадии процесса проектирования). RapidWright поддерживает полное представление как о логическом, так и о физическом списке соединений конструкций ПЛИС.
Исследование архитектур индустриальных ПЛИС позволяет найти компромисс между эффективностью 4-LUT и 6-LUT для новых архитектур. В индустриальных архитектурах ПЛИС наблюдается тенденция к росту числа входов генераторов булевых функций (LUT). Если базовым LUT долгое время являлся неделимый 4-LUT (например, серия Xilinx Virtex), то с 2003 года в архитектурах ПЛИС появилась 6‑входовая перестраиваемая LUT (fracturable или адаптивный LUT, аналогичный ПЛИС Altera, например, серии Stratix II). Как показали исследования, увеличение числа входов LUT обеспечивает более высокую производительность проектов в ПЛИС. Адаптивный LUT в базовом логическом элементе (BLE) появился также и в Xilinx Virtex‑5. Каждый LUT может быть сконфигурирован либо как один 6‑входной LUT с одним выходом, либо как два 5‑входных LUT с отдельными выходами, но с общими входами. Одновременно растет и число LUT, например с 10 до 32 (64 триггера в КЛБ), как в новых архитектурах Xilinx Versal.
Более крупные КЛБ помогают за счет упрощения размещения и маршрутизации между блоками сократить время работы инструментов САПР. Как только появилась перестраиваемая LUT, в архитектурах Altera / Xillinx были реализованы вторые двухтактные триггеры (FF) в BLE. В архитектуре Altera Stratix V количество FF было дополнительно увеличено с двух до четырех на BLE, чтобы удовлетворить растущий спрос на FF, поскольку проекты стали более глубоко конвейерными для достижения более высокой производительности. Так, в серии Versal, число триггеров меняется от 332 048 до 1 969 152, а число LUT от 161 024 до 984 576.
В научном сообществе широко используется программный инструмент с открытым кодом Yosys (разработчик Clifford Wolf) для Verilog-синтеза в базис индустриальных ПЛИС Xilinx с применением САПР ISE. Yosys преобразует Verilog-проекты в формат BLIF и позволяет их отображать в базис ПЛИС Xilinx серий Spartan‑6 и Virtex‑7. Для логической оптимизации и отображения в базис ПЛИС в Yosys интегрирован программный инструмент ABC. Под термином «синтез логики» понимается автоматическое преобразование проекта с уровня регистровых передач (RTL) на уровень вентилей технологического базиса ПЛИС.
Рассмотрим научную школу, ориентирующуюся на ПЛИС Altera. Она представлена группами Вон Бетца (Vaughn Betz) и Джонатана Роузе (Jonathan Rose). Вон Бетц является первоначальным разработчиком широко используемого маршрута САПР для размещения, маршрутизации и оценки архитектуры VPR FPGA, а также ведущим разработчиком проекта VTR, основанного на VPR. Джонатан Роузе был президентом и генеральным директором, а Вон Бетц – соучредителям Right Track для коммерциализации VPR, позднее компания была куплена Altera и стала частью Технологического центра Altera в Торонто. Бетц работал в Altera в качестве старшего директора по разработке программного обеспечения и является одним из архитекторов САПР Quartus. Бетц принимал участие в разработке первых пяти серий ПЛИС Stratix и Cyclone, а Роузе – в разработке Altera Apex 20K и Flex 10K. В настоящее время Бетц – профессор и заведующий кафедрой промышленных исследований NSERC / Intel в Университете Торонто.
САПР VTR 8.0 позволяет задавать и исследовать сегментацию межсоединений и топологию маршрутизаторов в трассировочных каналах, внутрикластерную коммутацию, структуру логических элементов, коммутацию внутри логического элемента, размеры LUT, различные связи, например, между блоками памяти и умножителями в ПЛИС, строить планировку кристалла и многое другое. VTR дает возможность создавать кросс-бары с полной коммутацией и с шинным мультиплексированием. Ядром VTR является VPR (Versatile Place and Route). Упаковщик AAPack реализует кластеризацию взаимосвязанных логических элементов в структурно-зависимые блоки ПЛИС, он основан на «жадном» эвристическом алгоритме упаковки с использованием затравочного механизма роста кластера. Размещение кластеров на кристалле ПЛИС осуществляется с помощью алгоритма «имитации отжига», а процесс трассировки использует модификацию алгоритма PathFinder.
Как отмечают исследователи, реализация проектов на ПЛИС серии Virtex‑6 в VTR сопряжена с большими трудностями, так как некоторые особенности логических элементов Virtex‑6 не поддерживаются синтезом VTR, например, мультиплексоры F7 / F8, LUTRAM (LUT в режиме ОЗУ) и SRL (LUT, как сдвиговый регистр) в секции SLICEM. Также, двухтактные триггеры FF в ПЛИС Virtex 6 могут тактироваться нарастающим или спадающим фронтом синхросигнала, но все FF в секции должны тактироваться одинаковыми фронтами. Алгоритм упаковки AAPack в САПР VTR 8.0 не содержит встроенных средств обеспечения этого правила.
Рассмотрим отечественную научную школу по созданию программных инструментов САПР ПЛИС, представленную Институтом проблем проектирования в микроэлектронике РАН (ИППМ РАН). В рамках импортозамещения зарубежной электронной компонентной базы в России предполагалось разработать ПЛИС серии 5510XC (1Т, 2Т, 3Т), содержащих 20, 50 и 100 тыс. логических вентилей, с использованием 180‑нм КМОП технологического процесса. На стадии разработки серии уровень сложности сравнивали с зарубежными ПЛИС типа CPLD Xilinx серии ХС9500 (выпускалась по 350‑нм КМОП флеш-технологии). Однако по справочным данным они являются функциональными аналогами ПЛИС Altera серии MAX II (2009 года) EPM570, EPM1270 и EPM2210 по количеству логических элементов (570, 1270 и 2210 логических элементов соответственно) и выпускаются по аналогичной технологии. ПЛИС не содержат встроенных ЦОС-блоков, малопригодны для реализации алгоритмов ЦОС и эффективны для создания управляющих автоматов. Основными производителями ПЛИС по флеш-технологии являются Intel / Altera, AMD / Xilinx, Lattice, Microsemi.
Серию 5510XC предполагалось выпускать с использованием КМОП флеш-технологии (80–100 МГц) с количеством логических вентилей 250 тыс. В 2017–2018 годах ставилась задача освоить ПЛИС по технологии антифьюз (однократно-программируемые элементы памяти) с использованием 180‑нм КНИ-технологии (сложность на уровне ПЛИС Virtex), а в 2019–2020 годах освоить ПЛИС с использованием 90 / 65‑нм КНИ-процесса (уровень сложности Virtex‑4, 5).
Таким образом, по состоянию на 2020 год отставание от ПЛИС серии Virtex‑5 составило 12 лет, при этом отечественные ПЛИС не содержат микропроцессорную подсистему или PCIe-контроллер, значительно проигрывая по количеству системных вентилей. Например, второе поколение ПЛИС Virtex-E, выпущенные в 1999 году по 180‑нм КМОП-технологии, содержали 2 млн системных вентилей. На рис. 1 показана ПЛИС 5510ХС3Т, содержащая 100 тыс. логических вентилей.
В ИППМ РАН был разработан маршрут проектирования ПЛИС серии 5510XC с использованием языка Tcl. Маршрут объединяет в себе два подхода к решению задачи логического синтеза. Первый использует программные инструменты логического синтеза индустриальных САПР: Design Compiler (Synopsys) или RTL Compiler (Cadence) с применением препроцессора XC PREP собственной разработки. Второй подход ориентирован на использование ПО с открытым программным кодом – логический синтезатор Yosys в сочетании с инструментом для технологического отображения ABC c применением препроцессора XCY.
Исходя из архитектурных особенностей ПЛИС серии 5510ХС был разработан алгоритм кластеризации для автоматической компоновки групп логических блоков. Для оптимизации размещения используется алгоритм на основе моделирования отжига. За основу алгоритма автоматической трассировки межсоединений для ПЛИС был взят алгоритм PathFinder. Подобные алгоритмы также используются в академической САПР VPR.
В 2020 году были представлены оригинальные ПЛИС М3 разработки АО «ПКК Миландр», которые можно сравнить с Altera FLEX 10K30 (емкость эквивалентна 30 тыс. вентилей). ПЛИС М3 унаследовала структуру ПЛИС М1, характерную для ПЛИС Actel. Логический блок (LB) ПЛИС М3 состоит из четырех логических элементов (LE), а каждый LE состоит из 3-LUT и триггера (рис. 2).
Маршруты проектирования ПЛИС от АО «ПКК Миландр» основаны на синтезаторе Yosys и программных средствах размещения и трассировки собственной разработки (рис. 3). Для ПЛИС М1 отмечались архитектурные ограничения по трассировочным ресурсам, а также то, что САПР не может реализовывать сложные проекты. На ПЛИС М3 удалось реализовать достаточно сложные проекты, например 8‑разрядный микропроцессор Zilog NextZ80.
Программный инструмент Yosys с открытым программным кодом для Verilog-синтеза обрабатывает практически любой синтезируемый проект на языке Verilog‑2005. Позволяет отображать Verilog-проекты как в базис библиотечных ячеек заказных БИС (в формате Liberty), так и в базис некоторых серий ПЛИС Xilinx (серий Spartan‑6 и Virtex‑7 c использованием САПР ISE и Vivado), Lattice и Altera (в двух сериях ПЛИС Altera Cyclone IV и MAX II). Следует заметить, что как ПЛИС М3, так и ПЛИС 5510ХС3Т не содержит встроенных умножителей, поэтому использование синтезатора Yosys в маршрутах проектирования является вполне обоснованным.
Заключение
На сегодняшний день в России полностью отсутствуют высокоинтегрированные ПЛИС СнК с архитектурой, подобной ПЛИС AMD / Xilinx. Процесс перехода от САПР и ПЛИС зарубежных производителей к отечественным требует не только огромных инвестиций, но и создания в России нескольких научных школ в области проектирования ПЛИС.
В условиях абсолютной монополии американских компаний и многочисленных патентных барьеров придется ориентироваться на независимые исследования и разработки научных сообществ, решая, таким образом, проблему отечественных ПЛИС с нуля. В дальнейшем необходимо построить платформу экосистемы линейки продуктов. Типовая экосистема должна включать в себя ПЛИС, инструменты САПР, библиотеки IP-блоков.
Одна из основных задач российских научных школ – разработка ПЛИС с архитектурой, подобной ПЛИС Xilinx. В начале необходимо разработать САПР с инструментами синтеза, размещения, трассировки и конфигурирования ПЛИС, в основе которой возможно использовать зарубежное программное обеспечение международного научного сообщества с открытым исходным кодом. А в последствии – разработать собственные программные инструменты САПР с учетом уникального базиса отечественных ПЛИС. Тем не менее, необходимо учитывать тот факт, что сегодня наметилась тенденция коммерциализации программных инструментов САПР ПЛИС и БИС с открытым программным кодом.
ЛИТЕРАТУРА
Строгонов А. В., Городков П. С. Современные тенденции развития ПЛИС от системной интеграции к искусственному интеллекту // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 4. С. 1–9.
Строгонов А. В., Городков П. С. Обзор ПЛИС китайских производителей // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2022. № 4. С. 1–8.
Гаврилов С. В., Железников Д. А., Липатов И. А., Тиунов И. В. Маршрут проектирования для отечественных программируемых интегральных схем специального назначения: интеграция с существующими промышленными средствами автоматизированного проектирования и решение проблем импортозамещения // Электронная техника. Cерия 3. Микроэлектроника. 2017. № 4 (168). C. 5–11.
Строгонов А. В., Кривчун М. С., Городков П. С. Обзор программных средств с открытым исходным кодом для исследования современных архитектур ПЛИС Xilinx // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2020. № 1. С. 1–7.
Строгонов А. В., Горлов М. И., Городков П. С. САПР с открытым кодом для реализации проектов в академических ПЛИС // ЭЛЕКТРОНИКА: Наука, Технология, Бизнес. 2018. № 3. С. 1–8.
Камкин А. С., Смолов С. А., Чупилко М. М. Сравнение открытых маршрутов проектирования цифровой аппаратуры: qFlow, OpenLANE, Coriolis, SymbiFlow // Труды ИСП РАН. Том 33, вып. 6. 2021. С. 111–130.
Отзывы читателей