Исследование методов построения вычислительных устройств на основе 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 Ukraine
id 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.