定點補碼一位乘法器的設計_第1頁
定點補碼一位乘法器的設計_第2頁
定點補碼一位乘法器的設計_第3頁
定點補碼一位乘法器的設計_第4頁
定點補碼一位乘法器的設計_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、I / 26 文檔可自由編輯打印沈陽航空航天大學課課 程程 設設 計計 報報 告告課程設計名稱:計算機組成原理課程設計計算機組成原理課程設計課程設計題目:定點補碼一位乘法器的設計定點補碼一位乘法器的設計院(系):計算機學院專 業:計算機科學與技術班 級:1學 號:22姓 名:邊爽指導教師:曹一鵬完成日期:2011年1月14日1 / 26 文檔可自由編輯打印目目 錄錄第第 1 章章 總體設計方案總體設計方案.11.1 設計原理.11.2 設計思路.21.3 設計環境 .4第第 2 章章 詳細設計方案詳細設計方案.52.1 頂層方案圖的設計與實現 .52.1.1 創建頂層圖形設計文件.52.1.2

2、 器件的選擇與引腳鎖定.62.1.3 編譯、綜合、適配.72.2 功能模塊的設計與實現 .72.2.1 取補模塊的設計與實現.72.2.2 選擇器模塊的設計與實現.92.2.3 乘數補碼移位寄存器模塊的設計與實現.122.2.4 部分積移位寄存器模塊的設計與實現.142.2.5 加法器模塊的設計與實現.162.3 仿真調試 .16第第 3 章章 編程下載與硬件測試編程下載與硬件測試.193.1 編程下載.193.2 硬件測試及結果分析 .19參考文獻參考文獻.22附附 錄(電路原理圖)錄(電路原理圖).231 / 26 文檔可自由編輯打印第 1 章 總體設計方案1.1 設計原理設計原理由于機器

3、都采用補碼做加減運算,所以設計補碼乘法器能避免碼制轉換,提高機器效率。在計算兩個補碼相乘時,可以通過 Booth 算法來實現定點補碼一位乘的功能。布斯(Booth)算法采用相加和相減的操作計算補碼數據的乘積,Booth算法對乘數從低位開始判斷,根據后兩個數據位的情況決定進行加法、減法還是僅僅進行移位操作。補碼一位乘法的運算規則: (1) 被乘數一般取雙符號位參加運算。 (2) 乘數可取單符號位以決定最后一步是否需要校正,即是否加。補 X (3) 乘數末位增設附加位,且初值為 0。部分積初始值為 0。1ny補0Z (4) 被乘數x補乘以對應的相鄰兩位乘數()之差值,再與前nnyy1部分積累加,然

4、后右移一位(乘 2-1) ,形成該步的部分積累加和。與構成1nyny各步運算的判斷值,以決定如何操 作,見圖 1.1Booth 算法操作說明:補X圖 1.1 Booth 算法操作說明(5)按照上述算法進行 n+1 步操作,但第 n+1 步不再移位,僅根據與的0y1y比較結果作相應的運算即可。2 / 26 文檔可自由編輯打印1.2 設計思路設計思路課程設計的要求為:課程設計的要求為:(1)采用原碼值輸入,乘數和被乘數皆為 8 位。(2)設計的電路應該包括 ALU,被乘數寄存器,乘數寄存器,部分積寄存器,門電路和移位電路。課程設計的思路為:課程設計的思路為:(1)由于課程設計要求采用原碼值輸入,就

5、需要設計一個原碼值取反碼的電路模塊,同時只對符號位取反同時也可以實現求。補 X(2)實現 Booth 算法需添加附加位,并將其初始值置零,此操作通過外部輸1ny入來實現的。(3)Booth 算法在運算中要將部分積初始值置零,此操作是通過給 FD 寄存器的清零端一個高電平的脈沖信號,使寄存器的數據全部為 0,即輸出的部分積為00000000。(4)取乘數末尾兩位來判斷,為 00、11 則部分積加 0,為 01 則部分積加被乘數的補碼,為 10 則部分積加乘數相反數的補碼。為了實現此操作,需要設計一個二輸入四輸出選擇器及選擇電路。(5)乘數邏輯右移一位,部分積算術右移一位,并用乘數最高位存放部分積

6、溢出的位。此功能的實現,分別設計了乘數移位寄存器,以及部分積移位寄存器。(6)依次反復直到原乘數部分只剩下最后兩位,由于最后一次只運算不移位,所以在輸出時要在部分積移位之前輸出結果。(7)加統一的時鐘信號,保持各部件同步工作。定點補碼一位乘法器的設計總框圖如圖 1.2 所示;定點補碼一位乘法器的設計流程圖如圖 1.3 所示。3 / 26 文檔可自由編輯打印圖 1.2 定點補碼一位乘法器設計總框圖 圖 1.3 定點補碼一位乘法器設計流程圖4 / 26 文檔可自由編輯打印1.3 設計環境設計環境(1)硬件環境硬件環境 偉福偉福 COP2000 型計算機組成原理實驗儀型計算機組成原理實驗儀COP20

