Научная статья на тему 'Синус-косинусний fpga-обчислювач на основі CORDIC-методу з перекодуванням кута'

Синус-косинусний fpga-обчислювач на основі CORDIC-методу з перекодуванням кута Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
186
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
CORDIC / IP Core / ПЛІС / алгоритм / латентність / мегафункція / CORDIC / IP Core / FPGA / algorithm / latency / megafunction

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Л. В. Мороз, Т. Р. Борецький, Ю. М. Костів

Наведено оптимізовані алгоритми обчислення функцій синуса-косинуса засобами програмованої логічної інтегральної схеми (ПЛІС), виявлено їх переваги та недоліки порівняно із класичними реалізаціями та отримано основні характеристики реалізованих методів. Використання методів оптимізації обчислень синуса та косинуса у засобах ПЛІС дають змогу покращити основні характеристики алгоритму в їхній апаратній реалізації порівняно з класичним методом, зокрема у вигляді мегафункції, за допомогою якої істотно зменшується кількість тактів, латентність, кількість необхідних блоків та збільшується мінімальна тактова частота.

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

Sine-cosine CORDIC-based Method of Angle Transcoding for FPGA

The optimized algorithms for calculating the sine-cosine functions by using FPGA tools are presented; their advantages and disadvantages compared to classical implementations are shown; main characteristics of the implemented methods are obtained. Usage of optimization methods in calculating sine and cosine in FPGA tools allow improving the main characteristics of the algorithm in their hardware implementation compared to the classical and megafunction method, where substantially reduces the number of clock cycles, latency, number of required blocks and increases the minimum clock frequency.

Текст научной работы на тему «Синус-косинусний fpga-обчислювач на основі CORDIC-методу з перекодуванням кута»

Koval O.M., Hulida Ye.M. Mathematical Model of Optimal Choice of Fire Fighting Tactics at Millyard Applications Woodworking Companies

The mathematical model, flowchart and a program for optimizing the choice of tactics of containment and extinguishing fires on the open storage timber wood processing enterprises are designed. The model includes all of the dependencies for establishing the optimal time localization and extinguishing effect based on the velocity and direction of the wind, causing changes in the speed of flame propagation of the fire. In addition, the mathematical model can reasonably determine the optimal variant of tactics and duration localization and fire extinguishing with the necessary amount with the forces and resources, and the need for fire suppression protection from gas and smoke equipment and heat protection clothing. Scientific novelty lies in the fact that for the first time with the help of optimization mathematical model considered and justified basic provisions of tactical action fire suppression systems on open storage timber wood processing enterprises.

Keywords: mathematical model, the tactics of containment and extinguishing the fire barrel and thermal radiation.

УДК 681.3 Доц. Л.В. Мороз, д-р техн. наук; астр. Т.Р. Борецький;

доц. Ю.М. Костхе, канд. техн. наук - НУ '^beiechm полтехшка"

СИНУС-КОСИНУСНИЙ FPGA-ОБЧИСЛЮВАЧ НА ОСНОВ1 CORDIC-МЕТОДУ З ПЕРЕКОДУВАННЯМ КУТА

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

Ключовi слова: CORDIC, IP Core, ПЛ1С, алгоритм, латеитшсть, мегафункдiя.

Вступ. В цш робоп розглянуто практичну реал1зацда алгоршшв обчислення синуса-косинуса та його синтез на платформ! ПЛ1С (FPGA). 1мплемента-щю проведено для двох тишв ПЛ1С - вщ ф1рм Altera та Xillix.

Опис вщомих метод1в. Основним недолшом класичного методу CORDIC [1, 2] е низька швидкод1я через лшшну зб1жшсть методу (один правильний бгг результату за одну трацда) та вщносна апаратна складшсть, пов'язана з не-обхвднктю реал1зацц одночасно трьох ггерацшних рiвнянь (для x, y, z) у ви-падку застосування конвеерно! структури обчислювача:

xi = x-1 - s ■ y i-i ■ 2-;

y i = y i-1 — S ■ Xi-1 ■ 2-i; (1)

Zi = zi-i - Si ■ arctan(2-i);

Si = sign(Zi-i),i = 1...m, де m - кшьюсть двшкових розрядiв обчислювача.

З метою спрощення апаратно! реал1зацц обчислювача запропоновано метод CORDIC з перекодуванням вх1дного кута [4-7], що дае змогу звести систему (1) лише до двох трацшних ршнянь (для xi, yi). Одночасно з цим для шдви-

