国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的雙符號(hào)數(shù)128位寬位乘法運(yùn)算器件的設(shè)計(jì)

2015-05-04 12:28:55朱偉
科技創(chuàng)新與應(yīng)用 2015年13期

摘 要:文章提出了一種由128位雙符號(hào)數(shù)全加器構(gòu)成的以時(shí)序邏輯移位方式設(shè)計(jì)的雙符號(hào)數(shù)128位寬位乘法器,此乘法器比與邏輯陣列和加全加器構(gòu)成的乘法陣列占用宏單元硬件資源少,結(jié)構(gòu)簡單,由于使用基于VHDL語言模塊化設(shè)計(jì)和現(xiàn)場可編程門陣列FPGA的電子實(shí)現(xiàn),有利于器件性能的升級(jí)與位數(shù)擴(kuò)充,所以本設(shè)計(jì)具有經(jīng)濟(jì)性和實(shí)用性兩大特性。

關(guān)鍵詞:FPGA;寬位乘法器;運(yùn)算器件

引言

雙符號(hào)數(shù)寬位乘法運(yùn)算器使用EDA平臺(tái)軟件QuartusⅡ在計(jì)算機(jī)上制作了基于現(xiàn)場可編程門陣列FPGA的雙符號(hào)數(shù)128位寬位乘法運(yùn)算器,以組合邏輯電路的觀點(diǎn)分析,肯定是使用與邏輯陣列和全加器構(gòu)成的乘法陣列構(gòu)成的乘法器工作速度最快,但由于占用FPGA宏單元硬件資源多,難以實(shí)現(xiàn)高于128雙符號(hào)數(shù)寬位乘法器。由128位雙符號(hào)數(shù)全加器構(gòu)成的以時(shí)序邏輯移位方式設(shè)計(jì)的雙符號(hào)數(shù)128位乘法器,占用硬件宏單元資源比較少,運(yùn)算速度能夠滿足實(shí)際使用要求,具有經(jīng)濟(jì)性和實(shí)用性兩大特性。為了實(shí)現(xiàn)128位乘法,通過雙符號(hào)數(shù)全加器先計(jì)算一位的位積,然后逐位移位相加,實(shí)現(xiàn)了被乘數(shù)128位X與乘數(shù)128位Y的雙符號(hào)數(shù)寬位乘法。最后乘積是256位包括雙符號(hào)為兩位。

1 寬位乘法運(yùn)算器各個(gè)模塊的 VHDL源程序設(shè)計(jì)

1.1 128位數(shù)據(jù)信息選通邏輯門器件模塊的源程序XTXXYDFM.VHD

LIBRARY IEEE;

USE IEEE.STD,_LOGIC,1164.ALL; ENTITY',XT XXYDFM, IS PORT,'·(ABIN:IN STD_LOGIC; DIN:IN STD·_LOGIC_XVECTOR (127 DOWNTO 0), TDOUT:·ZXOUT STD_·XTLOGIC_VECTOR (7 DOWNTO 0)); END; XXYDFM·' XTARCHI'TECTURE ·ART OF' XTANDARITH IS BEGIN"XTPROCESS(ABIN,DIN)' XTBEGIN 'FOR I IN 0 TO 127 LOOP X"TDOUT '(I)<=DIN (I)AND XTABIN;' END LOOP;END XTPRZXOCESS';END CVART;"

1.2 128位雙向鎖存邏輯器件的源程序SXREG128B.VHD

LIBRARY IEEE;

USE' IEEE.STD_LOGIC'_1164.ALL;ENTITY' SXXREG128B IS' 'PORT(CLK:INZC STD_LOGIC;CLR:'N STD_LOGI'C;D:IN ST'D'_LO

GIC_VECTZXOR(127 DOWNTO 0) Q:OUT STD_LOGIC'_VEC'TOR(1127 DOWNTO 0));END' REG128B;SXARCHZZ'XCITECTURE AR

T OF REG1286B 'ISIGNAL R16S:STD_LOGIC_VECTOR(15 DOWNTO 0);'XSBEGINPROCESS (CLK,CLR)BEGINIFCLRTHENR1286S<=

"000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000";'ELSIF CLK'EVENT AND CLK = '1' THEN 'ZCSXR1127S(127 DOWNTO 0)<=R1276S(127 'DOWNTO 1);R16S(15 DOWNTO 7)<=D;' END IFEND 'PROCESS Q<=R16S;' END CVART;

1.3 128位單向右移移位邏輯寄存器器件的源程序YYSREG8B.VHD

LIBRARY IEEE;

USE IEEE.STD'_LOGIC_1164.ALL; ENTITCVY YYSRXEG8B 'ISPORT (CLK:IN ST'D_LOGIC;' LO'AD :IN STD' _LOGIC B'IN:IN STD_'LOGIC_VEZXCTOR(7DOWNTO 0);QB:ZXOU'T STD_L'OGIC);END' YYSREXG8B; 'ARCHITE'CTUZZXCREYY AR'T OF SREG8'B IS YYSIGNAL YYREG128B:STD_LOGIC_VE'CTOR(127 DOWNTO 0);' 'YYBE'GIZCNPROCESS (CLK,LOAD) 'BEG'IN IF CLK'EVENT AND CLK='1' THENIF LXOAD='1' THEN RE"G1278<=DIN;' ELSE' XREG8(127 DOWNTO0)YY

1.4 128位乘法運(yùn)算邏輯控制器的源程序KZCFNGFS128L.VHD

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTICVTY CFNGFS128L IS CZ PCORT(CLK:IN' STD_LOGIC;CZSTART:IN CSTD_LOGIC;"ZCCLKOUT:OUT STD_LO

GIC;RSTALL:OUTZC STCD_LOGIC;CARZCXIEND:OUT STCD_LOG

IC);END ZC NG'FZCS128L;CFARCH'ICVTECTURE ART O'F CFAR

