Научная статья на тему 'Архітектурна організація реконфігуровних комп’ютерів на базі ПЛІС'

Архітектурна організація реконфігуровних комп’ютерів на базі ПЛІС Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — В.М. Опанасенко, І.Г. Тимошенко

Виконано аналіз сучасного стану проблеми Reconfigurable computing механізми розробки комп'ютерних архітектур, які базуються на інтегральних схемах типу FPGA, а також аналіз статичного способу проектування з використанням інструментальних засобів автоматизованого проектування та способу з використанням мови Java. Розглянуті перспективи механізму з використанням Java, які обумовлені перевагами над традиційними методами проектування: перевірка і моделювання проекту на рівні двійкових потоків, підтримка RTR, взаємодія з інструментальним пакетом для проектування систем за технологією IRL Jbits.

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

The question of today’s Reconfigurable computing mechanisms of computer hardware design based on FPGA analysis is done also static design method with use of automated design tools and method with use of Java language analysis are done. Perspectives of mechanism with use of Java are considered, which are specified over traditional design methods: bitstream-level debug and simulation, RTR support, interaction with instrumental package for system design on IRL technology JBits.

Текст научной работы на тему «Архітектурна організація реконфігуровних комп’ютерів на базі ПЛІС»

ПЕРЕЧЕНЬ ССЫЛОК

1. Чаудхари С. Методы оптимизации запросов в реляционных системах // Системы управления базами данных. -1998. - Вып 3. - С 22. - http://www/osr/ru/dbms/1998/ 03/22/htm.

2. Кунгурцев А. Б., Куок Винь Нгуен Чан. Анализ возможности применения материализованных представлений в информационных системах. Труды ОНПУ, 2003, вып. 2(20). C. 102-106.

3. Джудит С. Боуман, Сандра Л. Эмерсон, Марси Дарновски. Практическое руководство по SQL. К.: Диалектика, 1997. 320 с.

Надшшла 17.11.2003 Шсля доробки 31.03.2004

Пропонуеться метод класиф1кацп 3anumie 1нформацт-hoï системи (1С) для формування маmерiалiзованux уяв-лень (МУ) i шаблотв. Запропоновано методику стати-стичного дослiдження 1С для добору заnumiв у групи МУ i шаблотв, що дозволяв обгрунтувати ефективтсть засто-сування зазначених меxанiзмiв.

The method of classification of inquiries of information system for formation of materialized view and patterns is offered. The technique of statistical research of information systems for selection of inquiries in the groups allowing to prove efficiency application of the specified mechanisms is offered.

УДК 004.272

В.М. Опанасенко, ¡.Г. Тимошенко

АРХ1ТЕКТУРНА 0РГАН13АЦ1Я РЕК0НФ1ГУР0ВНИХ К0МПЮТЕР1В

НА БА31 ПЛ1С

Виконано anani3 сучасного стану проблемы Reconfigurable computing - мехатзми розробки комп'ютерних apximeKmyp, uKi базуються на ттегральних схемах типу FPGA, а також aнaлiз статичного способу проектування з використанням iнсmрyменmaльниx зaсобiв автоматизованого проектування та способу з використанням мови Java. Pозглянymi перспек-тиви мехатзму з використанням Java, якi обумовлеш перевагами над традицшними методами проектування: перевiркa i моделювання проекту на рiвнi двткових пототв, тдтримка RTR, взaeмодiя з iнсmрyменmaльним пакетом для проектування систем за mеxнологieю IRL - Jbits.

ВСТУП

Розвиток HOBiTHix технологш у свт комп'ютерно! техшки й мжроелектрошки та створення програмних лопчних штегральних схем (ПЛ1С) високого ступеня штеграци викликало тдвищений штерес до дослщжень в област реконф^уровного комп'ютингу. Реконф^уров-на комп'ютерна система поеднуе поняття реконф^уров-но! структури апаратного пристрою i процесу обробки даних, який виконуеться цим пристроем. Вщмшшсть реконф^уровного комп'ютера вщ традицшного полягае в тому, що структура реконф^уровних пристро!в не е фжсованою i змшюеться в залежност вщ виконувано! задачi чи алгоритму, що дозволяе вносити змши в гото-вий i функцiонуючий продукт.

Gerald Estrin на початку 1960 роюв запропонував «комп'ютер з елементами фжсованог та змлнног структури» [1]. Ця базова арxiтектура, яка тдтримуе програмованi пристро! i програмне забезпечення, лежить в основi реконф^уровних комп'ютерних систем. Дана концепцiя набагато випередила розвиток технологш у свт мжроелектрошки i, на жаль, вш змiг представити тiльки наближення свое! розробки. Множина понять, якi зараз вщкрип органiзацieю з дослiджень в област реконфiгуовного комп'ютингу, не були прийнят до ува-ги в цих дослщженнях.

Втiлення основних концепцш реконф^уровно! комп'ютерно! системи в реальш проекти стало можливим тшьки