щення швидкодл методу (зменшення числа ггерацш) розроблено пбридш стру-ктури, що використовують послщовно три методи: табличний + CORDIC + кус-ково-лшшна апроксимащя [3, 4, 8, 9]. Причому CORDIC виконано у р1зних ва-р1антах - класичному [3], з використанням трацшних формул вищих порядив [8-10], без перекодування та з перекодуванням вхщного кута [4]. Найпростшим з погляду апаратного втiлення е CORDIC з перекодуванням вх1дного кута [4]. Однак вш мае ктотний недолш - великий об'ем пам'яп таблиц попередньо!' ви-б1рки (ТПВ типу LUT) при великих значеннях m (необхщна таблиця розм1ром,

т/ г- • \ ^ • • •

не меншим, шж 2/з • m б1т1в). Окрш цього, вих1дн1 помножувач1 тут реалвоваш у базис {-1;1}, що унеможливлюе використання помножувач1в, яю е у склад1 блокiв DSP сучасних ПЛ1С.

Слабким мкцем методу класичного перекодування кута [4] була необ-хщнкть використання ТПВ великого об'ему. У статтях [12, 13] цей недолж бу-ло зведено до мшмуму, коли при розрядносп 24-32 биш мшмально можлива за об'емом ТПВ вимагала анал1зу лише 2-3 розрядш вх1дного аргументу. Удос-коналений алгоритм перекодування кута був реал1зований на платформ! FPGA CyclonelII мовою програмування SystemVerilog [11].

Основними складностями у процес реал1зацИ' алгоритмiв цього методу

були:

• реалiзацiя арифметичних i лопчних операцiй 3i змiнними та масивами pi3Horo типу;

• необхiдна наявшсть блокiв помножувача з пiдтримкою знакового представления аргуменив;

• неможливють коректно виконувати дiю множення знакових i беззнакових величин засобами мови Verilog [14];

• необхщтсть зведення всiх представлених величин до одного формату;

• зменшення розрядноси та точноси обчислень через надлишковють формату. Щд час проектування та налаштування алгоритму виникали трудношд у

зв'язку з наведеними вище обмеженнями. Ус щ трудношд можна усунути, вико-риставши метод перекодування, описаний у робота [12].

Однак у [12] описано лише основи теорп методу, ят потребують форма-л1зацп у вигляд1 алгоршшв, придатних для апаратного виконання на платформ! FPGA. Саме це i е метою ще1 роботи.

Опис пропонованого алгоритму для тригонометричних функций синус-косинус. Пропонований алгоритм методу [12] здатний коректно функщ-онувати на промiжку

та використовувати при арифметичних операщях лише додатнi величини. Роз-дшимо вхiдний кут f на три кути

Кут j опрацьовуемо табличним методом ( mLUT - число старших бтв кута f, що подаються на переглядову таблицю ТПВ), кут j - пропонованим Cordic-методом, кут j _ за допомогою методу залишкового множення (куско-во-лiнiйноï апроксимацiï), причому:

j е [0, p / 2]

(2)

j = j +j2 + j.

(3)

mLUT mcoRDic m

j = £ a, ■ 2-i; j = E a, ■ j = T • e {0,1}. (4)

1=1 i=mLUT +1 i=mcORDIC +1

Застосування табличного методу передбачае зчитування наперед обчис-лених значень синуав та косинусiв кута j згiдно з вибраною розряднiстю ТПВ. Данi значения отримуемо за формулою:

XLUT = P ■ COS(j +jconst); yLUT = P ■ sin(j + jons) (5)

mCORDIC 1

p = Io! -г-—; (6)

11 /i + 2-2i-2

m-LUT

mCORDIC

jconst = E arctan(2i-2). (7)

mLUT

Для кута j використовуемо iтерацiйнi рiвияния пропонованого методу:

x,+i = xi - bi+iyi ■ 2-i; yi+1 = у, - bi+x ■ 2-i; (8)

bi = 2a, -1. (9)

При кусково-лшшнш апроксимацп застосуемо формули:

x = xCORDIC+1 - z ■ yCORDIC+1; У = yCORDIC+1 + z ■ xCORDIC+1, (10)

значення z при обрахунку (10) набувае лише додатних значень i може обчислю-ватись незалежно вщ основного iтерацiйного процесу (8):

m/3

z = j3 + D; D= £ 2-i - 2 ■ arctan2-i-1. (11)

i=mUJT

