高速硬件除法器設(shè)計_第1頁
高速硬件除法器設(shè)計_第2頁
高速硬件除法器設(shè)計_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高速硬件除法器設(shè)計一、實驗?zāi)康模毫私夂驼莆沼布ㄆ鞯慕Y(jié)構(gòu)和工作原理,分析除法器的仿真波形和工作時序。二、實驗原理:除法器算法的思路和手寫除法基本一致。假設(shè)除法a/b,a、b是輸入的兩個位數(shù)都為n的二進制數(shù)。如果位數(shù)小于 n,可以在位數(shù)較少的數(shù)的前面添加0來滿足這種位數(shù)要求。商和余數(shù)是n位標(biāo)準矢量類型的二進制數(shù)。在過程中,算法也是按順序執(zhí)行的,但是綜合后系統(tǒng)將會由組合邏輯電路組成,進程中的每一步都和系統(tǒng)構(gòu)建的不同級別的邏輯電路相對應(yīng)。首先,從輸入信號中創(chuàng)建變量A和B,A=a, B=b,其中a,b都是n位二進制數(shù)。如果 A大于等于B,則商為1,余數(shù)為A-B,否則商為0,余數(shù)為A。這是算法開始的第

2、一次循環(huán), 如果小于B,結(jié)果商位是0, A的值不做變化并保留其值。否則,結(jié)果商位為1,則把相減后的余數(shù)插入變量 A中。不管比較結(jié)果如何,變量A都要右移一位(左邊添加0),接著開始下一次循環(huán)。循環(huán) n次之后,n位結(jié)果賦給商,最后 A剩余的值就是余數(shù)。二、實驗任務(wù): 用VerilogHDL設(shè)計除法器。除法器的參考程序如下:module DIV16(i nput CLK,i nput15:0 A,B,output reg15:0 QU,RE);reg15:0 AT,BT,P,Q; integer i;always (posedge CLK) beg inAT=A; BT=B; P=16'H0

3、000;Q=16'H0000;for(i=15;i>=0;i=i-1)beg inP=P14:0,AT15;AT=AT14:0,1'B0; P=P-BT;if (P15=1) begin Qi=0; P=P+BT; end else Qi=1;endendalways (*) begin QU=Q;RE=P; enden dmodule其中A和B是除法器輸入端的兩個16位數(shù)據(jù),它們分別為被除數(shù)和除數(shù),輸出結(jié)果分成兩部分:QU是商,RE是余數(shù)。給出仿真時序波形圖。四、實驗步驟:實驗步驟大致分為三大步。(一) 、建立工作庫文件和編輯設(shè)計文文件任何一項設(shè)計都是一項 Projec

4、t (工程),我們一般把一個工程下的所有文件放在一個文件 夾內(nèi),這樣方便我們整理,利用和提取不同工程下的文件,而此文件夾將被 EDA軟件默認為Work Library(工作庫),所以第一步先建立一個新的文件夾。(1 )新建文件夾:在 F盤建立并保存工程,文件夾取名homework。(2)輸入源程序:打開 Quartus II ,選擇菜單 File->New->Desig n >VerilogHDL File->OK (如圖所示)在打開的空白處工作框處輸入任務(wù)要求中所列出的代碼。(3)保存文件:選擇File->Save as,選擇保存路徑,即剛才新建的文件夾home

5、work,文件名應(yīng)與實體名保持一致,即DIV16,點擊保存后會跳出"Do you want to create a newproject with this file?”選擇"是”,則進入如下界面點擊Next,進入“工程設(shè)置”對話框,如圖所示第一行表示工程所在的文件夾,第二行為工程名,可以與頂層文件的實體名保持一致, 也可以另取別的名字,第三行為當(dāng)前工程頂層文件的實體名。點擊next,進入ADDFILE對話框,如圖所示,單擊 Add All按鈕,將工程相關(guān)的所有 VHDL文件加進工程,也可以單擊“ Add ”選擇性加入,按此步驟建立工程,工程已 經(jīng)自動將所有文件加進去了,可

6、以直接點擊next,當(dāng)先直接建立工程時,需要自己添加htew PrcjM:咄3 d Wd file* ku爭 2 濟 *洶口也r和sa 鈾!iwarsuK吐Cid1丄豹至切 呦*希on徑“畦 口中 dl>u phasd. Hhahi du un護 Max ta l-m jnrnl LaMPi【7 MEi丨一11血:11卩 arrtr . 壓憶 mwR Md AlLVitil.t JI- rp*"*/ +> pat- *商阿 漬刊“皆“竹iyIL打<«;< tuck KEt >珀Ell: Eh(4)選擇目標(biāo)芯片:這里選用的是Cyclonelll

7、系列的EP3C55F484C8在Family欄選擇芯片系列Cyclo neHI ,在窗口右邊的三個下拉列表框選擇過濾條件,分別選擇Package為 FBGA Pin count 為 484 和 Speed grade 為 8,點擊 Next,如圖所示hE Prri«ct Wizard: pTih民 UeH'ce -MgsJ E 5|.D-tf.” rKjpr» 凋2埶 fcs* kF'1岬I卅HAdTD df j E -UiitaCUl 區(qū)! tiwFilfi-i* j£ CC-wtAu-lGil: iKi fej-Miria Ct-nDK 扌Rf

8、k CslMKI I 國* 5r*i?+ 廠 帀 jbc* -sf-arKiBd iJkhEPr3C:lEFTJIFHtfSEF-JL4fl4OE":甘砂網(wǎng)EP3£IXneu.L!¥請-U Herui | Erijijfl_L3-rfiunID:4仙冏商粘不? I 2296161的 24西呼«e4££IJT257LI'Z t jrftafc 卜 Fjagi.liJ H(5 )工具設(shè)置:進入 EDA工具設(shè)置窗口,有三個選項,分別是選擇輸入的HDL類型和綜合工具、選擇仿真工具、選擇時序分析工具,這是除Quartus II自含的所有