з появою штегральних схем типу FPGA (field programmable gate array), яю м1стять масиви конф1гуровних лопчних блоюв i програмованих взаемозв'язюв м1ж цими блоками [2]. Лопчш блоки можуть бути зконфiгурованi на виконання простих чи складних лопчних функцш i можуть змiнюватися вщповщно до задано'! вимоги.

МЕХАН13МИ РОЗРОБКИ КОМП'ЮТЕРНИХ АРХ1ТЕКТУР, ЩО БАЗУЮТЬСЯ НА

1НТЕГРАЛЬНИХ СХЕМАХ ТИПУ FPGA

бмшсть сучасних FPGA нараховуе бтьше шж 10 мiльйонiв логiчних вентилiв, крiм того, FPGA також включають RAM (Read Access Memory), апаратш перем-ножувачi, якi е стандартними компонентами сучасних мiкропроцесорiв та фiксоване мжропроцесорне ядро. Метод, за яким конф^уруються логiчнi блоки та взаемозв'язки, специфiчний кожному виробнику FPGA. Логiчнi блоки та взаемозв'язки мають внутршню структуру, яка збертае поточну конф^уращю.

Час, потрiбний для конфiгурацiï FPGA, називаеться часом конфiгурацiï. Час конф^ураци залежить вiд серiï, eмностi FPGA та 'х кiлькостi. Для реконф^уровно' комп'ютерно'' системи, яка включае деюлька FPGA час конфiгурацiï залежить не пльки вiд часу конфiгурацiïï окремо' iнтегральноï схеми, а й вщ конфiгурацiï всiх схем. Кристал FPGA може бути сконфiгурований по-слщовно чи паралельно в залежностi вщ розробки системи i, таким чином, час конф^урацп може вартвати вiд сотень наносекунд до юлькох секунд. Рисунок 1 шю-струе базовi архiтектури реконфiгуровних систем, з яких походить бшьшсть архiтектур.

У Сполучених Штатах Америки ведуться штенсивш роботи у напрямку дослщжень та розробки комп'ютерних архитектур, яю базуються на iнтегральних схемах типу FPGA з метою прискорення обробки даних. Розробка структури реконф^уровного пристрою i ïï реалiзацiя в кристалi на вентильному рiвнi дозволяе

Рисунок 1 - Eaçoei apximexmypu реконфиуровних систем з множиною FPGA

збшьшити швидкод1ю комп'ютера на декшька порядюв у nopiBHAHHi з традицшними ршеннями.

Не Bci алгоритми цифрово'1' обробки даних можуть бути ефективно pеалiзoванi з використанням сучасних iнтегpальних схем. На Сьомш Мiжнаpoднiй Конфе-ренцп «IRTC-2001» обговорювалися таю проблеми як виконання обчислень з плаваючою крапкою та виконан-ня числових операцш з високою точшстю [3].

Процес проектування цифрових схем спрощуеться з появою апаратних мов опиав, тому що використання ма-шинних схематичних iнcтpументальних заcoбiв стае складним при наявност велико' кiлькocтi штегральних схем [4]. Мiжнаpoдним стандартом е мова HDL (Hardware Description Language), спочатку розроблена для щлей проектування, моделювання i документування. Синтез з шструментальними засобами дозволив автома-тизувати процес проектування.

До складу САПР ПЛ1С вводиться CORE Generator -шструментальний заciб, який надае у розпорядження користувача параметричш лoгiчнi Cores, oптимiзoванi для ПЛ1С, якi описуються мовою VHDL. Система CORE дозволяе icтoтнo зменшити час розробки нових проекпв. У вщповщносп зi сформульованими техшчни-ми вимогами, проектувальник по меpежi Internet може одержати oптимiзoване для FPGA лопчне Core i включити його у свш проект [5].

1стотно скорочуеться час розробки проекту з використанням System Generator, який е програмним шструмен-тальним засобом для проектування, моделювання та створення систем Digital Signal Processing (DSP) на базi FPGA [6]. Вш дозволяе швидке застосовування ал-гopитмiв DSP до пристро'в FPGA. Скорочення процесу розробки проекту, вщ його кoнцепцiï до робочих апаратних заcoбiв, досягаеться за допомогою використання множини компоненпв одночасно. Потоки даних, тради-цшш мови апаратних oпиciв (VHDL i Verilog) та функцiï, якi одержат з мови програмування MATLAB, можуть використовуватися одночасно, моделюватися разом i синтезуватися в poбoчi апаратш засоби. На рис. 2 зображено процес моделювання системи DSP.

MATLAB штегруе математичш обчислення, вiзу-алiзацiю i потужну мову, забезпечуючи гнучке середови-ще для технiчних застосувань. Вщкрита аpхiтектуpа

PucynoK 2 - Modenrneannn cucmenu DSP

Po6htb 3pyHHHM BHKopHCTaHHa MATLAB flna flOCniflxeH-hs flaHHX, CTBopeHHa anropHTMiB Ta KopHCTyBanbHHqbKHX iHCTpyMeHTa^bHHX 3aco6iB.