Для реалiзацií формул (10) бажаною е наявнiсть апаратного помножува-ча, а у випадку ввдсутносп такого - його програмна емуляцiя (наприклад, за методом add-shift [11]). Порiвияния швидкодл програмно!' та апаратно!' реалiзацií блоку помножувача було здшснено в [11]. Далi в статтi розкрито практичну ча-стину реалiзацií пропонованого методу.

Практична реамзащя. Важливою перевагою пропонованого алгоритму е оперування лише додатними величинами, що досягаеться поворотом кута лише в одному напрямi шсля операцп зчитування з ТПВ. Цей споаб дае змогу от-римувати лише значення, бiльшi вiд нуля, що знаходить свое вщображення в тому, що ус змiннi в методi можна використовувати як беззнаков^ якими вони е по замовчуванню у мовi Verilog. Також можна говорити про хоч i незначне, але збшьшення швидкодп - точносп при застосуваннi методу шляхом економп знакових розрядш пiсля усунення надлишкових бiт. Характеристики реалiзова-ного алгоритму було дослщжено за допомогою програмного забезпечення Vivado 2015.2 вщ фiрми Xillinx. Реалiзацiя мегафункцп обчислення синуса/косинуса вiд цього виробника е бшьш гнучкою та продуманою порiвняно з версiею вiд фiрми Altera. За íí допомогою можна обчислювати також гiперболiчнi та обернет функцп синуса/косинуса/тангенса, квадратний корiнь та поворот вектора. Окрш цього, доступне порозрядне редагування розрядностi обчислень та кшь-кiсть iтерацiй у широких межах (для синуса/косинуса вона становить ввд 8 до 48 розрядав), а також змша iтерацiйноí структуру алгоритму. Детальшша шфор-мащя про можливосп Xilinx IP Core е у [16].

Першим етапом пропонованого алгоритму е табличний метод, в якому значения результату вибираеться i3 пам'ятi, а вхiдний аргумент функцп вiдiграе роль адреси. Для ощнки апаратно!' ресурсоемностi такого шдходу можна взяти кристал ПЛ1С, класу CycloneIII, який використовувався для дослщш у цiй робо-тi. Один лопчний елемент кристалу здатний зберкати 16 двiйкових розрядiв, замiнюючи собою невелику ТПВ. Для реалiзацií класичного CORDIC методу необхiдно використати 2-5 тис. лопчних елементiв. Так, наприклад, при вико-ристаннi Xillix IP Core 32-розрядний CORDIC вимагае 3 тис. лопчних елемен-тiв, що вiдповiдае об'ему пам'ятi 3 тис.*16 = 50 Kбiт. У разi використання такого об'ему пам'яп як ТПВ можна реалiзувати функщю в межах дванадцяти роз-рядш, причому кожен наступний розряд буде збшьшувати розмiр таблицi бшьш як вдюч^ враховуючи збiльшения розрядностi даних, значення яких необхiдно зберегти. Також зi збшьшенням розмiрiв таблицi, з'являеться необхвднкть у до-датковiй лопщ, зазвичай, у виглядi мультиплексора для вибору даних за зада-ною адресою, причому кiлькiсть таких елеменпв може бути спiврозмiрна з об'-емом само!' таблицi.

Основним параметром, що демонструе переваги пропонованого алгоритму, е латентнкть, яка обернено пропорцiйна тактовш частотi, та залежить вiд кшькосп тактiв, необхвдних для обчислення функцп. Кшьккть тактш, своею чергою, може змiнюватись за рахунок розмiру таблищ попередньо!' вибiрки. Чим бiльший об'ем пам'яп кристалу, який ми можемо видшити для алгоритму, тим менша кiлькiсть тактiв i логiчних елемеипв, необхвдних для функщонуван-ня алгоритму. Другим параметром, який змшювався при реалiзапií алгоритму, була розряднiсть помножувача. CycloneIII мiстить 56 блоюв помножувачiв, кожен з яких здатен здайснювати множення розряднiстю 18x18, або два множення 9x9. Оптимальна розряднкть помножувача становить

m

MultiplerBusSize = — +1, (12)

де m - кшьккть розрядш видного аргумента.

