Исследование методов построения вычислительных устройств на основе FPGA
Рассматриваются методы построения вычислительных устройств (ВУ) на базе FPGA с использованием параллельных и квазипараллельных операционных блоков. Исследуются характеристики их ресурсоемкости, максимального быстродействия и энергопотребления. Показано, что при однократном вычислении рассмотренных д...
Збережено в:
Дата: | 2002 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | Russian |
Опубліковано: |
Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України
2002
|
Назва видання: | Технология и конструирование в электронной аппаратуре |
Теми: | |
Онлайн доступ: | http://dspace.nbuv.gov.ua/handle/123456789/70740 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Цитувати: | Исследование методов построения вычислительных устройств на основе FPGA / В.И. Жабин, Н.А. Ковалев // Технология и конструирование в электронной аппаратуре. — 2002. — № 2. — С. 35-39. — Бібліогр.: 8 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-70740 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-707402014-11-12T03:01:44Z Исследование методов построения вычислительных устройств на основе FPGA Жабин, В.И. Ковалев, Н.А. Электронная аппаратура: исследования, разработки Рассматриваются методы построения вычислительных устройств (ВУ) на базе FPGA с использованием параллельных и квазипараллельных операционных блоков. Исследуются характеристики их ресурсоемкости, максимального быстродействия и энергопотребления. Показано, что при однократном вычислении рассмотренных дробно-рациональных функций квазипараллельные ВУ, реализованные на базе FPGA, при увеличении разрядности операндов превосходят параллельные ВУ по основным технико-экономическим характеристикам. 2002 Article Исследование методов построения вычислительных устройств на основе FPGA / В.И. Жабин, Н.А. Ковалев // Технология и конструирование в электронной аппаратуре. — 2002. — № 2. — С. 35-39. — Бібліогр.: 8 назв. — рос. 2225-5818 http://dspace.nbuv.gov.ua/handle/123456789/70740 621.375 (03) ru Технология и конструирование в электронной аппаратуре Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
topic |
Электронная аппаратура: исследования, разработки Электронная аппаратура: исследования, разработки |
spellingShingle |
Электронная аппаратура: исследования, разработки Электронная аппаратура: исследования, разработки Жабин, В.И. Ковалев, Н.А. Исследование методов построения вычислительных устройств на основе FPGA Технология и конструирование в электронной аппаратуре |
description |
Рассматриваются методы построения вычислительных устройств (ВУ) на базе FPGA с использованием параллельных и квазипараллельных операционных блоков. Исследуются характеристики их ресурсоемкости, максимального быстродействия и энергопотребления. Показано, что при однократном вычислении рассмотренных дробно-рациональных функций квазипараллельные ВУ, реализованные на базе FPGA, при увеличении разрядности операндов превосходят параллельные ВУ по основным технико-экономическим характеристикам. |
format |
Article |
author |
Жабин, В.И. Ковалев, Н.А. |
author_facet |
Жабин, В.И. Ковалев, Н.А. |
author_sort |
Жабин, В.И. |
title |
Исследование методов построения вычислительных устройств на основе FPGA |
title_short |
Исследование методов построения вычислительных устройств на основе FPGA |
title_full |
Исследование методов построения вычислительных устройств на основе FPGA |
title_fullStr |
Исследование методов построения вычислительных устройств на основе FPGA |
title_full_unstemmed |
Исследование методов построения вычислительных устройств на основе FPGA |
title_sort |
исследование методов построения вычислительных устройств на основе fpga |
publisher |
Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України |
publishDate |
2002 |
topic_facet |
Электронная аппаратура: исследования, разработки |
url |
http://dspace.nbuv.gov.ua/handle/123456789/70740 |
citation_txt |
Исследование методов построения вычислительных устройств на основе FPGA / В.И. Жабин, Н.А. Ковалев // Технология и конструирование в электронной аппаратуре. — 2002. — № 2. — С. 35-39. — Бібліогр.: 8 назв. — рос. |
series |
Технология и конструирование в электронной аппаратуре |
work_keys_str_mv |
AT žabinvi issledovaniemetodovpostroeniâvyčislitelʹnyhustrojstvnaosnovefpga AT kovalevna issledovaniemetodovpostroeniâvyčislitelʹnyhustrojstvnaosnovefpga |
first_indexed |
2025-07-05T19:55:32Z |
last_indexed |
2025-07-05T19:55:32Z |
_version_ |
1836838114039955456 |
fulltext |
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2002, ¹ 2
35
ÝËÅÊÒÐÎÍÍÀß ÀÏÏÀÐÀÒÓÐÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Äàòà ïîñòóïëåíèÿ â ðåäàêöèþ
30.05 2001 ã.
Îïïîíåíòû
ä. ò. í. Â. Ï. ÒÀÐÀÑÅÍÊÎ (ÍÒÓÓ "ÊÏÈ", ã. Êèåâ),
ê. ò. í. Â. À. ÊÐÈÑÈËÎÂ (ÎÍÏÓ, ã. Îäåññà)
Ê. ò. í. Â. È. ÆÀÁÈÍ, Í. À. ÊÎÂÀËÅÂ
Óêðàèíà, ã. Êèåâ, ÍÒÓÓ �Êèåâñêèé ïîëèòåõíè÷åñêèé èíñòèòóò�
E-mail: kovua@yahoo.com
Ðàññìîòðåíû îñíîâíûå õàðàêòåðèñòè-
êè âû÷èñëèòåëüíûõ óñòðîéñòâ íà áàçå
ïðîãðàììèðóåìûõ âåíòèëüíûõ ìàòðèö
ñ èñïîëüçîâàíèåì ïàðàëëåëüíûõ è êâàçè-
ïàðàëëåëüíûõ îïåðàöèîííûõ áëîêîâ.
Ïðè îðãàíèçàöèè âû÷èñëèòåëüíîé ñèñòåìû äëÿ
îáðàáîòêè èíôîðìàöèè â ðåàëüíîì ìàñøòàáå âðåìå-
íè âû÷èñëåíèÿ ïðîâîäÿòñÿ â òåìïå, îáåñïå÷èâàþùåì
îáñëóæèâàíèå îïðåäåëåííîãî âíåøíåãî ïî îòíîøå-
íèþ ê ÝÂÌ ïðîöåññà. Íåîáõîäèìîñòü òàêîé îáðàáîò-
êè âîçíèêàåò, íàïðèìåð, ïðè èñïîëüçîâàíèè ÝÂÌ â
ñèñòåìàõ óïðàâëåíèÿ òåõíîëîãè÷åñêèìè ïðîöåññàìè,
òðàíñïîðòíûìè ñðåäñòâàìè, ìîäåëèðîâàíèÿ è ò. ï. Ïðè
ýòîì ÷àñòî íåîáõîäèìî áûñòðî âû÷èñëÿòü ìíîãîìåñ-
òíûå ìàòåìàòè÷åñêèå âûðàæåíèÿ, èñïîëüçóÿ ðàçëè÷-
íûå äðîáíî-ðàöèîíàëüíûå ïðèáëèæåíèÿ ôóíêöèé.
Ê ðàáîòå ÝÂÌ â óêàçàííîì ðåæèìå ïðåäúÿâëÿþò-
ñÿ âûñîêèå òðåáîâàíèÿ ïî áûñòðîäåéñòâèþ è íàäåæ-
íîñòè. Ïðîãðàììíûå ñïîñîáû âû÷èñëåíèé ïîäîáíûõ
ìàòåìàòè÷åñêèõ âûðàæåíèé íå âñåãäà ìîãóò îáåñïå-
÷èòü íåîáõîäèìîå áûñòðîäåéñòâèå.  ýòèõ ñëó÷àÿõ èñ-
ïîëüçóþò àïïàðàòíûå ìåòîäû âû÷èñëåíèé.  íàøåì
ñëó÷àå äëÿ ïîñòðîåíèÿ âû÷èñëèòåëüíûõ óñòðîéñòâ èñ-
ïîëüçîâàëñÿ ñòðóêòóðíûé ìåòîä [1], îñíîâàííûé íà
ñîåäèíåíèè îïåðàöèîííûõ áëîêîâ â ñîîòâåòñòâèè ñ
ãðàôîì àëãîðèòìà âû÷èñëåíèé, ïðåäñòàâëåííîãî â
ÿðóñíî-ïàðàëëåëüíîé ôîðìå (ßÏÔ). Äëÿ ïîâûøåíèÿ
íàäåæíîñòè è äðóãèõ òåõíèêî-ýêîíîìè÷åñêèõ õàðàê-
òåðèñòèê âû÷èñëèòåëåé, ðàáîòàþùèõ â ñîñòàâå îá-
ñëóæèâàþùåé ÝÂÌ, öåëåñîîáðàçíî èñïîëüçîâàòü
ñîâðåìåííóþ ýëåìåíòíóþ áàçó, â òîì ÷èñëå FPGA
(Field Programmable Gate Arrays, ïðîãðàììèðóåìûå
âåíòèëüíûå ìàòðèöû � ÏÂÌ).
Îñíîâó àðõèòåêòóðû FPGA ôèðìû XILINX [2, 3]
(ðèñ. 1) ñîñòàâëÿåò ìàòðèöà áëîêîâ CLB (Control Logic
Blocks, êîíôèãóðèðóåìûõ ëîãè÷åñêèõ áëîêîâ � ÊËÁ),
îêðóæåííûõ ïî ïåðèôåðèè áëîêàìè IOB (Input/Output
Blocks, áëîêàìè ââîäà/âûâîäà � ÁÂÂ).
Ìàòðèöà ÊËÁ îáåñïå÷èâàåò íåïîñðåäñòâåííóþ ðåà-
ëèçàöèþ ëîãè÷åñêèõ ôóíêöèé, çàäàííûõ ïîëüçîâàòåëåì.
Ñîåäèíèòåëüíûå ðåñóðñû, ïðåäñòàâëåííûå ïðîãðàììè-
ðóåìûìè êëþ÷àìè äëÿ êîíôèãóðàöèè ìàòðèöû ñîåäè-
íåíèé, îñóùåñòâëÿþò ïåðåäà÷ó ëîãè÷åñêèõ ñèãíàëîâ êàê
ìåæäó ñàìèìè ÊËÁ, òàê è ìåæäó ÊËÁ è ÁÂÂ, ïîäîáíî
øèíàì è äîðîæêàì íà ïå÷àòíûõ ïëàòàõ. Á ðåàëèçóþò
ÈÑÑËÅÄÎÂÀÍÈÅ ÌÅÒÎÄÎÂ ÏÎÑÒÐÎÅÍÈß
ÂÛ×ÈÑËÈÒÅËÜÍÛÕ ÓÑÒÐÎÉÑÒ ÍÀ ÎÑÍÎÂÅ FPGA
ôóíêöèþ èíòåðôåéñà ìåæäó âíóòðåííåé ëîãèêîé ñõåìû
è âíåøíèìè âûâîäàìè FPGA.
 ñîñòàâ ÊËÁ âõîäÿò:
� íå áîëåå òðåõ m-âõîäîâûõ áëîêîâ LUT (Look-up
Tables, òàáëèö ïåðåêîäèðîâêè � ÒÏ), ãäå m=3, 4, 5 â çàâè-
ñèìîñòè îò ñåìåéñòâà ÏÂÌ;
� íåñêîëüêî òðèããåðîâ (CLB Flip Flops);
� ðàçëè÷íàÿ óïðàâëÿþùàÿ ëîãèêà.
 ñîñòàâ áëîêîâ Á âõîäÿò:
� íåñêîëüêî òðèããåðîâ (IOB Flops) äëÿ ñèíõðîíèçà-
öèè âíåøíèõ è âíóòðåííèõ ñèãíàëîâ: îðãàíèçàöèè çàäåð-
æåê è ò. ï.;
� íåñêîëüêî ðåãèñòðîâ-çàùåëîê (IOB Latches);
� ðàçëè÷íàÿ óïðàâëÿþùàÿ öèôðîâàÿ è àíàëîãîâàÿ
ëîãèêà.
Ñëåäîâàòåëüíî, îäíèìè èç îñíîâíûõ õàðàêòåðèñòèê
âû÷èñëèòåëåé, ïîñòðîåííûõ íà áàçå ÏÂÌ, ÿâëÿþòñÿ:
� êîëè÷åñòâî èñïîëüçîâàííûõ áëîêîâ ÊËÁ, à òàêæå
òðèããåðîâ è ÒÏ â ýòèõ áëîêàõ;
� êîëè÷åñòâî èñïîëüçîâàííûõ ÁÂÂ, à òàêæå òðèããå-
ðîâ è ðåãèñòðîâ-çàùåëîê â ýòèõ áëîêàõ;
� îáùåå âðåìÿ âû÷èñëåíèÿ;
� îïòèìàëüíàÿ ìàêñèìàëüíàÿ ÷àñòîòà ðàáîòû âû-
÷èñëèòåëÿ è ñâÿçàííûå ñ íåé ïàðàìåòðû ýíåðãîïîòðåá-
ëåíèÿ.
Öåëüþ èññëåäîâàíèÿ ÿâëÿåòñÿ óìåíüøåíèå ñòåïå-
íè èñïîëüçîâàíèÿ ðåñóðñîâ FPGA ïðè ïîñòðîåíèè âû-
÷èñëèòåëåé, ïîâûøåíèå èõ áûñòðîäåéñòâèÿ, óëó÷øå-
íèå ïàðàìåòðîâ ýíåðãîïîòðåáëåíèÿ (óìåíüøåíèå íà-
ïðÿæåíèÿ ïèòàíèÿ, ðàññåèâàåìîé ìîùíîñòè è ò. ä.).
Ðåàëèçàöèÿ ìàòåìàòè÷åñêèõ âûðàæåíèé òðàäèöè-
îííûìè âû÷èñëèòåëÿìè ïàðàëëåëüíîãî òèïà [4], âû-
ïîëíÿþùèìè îïåðàöèè óìíîæåíèÿ, ñëîæåíèÿ, äåëå-
íèÿ, ïåðåä íà÷àëîì ñ÷åòà òðåáóåò íàëè÷èÿ âñåõ ðàçðÿ-
Ëîãè÷åñêèé áëîê
Áëîê ââîäà-
âûâîäà
Ìàòðèöà
ñîåäèíåíèé
Ðèñ. 1. Àðõèòåêòóðà ÏÂÌ
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2002, ¹ 2
36
ÝËÅÊÒÐÎÍÍÀß ÀÏÏÀÐÀÒÓÐÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
äîâ îïåðàíäîâ. Èçâåñòíû íåàâòîíîìíûå ìåòîäû âû-
÷èñëåíèé, ïîçâîëÿþùèå ñîâìåùàòü ïðîöåññû ïîðàç-
ðÿäíîãî ââîäà è ïåðåðàáîòêè èíôîðìàöèè, ÷òî îñî-
áåííî âàæíî äëÿ óìåíüøåíèÿ âðåìåíè âûïîëíåíèÿ
ïîñëåäîâàòåëüíîñòåé çàâèñèìûõ îïåðàöèé [1, 5�7].
Êðîìå òîãî, ñîâìåùåíèå ïðîöåññîâ ïîðàçðÿäíîãî
ââîäà è ïåðåðàáîòêè èíôîðìàöèè ñïîñîáñòâóåò òàê-
æå ìèíèìèçàöèè ÷èñëà âíåøíèõ âûâîäîâ âû÷èñëè-
òåëåé ïðè èõ ðåàëèçàöèè íà îñíîâå FPGA.
Îöåíêó ðàçëè÷íûõ ïîäõîäîâ ïîñòðîåíèÿ âû÷èñ-
ëèòåëüíûõ óñòðîéñòâ (ÂÓ) ñòðóêòóðíûì ìåòîäîì ïðî-
âåäåì íà ïðèìåðå ðåàëèçàöèè äðîáíî-ðàöèîíàëüíîé
ôóíêöèè
54321
654321
YYYYY
XXXXXX
Z
+⋅+⋅
+⋅+⋅⋅= . (1)
 îäíîì ñëó÷àå áóäåì èñïîëüçîâàòü ïàðàëëåëü-