Simulink - iHTepaKTHBHHH iHCTpyMeHT flna MOflenroBaH-hs, iMiTaqii Ta aHani3y flHHaMiHHHX CHCTeM. BiH fl03B0nae tohho onHCyBaTH, MOflenroBaTH, oqiHroBaTH Ta yTOHHroBaTH nOBefliHKy CHCTeMH 3aBflSKH CTaHflapTHHM i KOpHCTyBanb-HHqbKHM 6i6ni0TeKaM. Simulink qiniCHO iHTerpyeTbCa 3 MATLAB, 3a6e3nenyroHH mBHflKHi flOCTyn flo mhoxhhh iHCTpyMeHTa^bHHX 3aCo6iB npoeKTyBaHHa Ta aHani3y.

System Generator po3mHproe M0xnHB0CTi Simulink mo-flenroBaHHa Ha CHCTeMHOMy piBHi 3a flonoMororo bit i cycle-true MOflenroBaHHa CXeM FPGA [7].

System Generator BKnronae Simulink 6i6ni0TeKy ^yHK-qioHanbHHX 6noKiB flna no6yflOBH DSP, apH^MeTHHHHX CXeM i CXeM qH^poBoi noriKH. Po3po6HHKy HaflaeTbCS mox-^HBiCTb KOM6iHyBaHHa 6noKiB Xilinx 3 6noKaMH MATLAB i Simulink flna CTBopeHHS peaniCTHHHHX test benches i aHani3y flaHHX. Bhcokhh piBeHb a6CTpaKqii, skhh Haflae System Generator, Cnpo^ye po3po6Ky anropHTMiB i i'X nepeBipKy.

KpiM 6i6ni0TeKH MOflenroBaHHa Ha CHCTeMHOMy piBHi System Generator BKnronae reHepaTop KOfly, skhh aBTOMa-thhho reHepye CHHTe30BaHHi VHDL KOfl 3 Simulink mo-fleni. VHDL KOfl BKnronae IP (intellectual property) 6.okh, SKi po3po6neHi flna bhcoko' npoflyKTHBHOCTi Ta iHTeHCHBHOCTi b npHCTpoaX Xilinx THny FPGA.

BHMorH flo npHCTpoi'B Ha 6a3i CynaCHHX FPGA po6naTb Maixe HeMoxnHBHM HanaroflxeHHS Ta nepeBipKy npoeKTiB 3 BHKopHCTaHHSM TpaflHqiiHHX noriHHHX MeTOfliB aHani3y [8]. KoMnaHiero Xilinx po3po6neHHi HanaroflxyBan ana-paTHHX 3aCo6iB ChipScope Pro, skhh fl03B0nae nepeBipaTH ^yHKqioHyBaHHS CXeM Ha 6a3i FPGA. ChipScope Pro BKnronae logic analyzer (ILA) i bus analyzer (IB A). Hi Cores fl03B0naroTb nepernaflaTH BCi BHyTpimHi CHrHanH, By3nH i CHCTeMHi mHHH b MexaX FPGA.

CTBopeHHS n^IC BHCOKoro CTyneHS iHTerpaqii 06yM0-BH.no noaBy TeXHonorii Internet Reconfigurable Logic (IRL). Ha TeXHonoria 3a6e3nenye flHCTaHqiiHy peKOH^i-rypaqiro CTpyKTyp anapaTHHX npHCTpoiB, BKnroneHHX flo Mepexi i peani3OBaHHX Ha eneMeHTHii 6a3i n.TIC, nepe3 Mepexy Internet [9]. ^na po3po6KH npoflyKTiB Ha OCHOBi TeXHonorii IRL Heo6XiflHHi po3bhtok TpbOX ^yHflaMeH-TanbHHX TeXHonorii - BCeoXonnroronoro BHKopHCTaHHa Me-pexHHX TeXHonorii, Ha6opy nporpaMHHX 3aCo6iB Ha OCHOBi mobh Java i peK0H^iryp0BHHX KpHCTaniB FPGA THny Virtex. ApXiTeKTypa Virtex Ha flaHHi naC fl03B0nae po3po6na-th npHCTpoi 3 KinbKiCTro BeHTHniB 10 MinbiOHiB i Moxe

мicтити в coбi апаратну pеалiзацiю iнтеpпpетатopа Java програм для Java Virtual Machine (JVM).

Технолопя Java дозволяе створювати програми для роботи з файловими системами i з локальними та гло-бальними комп'ютерними мережами. Java-застосування комтлюються в байт-код, який виконуеться на JVM, яка представляе собою штерпретатор байт-коду Java, що дозволяе динамiчнo розширювати систему. При першому запуску Java-програми JVM здiйcнюe збip мoдулiв i встановлюе зв'язки мiж ними, при чому пошук вiдcутнiх мoдулiв здiйcнюeтьcя не тiльки в локальнш cиcтемi, а й у меpежi [10].