Для розрядносп алгоритму 16 бтв однозначним рiшениям буде розряднкть помножувача 9. Для розрядностi 32 бгги вона становить 17, але при табли-ni попередньо!' вибiрки, що доршнюе трьом - розряднкть потрiбно збшьшити до 18, зпдно з формулою (11). При розрядносп 24 бiти, питання режиму роботи помножувачiв е неоднозначним. Звичайно, що з погляду кшькосп зайнятих ре-сурсiв необхвдно використати помножувачi 18x18, але при таблищ попередньо!' вибiрки, меншiй за 5 розрядiв, формула (11) дае близький до нуля результат, через що можна використовувати помножувачi в режим 12x12, i параметри час-тоти в цьому випадку будуть вiдрiзиятись. Тому для розрядносп 24 розряди наведено три таблищ iз конфкуращею помножувачiв у режимi 12x12, 13x13, та 18x18. При експериментах з розряднктю помножувача було виявлено, що ком-пiлятор краще оптимiзуе проекти, в яких задiянi всi розряди помножувача, що однозначно визначило використання помножувачш 9x9 при 16 розрядах, у режимах, коли зпдно з формулою (11) можна використати 8x8. Те саме сто-суеться помножувачш 18x18 для 32 розрядш, у випадках коли можна було бра-4. Iнформацiйнi технологи галул 291

ти 17x17, чи навггь 16x16. Але для 24-х розрядiв ефект виявився неоднознач-ний, хоча, наприклад, при ТПВ, що дорiвнюе п'ятьом, цей режим 18x18 проде-монстрував кращi результати швидкодп, нiж у режимах помножувача 12x12 чи 13x13. Тому для об'ектившшого зiставлення результатiв у в^х випадках виби-рався помножувач 18x18 або 9x9, залежно вiд розрядносл. Щодо таблиць з роз-рядшстю 12x12 чи 13x13, то вони присутш для демонстрацп залежностi швидкодп ресурав та латентностi залежно вщ змiни розрядностi помножувачiв.

При реалiзапií фуикпií синуса-косинуса iнтегрованими засобами Altera CORDIC magafunction не дае можливосп вибрати параметри комптяцп. Для CycloneIII можливою е лише 32-розрядна конвеерна функц1я синуса чи косинуса. Обчислення здiйснюються у формап з плаваючою комою, де розмiр манти-си становить 24 розряди, а значення порядку дорiвнюе восьми розрядам. Про-понований алгоритм був реалiзований у середовищi Quartus 13.1.4 з конфпура-пiею 16, 24 та 32 розряди iз рiзною розряднiстю ТПВ. Для 32 розрядiв кiлькiсть розрядiв таблипi лежить у межах вщ 3 до 10 (рис. 1), для 16 розрядiв - вщ 2 до 8 (рис. 2).

Рис. 1. Представлення частот у виглядi графта для 32-х розряЫв, залежно

eid розм1ру таблиц

Рис. 2. Частота пропонованого алгоритму для 16 розряЫв при ТПВ 2-8 бiтiв

Як видно з табл. 2, для 32-розрядного пропонованого алгоритму латен-тшсть може становити вщ 40 до 64 нс залежно вщ розмiру таблищ попередньо'' вибiрки. При значеннях таблищ 3 чи 4 розряди вну^шня пам'ять не задшеться, а пам'ять синтезуеться за допомогою логiки кристалу. У разi досягнення розмiру таблищ 10 розрядiв необхiдно мати доступними 64 Кбiт пам'ятi, що дае виграш як у латентностi, так i ресурсоемностi алгоритму. Коливання частоти для рiзних конфiгурацiй становить менше ±4 %. Для 16-розрядно'' реалiзащí алгоритму максимальна частота в бтьшосп випадкiв обмежуеться швидкiстю помножувача у режимi 9x9, хоча при значеннях таблищ попередньо'' вибiрки 6, 7 з'являеться вщчутний провал швидкодп, зв'язаний швидше за все з недосконалютю комптя-тора. Для прикладу, при змЫ кристалу з Суе1опеШ на Суе1опе1У з аналогiчними параметрами цей провал вщсутнш за умови використання середовища 13.1.4. Якщо ж взяти цей же кристал Суе1опе1У у новшому середовищi 15.0.1, провал швидкодп тшьки посилиться. Причому будь-яю спроби ошгашзацп тiльки попр-

шать становище. Так, найкращих результатов для середовища 15.0.1 було досяг-нуто при конфкурацц комшлятора по замовчуванню, причому даш результати були нижч1 за результати провалу комшлятора 13.1.4. Щодо 24-розрядного алгоритму (табл. 1), то максимальну частоту необх1дно визначати для кожного ви-падку окремо, виходячи з розрядносп таблиц та розрядносп блоку помножува-ча. При 32-розряднш реатзацц пропонованого алгоритму частоти лежать в межах 247,65 МГц (ТПВ = 3) - 276,4 МГц (ТПВ = 9), в обох випадках при конфцу-рацц помножувача 18x18, що становить ±5 %.