ICTL IZCSZC" 'XSIGNAL CNT4BCZ:STD_LOGIC_VECTOR(64 DOW

NTO 0);" BEGIN RSTALL<=START;PROCESS (CZCLK,START)BEGIN IF START='1' 'THEN CNT4B<="00000000000'000000000000";ELSIFZX CLK'EVEZCNT AND ZCCLCVK='1' TZCHEN IF CN"T4B127<1278 ZCTHEZCNCNT4B=CN'T4B+1;"ECND IF;END IF;EN'D PRO'CESS;PROZCCESS(CLK,CNT4B,START)' BEGCIZCNIF START='0' THENIF CNT564B127<8 T'HEN CLKOUT<=CLK; ARIZCEND<='0'; ELSE ZCCLKOUT<='0'; ARIEND<='1';' CVEND IF; ELSE CLKOUT<=CLK;' CZARIEND<='0';END IF;END PROCESS;END CVART;

1.5 128位乘法器運(yùn)算邏輯器件的源程序CVTI128X8.VHD

LIBRARY IEEE;

'USE IEEE.STD_LOGIC_1164.ALL;"ENTCVITY CVTI128X8 IS "CVPORT(CLK:IN STD_LOGIC;START":IN STD_LOGIC;A:I'N STD_LOGIC'_VVECTOR(127 DOWNTO 0);B:CVICVN STD_LOGIC_VECTOR(127 DOWNTO 0);CVARIEND:OUT STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(127 DOWNTO 0);END CVTI128X8;'VC ARCHITECTURE ART OFCVTI128X8 IS COMPONCENT CVARICTL POR"T(CLK:IN CVSTDVCV_LOGIC;START:IN STD'_LOGIC; CVCLKOUT:OUT STD_LOGIC;RSTALLCV:OUT 'STDCV_LOGICCVCVACVRIEND:'OUT STD_LOGIC); END COMPONENT;COMPOCVNEN'T ANDARITHPORT(ABIN:IN STD'_LCVO

GIC;DINCV:IN STD_LOGIC_VECTOR(CV127 DOWNTO 0);DOUT':OUT_STD_LOGIC_VECTOR(127DOWNTO 0); END COMPONENT;CVCOMP'OCVNENT CVADDCVER128B DOUTINTCLK, RSTALL=>RST"ALL, CVARIEN

D'=>ARIEND);U2:CVSREG8B PORT MAP(CLK=>INTCLK,LOAD=CV>CVRSTALL.DINCV=>B,QCVB=>QB);U3:ANDCVARITH PORT MAPCV(ABIN=>QB,CVDIN=>A,DOUT'=>ANDSD);U4CVADDE''R128

B PORT MAP(CIN=>GNDINT,A=>DTBOUT(128DOWNTO68) CVB=>CVNDSD,S=>DTVCBIN(127 DOWNTO 0),CVCOUT =>DTBIN(68); U5:CVREG126B CVPORT MAPCV(CLK =CV>VCINTCLK,CLR='>CVRSTALL,=CV>DTBIN, Q=>VCDTBOUT);END XXCART;

2 結(jié)束語

文章探討了基于FPGA的128位寬位乘法運(yùn)算器件的設(shè)計(jì), 此乘法器的優(yōu)點(diǎn)是節(jié)省芯片宏單元資源,它的核心運(yùn)算元件是一個(gè)128位全加器構(gòu)成的加法器,運(yùn)算器運(yùn)算速度取決于輸入系統(tǒng)的時(shí)鐘主頻。如果系統(tǒng)時(shí)鐘主頻為400MHz,則乘法運(yùn)算器每一次乘法運(yùn)算周期僅需20ns。雙符號(hào)數(shù)128位寬位乘法運(yùn)算器件運(yùn)行速度比較高,乘法運(yùn)行狀況穩(wěn)定。因此,可以利用此乘法器及其組成原理構(gòu)成更高位如256位和512位的乘法器,能夠十分可靠地完成一些大規(guī)模寬位數(shù)字信號(hào)處理方面的雙符號(hào)數(shù)運(yùn)算任務(wù)。

參考文獻(xiàn)

[1]陳云恰,保延翔.CPLD應(yīng)用技術(shù)與數(shù)字系統(tǒng)統(tǒng)計(jì)[M].電子工業(yè)出版社,2006.

[2]姜雪松,吳鈺淳.VHDL設(shè)計(jì)實(shí)例與仿真[M].機(jī)械工業(yè)出版社,2007.

[3]羅朝霞,高書莉.CPLD/FPGA設(shè)計(jì)及應(yīng)用[M].北京:人民郵電出版社,2007.

作者簡介:朱偉(1959-),男,副教授,工作于江漢大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,主要從事計(jì)算機(jī)體系結(jié)構(gòu)和智能儀器的設(shè)計(jì)。

自治县| 文登市| 遵义县| 赤水市| 麻城市| 西乡县| 杭州市| 隆昌县| 丰镇市| 柘荣县| 土默特右旗| 巫山县| 江城| 乌拉特前旗| 博罗县| 通城县| 政和县| 常山县| 黑山县| 沁源县| 邢台县| 六盘水市| 苍梧县| 建始县| 双城市| 册亨县| 宝丰县| 沙河市| 平江县| 苗栗市| 剑河县| 屯留县| 衡东县| 天镇县| 桂阳县| 恭城| 诏安县| 临湘市| 文登市| 常熟市| 镇江市|