Синтез конвеєрних віртуальних модулів у хмарному середовищі

⇓Завантажити PDF

15-th International conference on System Analysis and Information Technologies SAIT 2014
Institute for Applied System Analysis of National Technical University of Ukraine “KPI”, Kyiv, Ukraine, May 27–31, 2014. P.443-444.

Сергієнко А.М.,1
Глухенько К.І.,1
Виноградов Ю.М.1

1 – Національний технічний університет України “КПІ”, Київ, Україна

Синтез конвеєрних віртуальних модулів у хмарному середовищі

The approach to design of the system for IP core synthesis in a cloud is proposed, which based on the XML data representation and graph drawing using SVG. The result of the framework operation is the optimized pipelined IP core, which is described by VHDL.

Процес розробки віртуального модуля (IP core) для інтегральних схем має ряд етапів, які повторюються інтерактивно та які потребують великих обчислювальних витрат. Перспективною є технологія, згідно з якою алгоритм функціонування віртуального модуля описується на системному рівні, а потім транслюється до рівня регістрових передач. Але така компіляція потребує багато ітерацій оптимізації щоби задовольнити ряд обмежень [1].

Останнім часом багато компаній, що поширюють САПР мікросхем, пропонують їхній сервіс, який розміщено у хмарному середовищі [2]. Серед них Aldec, Synopsys (логічні симулятори), Nimbic (3D-моделювання), Tabula (синтез ПЛІС), Cadence (керування проектом) вже мають успіх. Розробка віртуальних модулів у хмарному середовищі має ряд переваг: зменшення вартості, наявність усіх необхідних інструментів, захищеність даних тощо. Але наявні засоби проектування у хмарах виконують лише верифікацію, трасування та супроводження проекту, а не власне структурний синтез.

У доповіді розглядається розробка засобів проектування конвеєрних віртуальних модулів, що розміщуються у хмарному середовищі. Основні джерела затримок у хмарних обчисленнях є затримки транзакцій в комунікаційних каналах та тривалість виконання складних завдань. Для мінімізації цих затримок важливо розрізняти два види таких завдань. Завдання першого виду забезпечують ввід-вивід вхідних даних та результатів проектування і потребують інтерактивної взаємодії з користувачем. Тому ці завдання слід виконувати на клієнтському боці системи. Завдання іншого виду виконують синтез модулів і потребують високої обчислювальної потужності. Обміни даними між цими завданнями мають затримку, яка залежить від роботи комунікаційних каналів і яка є значно більшою за потрібну швидкість відгуку системи вводу-виводу на боці користувача.

У засобах проектування конвеєрних віртуальних модулів, що розробляються, використовується метод відображення просторового графу синхронних потоків даних (ГСПД) у конвеєрну структуру [3]. Для організації проектування модулів у хмарному середовищі початкові, проміжні та результуючі дані представляються в форматі XML. Цей формат забезпечує стандартизоване представлення як алгоритмів, так і результуючих структур, а також є натуральним для обробки у хмарному середовищі. Інтернет-браузери на клієнтському боці та процесори сервера, а також бібліотеки мов програмування забезпечують ефективні ввід-вивід XML-файлів. Багато САПР вже використовують формат XML для зберігання та поширення даних, що обробляються [4].

Формат даних масштабованої векторної графіки SVG вибрано для кодування графічних об҆єктів у системі, що розробляється. Такий формат є зручним як для веб-застосувань загалом, так і для графічного представлення ГСПД і результуючих структур зокрема. Існує великий набір вільних засобів та бібліотек для обробки даних у цьому форматі. У [5] показана ефективність застосування формату SVG в САПР електроніки, які використовуються в хмарному середовищі.

Мова Java була вибрана як робоча мова програмування функцій САПР. Ця мова є натуральною як для клієнтської, так і для серверної частини. Вона забезпечує також паралельні обчислення у комп҆ютері хмарного середовища, які прискорюють виконання синтезу. Також існують вільні бібліотеки Java-функцій, які обробляють дані як в XML, так і в SVG-форматі.

В даний час розробляється система для відображення ГСПД в структуру віртуального модуля, що працює на клієнтському боці з використанням мови Java. Розроблена програма для ручного графічного вводу ГСПД. Як алгоритм, так і результуюча структура зберігаються в XML-файлах. Також в цьому форматі зберігаються бібліотечні компоненти. Ці компоненти розробляються у редакторі компонентів, який забезпечує їх опис мовою VHDL з різними форматами даних та завданням настроювальних констант (generics). При цьому допускаються такі формати даних, як цілі, дробні числа, числа з плаваючою комою.

Система здатна транслювати XML-опис як алгоритму, так і результуючої структури в опис мовою VHDL. Такий опис може моделюватись у VHDL-симуляторі, а також компілюватись у схему на рівні вентилів одним з поширених компіляторів-синтезаторів. Зараз система має те обмеження, що введений ГСПД може бути оптимізований лише вручну. При цьому автоматично застосовується ряд обмежень, що накладаються на ГСПД, які забезпечують синтез працездатного конвеєрного модуля, що виконує алгоритм з заданим періодом.

Прототип даної системи було використано при розробці ряду віртуальних модулів для систем цифрової обробки сигналів. Серед них процесори швидкого перетворення Фур҆є, дискретного косинусного перетворення, рекурсивні фільтри, які показали високі характеристики при своєму конфігуруванні у ПЛІС [6]. Проекти декількох таких модулів депоновано на сайті http://www.opencores.org/ для вільного використання.

Отже, запропоновано підхід до розробки системи синтезу віртуальних модулів, яка основана на представлені файлів у форматі XML, а графічних даних – у форматі SVG. Підхід було перевірено у програмних засобах, які призначені для вводу ГСПД, їх графічного редагування та відправлення у хмарне середовище.

Результатом роботи цих засобів є оптимізований конвеєрний віртуальний модуль, який описано мовою VHDL і який є готовим як до моделювання, так і до синтезу з використанням традиційних засобів САПР мікроелектроніки.

Наразі розробляються програмні засоби для автоматичної оптимізації ГСПД, які споживають велику обчислювальну потужність і які слід розміщувати у хмарному середовищі. У них буде реалізовано ряд методів оптимізації паралельних систем, серед яких метод лівого краю, метод гілок та меж, еволюційні методи та інші методи комбінаторної оптимізації. Експериментальне хмарне середовище планується організувати у сервері HP Blade server C3000, який встановлено
в НТУУ «КПІ».

Список літератури

1. High-Level Synthesis. From Algorithm to Digital Circuit: Coussy, P., Morawiec, A. (Eds.), Springer. −2008.

2. Vakali A., Jain L.C. New Directions in Web Data Management. −Berlin Heidelberg: Springer. −2011. −347 p.

3. Сергиенко А.М., Симоненко В.П. Отображение периодических алгоритмов в программируемые логические интегральные схемы // Электронное моделирование. –2007. −Т.29. −№2. −С. 49−61.

4. V.Berman: Standards: The P1685 IP-XACT IP Metadata Standard // IEEE Design & Test of Computers. − 2006. −V23. N4. −Р. 316–317.

5. S. Dawson, P.S. Sezer: SVG for Remote EDA Schematic Representation // SVG Open 2004, 3rd Conf. on Scalable Vector Graphics. − 2004. Available at
http://www.svgopen.org/2004/papers/SVGforEDASchematics/ .

6. Сергиенко А.М., Лесик Т.М. Динамически перестраиваемые цифровые фильтры на ПЛИС // Электронное моделирование. −2010. − T32. − №6. − С.47-56.

⇓Завантажити PDF