數(shù)字系統(tǒng)設(shè)計-CH8_第1頁
數(shù)字系統(tǒng)設(shè)計-CH8_第2頁
數(shù)字系統(tǒng)設(shè)計-CH8_第3頁
數(shù)字系統(tǒng)設(shè)計-CH8_第4頁
數(shù)字系統(tǒng)設(shè)計-CH8_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、CH8 基本邏輯電路設(shè)計8.1 基本組合電路設(shè)計8.2 基本時序電路設(shè)計8.3 加法電路設(shè)計8.4 乘法電路設(shè)計8.5 乘累加電路設(shè)計8.4.1 浮點數(shù)的表示及乘運算IEEE754 1985標準定義單精度浮點格式Sign1-bitExponent8-bitMantissa 23-bitSEM32位s是符號域,字長1bit;e是指數(shù)域,字長8bits;m是尾數(shù)域,字長23bitss=0/1正/負數(shù),E為整數(shù)且Emax=127,Emin=-126,ai=0/l,bias=127為指數(shù)的偏置值,指數(shù)域階碼e=E+bias,且0e255。Sign1-bitExponent8-bitMantissa 2

2、3-bitSEM32位Eaa2. 1022biasEsaa2. 11022浮點數(shù)表示為:浮點數(shù)表示為:單精度浮點格式的動態(tài)范圍和運算精度絕對值最大值e=254-127,m=23H7FFFFF,即2127+1=1.7E+38絕對最小值e=1-127,m=23H000000,即2-126=1.2E-38精度2-23=1E-07浮點數(shù)乘法運算11112. 11EsmX212). 1. 1 () 1(212121EEssmmXXXbisaionnormalizatEEssm212. 1) 1(21Esm2. 1) 1(設(shè)設(shè)2個浮點數(shù):個浮點數(shù):11112. 11EsmX22222. 11EsmXbis

3、aionnormalizatEEssmXX212. 1) 1(2121如果積的尾數(shù)是大于“1”的數(shù),則需要將尾數(shù)右移一位,同時將指數(shù)加1,即normalization=1;如果尾數(shù)積不大于“1”,則normalization=0,不需要進行規(guī)范化處理。 浮點數(shù)乘法運算4321001. 101.10)1 . 1 ()1 . 1 ( :eeee例如浮點數(shù)乘法運算流程尾數(shù)全由原碼表示,相當于無符號數(shù)相乘, 24 24 位尾數(shù)乘積P 的公式為:P = A m B m部分積壓縮BOOTH編碼Booth編碼邏輯)()(1221212212iiiiiiYYYYYYzero122122iiiYYYadd)(1

4、12212iiiYYYadd)(112212iiiYYYsub122122iiiYYYsubBOOTH編碼輸入編碼操作y2i+1y2iy2i-1add2add1zerosub1sub200000100被乘數(shù)000101000被乘數(shù)101001000被乘數(shù)101110000被乘數(shù)110000001被乘數(shù)(-2)10100010被乘數(shù)(-1)11000010被乘數(shù)(-1)11100100被乘數(shù)0u部分積的產(chǎn)生partial product generation02 1349 8 7 6 51921232447460 10 1 11 0011 0 1 010 1100 1 0 111 0010000

5、00000000000000000000n0n1n2n3n4n5n6n7n8n9n10n11s1s0s2s3s4s5s6s7s8s9s10s11被乘數(shù)乘數(shù)部分積產(chǎn)生電路采用改進的Booth編碼器,2424位的部分積由原來的24個壓縮為14個 積分積壓縮電路partial product generationXORXORXORXORMUXMUXp1p2p3p4cincoutcs0011sccoutcinpppp0112224321cinpppps432144321)4321(pppppcinppppc1213)21(ppppppcout規(guī)范化、舍入及后規(guī)范規(guī)范化、舍入及后規(guī)范 部分積進行累加后的

6、結(jié)果為最后的48位積積,首先要判斷該數(shù)是否大于是否大于1,即第48位是否為1,如為1,則將其右移1位,同時normalization=1,與指數(shù)相加。指數(shù)加運算也只在這時進行,它是事實上一個8位加法器,normalization送到的是它的進位輸入位。這個過程稱為規(guī)范化。第二步是將48位結(jié)果舍入舍入為24位(含隱藏位1)。我們這里采用的Round to nearest。根據(jù)保護位(guard)、舍入位(round)及粘貼位(sticky)來共同確定進位。進位引起的尾數(shù)大于1時,再進行右移操作,并將指數(shù)做加1處理 n單精度浮點乘法電路綜合頻率綜合頻率206.058MHzBooth編碼編碼部分積部

7、分積產(chǎn)生產(chǎn)生部分積部分積壓縮壓縮舍入、舍入、規(guī)范化規(guī)范化23823548480mb0mb1mb2mb19mb20mb21mb221masbsasumcarry8-bit SubtractExp-adjustExponent8XORBooth Encoder11Booth Encoder0Booth Encoder1Booth Encoder10PPG11PPG10PPG1PPG048-bit CLANormalizationWallace Tree24pp1124pp1024pp124pp02s112s102s02s1555MantissaExp-adjustRound and Postnor

8、malizationSigneaeb8stage1stage2stage3浮點乘法運算分為3個運算單元,即符號運算、指數(shù)運算及尾數(shù)運算單元。符號運算只限于異或運算,指數(shù)則是加法運算單元尾數(shù)則是兩個2424位的乘法電路尾數(shù)乘運算分為3個流水線階段:第一階段是部分積的產(chǎn)生,第二階段為部分積的累加過程,最后一個流程為規(guī)范化處理階段,對尾數(shù)進行舍入處理,并對指數(shù)進行加1減1操作。 -mantissa multiplication-entity m_multiplier isport(am,bm:in std_logic_vector(22 downto 0); sum,carry:out std_lo

9、gic_vector(47 downto 0); clk:in std_logic);end m_multiplier;尾數(shù)乘運算VHDL設(shè)計實體尾數(shù)乘運算VHDL設(shè)計結(jié)構(gòu)體architecture Behavioral of m_multiplier is component ppg -部分積產(chǎn)生電路 port(ma,mb:in std_logic_vector(22 downto 0); p10:out std_logic_vector(25 downto 0); p11,p12,p13,p14,p15,p16,p17,p18,p19,p110,p111:out std_logic_vec

10、tor(27 downto 0); p112:out std_logic_vector(25 downto 0); p113:out std_logic_vector(22 downto 0); clk:in std_logic); end component; component wallace -WALLACE TREE壓縮電路 port(p0:in std_logic_vector(25 downto 0); p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11:in std_logic_vector(27 downto 0); p12:in std_logic_vect

11、or(25 downto 0); p13:in std_logic_vector(22 downto 0); sum,carry:out std_logic_vector(47 downto 0); clk:in std_logic); end component; 尾數(shù)乘運算VHDL設(shè)計COMPONENTPPGWallacePPG實體entity ppg is port(ma,mb:in std_logic_vector(22 downto 0); p10:out std_logic_vector(25 downto 0); p11,p12,p13,p14,p15,p16,p17,p18,p

12、19,p110,p111 :out std_logic_vector(27 downto 0); p112:out std_logic_vector(25 downto 0); p113:out std_logic_vector(22 downto 0); clk:in std_logic);end ppg;PPG結(jié)構(gòu)體描述architecture Behavioral of ppg is component booth_encode port(y:in std_logic_vector(2 downto 0); multiplicand:in std_logic_vector(22 down

13、to 0); pp:out std_logic_vector(25 downto 0); pad:out std_logic_vector(1 downto 0); clk:in std_logic); end component; - signalbeginprocess(clk,ma)begin -data divideend process; for I in 0 to 11 generate product: booth_encode port map(y(i),mb,p1(i),pad(i),clk);End generate;process(pad0,pad1,pad2,pad3,

14、pad4,pad5,pad6,pad7,pad8,pad9,pad10,pad11,clk)begin -data outend process;end Behavioral;PPG部分積產(chǎn)生電路12組PPG電路Booth Encoder 綜合Booth Encoder UnitBooth Encoder Entity-booth encoder logic-entity booth_encode is port(y:in std_logic_vector(2 downto 0); multiplicand:in std_logic_vector(22 downto 0); pp:out std_logic_vector(25 downto 0); pad:out std_logic_vector(1 downto 0); clk:in std_logic);end booth_encode;Wallace Tree壓縮電路頂層4:2壓縮電路4:2壓縮電路 Wallace Tree Entity-wallace tree-entity wallace is port(p0:in std_logic_vector(25 downto 0); p1,p2,p3,p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論