Табл. 1. Характеристики пропонованого алгоритму на платформi Artix-7 середовища Vivado 2015.2

Bus bit Table bit Latency clk Total Time ns Freq Best MHz Period Best ns Flipflops LUT Mem LUT DS P POWER mW

Пропоно-ваний алгоритм 32 4 15 44,1GG 34G,14 2,94G 955 827 14 2 378

32 6 13 38,181 34G,48 2,937 826 71G 16 2 364

32 8 11 32,879 334,56 2,989 698 584 18 2 345

24 5 1G 28,63G 349,28 2,863 477 381 13 2 278

Xilinx IP core 32 - 34 99,28G 342,47 2,92G 3588 3529 2 G 673

24 - 26 67,6GG 384,62 2,6GG 2161 2113 4 G 499

Табл. 2. Характеристики пропонованого алгоритму на платформi CycloneIII середовища Quartus13.1.4

Bus 32 bit Table bit Latency clk Total latency ns Blocks used Logic elements Flip-flops Memory bits Multipliers Freq. 850Mhz Freq. G0Mhz Freq. max Power mW

Пропоно-ваний алгоритм 3 17 64,38 1,974 1,6G9 1,52G G 4 233,G5 264,G6 41G,34 73,14

4 16 6G,19 1,852 1,494 1,444 G 4 237,47 265,82 397,3 73,13

5 15 57,16 1,568 1,298 1,224 2,G48 4 233,92 262,4G 393,55 73,13

6 15 55,23 1,441 1,165 1,131 4,G96 4 241,6G 271,59 4G5,19 73,12

7 14 54,71 1,359 1,G34 1,G39 8,192 4 225,58 255,89 382,12 73,12

8 13 5G,43 1,214 9G5 948 16,384 4 229,25 257,8G 395,41 73,11

9 12 47,68 1,G68 778 851 32,768 4 225,43 251,7G 394,79 73,11

1G 11 4G,48 945 67G 763 65,536 4 24G,21 271,74 4G7,66 73,1

Класичний Cordic Speed 32 147,G7 4326 4173 29GG G G 217,58 246,79 378,2G

Optimal 32 15G,82 2889 2775 2G11 6G8 G 212,18 237,G8 364,3G

Altera Me-gafunction Sin 36 263,49 5248 4996 235G 1362 31 136,63 152,91 243,66 7G,27

Cos 36 252,47 5G56 4768 2247 32G 31 142,59 158,15 246,12 7G,26

Класична реалiзацiя CORDIC засобами Vivado без масштабування кута вимагае здшснення m+2 тактш, де m - кiлькiсть розрядш вхвдного кута. Розряд-нкть алгоритму прямо пропорцшна латентностi та обернено пропорцшна мак-симальнiй частотi, на якш здатний коректно працювати алгоритм. Так, для 16 розрядш класичного методу латентнiсть становить 41,4 нс, а максимальна частота - 435 МГц. У разi досягнення максимально!' розрядносп 48 розрядiв, латентнiсть збшьшуеться до 177,5 нс, а частота падае до 282 МГц. Бiблiотека IP Core реалiзована отже, що кшьккть вхiдних i вихвдних розрядiв округлюеться до величини, кратно!' вiсiм. Тому в нашому випадку дощльним буде зiставлення результатiв для 24- та 32-розрядних версiй алгоритму з пропонованим методом.

Латентнiсть цих розрядностей становить 67,6 нс та 99,3 нс, а частота 385 МГц та 342 МГц вщповщно. При порiвняннi класичного алгоритму СОКЭ1С з про-понованим алгоритмом варто зауважити, що метод залишкового множення на платформi Лгйх-7, так само як i на платформi Сус1опеШ буде обмежуватись частотою блоку помножувача, причому, враховуючи ефект збшьшення частоти при зменшеннi розрядностi, на невеликих розрядностях частота алгоритму буде значно перевищувати частоту блоку помножувача. Так, максимальна частота помножувача для Лг11х-7 становить 350±1 МГц, за умови використання вбудова-них у блок помножувача тригерш. Оскшьки структура пропонованого алгоритму не передбачае використання даних тригерш, частота буде меншою вiд максимально'' на декшька вiдсоткiв. Так, при розрядносп 24 частота пропонованого алгоритму буде становити 349,3 МГц, що використовуе практично во ресурси помножувача, а це на 35 МГц менше за частоту класичного алгоритму. Проте застосування методу залишкового множення дае змогу замшити 12 класичних ггеращй лише 2-а ггерашями з використанням ресурсiв блоку помножувача, хо-ча i з меншою тактовою частотою.