Перед першим запуском нового застосування вipту-альна машина пеpевipяe його код на належнicть до байт-коду, на небезпечшсть команд для системи i локально'' мережу на вщповщшстъ з дозволеними операщями, що cвiдчить про високий стутнь захисту та небезпеки мови Java для роботи в мережь Java забезпечуе швидкий цикл кoмпiляцiï i налагодження програм. Засоби роз-робки, що мкстять JVM, забезпечують контроль про-грамних застосувань на стадп виконання [11]. 1стотною рисою аpхiтектуpи Java е вбудована багатoпoтoкoвicть, що дае мoжливicть одночасно використовувати кожну функцiю дано'' бiблioтеки декiлькoма потоками та вико-нувати декiлька задач одночасно в межах одного застосування, що е актуальним для розподтених систем, коли процеси обмшу по меpежi можуть пpoтiкати одночасно i асинхронно. Обe'ктнo-opiентoвна парадигма мови Java зручна для оргашзаци розподшених обчис-лень, а також при cтвopеннi програмного забезпечення типу ^ент-сервер.

Завдяки наявнocтi JVM мова Java е мoбiльнoю [10]. JVM забезпечуе абстраговашсть cкoмпiльoваних Java-програм вщ апаратно' платформи й операцшно' системи, яка досягаеться перш за все стандартизащею «бшарного формату коду». Байт-код не залежить вiд конкретно'' платформи чи системи, для роботи Java-програми на данш апаратно-програмнш платфopмi достатньо наяв-нocтi вiдпoвiднoï JVM. Повна специфжащя вipтуальнoï Java машини вiдкpита й загальнодоступна i вipтуальна машина може бути pеалiзoвана на любш cучаcнiй апаpатнo-пpoгpамнiй платфopмi. Система Java в силу свое'' високо'' продуктивности iнтеpпpетoвнocтi i ди-намiчнoï природи пiдхoдить для цiлей швидко' розробки надiйних програм.

Кopпopацieю Xilinx був представлений шструмен-тальний пакет JBits (Java Based interface) для проекту-вання систем за технолопею IRL, призначений для створення спещальних програмних застосувань мовою Java, яю можуть використовуватися для мoдифiкацiï апаратних заcoбiв через мережу Internet [12].

JBits бере початок вщ робот, яю пoв'язанi з кристала-ми сери XC6200 i базуеться на Java Environment for Reconfigurable Computing (JERC). JERC надавав у розпо-рядження Application Programming Interface (API), який дозволяв маншулящю з биами конф^урацп низь-кого piвня.

Мoтивацieю розробки JBits послужила тдтримка ди-намiчнoï pекoнфiгуpацiï для кpиcталiв FPGA сери Vir-

tex. Так як проектування пристрою було обмежене статичними методолопями розробки, шструментальними засобами проектування штегральних схем - редактором схем або мовою HDL i не було забезпечене програмною тдтримкою конф^урацп, тому динамiчна реконф^у-ращя не була можливою.

На змшу статичному способу проектування прийшло ршення, яке передбачало пiдтримку програмного забезпечення, яке б дало повний доступ до вих архиек-турних особливостей реконф^уровного пристрою. Цим забезпеченням стала бiблiотека скомпiльованих Java програм. Так як бiблiотека являе собою скомшльоваш програми - виходом проектування не е статичний двш-ковий потж, а е Java код, який виконуеться i забезпечуе керування конф^уращею i даними реконф^уровно' лопки.

Перевагою процесу проектування з використанням JBits (рис. 3) е те, що виконувана програма являеться пльки довiльною частиною скомпiльованого Java коду, що робить ïï переносною на rnmi системи i дозволяе штегращю з iншими частинами системи.

Рисунок 3 - Процес проектування з використанням JBits

JBits - qe Java API, skhh 3a6e3nenye flocTyn flo koh-^irypaqii npHCTpoi'B FPGA cepii Virtex [13]. iHTep^eftc fl03B0^ae flocTyn flo Bcix peKOH^irypoBHHX pecypciB npHCTporo Ana ix mBHflKoi MoflH^iKaqii nifl nporpaMHHM KepyBaHHaM, rn;o, b cBoro nepry, 3a6e3nenye nporpaMHy niflTpHMKy hobhx Mo^^HBocTeft, aKi He 6ynH peani3oBaHi paHime b npHcTpoax Xilinx [14].

B toh nac aK oToneHHa JBits 6yno npeflcTaBneHe Bnepme, boho BHMarano Hanarofl^eHHa npoeKTy 3a flonoMororo bh-KopHcTaHHa ^i3HHHHx anapaTHHX 3aco6iB [13]. 3rofloM 6yB npeflcTaB^eHHM Device Simulator, aKHH npaqroe Ha ABiHKo-bhx noToKax i eMynroe npHcTpiH FPGA b nporpaMHoMy 3a-6e3neneHHi. Öe 6yno Ba^nHBHM kpokom y HanpaMKy npoeKTyBaHHa nifl nporpaMHHM KepyBaHHaM, ane He 6yno BpaxoBaHo cnoci6 MoflenroBaHHa 3oBHimHix nepH^epiHHHx npHcTpoiB, aKi B3aeMofliroTb 3 FPGA. HefloniKoM Virtex Device Simulator 6y.no Te, rn;o BiH He MaB B6yfloBaHoi cxeMH Ana nepeHeceHHa flaHHx ao / Bifl npHcTporo.

