Научная статья на тему 'Удосконалення методу cordic для обчислення тригонометричних функцій засобами програмованої логічної інтегральної схеми'

Удосконалення методу cordic для обчислення тригонометричних функцій засобами програмованої логічної інтегральної схеми Текст научной статьи по специальности «Компьютерные и информационные науки»

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

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

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

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

Improvement of the CORDIC Method for Calculating of Trigonometric Functions by Using FPGA Tools

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

Текст научной работы на тему «Удосконалення методу cordic для обчислення тригонометричних функцій засобами програмованої логічної інтегральної схеми»

5. ШФОРМАЩЙШ ТЕХНОЛОГИ ГАЛУЗ!

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

асист. М.М. Сколоздра, канд. техн. наук - НУ "Лшеська полтехшка"

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

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

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

Опис методу. Метод CORDIC широко використовують для обчислення тригонометричних, гiперболiчних та обернених тригонометричних функцiй у сучаснiй цифровiй техшщ [1-12]. Найбiльш вживаним е обчислення синуса та косинуса видного кута, яке можна здшснювати як програмними, так i апарат-ними засобами. У програмнш реалiзацií метод часто використовуеться у мжро-контролерах, у яких доступний лише обмежений спектр арифметично-лопчних команд, невеликий об'ем пам'яп та цiлочисельнi регiстри. В апаратнш реалiзацií саме цим методом ввдбуваеться обчислення тригонометричних функцiй у де-яких сучасних процесорах з плаваючою комою. Основним недолiком методу е його висока латентшсть, що зумовлена складшстю обчислення зазначених ви-ще функцiй, íхнiм iтерацiйним характером. Наприклад, у сучасних персональ-них комп'ютерах обчислення функцiй синуса/косинуса - це одна з юлькох найдовших арифметичних операцiй, яка тривае бшьш як 100 такпв та у кшька разiв перевищуе час обрахунку квадратного кореня, дшення чи розрахунку логарифму з основою два [20-22]. У цш робоп розглянуто практичний аспект ре-алiзацií методiв зменшення латентностi та пiдвищення тактово!' частоти, таких як залишкове множення, табличний метод, перекодування кута за допомогою засобiв FPGA. Саме при використанш такого програмно-апаратного ршення доступна можливiсть якiсноí оцiнки методiв оптимiзацií, внесених у структуру алгоритму, та дослвдження вихiдних характеристик методу в програмнш та апаратнш реалiзацií.

Мета роботи: практична реалiзацiя оптимiзованих алгоритмiв обчислення функцш синуса-косинуса, описаних у [18], засобами ПЛ1С; виявлення 1х пе-реваг i недолiкiв порiвняно iз класичними реалiзацiями [13-15]; отримання та зктавлення основних характеристик реалiзованих методов.

Програмно-апаратна база, формати даних. Алгоритми методу CORDIC реалiзовувались на базi програмних засобiв вiд Altera: Quartus 13.1, та Мо-

delSim - Altera Edition 10.4 c. Апаратну ре^зацда було здiйснено на платформi з кристалом Cyclone III EP3C16F484C6N, розмщеного на платi Terasic de0. Ал-горитми та TecT6eH4i реалiзованi мовою SystemVerilog, де частина, що вщповь дае за тестування та взаемодда з користувачем i ресурсами плати, винесена в окремий модуль, який не використовувався при сиш^ та iмплементацií пред-ставлених результатов.

Вх1дш та вихiднi значения представлен в форматi з фiксованою комою [19]. Застосування плаваючо! коми при реалiзацií функцiй класичного синуса/косинуса в цьому випадку е недощльним, оскiльки як вxiднi, так i виxiднi значення функцiй лежать в чггко визначених межах. Для входного значення ку-та це дiапазон [0... п/2), а для вихадних значень синуса та косинуса [0.. .1). Переваги формату з фiксованою комою:

• такий формат легше ре^зувати апаратно;

• нема необхiдностi збер^ання знаку мантиси та порядку;

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

• у формата вщсугт надлишковi розряди знаку та порядку числа, яю в цьому конкретному випадку не використовуються;