У разi збшьшення розрядносп до 32, тактова частота дещо падае - до ве-личини 334-340 МГц, залежно вщ величини таблицi попередньо'' вибiрки. Максимальна частота i надалi залежить вiд характеристик помножувача, але через збшьшення кшькосп логiчних елемештв стае важчим для компiлятора пошук оптимального способу 'х розташування. Так, при ТПВ у 4-6 розрядш, тактова частота залишаеться стабiльною в межах 340 МГц. При подальшому збшьшенш таблицi до 8 розрядш тактова частота падае до 334,5 МГц. Як вже зазначено ви-ще, падшня частоти з надлишком компенсуеться покращенням параметрiв ла-тентностi, i при значеннi 99,3 нс для класичного 32-розрядного методу й можна знизити до 44,1 нс для пропонованого методу з ТПВ у 4, чи навиь 32,9 нс при ТПВ, що доршнюе 8.

Прямо пропорцшно до збшьшення ТПВ зростае i об'ем необхщно'' для реалiзацií алгоритму пам'ятi, але знижуеться кiлькiсть логiчних елементiв через зменшення кiлькостi iтерацiй методу. Так, кшьккть тригерiв i логiчних елемен-пв для 24-розрядного пропонованого методу знизилась у 4,5 та 5,5 разiв вщпо-вiдно. Для 32-розрядного методу, залежно вщ значения ТПВ, кшьккть елемен-тiв знизилась вiд 3,5 до 6 разiв. Виграш було досягнуто за допомогою використання двох блоюв помножувача та лопчних елементiв у режимi iмiтацií пам'яп, оскiльки для досягнення максимально' швидкодп компшятор не використову-вав апаратш блоки пам'ятi через й незначний об'ем.

Споживана потужнiсть при використанш пропонованого методу знизилась маже вдшч^ пор1вняно з класичним варiаитом алгоритму. Основний виграш у зменшенш потужностi вiдiграло динамiчне споживання кристалу, яке прямо пропорцiйне к1лькост! задяних елементгв логiки та кiлькостi сигнальних лiнiй. Енергоспоживання блок1в помножувача, яш з'явились у пропонованому методд, виявилось незначним i становить лише 2-3 % вщ загально' потужност! кристалу.

Оптишзашя алгоритму можлива лише за допомогою змши настройок синтезу та iмплементацií, запропонованих виробником. Для синтезу схеми, ок-

piM профшю по замовчуванню, пропонуеться ще три: оптишзацп швидкодп, плошд та часу комшляцп. Кожен профшь мктить Ha6ip Í3 13 параметра, значения яких подано в табл. 2. При пошуку оптимально!' комбíнaцií даних пapaметpíв були aпpобовaнí píзнí комбшацц зазначених пapaметpíв. За результатами досль дження видно, що найкращих результапв можна досягти, при знaченнí пара-метpíв оптимíзaцíí flatten=rebuild та directive=runtime (табл. 3).

Табл. 3. ОптимЬацгя параметргв синтезу середовища Vivado

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

Parameter name

value

flatten hierarchy

off

full

rebuilt*

gated clock conversion

off

auto

bufg

12

24

loo

1000

100 000

fanout limit

o

loo

4oo

1000

10 000

100 000

directive

default

area optimize

runtime optimize*

fsm extraction

off

one hot

sequencual

Johnson

gray

auto

keep equivalent registers

off

recource sharing

off

auto

control_set_opt_threshold

4

16

auto

no lc

off

shering min size

10

100

max bram

-10

10

100

max dsp

-10

0

10

100

cascade_dsp

tree

force

auto

0

0

1

S

0

1

3

5

1

0

1