JBits 3a6e3nenye Mo^nHBicra mBHflKoro cTBopeHHa i peKoH^irypaqii cxeM cepii Virtex nifl nac BHKoHaHHa nporpaMHoro 3acTocyBaHHa 3a flonoMororo. Run-Time Reconfiguration (RTR).

Моделювання на piBHi пристрою з використанням мови Java мае переваги над традицшними методами статичного проектування i налагодження проекту. Перевагами е пеpевipка проекту на piвнi двiйковиx потокiв, пiдтpимка RTR, гнучюсть при pоботi у середовишд моделювання проекту i сеpедовишi налагодження та контролю.

Використання стандарту HDL для тестування проекту дозволяе моделювати апаратш засоби, включаючи моделювання поведшки. Але цей шдхщ працюе лише на piвнi проектування, i не обов'язково забезпечуе точну модель поведшки шд час запуску проекту на фiзичниx апаратних засобах. Пеpевipка пpавильностi проекту з використанням традицшного методу вимагае шоб кожен крок комшляци був без помилок, шо е часто неможли-вим. VHDL проект i середовиша налагодження також не пiдтpимують pеконфiгуpацiю пiд час виконання i не за-безпечують гнучюсть при роботг

Система JBits. На рис. 4 зображена схема системи JBits. User Java Application являе собою написану програму мовою Java, яка використовуе JBits штерфейс для манiпуляцiï конфiгуpовними ресурсами FPGA, яю включають пошуковi таблицi, маршрутизащю та тригери [14]. Кожна функщя, яка викликаеться на piвнi JBits штерфейсу, робить один чи бшьше запитiв до Bit-level Interface, який вщповвдае за pозмiшення бiта у двшко-вому потоцi для будь-якого пристрою сери Virtex. Bitlevel Interface взаeмодie з файлом Bitstream, який керуе двiйковим потоком пристрою i шдтримуе зчитування та запис двшкових потокiв з файлу / у файл. Можливють зчитування даних з пристрою i представлення ix у двшковому фоpматi е необхщшстю для динамiчноï конфiгуpацiï.

чином, шо вони, використовуючи той же самий штерфейс, можуть взаeмодiяти з множиною схем. XHWIF server дозволяе шшим застосуванням спiлкуватися з реконфшуровними схемами, якi знаходяться в межах меpежi Internet. Ця можливiсть дозволяе налагоджувати проект без прямого доступу до апаратного забезпечення, кpiм того, дозволяе доступ до схеми множиною користу-вачiв.

Core Library - це колекщя Java програм, якi виз-начають макpокомipки або Cores. Вони за звичай параметризовав i можуть перемщатися в межах пристрою. Прикладами Cores е лiчильники, суматори, пеpемножувачi та iншi стандаpтнi логiчнi функци та функцИ обчислень.

Налагоджувач BoardScope. Коpпоpацieю Xilinx був розроблений пакет BoardScope, подiбний до старого шструменту WebScope для пристро'в сеpiй XC6200, -iнтеpактивний налагоджувач апаратних засобiв, який дозволяе слiдкувати за функцюнуванням схем на базi FPGA [12]. BoardScope дае можливiсть налагоджувати схеми FPGA при ''х взаeмодiï з шшими апаратними компонентами конфшураци, вiдслiдковувати внутpiшнiй стан систем, яю включають декiлька FPGA, контролю-вати piвнi сигналiв, а також стан багаторозрядних шин даних [14].

Пакет може використовуватися для вщдаленого налагодження пpистpоïв систем IRL або для спiльноï розроб-ки автономних систем чи окремих кpисталiв через мережу Internet piзними проектувальними групами.

3 використанням XHWIF, двiйковi потоки загру-жаються для конфiгуpацiï FPGAs, або зчитуються - для IX аналiзу (рис. 5).

Рисунок 4 - Система JBits

Reconfigurable System Рисунок 5 - Структура налагоджувача BoardScope

JBits API використовуе Xilinx HardWare InterFace (XHWIF) - Java штерфейс, який розроблено для зв'яз-ку зi схемами на базi FPGA i надае у розпорядження ме-тоди зчитування/запису цифрових потоюв в^з FPGA, методи опису видiв i юлькосп FPGA на плать XHWIF також включае метод шкрименту iнтегpованого таймера та метод запису в блоки пам'яп, якi розташоваш на сxемi, якшо вони доступш. Таким чином, iнтеpфейс опи-суе схему i дозволяе пересилання даних на схему i зi схеми. XHWIF штерфейс стандартизуе спосiб, по якому застосування сшлкуються з апаратними засобами таким

Кpiм того шо BoardScope може взаeмодiяти з локаль-ними апаратними засобами та апаратними засобами, яю включенi до мереж^ вiн може використовувати Device Simulator.

