Реализация арифметических операций с комплексными числами на ПЛИС
Gespeichert in:
| Veröffentlicht in: | Технология и конструирование в электронной аппаратуре |
|---|---|
| Datum: | 2008 |
| Hauptverfasser: | , , |
| Format: | Artikel |
| Sprache: | Russisch |
| Veröffentlicht: |
Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України
2008
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/52483 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Реализация арифметических операций с комплексными числами на ПЛИС / В.Н. Опанасенко, А.Н. Лисовый, В.Г. Сахарин // Технология и конструирование в электронной аппаратуре. — 2008. — № 5. — С. 24-30. — Бібліогр.: 8 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859460548719017984 |
|---|---|
| author | Опанасенко, В.Н. Лисовый, А.Н. Сахарин, В.Г. |
| author_facet | Опанасенко, В.Н. Лисовый, А.Н. Сахарин, В.Г. |
| citation_txt | Реализация арифметических операций с комплексными числами на ПЛИС / В.Н. Опанасенко, А.Н. Лисовый, В.Г. Сахарин // Технология и конструирование в электронной аппаратуре. — 2008. — № 5. — С. 24-30. — Бібліогр.: 8 назв. — рос. |
| collection | DSpace DC |
| container_title | Технология и конструирование в электронной аппаратуре |
| first_indexed | 2025-11-24T03:29:30Z |
| format | Article |
| fulltext |
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
24
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Äàòà ïîñòóïëåíèÿ â ðåäàêöèþ
20.05 2008 ã.
Îïïîíåíò ä. ò. í. Â. Ñ. ÑÈÒÍÈÊÎÂ
(ÎÍÏÓ, ã. Îäåññà)
Ê. ò. í. Â. Í. ÎÏÀÍÀÑÅÍÊÎ, À. Í. ËÈÑÎÂÛÉ,
ê. ò. í. Â. Ã. ÑÀÕÀÐÈÍ
Óêðàèíà, ã. Êèåâ, Èí-ò êèáåðíåòèêè èì. Â. Ì. Ãëóøêîâà
E-mail: Lan-Sasha@yandex.ru
Ïðåäëîæåíû àïïàðàòíûå ðåàëèçàöèè
àðèôìåòè÷åñêèõ îïåðàöèé, ïîçâîëÿþùèå
ïðîèçâîäèòü öèôðîâóþ îáðàáîòêó ñèãíà-
ëîâ ñ êîìïëåñíûìè ÷èñëàìè. Âåðèôèêàöèÿ
è òåñòèðîâàíèå ìîäóëåé ïîäòâåðäèëè,
÷òî îíè ðàáîòàþò êîððåêòíî è ìîãóò
áûòü èñïîëüçîâàíû â âèäå ãîòîâûõ áèá-
ëèîòå÷íûõ áëîêîâ.
Êîìïëåêñíûå ÷èñëà [1] èñïîëüçóþòñÿ ïðè ìàòå-
ìàòè÷åñêîì îïèñàíèè ìíîãèõ çàäà÷ ôèçèêè è òåõíè-
êè (â ãèäðîäèíàìèêå, àýðîìåõàíèêå, ýëåêòðîòåõíè-
êå, àòîìíîé ôèçèêå è ò. ä.). Îñíîâíûå ðàçäåëû êëàñ-
ñè÷åñêîãî ìàòåìàòè÷åñêîãî àíàëèçà ïðèîáðåòàþò
ïîëíóþ ÿñíîñòü è çàêîí÷åííîñòü òîëüêî ïðè èñïîëü-
çîâàíèè êîìïëåêñíûõ ÷èñåë, ÷åì îáóñëîâëèâàåòñÿ
öåíòðàëüíîå ìåñòî, çàíèìàåìîå òåîðèåé ôóíêöèé
êîìïëåêñíîãî ïåðåìåííîãî.
Ïðîãðàììíîå îáåñïå÷åíèå êîìïüþòåðîâ, à òàê-
æå ñïåöèàëüíûå ïàêåòû ïðîãðàìì îáåñïå÷èâàþò óñ-
ïåøíîå ðåøåíèå ïðàêòè÷åñêèõ çàäà÷ ñ ýòèìè ÷èñëà-
ìè. Äëÿ ñîêðàùåíèÿ âðåìåíè îáðàáîòêè è îáåñïå÷å-
íèÿ âîçìîæíîñòè èõ ïðèìåíåíèÿ â áîðòîâûõ óñòðîé-
ñòâàõ è êîìïëåêñàõ, êðîìå DSP-ïðîöåññîðîâ, ìîæ-
íî èñïîëüçîâàòü ÏËÈÑ, â êîòîðûõ òàêæå ìîæíî ðå-
àëèçîâàòü öèôðîâóþ îáðàáîòêó ñèãíàëîâ ñ êîìïëåêñ-
íûìè ÷èñëàìè. Äëÿ íåêîòîðûõ ïðèëîæåíèé ìîæíî
ïîëó÷èòü áîëåå âûñîêîå áûñòðîäåéñòâèå ïî ñðàâíå-
íèþ ñ DSP. Ðàçðàáîòàííûå áëîêè ìîãóò áûòü ïðè-
ìåíåíû äëÿ ðàñ÷åòà ýëåêòðè÷åñêèõ öåïåé, âû÷èñëå-
íèÿ èíòåãðàëîâ, áûñòðîãî ïðåîáðàçîâàíèÿ Ôóðüå è
äðóãèõ çàäà÷ íàóêè è òåõíèêè.
Àïïàðàòíûå ðåàëèçàöèè ïðåäñòàâëÿþòñÿ ôóíêöè-
îíàëüíûìè áèáëèîòå÷íûìè áëîêàìè, êîòîðûå ìîæ-
íî ëåãêî íàñòðàèâàòü â ñîîòâåòñòâèè ñ òðåáîâàíèÿ-
ìè íîâîãî ïðîåêòà, è îíè, êàê ïðàâèëî, íåçàâèñèìû
îò òåõíîëîãèè èçãîòîâëåíèÿ ÏËÈÑ. Íàèáîëåå âàæ-
íûì ñâîéñòâîì ãîòîâîãî òåõíè÷åñêîãî ðåøåíèÿ ÿâ-
ëÿåòñÿ åãî ãàðàíòèðîâàííîå âîñïðîèçâåäåíèå â íî-
âîì ïðîåêòå â ñîîòâåòñòâèè ñî ñïåöèôèêàöèåé,
îïðåäåëåííîé ðàçðàáîò÷èêîì ýòîãî ðåøåíèÿ è óòî÷-
íåííîé ðàçðàáîò÷èêîì ïðîåêòà. Ñëåäóåò îòìåòèòü,
÷òî îïèñàíèå ìîäåëè ñ ïîìîùüþ HDL-òåõíîëîãèè
ïîçâîëÿåò íå òîëüêî ñäåëàòü ìîäåëü ïåðåíàñòðàèâà-
åìîé è íåçàâèñèìîé îò òåõíîëîãèè, íî è âûïîëíÿòü
ìîäåëèðîâàíèå è ñèíòåç ñ èñïîëüçîâàíèåì èíñòðó-
ìåíòàëüíûõ ñðåäñòâ ðàçëè÷íûõ ôèðì [2�4].
ÐÅÀËÈÇÀÖÈß ÀÐÈÔÌÅÒÈ×ÅÑÊÈÕ ÎÏÅÐÀÖÈÉ
Ñ ÊÎÌÏËÅÊÑÍÛÌÈ ×ÈÑËÀÌÈ ÍÀ ÏËÈÑ
Ñòðóêòóðíàÿ îðãàíèçàöèÿ àðèôìåòè÷åñêèõ
ìîäóëåé
Êîìïëåêñíûìè ÷èñëàìè (x, y) áóäåì íàçûâàòü
ïàðû äåéñòâèòåëüíûõ ÷èñåë x è y, äëÿ êîòîðûõ ïðà-
âèëà âûïîëíåíèÿ àðèôìåòè÷åñêèõ îïåðàöèé îïðå-
äåëåíû ñëåäóþùèì îáðàçîì:
z1+z2=(x1+x2, y1+y2);
z1z2=(x1x2�y1y2, x1y2+x2y1);
1 1 2 1 2 2 1 1 2
2 2 2 2
2 2 2 2 2
,
z x x y y x y x y
z x y x y
+ −
= + +
.
Ðàññìîòðèì ñòðóêòóðíóþ îðãàíèçàöèþ ìîäóëåé
(16- è 32-ðàçðÿäíûõ), ðåàëèçóþùèõ àðèôìåòè÷åñêèå
îïåðàöèè ñ êîìïëåêñíûìè ÷èñëàìè, ïîñòðîåííûõ íà
îñíîâå êðèñòàëëîâ ÏËÈÑ ñåðèé Spartan�3
(XC3S400-5FG456) [5] è Virtex�5 (XC5VLX30-
3FF676) [6].
Îïåðàöèè ñëîæåíèÿ/âû÷èòàíèÿ êîìïëåêñíûõ ÷èñåë.
Íà ðèñ. 1 ïðèâåäåíà áëîê-ñõåìà ìîäóëÿ ñëîæåíèÿ/
âû÷èòàíèÿ äâóõ êîìïëåêñíûõ ÷èñåë ñ îäíîâðåìåí-
íûì ïîëó÷åíèåì ðåçóëüòàòà äåéñòâèòåëüíîé è ìíè-
ìîé ÷àñòè íà äâóõ âûõîäàõ. Áëîê LUT (Look-Up-
Table) ÿâëÿåòñÿ êîìáèíàöèîííûì óñòðîéñòâîì, âû-
ïîëíÿþùèì îïåðàöèþ ñëîæåíèÿ èëè âû÷èòàíèÿ. Äëÿ
ñóììèðîâàíèÿ (âû÷èòàíèÿ) èñïîëüçóþòñÿ ôóíêöèî-
íàëüíûå ãåíåðàòîðû, îáðàçóþùèå ðàçðÿäû ñóììè-
ðóåìûõ ÷èñåë è ðàñïîëàãàåìûå â îäíîì ðÿäó ìàòðè-
öû êðèñòàëëà. Ýòè ðàçðÿäû ñîåäèíÿþòñÿ ìåæäó ñî-
áîé ÷åðåç ýëåìåíòû óñêîðåííîãî ïåðåíîñà.
Öåïè ñèíõðîíèçàöèè, ñâÿçàííûå ñ ñèíõðîâõîäà-
ìè âõîäíûõ è âûõîäíûõ ðåãèñòðîâ (Rg) íà ñõåìå
óñëîâíî íå ïîêàçàíû. Ñîñòîÿíèå «0» ñèãíàëà a_s ñî-
îòâåòñòâóåò âûïîëíåíèþ îïåðàöèè ñëîæåíèÿ, ñîñòî-
ÿíèå «1» � îïåðàöèè âû÷èòàíèÿ.
Ðèñ. 1. Áëîê-ñõåìà ìîäóëÿ ñëîæåíèÿ/âû÷èòàíèÿ äâóõ êîì-
ïëåêñíûõ ÷èñåë
Rg
Rg
LUT Rg
Rg
Rg
Rg LUT
x1
x2
ó1
ó2
zr zi
a_s
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
25
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
 òàáë. 1 ïðèâåäåíû àïïàðàòíûå ðåñóðñû (êîëè-
÷åñòâî Slices, òðèããåðîâ (FF) è LUT) è âðåìåííûå
õàðàêòåðèñòèêè (áûñòðîäåéñòâèå) ìîäóëÿ.
Îïåðàöèÿ óìíîæåíèÿ êîìïëåêñíûõ ÷èñåë. Áëîê-
ñõåìà ìîäóëÿ óìíîæåíèÿ äâóõ êîìïëåêñíûõ ÷èñåë ñ
îäíîâðåìåííûì ïîëó÷åíèåì ðåçóëüòàòà äåéñòâèòåëü-
íîé è ìíèìîé ÷àñòè íà äâóõ âûõîäàõ ïðåäñòàâëåíà
íà ðèñ. 2.
Äëÿ âûïîëíåíèÿ îïåðàöèè óìíîæåíèÿ â íîâîì
ïðîåêòå ñîîòâåòñòâóþùèé ìîäóëü ìîæåò áûòü âû-
ïîëíåí ðàçëè÷íûìè ñïîñîáàìè: îïèñàíèåì ïîâåäå-
íèÿ èëè ñòðóêòóðû ìîäóëÿ íà ÿçûêå VHDL, âêëþ÷å-
íèåì â ñõåìó ýëåìåíòà óìíîæåíèÿ èç áèáëèîòåêè ïðè
ðàáîòå ñî ñõåìàòè÷åñêèì ðåäàêòîðîì, ôîðìèðîâàíè-
åì IP-ìîäóëÿ ñ ïîìîùüþ ñðåäñòâà Core Generator.
Ïðèâåäåì ïîâåäåí÷åñêîå îïèñàíèå ìîäóëÿ íà
ÿçûêå VHDL (ëèñòèíã 1).
Ëèñòèíã 1
Ïîâåäåí÷åñêîå îïèñàíèå ìîäóëÿ óìíîæåíèÿ
entity mult is
generic (N : integer:=16);
Port (x1 : in std_logic_vector(N-1 downto 0);
x2 : in std_logic_vector(N-1 downto 0);
y1 : in std_logic_vector(N-1 downto 0);
y2 : in std_logic_vector(N-1 downto 0);
clk : in std_logic;
zr : out std_logic_vector(2*N-1 downto 0);
zi : out std_logic_vector(2*N-1 downto 0));
end mult;
architecture Behavioral of mult_16 is
signal t1, t2, t3, t4 : std_logic_vector(N-1 downto 0);
signal t5, t6 : std_logic_vector(2*N-1 downto 0);
begin
process (clk)
begin
if (clk�event and clk=�1') then
t1<=x1; t2<=x2; t3<=y1; t4<=y2; zr1<=t5; zi<=t6;
end if;
end process;
t5<=(t1*t2)-(t3*t4); t6<=(t1*t4)+(t2*t3);
end Behavioral;
Êðîìå ìîäóëåé óìíîæåíèÿ, ñîçäàâàåìûõ ñ èñ-
ïîëüçîâàíèåì ñóììàòîðîâ íà îñíîâå LUT, â êðèñòàë-
ëàõ ñåðèè Spartan-3 èìåþòñÿ âñòðîåííûå óìíîæèòå-
ëè Mult18×18 [7], à â êðèñòàëëàõ ñåðèè Virtex-5 �
ñïåöèàëèçèðîâàííûå ñåêöèè DSP48E, âûïîëíÿþùèå
óìíîæåíèå 25×18 áèò, à òàêæå íåêîòîðûå äðóãèå
ôóíêöèè, òðåáóåìûå ïðè öèôðîâîé îáðàáîòêå ñèã-
íàëîâ [8].
Ðèñ. 2. Áëîê-ñõåìà ìîäóëÿ óìíîæåíèÿ äâóõ êîìïëåêñ-
íûõ ÷èñåë
Rg
Rg
Rg
Rg
×
×
×
×
+
� Rg
Rg
õ1
õ2
ó1
ó2
zi
zr
Òèï êðèñòàëëà
Ðàçðÿäíîñòü
ìîäóëÿ
Òèï
óìíîæèòåëÿ
Êîëè÷åñòâî
ñåêöèé
(Slices)
Êîëè÷åñòâî
óìíîæèòåëåé
Êîëè÷åñòâî
FF
Êîëè÷åñòâî
LUT
×àñòîòà,
ÌÃö
LUT 756 � 128 1272 50
16
Mult18×18s 64 4 128 64 78
LUT 2612 � 256 4624 32
XC3S400-5FG456
32
Mult18×18s 352 16 256 572 42
LUT 393 � 128 1456 110
16
DSP48E � 4 � � 242
LUT 1345 � 256 5144 68
XC5VLX30-3FF676
32
DSP48E 33 16 128 128 110
Òàáëèöà 2
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ óìíîæåíèÿ
Òèï êðèñòàëëà
Ðàçðÿäíîñòü
ìîäóëÿ
Êîëè÷åñòâî
ñåêöèé (Slices)
Êîëè÷åñòâî FF Êîëè÷åñòâî LUT ×àñòîòà, ÌÃö
16 48 96 32 230
XC3S400-5FG456
32 96 192 64 192
16 24 96 32 525
XC5VLX30-3FF324
32 56 192 64 455
Òàáëèöà 1
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ ñëîæåíèÿ/âû÷èòàíèÿ
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
26
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Ýòè àïïàðàòíûå ñðåäñòâà ïîçâîëÿþò ðåàëèçîâàòü
îïåðàöèè óìíîæåíèÿ ñ ðàçëè÷íûì ÷èñëîì ðàçðÿäîâ
ñîìíîæèòåëåé. Äëÿ óâåëè÷åíèÿ áûñòðîäåéñòâèÿ ïðè
îáðàáîòêå áîëüøèõ ìàññèâîâ ÷èñåë èìååòñÿ âîçìîæ-
íîñòü èñïîëüçîâàíèÿ óìíîæèòåëåé ñ ðàçëè÷íûì ÷èñ-
ëîì óðîâíåé êîíâåéåðèçàöèè. Áëàãîäàðÿ ââåäåíèþ
êîíâåéåðèçàöèè îáùåå âðåìÿ îáðàáîòêè ìàññèâà äàí-
íûõ îáúåìîì N ÷èñåë óìåíüøàåòñÿ â NTclk1/(NTclk2+∆T)
ðàç (Tclk1 � ïåðèîä ñèíõðîñèãíàëîâ áåç êîíâåéåðè-
çàöèè, Tclk2 � ñ êîíâåéåðèçàöèåé, ∆T � âðåìÿ çà-
ãðóçêè êîíâåéåðà, ðàâíîå ïðîèçâåäåíèþ ÷èñëà óðîâ-
íåé êîíâåéåðèçàöèè íà Tclk2).
 òàáë. 2 ïðèâåäåíû àïïàðàòíûå è âðåìåííûå
õàðàêòåðèñòèêè ìîäóëÿ óìíîæåíèÿ.
Ïðè èñïîëüçîâàíèè óìíîæèòåëåé DSP48E â 16-
ðàçðÿäíîì ìîäóëå âñå îïåðàöèè âûïîëíÿþòñÿ âíóò-
ðè ýòèõ ýëåìåíòîâ, êîòîðûå ïðîãðàììèðóþòñÿ íà âû-
ïîëíåíèå óìíîæåíèÿ ñ êîìïëåêñíûìè ÷èñëàìè. Íà
ðèñ. 3 ïðèâåäåíà áëîê-ñõåìà ìîäóëÿ, ðåàëèçóþùåãî
îïåðàöèþ óìíîæåíèÿ, íà áàçå ÷åòûðåõ DSP48E.
Åñëè ïðîèçâîäèòñÿ óìíîæåíèå äâóõ 32-ðàçðÿäíûõ
÷èñåë, çíàêè êîòîðûõ ïðåäñòàâëåíû â äîïîëíèòåëü-
íûõ êîäàõ, òî äëÿ âûïîëíåíèÿ îäíîé îïåðàöèè óì-
íîæåíèÿ òðåáóåòñÿ ÷åòûðå óìíîæèòåëÿ (Mult18×18
èëè DSP48E), äâà ñóììàòîðà è äîïîëíèòåëüíûé ëî-
ãè÷åñêèé ýëåìåíò, îáåñïå÷èâàþùèé ìàñøòàáèðîâà-
íèå ÷àñòè÷íûõ ïðîèçâåäåíèé è ñóìì. Òàêèì îáðà-
çîì, îáùåå ÷èñëî óìíîæèòåëåé, ðåàëèçóþùèõ îïåðà-
öèþ óìíîæåíèÿ 32-ðàçðÿäíûõ ÷èñåë, ñîñòàâëÿåò 16.
Ðåçóëüòèðóþùåå ïðîèçâåäåíèå îïðåäåëÿåòñÿ âû-
ðàæåíèåì:
P=(AH×BH &AL×BL)+(C&SHL&NULL),
Ïðåäñòàâëåííàÿ íà ðèñ. 2 ñõåìà ìîæåò áûòü ìî-
äèôèöèðîâàíà â ñîîòâåòñòâèè ñ óðàâíåíèÿìè [7]
zr=x1x2�y1y2=x1(x2+y2)�y2(x1+y1);
zi=x1y2+x2y1=x1(x2+y2)+x2(y1�x1).
ãäå AH×BH �
AL×BL �
& �
+ �
SHL �
SHL =
Ñ �
NULL �
ïðîèçâåäåíèå ñòàðøèõ ÷àñòåé ñîìíîæèòåëåé A è B;
ïðîèçâåäåíèå ìëàäøèõ ÷àñòåé ñîìíîæèòåëåé A è B;
êîíêàòåíàöèÿ êîäîâ, íàõîäÿùèõñÿ ñëåâà è ñïðàâà
îò çíàêà;
ñëîæåíèå êîäîâ;
ñóììà ïðîèçâåäåíèé ñòàðøèõ è ìëàäøèõ ÷àñòåé
ñîìíîæèòåëåé,
AL×BH+AH×BL;
17-ðàçðÿäíàÿ êîíñòàíòà (âñå ðàçðÿäû ðàâíû «0» èëè
«1» â çàâèñèìîñòè îò çíàêà ñóììû SHL);
17-ðàçðÿäíàÿ êîíñòàíòà (âñå ðàçðÿäû ðàâíû «0»).
A(24:0) y1(15:0)
B(17:0) x2(15:0)
>
>
>
>
×
25
18
>
+
>
P(42:0) zi(31:0)
3
A(24:0) x1(15:0)
B(17:0) y2(15:0)
>
>
>
>
×
25
18
>
+
>
P(42:0)
2
A(24:0) y1(15:0)
B(17:0) y2(15:0)
>
>
>
>
×
25
18
>
+
>
P(42:0) zr(31:0)
1
A(24:0) x1(15:0)
B(17:0) x2(15:0)
>
>
>
>
×
25
18
>
+
>
P(42:0)
0
DSP48E_3
OPMODE 0010101
ALUMODE 0000
DSP48E_2
OPMODE 0000101
ALUMODE 0000
DSP48E_1
OPMODE 0010101
ALUMODE 0011
DSP48E_0
OPMODE 0000101
ALUMODE 0000
Ðèñ. 3. Áëîê-ñõåìà ìîäóëÿ óìíîæåíèÿ íà áàçå ÷åòûðåõ DSP48E
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
27
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Òàêàÿ ñõåìà áóäåò ñîäåðæàòü íå ÷åòûðå, à òðè
óìíîæèòåëÿ è ïÿòü ñóììàòîðîâ âìåñòî äâóõ. Ïîâåäåí-
÷åñêîå îïèñàíèå ñõåìû ìîäèôèöèðîâàííîãî ìîäóëÿ
óìíîæåíèÿ äâóõ êîìïëåêñíûõ ÷èñåë (ìîäóëÿ óìíî-
æåíèÿ 2) íà ÿçûêå VHDL ïðèâåäåíî â ëèñòèíãå 2.
Ëèñòèíã 2
Ïîâåäåí÷åñêîå îïèñàíèå ìîäóëÿ óìíîæåíèÿ 2
entity mult_n is
generic (N : integer:=16);
Port (x1 : in std_logic_vector(N-1 downto 0);
x2 : in std_logic_vector(N-1 downto 0);
y1 : in std_logic_vector(N-1 downto 0);
y2 : in std_logic_vector(N-1 downto 0);
clk : in std_logic;
zr : out std_logic_vector(2*N-1 downto 0);
zi : out std_logic_vector(2*N-1 downto 0));
end mult_n;
architecture Behavioral of mult_n is
signal t1, t2, t3, t4 : std_logic_vector(N-1 downto 0);
signal s1, s2, s3 : std_logic_vector(N-1 downto 0);
signal p1, p2, p3, t5, t6 : std_logic_vector(2*N-1 downto 0);
begin
process (clk)
begin
if (clk�event and clk=�1') then
t1<=x1; t2<=x2; t3<=y1; t4<=y2; zr<=t5; zi<=t6;
end if;
end process;
s1<=t2+t4; s2<=t1+t3; s3<=t3-t1;
p1<=t1*s1; p2<=t4*s2; p3<=t2*s3;
t5<=p1-p2; t6<=p1+p3;
end Behavioral;
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäó-
ëÿ óìíîæåíèÿ 2 ïðèâåäåíû â òàáë. 3.
Çàòðàòû ðåñóðñîâ è áûñòðîäåéñòâèå äëÿ 16-ðàç-
ðÿäíîãî IP-ìîäóëÿ óìíîæåíèÿ êîìïëåêñíûõ ÷èñåë
ôèðìû Xilinx â êðèñòàëëå XC3S400�5FG456 ñîñòàâ-
ëÿþò: êîëè÷åñòâî óìíîæèòåëåé Mult18×18 � 3, ñåê-
öèé (Slices) � 85, òðèããåðîâ (FF) � 163, áëîêîâ LUT
� 117, ÷àñòîòà 85 ÌÃö.
Âåðèôèêàöèÿ ìîäóëÿ óìíîæåíèÿ ïðîâîäèòñÿ ïó-
òåì ïîäà÷è ìàññèâà êàêèõ-ëèáî ÷èñåë íà âõîäû ìî-
äóëÿ è àíàëèçà ïîëó÷åííûõ ðåçóëüòàòîâ íà åãî âûõî-
äàõ. Ìàññèâ âõîäíûõ ÷èñåë (âîçäåéñòâèé) ìîæåò
íîñèòü ñëó÷àéíûé èëè ôóíêöèîíàëüíûé õàðàêòåð.
Äëÿ ôîðìèðîâàíèÿ òàêîãî ìàññèâà ñ öåëüþ áûñòðîé
îöåíêè ðåçóëüòàòîâ ïðè ìîäåëèðîâàíèè (ýêñïðåññ-
àíàëèçà) öåëåñîîáðàçíî èñïîëüçîâàòü ãåíåðàòîðû
ñèíóñîèäàëüíûõ ñèãíàëîâ, ÷òî ïîçâîëÿåò ïîëó÷èòü
íà âûõîäàõ ìîäóëÿ ïðîãíîçèðóåìûå è íàãëÿäíûå
ðåçóëüòàòû áåç ïðîâåäåíèÿ àðèôìåòè÷åñêèõ âû÷èñ-
ëåíèé. Íà ðèñ. 4 ïðåäñòàâëåíà áëîê-ñõåìà ñòåíäà,
ñîñòîÿùàÿ èç ÷åòûðåõ ãåíåðàòîðîâ, ôîðìèðóþùèõ
ñèíóñîèäàëüíûå (êîñèíóñîèäàëüíûå) ñèãíàëû ñ ÷àñ-
òîòàìè F1, F2, è êîììóòàòîðà, ñèãíàëû ñ âûõîäîâ
êîòîðûõ ïîäàþòñÿ íà âõîäû ìîäóëÿ óìíîæåíèÿ. Ïðè
ðåàëèçàöèè òàêîé ñõåìû ôóíêöèîíèðîâàíèå ìîäóëÿ
îñóùåñòâëÿåòñÿ â ñîîòâåòñòâèè ñ ôîðìóëàìè
sin(α+β)=sinα·cosβ+cosα·sinβ;
cos(α+β)=cosα·cosβ�sinα·sinβ;
sin(α−β)=sinα·cosβ�cosα·sinβ;
cos(α�β)=cosα·cosβ+sinα·sinβ.
Ðàáîòà ñõåìû âûïîëíÿåòñÿ çà 2 öèêëà. Â ïåðâîì
öèêëå íà âõîäû x1 è y1 ïîäàþòñÿ ñèãíàëû sinF1 è
cosF1, ñîîòâåòñòâåííî, âî âòîðîì öèêëå � ñèãíàëû
cosF1 è sinF1. Íà âõîäû x2 è y2 â ïåðâîì è âòîðîì
öèêëàõ ïîäàþòñÿ ñèãíàëû cosF2 è sin F2. Â ðåçóëü-
òàòå óìíîæåíèÿ â ïåðâîì öèêëå íà âûõîäå zr äîë-
æåí ïðèñóòñòâîâàòü ñèãíàë ñèíóñîèäàëüíîé ôîðìû,
à íà âûõîäå zi � êîñèíóñîèäàëüíîé ôîðìû ñ ðàçíîñò-
íîé ÷àñòîòîé F1�F2. Âî âòîðîì öèêëå íà âûõîäå
zr äîëæåí áûòü ñèãíàë êîñèíóñîèäàëüíîé ôîðìû, à
íà âûõîäå zi � ñèíóñîèäàëüíîé ôîðìû ñ ñóììàðíîé
÷àñòîòîé F1+F2.
Òàáëèöà 3
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ óìíîæåíèÿ 2
Òèï
êðèñòàëëà
Ðàçðÿäíîñòü
ìîäóëÿ
Òèï
óìíîæèòåëÿ
Êîëè÷åñòâî
ñåêöèé
(Slices)
Êîëè÷åñòâî
óìíîæèòåëåé
Êîëè÷åñòâî
FF
Êîëè÷åñòâî
LUT
×àñòîòà,
ÌÃö
LUT 607 � 128 1018 47
16
Mult18x18 88 3 128 112 72
LUT 2039 � 256 3596 28
XC3S400-5FG456
32
Mult18x18 344 12 256 557 41
LUT 314 � 128 1156 120
16
DSP48E 30 3 64 48 147
LUT 1041 � 256 3986 68
XC5VLX30-3FF676
32
DSP48E 88 12 256 224 90
Ðèñ. 4. Áëîê-ñõåìà ñòåíäà äëÿ âåðèôèêàöèè ìîäóëÿ
óìíîæåíèÿ
Ãåíåðàòîð
sin F1
Ãåíåðàòîð
cos F1
Êîììó-
òàòîð Ãåíåðàòîð
cos F2
Ãåíåðàòîð
sin F2
x1
y1
x2
y2
zr
zi
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
28
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Íà ðèñ. 5 ïðåäñòàâëåíà âðåìåííàÿ äèàãðàììà, ïî-
ëó÷åííàÿ ïðè ìîäåëèðîâàíèè ìîäóëÿ óìíîæåíèÿ
ñ 16-ðàçðÿäíûìè âõîäíûìè îïåðàíäàìè è ÷àñòîòà-
ìè F1=60 ÊÃö, F2=20 ÊÃö. Íà âûõîäàõ zr è zi â ïåð-
âîì öèêëå ïîëó÷åíû ñèãíàëû ñ ÷àñòîòîé 40 ÊÃö, âî
âòîðîì � ñ ÷àñòîòîé 80 ÊÃö.
Îïåðàöèÿ äåëåíèÿ êîìïëåêñíûõ ÷èñåë ìîæåò áûòü
âûïîëíåíà IP-ìîäóëåì, ñôîðìèðîâàííûì ñ ïîìîùüþ
èíñòðóìåíòàëüíûõ ñðåäñòâ Core Generator, èëè ìîäó-
ëåì, ñîçäàâàåìûì êîìïèëÿòîðîì Xilinx Synthesis
Technology (XST) íà îñíîâå ïîâåäåí÷åñêîãî HDL-
îïèñàíèÿ. IP-ìîäóëü äåëåíèÿ ñ ôèêñèðîâàííîé òî÷-
êîé âûïîëíÿåò äåëåíèå â äâóõ ðåæèìàõ: ñ öåëûì îñ-
òàòêîì è äðîáíûì îñòàòêîì. Â ðåæèìå äåëåíèÿ ñ öå-
ëûì îñòàòêîì äåëèìîå ðàâíî ñóììå ÷àñòíîãî, óìíî-
æåííîãî íà äåëèòåëü, è îñòàòêà. Ðåçóëüòàò ÷àñòíîãî è
îñòàòîê ïðåäñòàâëåíû íà äâóõ ðàçíûõ âûõîäàõ öåëû-
ìè ÷èñëàìè.  ðåæèìå äåëåíèÿ ñ äðîáíûì îñòàòêîì
ïîñëåäíèé ðàâåí ÷àñòíîìó îò äåëåíèÿ öåëîãî îñòàòêà
(IntRmd) íà äåëèòåëü (Divisor) è ïðåäñòàâëåí íà âû-
õîäå öåëûì ÷èñëîì â âèäå: (IntRmd/Divisor)×2F äëÿ
÷èñåë áåç çíàêà è (IntRmd/Divisor)×2(F�1) äëÿ ÷èñåë
ñî çíàêîì (F � ðàçðÿäíîñòü äâîè÷íîãî êîäà îñòàòêà
Fmax=32).
IP-ìîäóëü èñïîëüçóåò êîíâåéåðíûé ïðèíöèï âû-
÷èñëåíèÿ è ïîçâîëÿåò âûáðàòü êîëè÷åñòâî ñèíõðî-
ñèãíàëîâ Clk, òðåáóåìûõ äëÿ âûïîëíåíèÿ îäíîé îïå-
ðàöèè äåëåíèÿ èç ðÿäà 1, 2, 4, 8. Çàäåðæêà ïîÿâëåíèÿ
ðåçóëüòàòà íà âûõîäå îò íà÷àëà çàãðóçêè îïåðàíäîâ
îïðåäåëÿåòñÿ ïðîèçâåäåíèåì TClk×L, ãäå L � ÷èñëî
èìïóëüñîâ Clk, ñôîðìèðîâàííûõ çà ýòîò îòðåçîê âðå-
ìåíè. Âåëè÷èíà ýòîé çàäåðæêè, çàâèñÿùàÿ îò ðàçðÿä-
íîñòè äåëèìîãî (Ì), òèïà ìîäóëÿ, ÷èñëà ñèíõðîñèã-
íàëîâ, òðåáóåìûõ äëÿ âûïîëíåíèÿ îäíîé îïåðàöèè,
ðàçðÿäíîñòè äâîè÷íîãî êîäà îñòàòêà, ïðèâåäåíà â
òàáë. 4.
Äëÿ êðèñòàëëà XC3S400-5FG456 ÷àñòîòà ñèíõðî-
ñèãíàëîâ Clk ïðè äåëåíèè ñîñòàâëÿåò: äëÿ 16-ðàçðÿä-
íûõ ÷èñåë 160�180 ÌÃö; äëÿ 32-ðàçðÿäíûõ � 110�
120 ÌÃö. Â òàáë. 5 ïðèâåäåíû àïïàðàòíûå è âðå-
ìåííûå õàðàêòåðèñòèêè ìîäóëÿ äåëåíèÿ.
Óêàçàííûå IP-ìîäóëè èñïîëüçóþòñÿ, â îñíîâíîì,
ïðè ðàáîòå ñ ìàññèâàìè îáðàáàòûâàåìûõ äàííûõ.
Ïðè âûïîëíåíèè åäèíè÷íûõ îïåðàöèé äåëåíèÿ öå-
ëåñîîáðàçíî èñïîëüçîâàòü áîëåå ïðîñòîé ìîäóëü,
ðåàëèçóþùèé îïåðàöèþ äåëåíèÿ ïóòåì ïîñëåäîâà-
òåëüíîãî âû÷èòàíèÿ äåëèòåëÿ èç äåëèìîãî. Ðàçðàáî-
Ðèñ. 5. Âðåìåííàÿ äèàãðàììà ðàáîòû ìîäóëÿ óìíîæåíèÿ
Òàáëèöà 5
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ äåëåíèÿ
Ðàçìåðíîñòü
îïåðàíäîâ
16 ðàçðÿäîâ 32 ðàçðÿäà
Òèï îñòàòêà öåëûé äðîáíûé öåëûé äðîáíûé
Clk 1 2 4 8 1 2 4 8 1 2 4 8 1 2 4 8
Êîëè÷åñòâî Slices 520 402 273 210 1025 743 465 329 1868 1346 1232 544 3582 2632 1492 934
Êîëè÷åñòâî FF 934 619 422 324 1838 1099 674 463 3465 2029 806 837 7124 3915 2198 1347
Êîëè÷åñòâî LUT 353 371 236 168 610 636 361 223 1217 1252 724 460 2242 2294 1230 697
Òàáëèöà 4
Çàäåðæêà ïîÿâëåíèÿ ðåçóëüòàòà íà âûõîäå IP-ìîäóëÿ
äåëåíèÿ
Òèï
îñòàòêà
Clk
Çàäåðæêà äëÿ
îïåðàíäîâ
áåç çíàêà, L
Çàäåðæêà äëÿ
îïåðàíäîâ
ñî çíàêîì, L
öåëûé 1 M+2 M+4
öåëûé >1 M+3 M+5
äðîáíûé 1 M+F+2 M+F+4
äðîáíûé >1 M+F+3 M+F+5
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
29
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
òàííûé ìîäóëü ïðè ðàâíîì êîëè÷åñòâå ðàçðÿäîâ äå-
ëèìîãî è äåëèòåëÿ îñóùåñòâëÿåò îïåðàöèþ äåëåíèÿ
çà âðåìÿ, ðàâíîå ïðîèçâåäåíèþ TClk×(N+2), ãäå N �
ðàçðÿäíîñòü îïåðàíäà. Â òàáë. 6 ïðèâåäåíû àïïà-
ðàòíûå è âðåìåííûå õàðàêòåðèñòèêè äëÿ ðàçðàáîòàí-
íîãî ìîäóëÿ äåëåíèÿ 2.
Íà ðèñ. 6 èçîáðàæåíà âðåìåííàÿ äèàãðàììà, ïî-
ëó÷åííàÿ ïðè ìîäåëèðîâàíèè ìîäóëÿ äåëåíèÿ ñ äðîá-
íûì îñòàòêîì äëÿ äâóõ 16-ðàçðÿäíûõ ÷èñåë ñî çíà-
êîì.  êà÷åñòâå ñèãíàëà äåëèìîãî íà âõîä ìîäóëÿ
ïîäàåòñÿ ñèíóñîèäàëüíûé ñèãíàë ñ ÷àñòîòîé 20 ÊÃö,
â êà÷åñòâå äåëèòåëÿ � êîñèíóñîèäàëüíûé ñèãíàë ñ
÷àñòîòîé 10 ÊÃö. Íà âûõîäå ìîäóëÿ ôîðìèðóåòñÿ
ñèíóñîèäàëüíûé ñèãíàë ñ ÷àñòîòîé 10 ÊÃö.
Áëîê-ñõåìà ìîäóëÿ äåëåíèÿ êîìïëåêñíûõ ÷èñåë
èçîáðàæåíà íà ðèñ. 7.
Ìîäóëü ñîäåðæèò 16-ðàçðÿäíûå óìíîæèòåëè ñ 32-
ðàçðÿäíûìè âûõîäàìè, 32-ðàçðÿäíûå ñóììàòîðû è
äåëèòåëè. Ïîâåäåí÷åñêîå îïèñàíèå ìîäóëÿ íà ÿçûêå
VHDL ïðèâåäåíî â ëèñòèíãå 3.
Ëèñòèíã 3
Ïîâåäåí÷åñêîå îïèñàíèå ìîäóëÿ äåëåíèÿ
entity div_complex is
generic (N: integer:=16);
Port (x1 : in std_logic_vector (N-1 downto 0);
x2 : in std_logic_vector (N-1 downto 0);
y1 : in std_logic_vector (N-1 downto 0);
y2 : in std_logic_vector (N-1 downto 0);
clk : in std_logic;
ce : in std_logic;
zr : out std_logic_vector (2*N-1 downto 0);
zi : out std_logic_vector (2*N-1 downto 0);
rdy : out std_logic;
err : out std_logic);
end div_complex;
architecture Behavioral of div_complex is
signal x1q, x2q, y1q, y2q :
std_logic_vector(N-1 downto 0):=(others=>'0');
signal ddr, ddi, drri :
std_logic_vector(2*N-1 downto 0):=(others=>'0');
signal err_r, err_i, rdy_r, rdy_i: std_logic:='0';
component division
PORT(dd : IN std_logic_vector(31 downto 0);
dr : IN std_logic_vector(31 downto 0);
ce : IN std_logic;
clk : IN std_logic;
err : OUT std_logic;
rdy : OUT std_logic;
qt : OUT std_logic_vector(31 downto 0);
rmd : OUT std_logic_vector(31 downto 0));
END COMPONENT;
begin
u1: division port map (dd=>ddr, dr=>drri, ce=>ce,
clk=>clk, err=>err_r, rdy=>rdy_r, qt=>zr);
u2: division port map (dd=>ddi, dr=>drri, ce=>ce,
clk=>clk,err=>err_i,rdy=>rdy_i,qt=>zi);
ddr<=x1q*x2q+y1q*y2q;
ddi<=x2q*y1q-x1q*y2q;
drri<=x2q*x2q+y2q*y2q;
err<=err_r or err_i;
rdy<=rdy_r and rdy_i;
process (clk)
begin
if (clk�event and clk=�1') then
x1q<=x1; x2q<=x2; y1q<=y1; y2q<=y2;
end if;
end process;
end Behavioral;
Ðèñ. 6. Âðåìåííàÿ äèàãðàììà ðàáîòû ìîäóëÿ äåëåíèÿ äâóõ ÷èñåë ñî çíàêîì
Òèï êðèñòàëëà XC3S400-5FG456 XC5VLX30-3FF676
Ðàçðÿäíîñòü
ìîäóëÿ 16 32 16 32
Êîëè÷åñòâî
ñåêöèé (Slices) 148 291 106 231
Êîëè÷åñòâî
FF 86 167 86 167
Êîëè÷åñòâî
LUT 243 494 239 483
×àñòîòà,
ÌÃö 120 85 260 200
Òàáëèöà 6
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ
äåëåíèÿ 2
Ðèñ. 7. Áëîê-ñõåìà ìîäóëÿ äåëåíèÿ äâóõ êîìïëåêñíûõ ÷è-
ñ å ë
×
×
×
×
+
�
×
×
+
:
:
õ1
õ2
ó1
ó2
zr
zi
Rg
Rg
Rg
Rg
Rg
Rg
Òåõíîëîãèÿ è êîíñòðóèðîâàíèå â ýëåêòðîííîé àïïàðàòóðå, 2008, ¹ 5
30
ÝËÅÊÒÐÎÍÍÛÅ ÑÐÅÄÑÒÂÀ: ÈÑÑËÅÄÎÂÀÍÈß, ÐÀÇÐÀÁÎÒÊÈ
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ
äåëåíèÿ êîìïëåêñíûõ ÷èñåë ïðèâåäåíû â òàáë. 7.
Òàêèì îáðàçîì, ôèçè÷åñêàÿ âåðèôèêàöèÿ ôóíê-
öèîíèðîâàíèÿ ìîäóëåé, âûïîëíÿþùèõ àðèôìåòè÷å-
ñêèå îïåðàöèè ñ êîìïëåêñíûìè ÷èñëàìè, ïðîâåäåíà
ñ èñïîëüçîâàíèåì áëîêà Spartan�3�400 Evaluation Kit,
ïîäêëþ÷àåìîãî ê øèíå PCI ïåðñîíàëüíîãî êîìïüþ-
òåðà. Âåðèôèêàöèÿ ðàçðàáîòàííûõ ìîäóëåé îñóùå-
ñòâëÿåòñÿ ñ ïîìîùüþ ïðîãðàììíîãî êîìïëåêñà, êî-
òîðûé âêëþ÷àåò äðàéâåð óñòðîéñòâà, áèáëèîòåêó ôóí-
êöèé äëÿ ðàáîòû ñ äðàéâåðîì, ïðîãðàììó äëÿ âåðè-
ôèêàöèè êàæäîãî ìîäóëÿ â îòäåëüíîñòè.
Òåñòèðîâàíèå ïîäòâåðäèëî, ÷òî ìîäóëè ðàáîòà-
þò êîððåêòíî è ìîãóò áûòü èñïîëüçîâàíû â ëþáûõ
ïðîåêòàõ â âèäå ãîòîâûõ áèáëèîòå÷íûõ áëîêîâ.
ÈÑÏÎËÜÇÎÂÀÍÍÛÅ ÈÑÒÎ×ÍÈÊÈ
1. Àêóøñêèé È. ß., Àìåðáàåâ Â. Ì., Ïàê È. Ò. Îñíîâû ìà-
øèííîé àðèôìåòèêè êîìïëåêñíûõ ÷èñåë.� Àëìà-Àòà: Íàóêà,
1973.
2. Ïàëàãèí À. Â., Îïàíàñåíêî Â. Í. Ðåêîíôèãóðèðóåìûå âû-
÷èñëèòåëüíûå ñèñòåìû.� Ê.: Ïðîñâ³òà, 2006.
3. Xilinx ISE 9 Software Manuals / Available at http://
www.xilinx.com
4. ModelSim® Xilinx. User�s Manual. Version 6.1e / Available at
http://www.xilinx.com
5. Spartan-3 FPGA Family: Complete Data Sheet / Available at
http://www.xilinx.com
6. Virtex-5 LX Platform Overview / Available at http://
www.xilinx.com
7. Using Embedded Multipliers in Spartan-3 FPGAs. Xapp467 /
Available at http://www.xilinx.com
8. Virtex-5 SXT Platform. Technical Backgrounder / Available at
http://www.xilinx.com
Òèï êðèñòàëëà XC3S400-5FG456 XC5VLX30-3FF676
Òèï
óìíîæèòåëÿ Mult18×18 DSP48E
Êîëè÷åñòâî ñåêöèé
Slices 656 360
Êîëè÷åñòâî
óìíîæèòåëåé 6 6
Êîëè÷åñòâî FF 462 398
Êîëè÷åñòâî LUT 1083 964
×àñòîòà,
ÌÃö 70 130
Òàáëèöà 7
Àïïàðàòíûå è âðåìåííûå õàðàêòåðèñòèêè ìîäóëÿ
äåëåíèÿ
ÂÛÑÒÀÂÊÈ. ÊÎÍÔÅÐÅÍÖÈÈ
|
| id | nasplib_isofts_kiev_ua-123456789-52483 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 2225-5818 |
| language | Russian |
| last_indexed | 2025-11-24T03:29:30Z |
| publishDate | 2008 |
| publisher | Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України |
| record_format | dspace |
| spelling | Опанасенко, В.Н. Лисовый, А.Н. Сахарин, В.Г. 2014-01-03T22:57:01Z 2014-01-03T22:57:01Z 2008 Реализация арифметических операций с комплексными числами на ПЛИС / В.Н. Опанасенко, А.Н. Лисовый, В.Г. Сахарин // Технология и конструирование в электронной аппаратуре. — 2008. — № 5. — С. 24-30. — Бібліогр.: 8 назв. — рос. 2225-5818 https://nasplib.isofts.kiev.ua/handle/123456789/52483 ru Інститут фізики напівпровідників імені В.Є. Лашкарьова НАН України Технология и конструирование в электронной аппаратуре Электронные средства: исследования, разработки Реализация арифметических операций с комплексными числами на ПЛИС Реалізація арифметичних операцій з комплексними числами на базі ПЛІС Realizations of arithmetic with complex integer numbers on PLD-base Article published earlier |
| spellingShingle | Реализация арифметических операций с комплексными числами на ПЛИС Опанасенко, В.Н. Лисовый, А.Н. Сахарин, В.Г. Электронные средства: исследования, разработки |
| title | Реализация арифметических операций с комплексными числами на ПЛИС |
| title_alt | Реалізація арифметичних операцій з комплексними числами на базі ПЛІС Realizations of arithmetic with complex integer numbers on PLD-base |
| title_full | Реализация арифметических операций с комплексными числами на ПЛИС |
| title_fullStr | Реализация арифметических операций с комплексными числами на ПЛИС |
| title_full_unstemmed | Реализация арифметических операций с комплексными числами на ПЛИС |
| title_short | Реализация арифметических операций с комплексными числами на ПЛИС |
| title_sort | реализация арифметических операций с комплексными числами на плис |
| topic | Электронные средства: исследования, разработки |
| topic_facet | Электронные средства: исследования, разработки |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/52483 |
| work_keys_str_mv | AT opanasenkovn realizaciâarifmetičeskihoperaciiskompleksnymičislaminaplis AT lisovyian realizaciâarifmetičeskihoperaciiskompleksnymičislaminaplis AT saharinvg realizaciâarifmetičeskihoperaciiskompleksnymičislaminaplis AT opanasenkovn realízacíâarifmetičnihoperacíizkompleksnimičislaminabazíplís AT lisovyian realízacíâarifmetičnihoperacíizkompleksnimičislaminabazíplís AT saharinvg realízacíâarifmetičnihoperacíizkompleksnimičislaminabazíplís AT opanasenkovn realizationsofarithmeticwithcomplexintegernumbersonpldbase AT lisovyian realizationsofarithmeticwithcomplexintegernumbersonpldbase AT saharinvg realizationsofarithmeticwithcomplexintegernumbersonpldbase |