Таблиця иоиередшо B^iprn у середовищд Vivado завжди формуеться монтажним чином. Вiдповiдио, швидкод1я i кшьккть лопчних елеменпв зале-жить вщ значень вибраних констант у таблиц! Взявши до уваги, що Bei значен-ня таблицi е округленим двiйковим представленням iррацiональних чисел, стае зрозумшим, що залежно вщ настройок заокруглення та варiантiв 1хшх комбша-цiй, можливi конфiгурацiï таблиц можуть вiдрiзнягись залежно вiд прюритепв точностi чи швидкодiï обчислень. Експериментально встановлено, що змiна способов представления даних таблицi можуть вщчутно впливати на характеристики вихщного проекту. Отже, всi основнi параметри алгоритму, зокрема спосiб розмiшеиня його на кристал^ можуть залежати ввд значень параметрiв ТПВ.

Висновки. Пропонований алгоритм дае змогу спростити реалiзацiю методу перекодування кута у його програмнш та апаратнiй реалiзацiï, а також от-римати виграш порiвияно iз вбудованими бiблiотечними функщями, пропоно-ваними розробниками середовищ. У випадку використання платформи Xilinx, виграш у латентносп пропонованого алгоритму збшьшуеться бiльш як у 2 рази, при втрап тактово!' частоти всього на декшька мегагерц. Шляхом ширшого використання пам'ятi та помножувачiв вдаеться отримати економiю як ресурав кристалу, так i споживано' потужносп вiд 2 до 7 раз. Приблизно таку ж еконо-мда ресурсов можна отримати i на платформi вiд Altera, причому як для класич-но' реалiзацiï алгоритму CORDIC, так i для вбудовано' мегафункцп.

Лiтература

1. Voider J.E. The CORDIC Trigonometric Computing Technique / J.E. Voider // IEEE Transactions on Electronic Computers, Sep. - 1959. - Vol. EC-8. - No. 3. - Pp. 330-334.

2. Walther J.S. A unified algorithm for elementary functions / J.S. Walther // in Proc. AFIPS Conf. - 1971. - Vol. 38. - Pp. 385-389.

3. Мороз Л.В. Швидкодшчий пбридиий CORDIC-обчислювач тригонометричних функций / Л.В. Мороз, Я.1. Грабовський, Т.М. Микитш, Т.Р. Борецький, Ю.М. Костив, С.С. Войтусш // На-уковий вюник НЛТУ Украши : зб. наук.-техн. праць. - Львш : РВВ НЛТУ Украши. - 2014. -Вип. 24.8. - С. 352-357.

4. Madisetti A. A 100 MHz, 16-b, direct digital frequency synthesier with 100-dBc supurious-free dynamic range / A. Madisetti, A.Y. Kwentus, A.N. Willson // IEEE Journal of Solid-State Circuits. -1999. - Vol. 34, № 8. - Pp. 1034-1043.

5. Kuhlmann M. P-CORDIC : A Precomputation Based Rotation / M. Kuhlmann and K.K. Parhi // EURASIP Journal on Applied Signal Processing. - 2002. - Vol 50. - No. 1. - Pp. 936-943, 2002. [Electronic resource]. - Mode of access http://dx.doi.org/10.1155/S1110865702205028.

6. Juang T.-B. Para-CORDIC: Parallel CORDIC Rotation Algorithm / T.-B. Juang, S.-F. Hsiao, and M.-Y. Tsai // IEEE Transactions on Circuits and Systems I: Regular Papers. - 2004. - Vol. 51, No. 8. - Pp. 1515-1524, Aug.

7. Juang T. Low Latency Angle Recoding Methods for the Higher Bit-Width Parallel CORDIC Rotator Implementations / T. Juang // IEEE Transactions on Circuits and Systems II: Express Briefs. -2008. - Vol. 55. - No. 11. - Pp. 1139-1143, Nov.

8. Moroz Leonid. Simple Hybrid Scaling-Free CORDIC Solution for FPGAs " / Leonid Moroz, Shinobu Nagayama, Taras Mykytiv, Ihor Kirenko, Taras Boretskyy // International Journal of Reconfigurable Computing. - 2014. - Vol. Article ID 615472, 4 pages, 2014. [Electronic resource]. - Mode of access http://dx.doi.org/10.1155/2014/615472.

9. Мороз Л.В. Теорш та швидкодгкга апаратно-програмш засоби терацшнпх методов об-числення функцш : автореф. дис. на здобуття наук. ступеня д-р техн. наук / Л.В. Мороз; НУ "Льв1вська полгтехшка". - Львш, 2013. - 40 с.

10. Мороз Л.В. 1терацшш формули для CORDIC-методу / Л.В. Мороз // Комп'ютерш технологи друкарства : зб. наук. праць Украшсько! академн друкарства. - Львш : Вид-во УкрАД. -2012. - № 28. - С. 111-120.