7、00 計算機組成原理實驗系統由實驗平臺、開關電源、軟件三大部分組成。實驗平臺上有寄存器組 R0-R3、運算單元、累加器等組成。COP2000 計算機組成原理實驗系統各單元部件都以計算機結構模型布局,系統在實驗時即使不借助 PC 機,也可實時監控數據流狀態及正確與否, 實驗系統的軟硬件對用戶的實驗設計具有完全的開放特性,系統提供了微程序控制器和組合邏輯控制器兩種控制器方式, 系統還支持手動方式、聯機方式、模擬方式三種工作方式,系統具備完善的尋址方式、指令系統和強大的模擬調試功能。 COP2000 集成調試軟件集成調試軟件COP2000 集成開發環境是為 COP2000 實驗儀與 PC 機相連進行

8、高層次實驗的配套軟件,它通過實驗儀的串行接口和 PC 機的串行接口相連,提供匯編、反匯編、編輯、修改指令、文件傳送、調試 FPGA 實驗等功能,該軟件在Windows 下運行。(2)EDA 環境環境 Xilinx foundation f3.1 設計軟件設計軟件Xilinx foundation f3.1 是 Xilinx 公司的可編程期間開發工具,該平臺功能強大,主要用于百萬邏輯門設計。該系統由設計入口工具、設計實現工具、設計驗證工具三大部分組成。5 / 26 文檔可自由編輯打印第 2 章 詳細設計方案2.1 頂層方案圖的設計與實現頂層方案圖的設計與實現頂層方案圖是用來實現補碼一位乘法器乘數

9、與被乘數的輸入和取補,以及結果的寄存和輸出、二輸入三輸出選擇器和運算控制電路、移位電路等邏輯功能,采用原理圖設計輸入方式完成,電路實現基于 XCV200 可編程邏輯芯片。在完成原理圖的功能設計后,把輸入以及輸出信號安排到 XCV200 指定的引腳上去,實現芯片的引腳鎖定。2.1.1 創建頂層圖形設計文件創建頂層圖形設計文件頂層圖形文件的設計實體主要由取補電路(封裝為 QUBU) ,二輸入三輸出選擇器(基于 D2-4E 的改裝) ,乘數移位寄存器(封裝為 U11) ,部分積移位寄存器(基于 FD 實現) ,加法器(基于 ADD8 的改裝) ,等模塊組裝而成的一個完整的可編程邏輯芯片 U30。頂層

10、圖形文件結構如圖 2.1 所示: 圖 2.1 頂層圖形文件結構圖 6 / 26 文檔可自由編輯打印2.1.2 器件的選擇與引腳鎖定器件的選擇與引腳鎖定(1)器件的選擇由于硬件設計環境是基于偉福 COP2000 型計算機組成原理實驗儀和 XCV200實驗板,故采用的目標芯片為 Xilinx XCV200 可編程邏輯芯片。(2)引腳鎖定把頂層圖形文件中的所有輸入、輸出信號對應到 Xilinx XCV200 芯片指定的引腳上去,實現芯片的引腳鎖定,各信號及 Xilinx XCV200 芯片引腳對應關系如表 2.1 所示:表表 2.1 信號和芯片引腳對應關系信號和芯片引腳對應關系圖形文件中的輸入/輸出

11、信號XCV200芯片引腳信號GRDP50ZCLOCKP213FJWP47CLRP49VCCP48S1P80S2P81S3P82S4P84S5P85S6P86S7P87Y1P95Y2P96Y3P97Y4P100Y5P1017 / 26 文檔可自由編輯打印Y6P102Y7P103E0P63E1P73E2P72E3P71E4P70E5P66E6P65E7P642.1.3 編譯、綜合、適配編譯、綜合、適配利用 Xilinx foundation f3.1 的原理圖編輯器對頂層圖形文件進行編譯,并最終生成網絡表文件,利用設計實現工具經綜合、優化、適配,生成可供時序仿真的文件和器件下載編程文件。2.2 功

12、能模塊的設計與實現功能模塊的設計與實現功能模塊主要由取補電路,二輸入三輸出選擇器,移位寄存器,部分積移位寄存器等模塊組成,由 Xilinx XCV200 可編程邏輯芯片分別實現。2.2.1 取補模塊的設計與實現取補模塊的設計與實現進行求補的方法就是從數的最右端開始,由右向左,直到找出第一個“1” ,0a例如,。則以左的每一個輸入位都求反,即 1 變 0,0 變 1。最右1iani 0ia端的起始鏈式輸入必須永遠置成“0” 。當控制信號線為“1”時,啟動對 21CE求補的操作;當控制信號線為“0”時,輸出將和輸入相等。可以利用符號位E來作為控制信號。E(1) 創建求乘數補碼電路模塊設計原理圖。創