9、設(shè)計工具以外的外加的工具,如果不作選擇的,表示僅選擇Quartus II自含的所有設(shè)計工具,本次不需要其他的設(shè)計工具,可以直接點擊Next(6)結(jié)束設(shè)置:進入“工程設(shè)置統(tǒng)計”窗口,列出了與此工程相關(guān)的設(shè)置情況,設(shè)置完 成,點擊 Finish屮hsti via tA 卻 E曲h 加 11半l * Mi g b巴3 剛Xiiha NWbr 帕.jde-Pnepfl* qirw匚:血屮BA*"嘶r"Tr * 心 ii*: em I”跑$Nirtflroi itr-sSM1MTtwr d| im ib-Bter odtMi.i口rJjc.Fan 酉 niaimt廬tonfl HIE

10、PXEffJlB4£MEUlii 士: M'jjnuiihJjfiortNflBU口 g刖吃VEPNT wdlwEg”ywsaoi«s 旳r os;D«f0(二)、編譯配置好后就可以進行編譯了,點擊Processing Start Compilation命令啟動全程編譯編譯成功后的界面如圖所示(三)時序仿真(1)打開波形編輯器:File->New->Verification/Debugging>Vector Waveform->OK,即出現(xiàn)空白的波形編輯器,如圖所示(2)設(shè)置仿真時間區(qū)域:Edit->End Time 在Tim

11、e欄中輸入50,單位選擇“ us”,點擊確定并保存波形文件OKCh口刖(3)將工程 DIV16的端口信號名選入波形編輯器中:View->Utility win dows->NodeFinder,在 Filter框中選Pins : all (通常是默認選項),然后點擊List,則顯示出了所有引腳,如圖所示7 IndLt suStWiWyeLreT -1 -TI I i II rL rkJ 1 3 J KJ- nb- 1 1 1 1 *|刊耳創(chuàng)訊啣創(chuàng)嗎創(chuàng)岬訊的叼叭"WULJuu r kit dUm汕 1IglllieiflkfuiUrc i7_r|Jknji七EdLlreis

12、igredIripjltei wVftffdUrvigrE|IrtUliJhEl fflelTtlInpjlUc« «mdUre:sigred|EAJ|Utd 如dllrte.jjEdIruulg蘭記=3Ui* c-xMfidlr|AilUjd -ki = JHe .yifiJIglUlO -rill* iIrpjlii Im *Vpp HUrr-iiikrui畑 r*rrdLlw 弟 RedIr-pulLhei wVered'UreEfigrcdIglLl 油'將重要的端口名拖進波形編輯器后關(guān)閉窗口 如下圖r3 昭 m!> *護Im.-R - kaf

13、ifr*iihP “ £FinderUansd |v Fife- n 7ajool m. |1I 7?» _|"Nncfci Fcund(4 )編輯輸入波形:首先進行總線數(shù)據(jù)格式設(shè)置和參數(shù)設(shè)置:點擊輸入數(shù)據(jù)信號A的左邊的+號,能展開此總線中的所有信號;如果雙擊此+號左邊的信號標(biāo)記,將彈出對該信號數(shù)據(jù)格式設(shè)置的NodeProperties對話框,在該對話框的Radix下拉列表中有四種選擇,這里可選擇十進制表達方式,將A B均設(shè)置為十進制表達方式。General確定取消設(shè)置時鐘信號CfockI line rn ue其次輸入波形數(shù)據(jù):由于A、B需要設(shè)置輸入數(shù)據(jù)。用鼠標(biāo)在

14、圖所示信號名A、B的某一數(shù)據(jù)區(qū)拖拉出來一塊藍色區(qū)域,然后單擊左側(cè)工具欄的問號(?) 按鈕,在彈出窗口輸入數(shù)據(jù),如0.繼而在不同區(qū)域設(shè)置不同數(shù)據(jù)。這里為方便觀察,A中輸入的數(shù)據(jù)依次是 4、5、7、10、22、25、32、40、47、122、200。對應(yīng) B 中輸入的數(shù)據(jù)依次是1、3、4、5、7、10、7、5、6、11、15。如圖所示(5)仿真I;:陽 L3業(yè)I OvYEB十g Smni «-f|i' iiinlpiii4 A a. J.氨戶工? 也也.FAai Sdnjx-I ® >Ctann名能嘗JC1 -Kiiij-i Ac ncjm I4旨刑尬I)gjic

15、缶*EH-曲號打心£< OutmJ Ffci-F*rTi'iTr.And.FZB! 5-tfin;:J納吠詩仿真器參數(shù)仿真: 選擇Assig nmentSett in gs 命令,在Sett in gs 窗口下選擇 CategorySimulator Sett in gs。在右側(cè)的 Simulation mode下拉列表中選擇 Timi ng,即選擇時序仿真,并選擇仿真激勵文件名DIV16.vwf。選擇 Simulation Period 欄,確認選中了" Runsimulati on un til all vector stimuli are used”。號 fTiJil 仙 nodd 1* I弓miakaiirJ DMLnyTI bJwFi輛I Wiii $>n>jki3*idi Eg MrMi* $酣Ind-rrijialai XE .雀軸 Ila 叩iCipnqnr Ma啟動仿真器: Process in g->Start Simulati on ,直至出現(xiàn) Simulatio n was successful,仿真結(jié)束,然后會自動彈出“ Simulation Report ”,注意這里點擊輸出信號“ DIV16”旁邊 的

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論