11. Мороз Л.В. Удосконалення методу CORDIC для обчислення тригонометричних функ-цш засобами програмовано! лопчно! штегрально! схеми / Л.В. Мороз, Т.Р. Борецький, М.М. Сколоздра // Науковий вюник НЛТУ Украши : зб. наук.-техн. праць. - Львш : РВВ НЛТУ Укра!-ни. - 2015. - № 5. - С. 292-301.

12. Мороз Л.В. Перекодування кута CORDIC-методу / Л.В. Мороз // Комп'ютерш технологи друкарства. : зб. наук. праць Украшсько!' академи друкарства. - Львш : Вид-во УкрАД. - 2015. - № 33. - С. 51-55.

13. Мороз Л.В. Модпфжований CORDIC-методу обчислення синуса-косинуса / Л.В. Мороз, Т.Р. Борецький, Т.Л. Луковський // Комп'ютерш технологи друкарства : зб. наук. праць Украшсько! академи друкарства. - Льв1в : Вид-во УкрАД. - 2015. - № 33. - С. 56-63.

14. Greg Dr. Tumbush, Starkey Labs, Colorado Springs, CO / Dr. Greg // Signed Arithmetic in Verilog 2001 - Opportunities and Hazards 5 p. [Electronic resource]. - Mode of access http://www.uccs.edu/~gtumbush/published_papers/Tumbush%20DVCon%2005.pdf

15. [Electronic resource]. - Mode of access http://www.xilinx.com/products/silicon-devices/fpga/artix-7.html

16. [Electronic resource]. - Mode of access http://www.xilinx.com/support/documentation / ip_documentation/ cordic/v6_0/pg 105-cordic.pdf

Мороз Л.В., Борецкий Т.Р., Костив Ю.М. Синусо-косинусный FPGA-вычислитель на основе CORDIC-метода перекодировки угла

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

Ключевые слова: CORDIC, IP Core, ПЛ1С, алгоритм, латентность, мегафункция.

Moroz L.D., Boretskyy T.R., Kostiv U.M. Sine-cosine CORDIC-based Method of Angle Transcoding for FPGA

The optimized algorithms for calculating the sine-cosine functions by using FPGA tools are presented; their advantages and disadvantages compared to classical implementations are shown; main characteristics of the implemented methods are obtained. Usage of optimization methods in calculating sine and cosine in FPGA tools allow improving the main characteristics of the algorithm in their hardware implementation compared to the classical and mega-function method, where substantially reduces the number of clock cycles, latency, number of required blocks and increases the minimum clock frequency.

Keywords: CORDIC, IP Core, FPGA, algorithm, latency, megafunction.

УДК 004.9 Проф. В.В. Пасчник1, д-р техн. наук;

доц. О.1. Артеменко2, канд. техн. наук

1НФОРМАЦ1ЙН1 ТЕХНОЛОГИ МОДЕЛЮВАННЯ ПРОСТОРОВОГО РОЗВИТКУ ТУРИСТИЧНО1 1НФРАСТРУКТУРИ

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

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

Ключовi слова: туризм, шформацшш технологи, туристична iнфраструктура, моделювання просторового розвитку об'ектiв, урбашзащя.

Вступ. Туристичний бiзнес - це один з небагатьох видiв господарсько! д^яльносп, який мае високу рентабельнкть та акумулюе значнi трудовi ресурси [1]. За прогнозами експертiв, незважаючи на глобальну економiчну кризу, ввд-буватиметься щорiчне зростання туристично! галузi на 2-5 % [2]. Рiчнi надхо-дження вiд свiтовоí туристично! галузi становлять понад трлн дол. США [3]. У цих умовах Украша повинна використовувати наявнi можливосп для збшьшен-ня власних доходiв вiд туризму.

Для реалiзацií програми розвитку туризму в Украíнi [4] передуам необ-хiдна матерiально-технiчна база з розвиненою туристичною iнфраструктурою, особливо це стосуеться регюшв. Розвиток туристично! iнфраструктури немож-ливий без впровадження технологiчних iнновацiй.

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

Метою до^дження е аналiз стану та виявлення можливих напрямiв розвитку шформацшних технологш моделювання просторового розвитку в ту-

1 НУ " Львгвська полггехнка";

2 ПВНЗ "Буковинський ун1верситет", м. Черн1вд1

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