• вихщт значення функцiй можна без додаткових перетворень подавати на вхiд цифро-аналогового перетворювача (ЦАП);

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

• ширший дiапазон значень операндiв;

• стандартизац1я формату.

Щодо дiапазону значень, якi приймае функцiя синуса/косинуса, то вш е обмежений зверху значеннями [-1.1], вiдповiдно значення порядку числа е константою. Збшьшення точносп обчислень (нижня межа) досягаеться збшь-шенням розрядностi операидiв.

Стандартизацiя формату представлення може бути спричинена необхвд-нiстю узгодити виxiднi формати рiзниx функцiй, дiапазони яких iстотно вiдрiз-няються. Наприклад, дiапазон значень гiперболiчного синуса лежить в даапазо-ш (-«...+«) i також може бути обчислений алгоритмами СОКЭГСа. Тим не менше першочерговою задачею пiд час проведення дослiджень е досягнення оптимальних характеристик роботи алгоритму, а узгодження формат1в може к-тотно вiдрiзнятись залежно вiд поставлених теxнiчниx умов. Зважаючи на наве-денi вище аргументи, формат з фiксованою комою найкраще пiдxодить для поставлено! задачi зiставления алгоритмiв, за якого виконання надлишкових опера-цiй не може повною мiрою розкрити вс якiснi характеристики алгоритмiв.

Реалiзацiя методiв. Реалiзовувати обчислення синуса та косинуса кла-сичним методом CORDIC за допомогою засобiв ПЛ1С можна як з використан-ням вбудованих мегафункцш, так i самостiйно, згiдно з формулою (1), описа-ною в [1, 2]

Xi+1 = Xi - ffi ■ yi ■ 2-';

У'+1 = У' - O • X' • 2-';

Z'+i = z' - O • a',

, -Л \-Iifzi< 0 1

де: a' = arctan(2 ') ; <' = \ i = 0,1,2,..,m ; x0 = P =—;y0 = 0;z0 = <p;

I +1ifZ' > 0 Km

(1)

Km = П

1

1з запропоновано' виробником реалiзацií СОЯБЮ Megafunction для об-числення синуса та косинуса необхвдно видiлити близько третини ресурсiв кристалу (табл. 1). Причому розряднiсть мантиси фiксована та становить 32 розряди, а на виходi алгоритму одержуемо лише одну iз двох функцiй - синус чи косинус.

Табл. 1. Реалiзацiя синуса та косинуса за допомогою ттегрованих мегафункцш

, m - к1льк1сть дв1икових розрядгв.

Bus, bits

Clock

Bandwith, Mbit/s '

Latency, ns

Blocks

Logic

Flipflops

Mem, bits

Freq. 85°C

Freq. 0°C

Freq. Мах

32

36

4372,16

263,49

5248

4996

2350

1362

136,63

152,91