Device Simulator виконуе моделювання апаратних за-собiв, яке засновано на параметрах конфшураци, i може використовуватися коли апаратш засоби недоступна У такому випадку налагодження з використанням Device Simulator потребуе поpiвняно менше часу, а нiж з прямим використанням апаратних засобiв, так як не потребуе виконання операци завантаження та зчитуван-

B.M. OnanaceHKO, I.r. TuMornenxo: APXITEKTYPHA OPrAHI3AU,IH PEKOHÔirYPOBHHX KOMn'^TEPIB HA BA3I nËIC

Ha flBiHKOBHX n0T0KiB [12]. Ha flaHHH Hac BoardScope niflTpHMye npHCTpoï cepi'i Virtex.

Run-Time Reconfiguration. JBits, Ha BiflMiHy Bifl TpaflHqiHHHX mob anapaTHHX onèciB, CTBoproe HOBi MoœëH-BOCTi b oôëacTi RTR, 3a6e3neHyroHH MoœëHBicTb mBHflêoro CTBopeHHa i flHHaMiHHoï MoflH^iKaqii cxeM cepii Virtex nifl Hac BHêoHaHHa nporpaMHoro çacTocyâaHHa 3a flonoMororo npaMoro flocTyny flo KoH^irypaqii flBiftêoBoro noToêy [13].

RTR BH3HanaeTbca aê flHHaMiHHa MoflH^iKaqia anapaTHHX cxeM FPGA nifl Hac BHêoHaHHa. RTR cHcTeMH poçpi3HaroTb ça BH3HaHeHHaM ëoriêH cxeM i MapmpyTHçaqiï flo BHêoHaHHa onepaqiï hh nifl Hac BHêoHaHHa. RTR cHcTeMH MoflHÔiêyroTb cxeMy fleêiëbêa pa3iâ Ha npoTa3i BHêoHaHHa nporpaMHoro 3acTocyBaHHa. Taê aê He BHêëroHaeTbca mox-ëHBicTb npoeêTyâaHHa HH3bêoro piBHa, JBits Haflae y po3-nopaflœeHHa Heo6xiflHi iHcTpyMeHTaëbHi 3aco6è flëa e^eê-THBHoro MoflèôiêyBaHHa hh cTBopeHHa npoeêTy.

RTR flocaraeTbca 3a flonoMororo iHTerpaqiï JBits i XH-WIF API y JBits TexHoëoriï [14]. To6to, RTR 3acTocy-BaHHa Moœe po6èTH 3anHTH flo JBits iHTepôeécy flëa MoflHÔiêaqiï flaHHx êoHÔirypaqiï y flâiftêoBoMy noToqi i aBHi 3anHTH XHWIF flëa B3aeMofliï 3 anapaTHHM 3a6e3-neneHHaM. HanpHêëafl, RTR 3acTocyBaHHa BHêoHye 3anHTH setConfiguration (npHcTpié, flam) i getConfiguration () flëa BHêoHaHHa 3aBaHTaœeHHa i 3HHTyBaHHa flaHHx êoHÔirypaqiï.

Ha flaHHH Hac JBits 3.0 flëa Virtex-II MicTHTb ôaéëH êëacy flëa cTBopeHHa Run Time Reconfigurable 3acTocy-BaHb i iHcTpyMeHTaëbHi 3aco6è, aêi BHêopHcToByroTb apxi-TeêTypy Virtex-II [15]. JBits API flo3Boëae Java 3acTocy-BaHHaM flHHaMiHHo MoflHÔiêyBaTH Xilinx Virtex-II flâift-êoâi noToêH.

OÔMeœeHHH JBits. nopafl 3 yciMa nepeâaraMH cnoco6y npoeêTyâaHHa iHTerpaëbHHx cxeM 3 BHêopHcTaHHaM JBits icHyroTb i fleaêi o6MeœeHHa JBits API [14]. nporpaMHe 3a-6e3neHeHHa BHMarae noBHoï cneqHÔiêaqiï fleTaëeft, Ha BiflMiHy Bifl iHcTpyMeHTiâ cTaTHHHoro npoeêTyâaHHa. JBits iHTepôeéc niflTpHMye TiëbêH cTpyêTypoâaHi cxeMH. He-cTpyêTypoâaHi cxeMH, Taêi aê cxeMH 3 BHnaflêoBoro ëoriêoro, He 3afloBoëbHaroTb npaMe BHêoHaHHa b JBits 3ac-TocyBaHHax.

JBits API BHMarae Bifl êopècTyâaHa noBHoro o3HaHoM-ëeHHa 3 apxiTeêTyporo npHcTpoïâ. B toh Hac aê apxiTeê-Typa npHcTpoïâ noBHicTro 3afloêyMeHToBaHa ôipMoro Xilinx, 6iëbmicTb êopHcTyâaHiâ He MaëH Heo6xiflHocri o3-HaéoMHTHca 3 ïï oco6ëHBocTaMH. ÎHiêyeTbca, ùo Heo6-xiflHicTb po3yMiHHa apxiTeêTypH npHcTpoïâ 6yfle caMHM Be-ëHêHM 6ap'epoM flëa cxâaëeHHa i mèpoêoro nomèpeHHa JBits iHTepôeécy hh iHmèx HoMy nofli6HHx iHcTpyMeHTiâ.