13、建求乘數補碼電路模塊設計原理圖。 求乘數補碼電路原理結構如圖 2.2所示,實際電路如圖 2.2所示。)(a)(b8 / 26 文檔可自由編輯打印圖 2.2 求乘數補碼電路模塊邏輯框圖)(a圖 2.2 實際取補電路)(b(2)創建元件圖形符號)創建元件圖形符號 其元件圖形符號如圖 2.3 所示: 9 / 26 文檔可自由編輯打印圖 2.3 求乘數補碼電路模塊元件圖形符號(3)功能仿真)功能仿真對創建的取補模塊進行功能仿真,驗證其功能的正確性,可用 Xilinx foundation f3.1 編譯器的 Simulator 模塊實現。仿真結果如圖 2.4 所示:圖 2.4 取補模塊仿真結果2.2.

14、2 選擇器模塊的設計與實現選擇器模塊的設計與實現選擇器主要由一個 D2-4E 芯片和邏輯門電路控制選擇輸出。輸入端輸入的值10 / 26 文檔可自由編輯打印分別為,以及“” (八個輸入端為一組) 。補 X補XD2-4E 芯片的和端的“0”和“1”控制,當為 010A1A0D1D2D3D10AA時,輸出為高電平,即為輸出值為 1,通過邏輯門電路實現輸出為2D2D的值;當為 10 時,輸出為為 高電平,即為輸出值為 1,通過邏補 X10AA1D1D輯門電路實現輸出為的值;當為 00 時,輸出為為 高電平,即為補X10AA0D輸出值為 1,同時當為 11 時,輸出為為 高電平,即為輸出值為0D10A

15、A3D3D1,由于此時和輸出值為相同,故此兩條數據線通過一個或門輸出一條數據0D3D線,此時輸出值為“” 。正好實現三輸入一輸出的選擇器模塊。(1)創建選擇器設計原理圖。)創建選擇器設計原理圖。三輸入一輸出選擇器原理結構如圖 2.5 所示:圖 2.5 選擇器原理框圖 11 / 26 文檔可自由編輯打印(2)創建元件圖形符號)創建元件圖形符號其元件圖形符號如圖 2.6 所示: 圖 2.6 選擇器元件圖形符號(3)功能仿真)功能仿真對創建的三輸入一輸出器模塊進行功能仿真,驗證其功能的正確性,可用Xilinx foundation f3.1 編譯器的 Simulator 模塊實現。仿真結果如圖 2.

16、7 所示: )(a)(b12 / 26 文檔可自由編輯打印 )(c)(d圖 2.7 選擇模塊仿真結果圖2.2.3 乘數補碼移位寄存器模塊的設計與實現乘數補碼移位寄存器模塊的設計與實現乘數補碼移位寄存器模塊由八個二選一選擇器(MUXCY) ,9 個寄存器(FD)組成,端輸入的是 1 個低電平信號其余都為高電平信號。MUXCY 選擇器由控制CP信號端,輸入端和,以及輸出端組成,當端為低電平信號時,選擇輸SiDiCOS出值,當端為高電平信號時,選擇輸出值。每次的輸出信號寄存到 FD 中,iDSiCMUXCY 輸出端連接下一位的寄存器,這樣就實現了移位寄存的功能。O移位的和兩個輸出端恰好為和的兩個值,

17、和的兩個值要07Y08ny1nyny1ny分別接到選擇器的和端。0A1A(1)創建乘數補碼移位寄存器模塊設計原理圖。)創建乘數補碼移位寄存器模塊設計原理圖。 乘數補碼移位寄存器原理結構如圖 2.8 所示:13 / 26 文檔可自由編輯打印圖 2.8 乘數補碼移位寄存器原理結構圖(2)創建元件圖形符號)創建元件圖形符號其元件圖形符號如圖 2.9 所示: 圖 2.9 乘數補碼移位寄存器電路模塊元件圖形符號14 / 26 文檔可自由編輯打印(3)功能仿真)功能仿真對創建的乘數補碼移位寄存器模塊進行功能仿真,驗證其功能的正確性,可用 Xilinx foundation f3.1 編譯器的 Simula