[243,71

32

36

4562,88

252,47

5056

4768

2247

320

142,59

158,15

[246,61

Шд час здшснення обчислень тригонометричних функцш за допомогою власно! реалiзацií класичного алгоритму СОЯБ1С е можливiсть оптишзувати його структуру та характеристики, виходячи iз специфiки поставлено!' задачi. Розряднкть та кiлькiсть iтерацiй алгоритму можна змшювати з кроком в один розряд, забезпечуючи необхiдну точнiсть обчислень. Тим не менше, для ушфь кацií результатiв наведено значения, кратш восьми бiтам (табл. 2).

Табл. 2. Реалiзацiя класичного CORDICa високоЧ розрядностi

Bus, bits Clock Bandwith, Mbit/s Latency, ns Blocks Logic Flipflops Mem, bits Freq. 85°C Freq. 0°C Freq. Max

32 24 7031 109,22 3306 3142 2132 0 219,73 248,39 [376,81

32 24 7030 109,25 2285 2175 1491 558 219,68 246,06 [369,91

32 32 6963 147,07 4326 4173 2900 0 217,58 246,79 [378,21

32 32 6790 150,82 2889 2775 2011 608 212,18 237,08 [364,31

40 32 7946 161,09 3889 3749 2525 1014 198,65 224,01 [337,91

48 32 9006 170,56 4732 4664 2919 1316 187,62 212,99 [314,01

48 48 8624 267,17 6577 6505 4471 2068 179,66 203,96 [306,81

64 48 9912 309,94 9428 9360 5928 3474 154,87 174,89 [268,01

64 64 9568 428,09 12158 12086 8245 3904 149,5 169,49 [252,31

Шд час порiвняння результатов потрiбно врахувати, що вбудованi мега-функцií розрахованi, передусом, на ушверсальнкть як з погляду незалежностi ввд платформи, так О даних, що представлеш у форматi з плаваючою комою. Ввдповвдно, з усх основних параметрiв (частота, пропускна здатнiсть, латен-тшсть) власна реалОзащя алгоритму програе лише за латентнктю, за розряднос-■п, бшьшш за 48.

Саме висока латентшсть е слабким мкцем класичного методу СОЯБ1С. Кшьккть тактов, необхвдних для обчислення функцш, переважно дорОвнюе

кшькосп розрядiв вхiдного аргументу. Як результат, вихвдш значения алгоритму отримуються iз значною затримкою, i при цьому з використанням велико!' кiлькостi ресурсов кристалу. Також варто зазначити, що зi збiльшенням розряд-ностi в п разш кiлькiсть необхвдних лопчних елементш збiльшуeться в п2 разш.

Для зменшення кiлькостi тактiв, лопчних елементш i латентностi алгоритму можна використати табличний метод та залишкове множення [16, 17] зпдно з такою формулою:

—lut = —;9input = ф1 + ф2 ; ф = £ ai2 1; ф = Z а2

2

г+1

(2)

XLUT= cos ( ф) ;yLUT = sin ( Ф1) ; X— = XLUT - ф2 • yLUT ; y— = yLUT + Ф2 ■ XLUT ■

Табличний метод застосовуеться для старших розрядш операнду, кшь-к1сть яких визначаеться доступним об'емом пам'ят! Розм1р таблиц збшь-шуеться бшьш як удшч1 з кожною наступною ггеращею. Для вибраного кристалу максимальна кшьккть ггерацш, ят можна помктити в пам'ять, дор1внюе дванадцяти, що дае змогу виконати одну трацда зчитування з пам'яп замкть перших дванадцяти ггеращй алгоритму CORDIC (табл. 3).

Своею чергою, метод залишкового множення дае змогу замшити другу половину ггеращй методу CORDIC одшею операщею множення та додавання для кожно!' з функцш синуса та косинуса. Метод залишкового множення можна застосувати лише для половини молодших розряд1в вхвдного кута. За наявносп в кристал1 блоюв з функщею множення з'являеться можливкть вдв1ч1 зменшити кшьккть необхщних ггеращй, замшивши !х двома операщями множення та додавання. Швидкод1я в цьому випадку буде обмежена частотою функцюнування блоку помножувача та його розряднктю, яка в представленому випадку буде становити близько трьохсот мегагерц.

Bus, bits Clock Bandwith, Mbit/s Latency, ns Blocks Logic Flipflops Multipliers Mem, bits Freq 85°C Freq 0°C Freq Max

14 4 2029 27,60 46 24 46 2 6144 144,91 160,98 [269,8]

14 56 x 4 110544 28,37 5317 3987 3620 112 334848 141 156,23 [262,3]

14 5 3126 22,39 62 26 68 2 6144 223,31 248,45 [388,5]

14 56 x 5 167164 23,45 5437 3735 3968 112 337920 213,22 236,46 [370,0]

24 4 3144 30,53 114 46 114 4 360448 131,01 146,13 [241,0]

24 5 4369 27,46 125 46 125 4 360448 182,05 203,62 [314,4]

24 6 6932 20,77 180 46 180 4 360448 288,85 327,12 [493,1]

i=i

i=m

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

У табл. 3 наведено результати 1мплементацц для двох вар1ант1в розряд-носп, mi е критичними для вибраного кристалу. За розрядносп 14 б1т кнуе можливкть зад1яти вс помножувач1 кристалу в конфкурацц 9x9 бщ чим досяг-ти високих показнитв иропускно!' здатносп та мшшально! латентностг Всього можливо створити 56 незалежних конвеер1в. Подальше збшьшення розрядносп призведе до зменшення кшькосп конвеерш та використовуваних блоюв помно-жувач1в i за значения 24 досягне свого максимуму з використанням лише одного помножувача з конфкуращею 18x18. У цьому випадку критичним значенням

буде об'ем доступно' пам,ятi, для доступу до яко'1 на максимальнiй швидкостi доводиться збшьшувати кiлькiсть тактiв.

За невеликих розрядностей аргуменлв можна використовувати тшьки наведенi вище два методи для отримання результату обчислювано' функцií. У нашому випадку верхня межа становить 24 розряди, з яких старшi 12 розрядiв обчислюються табличним методом, а молодшi 12 - залишковим множенням. Теоретично, в цьому випадку максимальна частота дорiвнюе частотi блоку пом-ножувача, а латентнiсть становить чотири такти, два з яких йде на зчитування адреси та вибiрку з пам,ятi, а наступш два - на множення та додавання.

Пiд час практично' реатзаци такого пiдходу вiдразу отримуемо ряд "шдводних каменiвм:

• по-перше, блоки пам'ят за велико!' 1х кшькост розмiщенi в рiзних кiнцях крис-талу (рис. 1), i затримка сигналу мiж ними та будь-яким блоком помножувача буде ютотна навт на невеликих кристалах. У розглянутому випадку максимальна частота зменшилась бшьш як вдвiчi, хоча об'ем пам'ят у кристалi становить менше 1 % вiд об'ему пам'ят в топових кристалах ПЛ1С;

• по-друге, нав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яких покращень у характеристиках алгоритму.

Рис. 1. Найдовший шлях сигналу (червоним) мж блоками пам'ятi та помножувачем

З цим самим устхом можна здшснювати ^ерацп методу СОЯБ1С мiж блоками пам'ятi та помножувачами, не змшивши латентнiсть та тактову частоту алгоритму. При цьому кожна ^еращя СОЯБ1С дасть змогу отримати на виходi

функцц два додатковi розряди, враховуючи розряди, отримаш за допомогою методу залишкового множення. При цьому недолiком е лише збшьшення кшь-костi необхiдних лопчних елемештв для реалiзацiï iтерацiй алгоритму. Також не варто забувати, що в разi збшьшення розрядностi мiж табличним методом та залишковим множення необидно буде проводити iтерацiï класичного CORDIC методу, з кожною ггеращею якого кiлькiсть логiчних елемештв буде зростати в арифметично-геометричнш прогресiï [24].

Тому для економи логiчних елеменпв можна застосовувати запропоно-ваний метод перекодування кута [18], в якому частина логiки класичного методу CORDIC, що вщповщае за визначення напряму повороту, не використо-вуеться. Для цього методу вхщний кут ф розбиваеться на три кути

ÑLUT _. mCÜRDIC m _

ф = Ф1 + Ф2 + фз, Ф = Е ai2 ', ф2 = £ а{2-\ фз = £ а'2~'. (3)

i=1 i=ÑLUT+1 '=ÑCÜRDIC+1

Тут mLUT - число старших бiтiв кута ф, що подаються на переглядову таблицю LUT, яка виконуе функцiю

XÑLUT+1 =Pc ■ C0S ( Ф + <P2conSt ) , ymLUT+1 =Pc ■ sin ( Ф + <P2conSt ) ,

ty2const = 2_(ñLUT+1) _ 2_(mCORDIC+1), (4)

де ñcürdic - кiлькiсть середнiх бiтiв ('cordic = ñlut + 2..—cürdic + 1) , ят оброб-ляються за методом CORDIC (бии кута ф2). Причому саме в CORDICу кут ф2 перекодовуеться в кут ф2г

ÑCÜRDIC ÑCÜRDIC

Ф2г= X b'2-'= X (2а,_i _ 1) ■ 2_', (5)

'=ÑLUT+2 '=ÑLUT+2

де ç2const визначаеться за формулою (4), так що ф2 = ç2r _ ç2const. Шсля завершен-ня iтерацiй за формулам:

xi = x,_i _ bjyj_i2-', y, = у,_1 + b'X'_i2_', i = ÑLUT + 2,..., ñcürdic +1 (6)

отримаемо вектор з координатами {XmCÜRDIC+i ymCÜRDIC+l} . Цей вектор

здшснюе додатковий поворот на залишковий кут фзал, який дорiвнюе скориго-ваному куту ф3 на кут А <рзал = <р3 + А, де А визначаеться за формулою

m3 m3 г / м Ñ

А = S d,= S b [2_' _ arctan ( 2_' )], тз = -_1. (7-8)

mLUT+2 mLUT+2

Далi виконуються двi до, подiбно до алгоритму, описаному у (2) - множення на кут фзал :

X-CÜRDIC+2 = X-CÜRDIC+1 _ ФзаЛ ^ ymcORDIC+1; X-CÜRDIC+2 = C0S (V'npUt) y-CÜRDIC+2 = y-CÜRDIC+1 + Фзал ^ УÑCÜRDIC+1 y-CÜRDIC+2 = ^ ( npUt ) . (9)

Цей спосiб дае змогу усунути конвеер iз каскадованих суматорiв та мультиплексорiв класичного методу CORDIC. Окрiм цього, таблиця арктанген-

сов, яка часто реагоуеться компшятором у виглядо монтажних з'еднань лопчних елемештв, стае непотрОбною.

Табл. 4. Результати модшф 'икованого методу перекодування кута

Bus, bits

Mem/Rot /Mult, bits

Clock

Bandwith, Mbit/s

Latency, ns

Blocks

Logic

Flipflops

Mem, bits

Freq. 85°C

Freq. 0°C

16

6/2/8

6

3868,5

28,95

228

138

217

832

241,78

266,31

16

56 x 6/2/8

56 x 6

208132,8

34,44

14952

7728

14560

46592

232,29

260,28

38

13/6/18

10

7069,9

53,75

1311

1073

793

488984

186,05

207,3

Запропонований метод перекодування кута реатзований у двох варОан-тах: 16 та 38 розрядному. У першому випадку заддаються вс помножувачО, при цьому використання блокгв пам'яп становить менше 10 % ввд ресурав криста-лу. Варто також зазначити, що мОж операщями зчитування з пам'яп та множен-ням здшснюеться метод перекодування кута, що дае змогу використати холоста такти для арифметичних ггеращй алгоритму, користь яких найкраще прояв-ляеться за великих об'емОв пам'ято У випадку 16-розрядного СОКБГСа з 56 кон-веерами критичним параметром виступае кшьккть лопчних елементгв криста-лу, кшьккть яких становить 15,4 тис. (табл. 4). Подальше збшьшення розряд-носп до 38 би впираеться в розряднкть блоку помножувача. Незважаючи на повну завантаженкть блоюв пам'яп, вони в цьому випадку не виступають галь-мОвним фактором, О 'х кшьккть може бути зменшена за рахунок збшьшення ла-тентносп.

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

Вплив додаткових параметрiв компiляцГí на результати роботи ал-горитмiв. Якщо в кристалО ввдсутш або зайняп блоки пам'яп чи помножувачО, вони можуть бути реалОзоваш за допомогою функцш комбшащйно!' лопки кристалу. Комп1лятор Quartus у цьому випадку здатний самоспйно згенерувати таку комбшацшну схему, хоча вона не завжди буде оптимальною. Також ввдбу-деться падОння швидкодц, яку можна скомпенсувати внаслщок збшьшення ла-тентносп. Падшня частоти для апаратного та комбшацшного блоку помножувача залежно ввд розрядносп, а також кшьккть необхвдних елемештв для 'х ре-алОзацц вщображено в табл. 5. Саме частота функцюнування блоку помножувача е основним бар'ером на шляху шдняття тактово' частоти алгоритму загалом, оскшьки як блоки пам'яп, так О лопчш елементи кристалу функцюнують на ви-щш частота, шж помножувач^

Табл. 5. ШвидкодЫ програмних i апаратних помножувачгв

Multipliers width Multiply Blocks Freq. 85°C Freq. 0°C Freq. Max

Hard Multipliers 9x9 1 Block 353,11 343,29 [559,6]

Hard Multipliers 18x18 2 Blocks 327,23 288,85 [510,7]

Soft Multipliers 9x9 115 LE 190,26 170,10 [301,1]

Soft Multipliers 18x18 424 LE 123,56 110,31 [192,8]

Своею чергою, блоки пам'яп, так само як i помножувач^ можуть бути реалiзованi за допомогою лопчних елемент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чних елементiв та енергоспоживанням ядра алгоритму, але вона дуже незначна, i переважно не змшюеться за рiзних конфкурацш проекту. Загалом статична споживана потужнкть ядра без врахування енергос-поживання нiжок ПЛ1С для всiх апробованих алгоритмiв лежить у межах 51,7552,25 шШ, та через низьку шформативнкть не подана в табл. 5. Також на спо-живану потужн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 показники в 1,5-2 рази крашд, залежностi вiд умов ексилуатацл.

Висновки. Використання описаних методов оитишзацл обчислень синуса та косинуса у засобах ПЛ1С дають змогу покращити основш характеристики алгоритму у 1хнш апаратнiй реалiзацií поршняно з класичним методом у виглядi мегафункцц [15]. Найкраще це проявляеться у зменшенш латеитностi алгоритму, а також у збшьшенш пропускно! здатносп та економií ресурсiв кристалу.

Для 32 вiрних розрядш функцiй синуса та косинуса, за допомогою методу перекодування кута, поршняно з класичним алгоритмом СОКЭ1С iз вбудова-но! бiблiотеки середовища, покращено:

• юльюсть тактiв зменшилась вiд 36 до 10;

• латенттсть знизилась у 5 pa3iB - вщ 263,5 нс до 53,75 нс;

• кшьюсть необхiдних елеменив зменшилась в чотири рази - вщ 5248 до 1311 блоюв;

• мiнiмaльнa тактова частота зросла на 36 % - вщ 136,63 до 186,05 МГц. Значна частина показнитв покрашена за рахунок ширшого використан-

ня пам'ятi, об'ем яко1 становить 489 K6iT. Це значения може змшюватись залеж-но вiд платформи i впливати на латентнiсть. Враховуючи низьку ресур-соeмнiсть алгоритму в представленому кристалi можливо реалiзувати до 56 па-ралельних конвеeрiв алгоритму на основi методу перекодування кута, кшьюсть яких обмежуеться кiлькiстю помножувачiв, а розряднкть - кiлькiстю логiчних елементш. Внутрiшия сумарна пропускна здатнiсть тако1 конфiгурацií переви-щуе 200 Гбгг/с, а всi iтерацií мiстять лопчне навантаження, що збiльшуе корис-ну роботу алгоритму.

Лггература

1. Volder, J. Binary computation algorithms for coordinate rotation and function generation / J. Volder // Convair Report IAR-1 148 Aeroelectrics Group, June 1956.

2. Volder, J. The CORDIC Trigonometric Computing Technique / J. Volder // IRE Trans. Electronic Computing. - Vol. EC-8. - Pp. 330-334 Sept 1959.

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

3. F. de Dinechin "Fixed-point trigonometric functions on FPGAs", in Proceedings of the 4th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies / F. de Dinechin, M. Istoan, and G. Sergent // Royaume-Uni, Edimburgh, UK, March 2013.

4. Francisco AGUIRRE-RAMOS, Alicia MORALES-REYES, Rene CUMPLIDO, Claudia FE-REGRINO-URIBE. An Area Efficient Composed CORDIC Architecture. Advances in Electrical and Computer Engineering. - Vol. 14, Number 2, 2014. - Pp. 113-116.

5. Shoab, A.K. Digital design of signal processing systems: A practical approach (1st ed). New York, NY: John Wiley, 2011.

6. P.K. Meher, J. Valls, T.-B. Juang, K. Sridharan, andK. Maharatna. 50 years of cordic: Algorithms, architectures, and applications. IEEE Transactions on Circuits and Systems I: Regular papers, Sept. 2009. - Vol. 56(9) . - Pp. 1893-1907.

7. D. Timmermann, H. Hahn, and B. Hostika. Modified CORDIC algorithm with reduced ite-rations.Electronics Letters, 1989. - Vol. 25(15). - Pp. 950-951.

8. Jean-Michel Muller. Elementary Functions: Algorithms and Implementation. Second Edition, Birkhaeuser, 2006.

9. Pramod K. Meher and S.Y. Park. CORDIC Designs for Fixed Angle of Rotation. IEEE transactions on very large scale integration (VLSI) systems. Issue: 99. - Pp. 1-12.7 March, 2012.

10. Lakshmi B. and Dhar A.S. CORDIC Architectures: A Survey. VLSI Design. - Vol. 2010, Article ID 794891, 19 pages, January 8, 2010.

11. Beuler M. CORDIC-Algorithmus zur Auswertung elementarer Funktionen in Hardware. FH-Report. Juni 2008. [Electronic resource]. - Mode of access http://dok.bib.fhgiessen. de/opus/volltex-te/2009/4148/.

12. Pramod K. Meher, Javier Valls, Tso-Bing Juang, K. Sridharan, Koushik Maharatna. 50 Years of CORDIC: Algorithms, Architectures, and Applications. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS - I: REGULAR PAPERS. - Vol. 56, No. 9, SEPTEMBER 2009. - Pp. 1893-1907.

13. [Electronic resource]. - Mode of access http://www.altera.com.cn/content/dam/altera-www/ global/zh_CN/pdfs/literature/ug/ug_ altfp_mfug.pdf

14. [Electronic resource]. - Mode of access http://www.altera.com/content/dam/altera-www/glo-bal/en_US/pdfs/literature/ug/ug_ altfp_mfug.pdf.

15. Altera ALTFP_SINCOS quartus megafunction.

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

17. Байков В.Д., Смолов В.Б. Специализированные процессоры: итерационные алгоритмы и структуры. - М. : Изд-во "Радио и связь", 1985. - 288 с.

18. Л. Мороз, Т. Борецький, Т. Луковський, С. Войтусш. Модифжований CORDIC-метод обчислення синуса - косинуса // Компютерш технологи друкарства. - 2015. - № 33. - С. 72 -80.

19. [Electronic resource]. - Mode of access http://en.wikipedia.org/wiki/Fixed-point_arithmetic

20. [Electronic resource]. - Mode of access http://www.intel.com/content/dam/www/public/us/ en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf

21. [Electronic resource]. - Mode of access http://developer.amd.com/wordpress/media/2012/ 10/47414_15 h_sw_opt_guide.pdf

22. [Electronic resource]. - Mode of access http://www.codemachine.com/downloads/ AMD_SoftwareOptimizationGuide.pdf

23. [Electronic resource]. - Mode of access http://www.kit-e.ru/articles/plis/2011_12_36.php

24. [Electronic resource]. - Mode of access http://en.wikipedia.org/wiki/Arithmetico-geomet ric_sequence.

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

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

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

Moroz L.D., Boretskyy T.R., Skolozdra M.M. Improvement of the CORDIC Method for Calculating of Trigonometric Functions by Using FPGA Tools

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

Keywords: CORDIC, FPGA, algorithm, latency, mega functions.

УДК 004.[942+772] Доц. 1.М. Дронюк, канд. фЬз.-мат. наук;

астр. О.Ю. Федевич - НУ "Львгвська полппехнта"

ПРОГНОЗУВАННЯ ТРАФ1КУ КОМП'ЮТЕРНО1 МЕРЕЖ1 ДЛЯ ШДВИЩЕННЯ ЕФЕКТИВНОСТ1 ВИКОРИСТАННЯ МЕРЕЖЕВОГО

ОБЛАДНАННЯ

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

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

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