B toh Hac aê JBits API flo3Boëae BHêopHcToByBaTH cxeMH, aêi cTBopeHo cTaHflapTHHMH iHcTpyMeHTaëbHHMH 3aco-6aMH po3po6êH, 3MiHoro hh peêoHÔirypaqiero cxeMH, Ha piBHi JBits BHêëroHaeTbca MoœëHBicTb BHêopHcTaHHa 6yflb-aêèx iHcTpyMeHTaëbHHx 3aco6iB aHaëi3y, flocTynHHx npoeêTyâaëbHHêaM cxeM. B JBits BiflcyTHa MoœëHBicTb aHaëi3y cHHxpoHi3aqiï. HaâiTb HeBeëHêi 3MiHH b êoH-Ôirypaqiï cxeMH MoœyTb BnëHHyTH Ha ïï ôyHêqioHaëbm MoœëHBocTi, Taêi aê cHHxpoHi3aqia. ËHme oahhm 3aco-6om, aêHH HeùoflaBHo 6yB po3po6ëeHHH flëa Haëaroflœy-BaHHa anapaTHHx 3aco6iB, e BoardScope.

BHCHOBKH

noaBa iHTerpanüHHx cxeM THny FPGA 3po6Hna mo^.h-bhm BTineHHa ochobhhx KoHqenqiH Reconfigurable computing b peanüHi npoeKTH.

CHHTe3 mobh anapaTHHx 3aco6iB HDL 3 iHcTpyMeHTant-hhmh 3aco6aMH ao3bo.hb aBToMaTH3yBaTH npoqec npoeKTy-BaHHa.

npoqec po3po6KH npoeKTy icToTHo cKoponyeTtca 3 bh-KopHcTaHHaM System Generator Ana DSP, aKHH e nporpaM-hhm iHcTpyMeHTanüHHM 3aco6oM Ana npoeKTyBaHHa, Mofle-nroBaHHa Ta cTBopeHHa cHcTeM DSP Ha 6a3i FPGA.

TexHonorii IRL e ochobom Ana cTBopeHHa hobhx npoflyKTiB, aKi Mo^yTb flHHaMiHHo MoflH^iKyBaTHca aK 3a AonoMororo nporpaMHoro 3a6e3neneHHa, TaK i 3a flonoMo-roro anropHTMy, 3aflaHoro 3aMoBHHKoM. KoM6iHaqia Tptox ^yHflaMeHTantHHx TexHonoriH - Bceoxonnrorone bhkophc-TaHHa Mepe^HHx TexHonoriH, TexHonoria Java Ta KpHcTanH Virtex flo3Bonae BHKoHyBaTH npoeKTyBaHHa Ta po3po6Ky 3oBciM hobhx IRL-npoflyKTiB. TaKi npoflyKTH Mo^yra no-HoBnroBaTHca Ta MoflH^iKyBaTHca nepe3 Mepe^y Internet i po30HproBaTHca hobhmh Mo^nHBocTaMH i oco6nHBocTaMH.

3flaTHicTb po3po6naTH iHTerpantHi cxeMH b cepefloBH^i nporpaMyBaHHa, 3 Mo^nHBicTro mBHflKoro KoMninroBaHHa i Hanarofl^eHHa 3MiHroe TpaflHqiHHHH cnoci6 npoeKTyBaHHa FPGA 3 BHKopHcTaHHaM iHcTpyMeHTantHHx 3aco6iB aBTo-MaTH3oBaHoro npoeKTyBaHHa. TexHonoria Java 3a6e3nenye mBHflKHH öHKn KoMninaqii, BHKoHaHHa Ta nepeBipKH npo-rpaM. 3aco6H po3po6KH, ^o MicTaTü JVM, 3a6e3nenyroTb KoHTpont nporpaMHHx 3acTocyBaHü Ha cTaflii BHKoHaHHa. 3aBflaKH HaaBHocTi JVM flocaraeTtca Mo6intHicTb mobh Java, 3a6e3nenyeTbca a6cTparoBaHicTt KoMnintoBaHHx Java-nporpaM Bifl anapaTHoi nnaT^opMH h onepaqiHHoi cHcTeMH.

BHKopHcTaHHa mobh Java Mae 6araTo nepeBar Hafl TpaflHqiHHHMH cTaTHHHHMH MeToflonoriaMH npoeKTyBaHHa. Cepefl hhx - nepeBipKa npoeKTy Ha piBHi ABiHKoBHx no-ToKiB, rHyHKicTt npH po6oTi y cepefloBH^i MoflenroBaHHa i Hanarofl^eHHa npoeKTy, B3aeMoflia 3 JBits API [13].