íûå îïåðàöèîííûå áëîêè (ÎÁ), à âî âòîðîì � êâà-
çèïàðàëëåëüíûå.
Äëÿ âû÷èñëåíèÿ Z ïî ôîðìóëå (1) èñïîëüçîâà-
ëàñü ßÏÔ, ïîêàçàííàÿ íà ðèñ. 2.
Äëÿ ïîñòðîåíèÿ ÂÓ îáîèõ òèïîâ áûëî èñïîëüçî-
âàíî ñåìåéñòâî FPGA XC4085XL ôèðìû XILINX.
Äëÿ ñèíòåçà ÎÁ è ÂÓ ïðèìåíÿëàñü ÑÀÏÐ Foundation
Series F2.1i.
ÎÁ óìíîæåíèÿ è äåëåíèÿ [8] ïàðàëëåëüíîãî òèïà
îáåñïå÷èâàþò ôîðìèðîâàíèå N-ðàçðÿäíîãî ðåçóëüòà-
òà çà N è (N+2) òàêòîâ, ñîîòâåòñòâåííî. Íàïðèìåð, â
ñîñòàâ ÎÁ äåëåíèÿ ïàðàëëåëüíîãî òèïà (ðèñ. 3) âõî-
äÿò äâà N-ðàçðÿäíûõ ðåãèñòðà äàííûõ (ÐÄ), N-ðàç-
ðÿäíûé ñóììàòîð (ÑÌ), N-ðàçðÿäíûé ðåãèñòð ñäâè-
ãà (ÑÐ). ÎÁ óìíîæåíèÿ ñ ìëàäøèõ ðàçðÿäîâ ìíîæè-
òåëÿ ñî ñäâèãîì ìíîæèìîãî âëåâî âêëþ÷àåò 2N-ðàç-
ðÿäíûé ÑÐ, N-ðàçðÿäíûé ÑÐ, (N+l)-ðàçðÿäíûå ÐÄ è
ÑÌ, ãäå l ≥1+log2(N�l�1).
ÎÁ ñëîæåíèÿ, óìíîæåíèÿ è äåëåíèÿ êâàçèïàðàë-
ëåëüíîãî òèïà ðåàëèçîâàíû ïî ìåòîäèêàì, ïðåäëî-
æåííûì â [1, 7]. Òàê, â ñîñòàâ ÎÁ äåëåíèÿ (ðèñ. 4)
âõîäÿò 4-ðàçðÿäíûé ÑÌ, ïÿòü (N/2+6)-ðàçðÿäíûõ ÑÌ,
(N/2+3)-ðàçðÿäíûé ÐÄ, äâà (N/2+6)-ðàçðÿäíûõ ÐÄ,
(N/2+6)-ðàçðÿäíûé CÐ. ÎÁ óìíîæåíèÿ âêëþ÷àåò
(N/2+1)-ðàçðÿäíûé ÑÐ, òðè (N/2+1)-ðàçðÿäíûõ ÑÌ,
äâà (N/2+1)-ðàçðÿäíûõ ÐÄ, (N/2+3)-ðàçðÿäíûé ÐÄ,
(N/2+3)-ðàçðÿäíûé ÑÌ. Îñíîâó àðõèòåêòóðû 3-âõî-
äîâîãî ÎÁ ñëîæåíèÿ êâàçèïàðàëëåëüíîãî òèïà ñîñòàâ-
ëÿþò äâà 5-ðàçðÿäíûõ ÑÌ è 5-ðàçðÿäíûé ÐÄ.
 ðåçóëüòàòå ñõåìà ÂÓ ïàðàëëåëüíîãî òèïà, ðåàëè-