18、tor 模塊實現。仿真結果如圖 2.10 所示:圖 2.10 乘數補碼移位寄存器模塊仿真結果2.2.4 部分積移位寄存器模塊的設計與實現部分積移位寄存器模塊的設計與實現部分積移位寄存器模塊是由一個 8 位寄存器(FD8CE)和四個邏輯門電路組成,實現部分積移位寄存功能。由于部分積的初始值為“” ,這樣就要求 FD8CE寄存器的初始值為“” ,只需要給清零端一個高電平的信號即可實現。CLR進行部分積移位時,要求移位過程中保證符號位相同,這樣就需要把第一位符號位復制為兩個數,而其余的 6 位相繼向下串一位,這樣就實現了移位功能,同時還保證的符號位相同。(1)部分積移位寄存器設計原理圖。)部分積移位

19、寄存器設計原理圖。 部分積移位寄存器原理結構如圖 2.11 所示:15 / 26 文檔可自由編輯打印圖 2.11 部分積移位寄存器原理圖(2)功能仿真)功能仿真對創建的寄存器模塊進行功能仿真,驗證其功能的正確性,可用 Xilinx foundation f3.1 編譯器的 Simulator 模塊實現。仿真結果如圖 2.12 所示:圖 2.12 部分積移位寄存器仿真結果16 / 26 文檔可自由編輯打印2.2.5 加法器模塊的設計與實現加法器模塊的設計與實現 加法器模塊是在系統提供的八位加法器(ADD8)的基礎上,根據實際情況改造而來。由于系統 ADD8 的輸入輸出的高低位與前幾個模塊的正好相

20、反,所以為了實現功能對 ADD8 進行了改裝。改裝后內部結構如圖 2.13 所示。 圖 2.13 改裝后加法器內部結構圖2.3 仿真調試仿真調試仿真調試主要驗證設計電路邏輯功能、時序的正確性,本設計中主要采用功能仿真方法對設計的電路進行仿真。通過多組數據進行仿真測試,分別對兩個正17 / 26 文檔可自由編輯打印數相乘,一個正數與一個負數相乘,兩個負數相乘結果進行檢驗。(1)建立仿真波形文件及仿真信號選擇)建立仿真波形文件及仿真信號選擇功能仿真時,首先建立仿真波形文件,選擇仿真信號,對選定的輸入信號設置參數,選定的仿真信號和設置的參數如表 2. 3 所示。表表 2.32.3 仿真信號相關參數表

21、仿真信號相關參數表輸入信號輸入信號輸出信號輸出信號S1S1S7S7Y1Y1Y7Y7CLRCLRCLOCKCLOCKFJWFJWI0I0I7I7 000010000001000 0 0000001100000011 000010000001000 0 1111110011111100 100010010001000 0 0000001100000011(2)功能仿真結果與分析)功能仿真結果與分析仿真結果分別如圖 2.14、所示。)(a)(b)(c18 / 26 文檔可自由編輯打印)(a )(b)(c圖 2.14 功能仿真波形結果由表 2.3 和圖 2.14 所示信息對比可知,多組仿真都完全正確,

22、說明本設計能實現補碼一位乘法計算功能。19 / 26 文檔可自由編輯打印第 3 章 編程下載與硬件測試3.1 編程下載編程下載利用 COP2000 仿真軟件的編程下載功能,將得到.bit 文件下載到 XCV200 實驗板的 XCV200 可編程邏輯芯片中。3.2 硬件測試及結果分析硬件測試及結果分析利用 XCV200 實驗板進行硬件功能測試。定點補碼一位乘法器的輸入數據通過 XCV200 實驗板的輸入開關實現,輸出數據通過 XCV200 實驗板的 LED 指示燈實現,其對應關系如表 3.1 所示。 表表 3.1 XCV200 實驗板信號對應關系實驗板信號對應關系XCV200芯片引腳信號芯片引腳

23、信號XCV200實驗板實驗板P95K0:6P96K0:5P97K0:4P100K0:3P101K0:2P102K0:1P103K0:0P80K1:6P81K1:5P82K1:4P84K1:3P85K1:2P86K1:1P87K1:0P63K2:7P73K2:0P72K2:1P71K2:2P70K2:3P66K2:4P65K2:5P64K2:620 / 26 文檔可自由編輯打印P213P213P48K3:1P49K3:2P47K3:3利用表 2.3 中的輸入參數作為輸入數據,逐個測試輸出結果,即用 XCV200實驗板的開關 K0、K1 及 K2 控制數據輸入,同時觀察數碼顯示管和發光二極管顯示結果,得到如圖 3.1、所示的硬件測試結果。)(a)(b)(c )(a21 / 26 文檔可自由編輯打印 )(b)(c圖 3.1 硬件測試結果圖 22 / 26 文檔可自由編輯打印參考文獻 1 曹昕燕. EDA 技術實驗與課程設計M.北京:清華大學出版社,20062 范延濱.微型計算機系統原理、接口與 EDA 設計技術M.北京:北京郵電大學

溫馨提示

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

評論

0/150

提交評論