JBits API, Ha BiflMiHy Bifl TpaflHqiHHHx mob anapaTHHx onHciB, niflTpHMye RTR, 3a6e3nenyroHH Mo^nHBicTt mBHfl-Koro cTBopeHHa i peKoH^irypaqii cxeM Xilinx THny FPGA cepii Virtex nifl nac BHKoHaHHa nporpaMHoro 3acTocyBaHHa 3a flonoMororo npaMoro flocTyny ao KoH^irypaqii ABiHKoBo-ro noToKy.

JBits API Ta nporpaMHe 3a6e3neneHHa, aKe bxoahtb ao Horo cKnafly, BoardScope, XHWIF Ta Device Simulator HaflaroTt HoBy MeToflonoriro Ana npoeKTyBaHHa, po3po6KH i nepeBipKH iHTerpantHHx cxeM [14]. Mo^nHBocTi h oco6.h-BocTi XHWIFServer i BoardScope nonermyroTt BiflflaneHy po3po6Ky i Hanarofl^eHHa npoeKTy. KpiM Toro, cHcTeMa JBits Mo^e BHKopHcToByBaTHct aK aBToHoMHHH iHcTpyMeHT a6o aK 6a3a Ana cTBopeHHa iHmHx iHcTpyMeHTiB [15].

CnHparoHHct Ha BHKoHaHHH BH^e aHani3 cynacHoro cTaHy KnronoBHx po3fliniB Reconfigurable computing, Mo^Ha cKa3aTH, ^o peKoH^irypoBHa o6po6Ka flaHHx, cy-nacHi n^IC i po3po6neHi Ha ix 6a3i 3aco6H o6nHcnroBant-Hoi TexHiKH npeflcTaBnaroTt co6oro ocTaHHi AocarHeHHa b o6nacTi KoMn'roTepHoi TexHiKH Ta MiKpoeneKTpoHiKH.

Реконф1гуровш пристро'1' е основою для побудови систем керування та засоб1в обчислювально!' техшки нових по-колшь.

ПЕРЕЛ1К ПОСИЛАНЬ

1. Seeking Solutions in Configurable Computing / W. H. Man-gione-Smith, B. Hutchings, D. Andrews, A. DeHon / Available at http://www. ecs. umass. edu.

2. Newport D., Bouldin D. Using Configurable Computing Systems / Available at http://www. cs. utk. edu.

3. Arnold M. Reconfiguring an FPGA-based RISC for LNS arithmetic, 7th International Reconfigurable Technology Conference / Available at http://www. vcc. com/RTC/RTC. html.

4. FPGA Compiler II / FPGA Express, VHDL Reference Manual, Version 1999.05.- Synopsys Inc., 1999.- 454 p.

5. Xilinx CORE Generator System / Available at http://www. xilinx. com.

6. Shirazi N., Ballagh J. Put Hardware in the Loop with Xilinx System Generator for DSP, Xcell 05/27/03 / Available at http://www. xilinx. com/publications/xcellonline/xcell_47.

7. Hwang J. Xilinx System Generator / Available at http:// www. xilinx. com/ publications/xcell_43.

8. ChipScope Pro 6.1i / Available at http://www. xilinx. com/ ise/verification/chipscope_pro. htm.

9. Westfeldt W. Internet Reconfigurable Logic / Available at http://www. xilinx. com/ publications/xcell_31.

10. Вебер Ä. Технология Java в подлиннике. - С-Пб.: БХВ-Петербург, 2001. - 1104 c.

11. Цишевский В. Язык и архитектура Java / Available at http://www. citforum. ru/internet/iinet96/17. shtml.

12. Singh S., James-Roxby P. Lava and JBits: From HDL to Bitstream in Seconds / Available at http://www. xilinx. com/labs/satnam/fccm2001_singh_jamesroxby. pdf.

13. Ballagh J., Athanas P., Keller E. Java Debug Hardware Models using JBits / Available at http://www. ccm. ece. vt. edu.

14. Guccione S., Levi D., Sundararajan P. JBits: Java based interface for reconfigurable computing / Available at http://klabs. org/richcontent/MAPLDCon99/Abstracts/sundararajan. doc.

15. JBits 3.0 SDK for Virtex-II / Available at - http://www. xilinx. com/labs/projects/jbits.

Надшшла 02.02.2004 Шсля доробки 17.09.2004

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

The question of today's Reconfigurable computing - mechanisms of computer hardware design based on FPGA analysis is done also static design method with use of automated design tools and method with use of Java language analysis are done. Perspectives of mechanism with use of Java are considered, which are specified over traditional design methods: bitstream-level debug and simulation, RTR support, interaction with instrumental package for system design on IRL technology - JBits.

Выполнен анализ современного состояния проблемы Reconfigurable computing - механизмы разработки компьютерных архитектур, базирующихся на интегральных схемах типа FPGA, а также анализ статического метода проектирования с использованием инструментальных средств автоматизированного проектирования и метода с использованием языка Java. Рассмотрены перспективы механизма с использованием Java, обусловленные преимуществами над традиционными методами проектирования: проверка и моделирование проекта на уровне двоичных потоков, поддержка RTR, взаимодействие с инструментальным пакетом для проектирования систем по технологии IRL - JBits.,

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