çóþùàÿ âûðàæåíèå (1) ïî ßÏÔ íà ðèñ. 2, èìååò âèä,
ïîêàçàííûé íà ðèñ. 5.
Ñõåìà ÂÓ êâàçèïàðàëëåëüíîãî òèïà ïîêàçàíà íà
ðèñ. 6.
Òàêèì îáðàçîì, â ñîñòàâ ÂÓ îáîèõ òèïîâ äëÿ ðå-
àëèçàöèè âûðàæåíèÿ (1) âõîäÿò ïî ïÿòü ÎÁ óìíîæå-
íèÿ, ïî îäíîìó ÎÁ äåëåíèÿ. Îäíàêî ÂÓ êâàçèïàðàë-
ëåëüíîãî òèïà èìååò äâà òðåõâõîäîâûõ ÎÁ ñëîæåíèÿ,
à ÂÓ ïàðàëëåëüíîãî òèïà � ÷åòûðå äâóõâõîäîâûõ ÎÁ
Ðèñ. 3. ÎÁ äåëåíèÿ áåç âîññòàíîâëåíèÿ îñòàòêà:
Pad � øèííûé ôîðìèðîâàòåëü; MUX � ìóëüòèïëåêñîð; SREG � ðåãèñòð ñäâèãà; REG � ðåãèñòð äàííûõ; AU �
óïðàâëÿþùèé àâòîìàò; ADD � ñóììàòîð; X � äåëèìîå; Y � äåëèòåëü; Z � ÷àñòíîå; CLK � òàêòèðóþùèå
èìïóëüñû; STRT � ñòàðòîâûé ñèãíàë; END � ñèãíàë çàâåðøåíèÿ ïðîöåññà äåëåíèÿ
Pad MUX
STRT
AU
X
Y
CLK
REG
ADD
REG
SREG
END
Z
Ðèñ. 2. ßÏÔ âû÷èñëå-
íèÿ ôóíêöèè Z
/
Z
X6
X3
X1 X2 X4
X5 Y1
Y2 Y3 Y4
Y5
+ +
*
*
* *
*
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2002, ¹ 2
37
ÝËÅÊÒÐÎÍÍÀß ÀÏÏÀÐÀÒÓÐÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Ðèñ. 4. Ñõåìà êâàçèïàðàëëåëüíîãî ÎÁ äåëåíèÿ:
ÑÎÌ � êîììóòàòîð; BS � áëîê ñèíõðîíèçàöèè; Hi, Li � ñèãíàëû ïðåäñòàâëåíèÿ öèôð îïåðàíäîâ â èçáûòî÷íîé
ïîçèöèîííîé ñèñòåìå ñ÷èñëåíèÿ "� 1, 0, 1" (i= 1 (äåëèìîå), 2 (äåëèòåëü), 3 (÷àñòíîå))
REG
REG
SREG
ADD
COM
ADD
COM
REG
ADDCOM
Pad
COM ADD
Pad
Pad
Pad
COMAU
ENDSTRT
BS
ClK
H1 L1H2L2
H3
L3
Pad
ADD
Ðèñ. 5. ÂÓ ïàðàëëåëüíîãî òèïà, ðåàëèçóþùåå ôóíêöèþ Z:
MUL � ÎÁ óìíîæåíèÿ; DIV � ÎÁ äåëåíèÿ áåç âîññòàíîâëåíèÿ îñòàòêà; Xi, Yi � îïåðàíäû, ñîîòâåòñòâóþùèå
àðãóìåíòàì ôóíêöèè Z; Z � ðåçóëüòàò âû÷èñëåíèé
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
Pad
MUL
MUL
MUL
MUL
MUL
ADDADD
ADD
ADD
DIV Z
END
X3
X2
X1
X6
X5
X4
Y4
Y3
Y1
Y2
Y5
CLK
STRT
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2002, ¹ 2
38
ÝËÅÊÒÐÎÍÍÀß ÀÏÏÀÐÀÒÓÐÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
XH1
XL1
XH2
XL2
STRT
CLK
XH3
XL3
XH4
XL4
XH5
XL5
XH6
XL6
YH1
YL1
YH2
YL2
YH3
YL3
YH4
YL4
YH5
YL5
MUL
MUL
MUL
MUL
MUL
BD
BD
BD
BD
ADD
BD
ADD
DIV
ZH
ZL
END
Ðèñ. 6. ÂÓ êâàçèïàðàëëåëüíîãî òèïà, ðåàëèçóþùåå ôóíêöèþ Z:
ADD � êâàçèïàðàëëåëüíûå ñóììàòîðû; MUL � êâàçèïàðàëëåëüíûå ÎÁ óìíîæåíèÿ; DIV � êâàçèïàðàëëåëüíûå ÎÁ äåëåíèÿ; BD �
áëîêè çàäåðæêè äëÿ ñèíõðîíèçàöèè ïîäà÷è îäíîèìåííûõ ðàçðÿäîâ îïåðàíäîâ íà âõîäû ÎÁ; XHi, XLi, YHi, YLi, ZH, ZL � ñèãíàëû
ïðåäñòàâëåíèÿ öèôð îïåðàíäîâ, ñîîòâåòñòâóþùèõ àðãóìåíòàì è ðåçóëüòàòó âû÷èñëåíèÿ ôóíêöèè Z â èçáûòî÷íîé ïîçèöèîííîé
ñèñòåìå ñ÷èñëåíèÿ "�1, 0, 1"
Ïàðàëëåëüíûå ÂÓ Êâàçèïàðàëëåëüíûå ÂÓ
Òåõíè÷åñêèå
õàðàêòåðèñòèêè
12-
ðàçðÿä-
íûé
24-
ðàçðÿä
íûé
32-
ðàçðÿä-
íûé
12-
ðàçðÿä-
íûé
24-
ðàçðÿä-
íûé
32-
ðàçðÿä-
íûé
×èñëî èñïîëüçîâàííûõ
ÊËÁ (ïðîöåíò îò îáùåãî
êîëè÷åñòâà)
331
(10%)
603
(19%)
731
(23%)
372
(11%)
538
(17%)
647
(20%)
×èñëî èñïîëüçîâàííûõ
òðèããåðîâ ÊËÁ 383 723 854 367 462 558
×èñëî èñïîëüçîâàííûõ ÷å-
òûðåõâõîäîâûõ TÏ 475 895 1063 607 931 1142
×èñëî èñïîëüçîâàííûõ
òðåõâõîäîâûõ TÏ 20 26 35 60 79 89
×èñëî èñïîëüçîâàííûõ
ÁÂB (ïðîöåíò îò îáùåãî
êîëè÷åñòâà) èëè âûâîäîâ
FPGA
161
(35%)
305
(68%)
401
(89%)
30
(6%)
30
(6%)
30
(6%)
×èñëî èñïîëüçîâàííûõ
òðèããåðîâ ÁÂB 0 0 0 0 0 0
×èñëî èñïîëüçîâàííûõ ðå-
ãèñòðîâ-çàùåëîê ÁÂÂ 0 0 0 0 0 0
Ýêâèâàëåíòíîå êîëè÷åñòâî
âåíòèëåé 6202 11672 13909 7333 11209 13751
Îïòèìàëüíàÿ ìàêñèìàëüíàÿ
÷àñòîòà ðàáîòû ñõåìû, ÌÃö 26,477 23,813 19,655 22,207 17,026 17,897
Âðåìÿ âû÷èñëåíèÿ ôóíê-
öèè Z, ìêñ
1,43 3,12 4,99 1,08 2,11 2,46
Îñíîâíûå òåõíè÷åñêèå õàðàêòåðèñòèêè âû÷èñëèòåëåé
ñëîæåíèÿ. Êðîìå òîãî, ÂÓ
êâàçèïàðàëëåëüíîãî òèïà èñ-
ïîëüçóåò áëîêè çàäåðæêè äëÿ
ñèíõðîíèçàöèè ïîäà÷è íà
âõîäû ÎÁ îäíîèìåííûõ ðàç-
ðÿäîâ îïåðàíäîâ è ïðîìåæó-
òî÷íûõ ðåçóëüòàòîâ.
Ïðîåêòèðîâàíèå ÂÓ îñó-
ùåñòâëÿëîñü ïî êðèòåðèþ
ìèíèìàëüíîñòè àïïàðàòóð-
íûõ çàòðàò. Ñ ó÷åòîì àðõè-
òåêòóðíûõ îñîáåííîñòåé ñå-
ìåéñòâà FPGA XC4085XL
(áëîê ÊËÁ âêëþ÷àåò äâå ÷å-
òûðåõâõîäîâûå ÒÏ, êîòîðûå
ïàðàëëåëüíî ñ ïÿòûì âõîäîì
ïîäêëþ÷åíû ê òðåõâõîäîâîé
ÒÏ; íàëè÷èå â êàæäîì áëî-
êå ÊËÁ öåïåé óñêîðåííîãî
ïåðåíîñà, çàåìà è ò. ï.) îñ-
íîâíûå ïàðàìåòðû òðàíñëÿ-
òîðà ïî ïîëó÷åíèþ áèíàðíî-
ãî êîäà äëÿ ïðîãðàììèðîâà-
íèÿ FPGA âûãëÿäåëè ñëåäó-
þùèì îáðàçîì:
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2002, ¹ 2
39
ÝËÅÊÒÐÎÍÍÀß ÀÏÏÀÐÀÒÓÐÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
0
100
200
300
400
500
12 24 32
Ðàçðÿäíîñòü
×
è
ñë
î
Á
Â
Â
F
P
GA
0
10
20
30
12 24 32
Ðàçðÿäíîñòü
Ì
àê
ñè
ì
àë
üí
àÿ
÷
àñ
òî
òà
ð
àá
î
òû
Â
Ó
,
Ì
Ã
ö
4
0
1
2
3
5
6
12 24 32
Ðàçðÿäíîñòü
Â
ð
åì
ÿ
â
û
÷
è
ñë
åí
è
ÿ
ô
óí
ê
ö
è
è
Z
, ì
ê
ñ
12 24 32
Ðàçðÿäíîñòü
×
è
ñë
î
Ê
Ë
Á
0
200
400
600
800
Ðèñ. 7. Ïóíêòèðíàÿ ëèíèÿ � çàâèñèìîñòè äëÿ ïàðàëëåëüíûõ ÂÓ, ñïëîøíàÿ � äëÿ êâàçèïàðàëëåëüíûõ
� ìàêñèìàëüíàÿ îïòèìèçàöèÿ ðàçìåùåíèÿ è òðàñ-
ñèðîâêè;
� ñèíòåç áóëåâûõ ôóíêöèé ïðåèìóùåñòâåííî îò ïÿòè
àðãóìåíòîâ;
� êîïèðîâàíèå ëîãèêè äëÿ óìåíüøåíèÿ óðîâíÿ
ëîãè÷åñêîé ñëîæíîñòè;
� íàèáîëåå ïîëíîå èñïîëüçîâàíèå ðåñóðñîâ êàæ-
äîãî ÊËÁ;
� ìèíèìèçàöèÿ èñïîëüçîâàíèÿ òðèããåðîâ ÊËÁ è ò. ä.
Âñå ÂÓ âûïîëíåíû íà áàçå FPGA XC4000XLPG559.
Õàðàêòåðèñòèêè èñïîëüçîâàíèÿ ðåñóðñîâ FPGA è áû-
ñòðîäåéñòâèÿ â çàâèñèìîñòè îò ðàçëè÷íîé ðàçðÿäíîñ-
òè ÂÓ, ðåàëèçóþùèõ äðîáíî-ðàöèîíàëüíîå âûðàæåíèå
(1) îò îäèííàäöàòè àðãóìåíòîâ, ñâåäåíû â òàáëèöó.
Ñ ó÷åòîì ïðèâåäåííûõ òåõíè÷åñêèõ õàðàêòåðèñ-
òèê ïîñòðîåíû çàâèñèìîñòè ðåñóðñîåìêîñòè, áûñò-
ðîäåéñòâèÿ è âðåìåíè âû÷èñëåíèÿ âûðàæåíèÿ (1) îò
ðàçðÿäíîñòè N ÂÓ êâàçèïàðàëëåëüíîãî è ïàðàëëåëü-
íîãî òèïà (ðèñ. 7).
Èç ïðèâåäåííûõ çàâèñèìîñòåé ñëåäóåò, ÷òî ïðè
óâåëè÷åíèè ðàçðÿäíîñòè îïåðàíäîâ êâàçèïàðàëëåëü-
íûå ÂÓ áîëåå ýêîíîìè÷íî èñïîëüçóþò ðåñóðñû FPGA
(ÊËÁ). Ïðè ýòîì ñóùåñòâåííî óìåíüøàåòñÿ òðåáóå-
ìîå êîëè÷åñòâî âíåøíèõ âûâîäîâ ìàòðèö (ÁÂB). Íà
îäèíàêîâîé ÷àñòîòå òàêòèðîâàíèÿ êâàçèïàðàëëåëüíûå
ÂÓ îáåñïå÷èâàþò çíà÷èòåëüíî ìåíüøåå âðåìÿ âû÷èñ-
ëåíèÿ ôóíêöèè ïî ñðàâíåíèþ ñ ïàðàëëåëüíûìè ÂÓ.
Êðîìå òîãî, êâàçèïàðàëëåëüíûì ÂÓ òðåáóåòñÿ ñóùå-
ñòâåííî ìåíüøàÿ ÷àñòîòà òàêòèðîâàíèÿ äëÿ îáåñïå÷å-
íèÿ çàäàííîãî âðåìåíè âû÷èñëåíèÿ òàêèõ ôóíêöèé,
÷òî îáåñïå÷èâàåò ñíèæåíèå ïàðàìåòðîâ ýíåðãîïîòðåá-
ëåíèÿ (íàïðÿæåíèÿ ïèòàíèÿ, ðàññåèâàåìîé ìîùíîñòè
è ò. ä.) è óâåëè÷åíèå íàäåæíîñòè. Ýòî ïîçâîëÿåò óäå-
øåâèòü ñðåäñòâà îõëàæäåíèÿ FPGA ëèáî îáîéòèñü
áåç íèõ, à òàêæå èñïîëüçîâàòü áîëåå äåøåâûå ñåìåé-
ñòâà FPGA ïðè ïîñòðîåíèè ÂÓ.
Òàêèì îáðàçîì, ïðè îäíîêðàòíîì âû÷èñëåíèè
ðàñìîòðåííûõ ôóíêöèé êâàçèïàðàëëåëüíûå ÂÓ, ðåà-
ëèçîâàííûå íà áàçå FPGA, ïðè óâåëè÷åíèè ðàçðÿä-
íîñòè îïåðàíäîâ ïðåâîñõîäÿò ïàðàëëåëüíûå ÂÓ ïî îñ-
íîâíûì òåõíèêî-ýêîíîìè÷åñêèì õàðàêòåðèñòèêàì.
ÈÑÏÎËÜÇÎÂÀÍÍÛÅ ÈÑÒÎ×ÍÈÊÈ
1. Æàáèí Â. È., Êîðíåé÷óê Â. È., Òàðàñåíêî Â. Ï. Íå-
êîòîðûå ìàøèííûå ìåòîäû âû÷èñëåíèÿ ðàöèîíàëüíûõ
ôóíêöèé ìíîãèõ ïåðåìåííûõ // Àâòîìàòèêà è òåëåìåõà-
íèêà.� 1976.� ¹ 12.� Ñ. 145�154 .
2. XILINX. The Programmable Logic Data Book. July
1998.
3. Ñòåøåíêî Â. Á. ÏËÈÑ ôèðìû ALTERA: ïðîåêòèðî-
âàíèå óñòðîéñòâ îáðàáîòêè ñèãíàëîâ.� Ì.: ÄÎÄÝÊÀ,
2000.
4. Ñàìîôàëîâ Ê. Ã., Êîðíåé÷óê Â. È., Òàðàñåíêî Â. Ï.
Öèôðîâûå ÝÂÌ.� Êèåâ: Âèùà øêîëà, 1989.
5. À. ñ. 451079 ÑÑÑÐ. Ìíîæèòåëüíîå óñòðîéñòâî ïîñ-
ëåäîâàòåëüíîãî äåéñòâèÿ / Â. È. Æàáèí, Â. È. Êîðíåé÷óê,
Â. Ï. Òàðàñåíêî, Á. Ï. Õèæèíñêèé.� 1974.� Á. È., ¹ 43,
ñ. 117.
6. Êîðíåé÷óê Â. È., Òàðàñåíêî Â. Ï., Æàáèí Â. È. Ñïî-
ñîá áûñòðîãî óìíîæåíèÿ ÷èñåë, ïðåäñòàâëåííûõ ïîñëå-
äîâàòåëüíûì êîäîì // Àâòîìàòèêà è âû÷èñëèòåëüíàÿ òåõ-
íèêà.� 1975.� ¹ 5.� Ñ. 82�86.
7. Æàáèí Â. È., Êîðíåé÷óê Â. È., Òàðàñåíêî Â. Ï. Áûñò-
ðîå âûïîëíåíèå àðèôìåòè÷åñêèõ îïåðàöèé ïðè ïîðàç-
ðÿäíîì ââîäå îïåðàíäîâ / Â ñá.: Ñòðóêòóðíûå ìåòîäû
ïîâûøåíèÿ òî÷íîñòè, ÷óâñòâèòåëüíîñòè è áûñòðîäåéñòâèÿ
èçìåðèòåëüíûõ óñòðîéñòâ.� 1975.� Èçä-âî Óêðàèíñê. ðåñ-
ïóáë. Ïðàâëåíèÿ ÍÒÎ Ïðèáîðïðîì.� Ñ. 59�60.
8. Æàáèí Â. È., Êîðíåé÷óê Â. È., Ìàêàðîâ Â. Â., Òàðà-
ñåíêî Â. Ï. Âëèÿíèå òî÷íîñòè âû÷èñëåíèÿ íà ñëîæíîñòü
êâàçèïàðàëëåëüíûõ îïåðàöèîííûõ óñòðîéñòâ â ìóëüòè-
ïðîöåññîðíûõ ñèñòåìàõ // Àâòîìàòèêà è âû÷èñëèòåëü-
íàÿ òåõíèêà.� 1982.� ¹ 3.� Ñ. 29�32.
|