




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1章 總體設(shè)計方案1.1 設(shè)計原理原碼一位乘乘法器中用三個寄存器X,Y和BFJ分別存放被乘數(shù),乘數(shù)和部分積。乘法運算開始時, BFJ寄存器被清零,作為初始部分積。被乘數(shù)放在X寄存器中,乘數(shù)放在Y寄存器中。實現(xiàn)部分積和被乘數(shù)相加是通過X送加法器和Y送加法器,在加法器中完成的。加法器的輸出經(jīng)過移位電路向右移一位送入BFJ寄存器中。Y寄存器是用移位寄存器實現(xiàn)的,其最低位用作Y送加法器的控制命令。因為原碼一位乘是通過乘數(shù)的最低位是1還是0來確定加數(shù)的,當(dāng)乘數(shù)的最后一位為1的時候,部分積加上被乘數(shù),當(dāng)乘數(shù)的最后一位為0的時候,部分積加上0。加法器最低一位的值,在右移的過程中將被移入Y寄存器的最高數(shù)值位
2、,這樣就使積的低位部分被保存在Y寄存器中,最開始的乘數(shù)在逐位右移的過程中不斷丟失,直到移位結(jié)束。乘法運算完成以后BFJ寄存器中保存的數(shù)值是乘積的高位部分, Y寄存器即乘數(shù)寄存器中保存乘積的低位部分。1.2設(shè)計思路實現(xiàn)原碼一位乘乘法的邏輯框圖如圖1.2所示, BFJ存放部分積, X存放被乘數(shù),Y存放乘數(shù)。一個實現(xiàn)一位原碼乘法運算的運算器可以由一個被乘數(shù)寄存器,一個乘數(shù)寄存器,一個部分積寄存器,一個加法器,一個計數(shù)器,二選一選擇電路以及移位電路七個模塊構(gòu)成。頂層的乘法器模塊采用原理圖設(shè)計輸入方式。被乘數(shù)寄存器模塊中X為被乘數(shù)輸入端,LOAD為數(shù)據(jù)打入電平,CLK為輸入脈沖,XOUT為數(shù)據(jù)輸出端口。
3、乘數(shù)寄存器模塊中Y為乘數(shù)輸入端,LOAD為數(shù)據(jù)打入電平,CLK位輸入脈沖,INPUT為部分積最低位輸入端,YOUT為數(shù)據(jù)輸出端口,LOWBIT為數(shù)乘數(shù)最低位輸出端。 部分積寄存器中IN為部分積右移一位以后的數(shù)據(jù)輸入端,CLR為清零電平,CLK為輸入脈沖,HIGH為加法器的進位輸入端,OUT為部分積右移一位后數(shù)據(jù)輸出端。 ALU/2BFJCdY/2YXALUBFJALU移位電路ALU 加法器Y 乘數(shù)BFJ 部分積計數(shù)器X 被乘數(shù) 圖1.2實現(xiàn)原碼一位乘法的邏輯電路框圖計數(shù)器模塊中CLR為清零端,CLKI為輸入脈沖,CLKO為脈沖輸出。二選一選擇電路中IN為被乘數(shù)輸入端口,CTR為控制信號輸入。O
4、UT為數(shù)據(jù)輸出。 二選一選擇電路模塊用原理圖輸入方式,被乘數(shù)寄存器,乘數(shù)寄存器,部分積極寄存器和計數(shù)器模塊采用verilog HDL語言設(shè)計輸入方式。首先,單獨調(diào)試仿真每個模塊,確定在沒有錯誤以后,再對整個運算器模塊進行仿真。在沒有錯誤的前提下,生成furui.bit文件下載到XCV200可編程邏輯芯片中經(jīng)硬件測試驗證運算結(jié)果。1.3 設(shè)計環(huán)境硬件環(huán)境:偉福COP2000型計算機組成原理實驗儀、XCV200實驗板、微機。EDA環(huán)境:Foundation 3.1設(shè)計軟件。第二章詳細設(shè)計方案2.1 頂層方案圖的設(shè)計與實現(xiàn)頂層方案圖實現(xiàn)原碼一位乘法運算的邏輯功能,采用原理圖設(shè)計輸入方式完成,電路實現(xiàn)
5、基于XCV200可編程邏輯芯片。完成原理圖的功能設(shè)計后,把輸入/輸出信號安排到XCV200指定的引腳上去,實現(xiàn)芯片的引腳鎖定。2.1.1創(chuàng)建頂層圖形設(shè)計文件頂層圖形文件主要由兩個數(shù)據(jù)輸入端,一個脈沖輸入端,一個啟??刂贫?,一個數(shù)據(jù)輸出端組成。定點原碼一位乘乘法器的頂層原理圖見圖2.1。2.1.2器件的選擇與引腳鎖定(1)器件的選擇硬件設(shè)計環(huán)境基于偉福COP2000型計算機組成原理實驗儀和XCV200實驗板,采用目標(biāo)芯片為Xlinx XCV200可編程邏輯芯片。(2)引腳鎖定把頂層圖形文件中的輸入/輸出信號安排到Xlinx XCV200芯片指定的引腳上去,實現(xiàn)芯片的引腳鎖定,原理圖中各信號及Xl
6、inx XCV200芯片引腳對應(yīng)關(guān)系如下表:原理圖信號芯片管腳原理圖信號芯片管腳X7P94OUTHIGH7P236X6P95OUTHIGH6P237X5P96OUTHIGH5P238X4P97OUTHIGH4P3X3P100OUTHIGH3P4X2P101OUTHIGH2P5X1P102OUTHIGH1P6X0P103OUTHIGH0P7Y7P79OUTLOW7P215Y6P80OUTLOW6P216Y5P81OUTLOW5P217Y4P82OUTLOW4P218Y3P84OUTLOW3P220Y2P85OUTLOW2P221Y1P86OUTLOW1P222Y0P87OUTLOW0P223CL
7、RP73CLKP2132.2第二層方案圖的設(shè)計與實現(xiàn)第二層圖形文件主要由兩個數(shù)據(jù)輸入端,一個脈沖輸入端,一個啟??刂贫?,一個數(shù)據(jù)輸出端以及相對應(yīng)的被乘數(shù)寄存器模塊,乘數(shù)寄存器模塊,部分積寄存器模塊,加法器模塊,計數(shù)器模塊,數(shù)據(jù)選擇電路模塊以及移位電路模塊組成。第二層原理圖見圖2.2。計數(shù)器模塊起控制整個運算過程的作用。實現(xiàn)控制器的功能,其它所有需要脈沖的模塊均受計數(shù)器即控制器的控制。當(dāng)控制器的輸入端(清零端)為低電平的時候,控制器才啟動整個運算過程,只有當(dāng)控制器的輸出出現(xiàn)脈沖的時候,其它需要脈沖的模塊才開始工作,當(dāng)達到需要運算次數(shù)后,控制器封鎖脈沖。各寄存器保持值不變。被乘數(shù)寄存器模塊的功能是
8、實現(xiàn)被乘數(shù)寄存,接收來自外部輸入數(shù)據(jù),提供選擇器模塊的輸入。乘數(shù)寄存器模塊的功能是實現(xiàn)乘數(shù)的寄存,接收來自外部輸入數(shù)據(jù),還具有向右移位的功能,將從部分積寄存器傳來的數(shù)據(jù)保存在最高位,同時將乘數(shù)的最低位輸出作為數(shù)據(jù)選擇器的控制端。也作為最后乘積的低位部分寄存器。數(shù)據(jù)選擇器模塊的功能是實現(xiàn)數(shù)據(jù)的選擇,當(dāng)從乘數(shù)寄存器傳來的控制信號為高電平時,輸出為被乘數(shù),作為加法器的一個輸入,當(dāng)從乘數(shù)寄存器傳來的控制信號位低電平時,輸出為零,作為加法器的輸入。部分積寄存器模塊的功能是寄存從移位電路傳過來的數(shù)據(jù),作為加法器的輸入。移位電路模塊起將部分積移位的作用,同時達到了讓所有模塊在同一個脈沖下工作脈沖同步的作用,
9、由于用組合邏輯電路形成的移位電路不需要脈沖的打入就能工作,當(dāng)加法器的輸出改變時,移位電路就將移位后的部分積送給了部分積寄存器,而不需要讓部分積先將未移位的部分積打如寄存器,再移位的過程。 圖2.1 定點原碼一位乘乘法器的頂層原理圖圖2.2 定點原碼一位乘乘法器的第二層原理圖2.3功能模塊的設(shè)計與實現(xiàn)被乘數(shù)寄存器模塊,乘數(shù)寄存器模塊,計數(shù)器模塊,部分積寄存器模塊用verilog HDL語言設(shè)計輸入方式實現(xiàn)。數(shù)據(jù)選擇器模塊用原理圖設(shè)計輸入方式實現(xiàn)。2.3.1被乘數(shù)寄存器模塊的設(shè)計與實現(xiàn)此模塊用Verilog HDL語言輸入方式設(shè)計,運算位數(shù)為8位,實現(xiàn)被乘數(shù)的接收及寄存,提供選擇器模塊的輸入。用X
10、總線輸入,XOUT總線輸出。當(dāng)輸入端LOAD為高電平的時候,被乘數(shù)寄存器把總線X的數(shù)據(jù)打入,當(dāng)LOAD為低電平的時候,被乘數(shù)寄存器保持數(shù)據(jù)不變。該模塊的符號如圖2.31。 圖2.311 被乘數(shù)寄存器的符號Verilog代碼如下:module JICUNQIX (CLK, X, LOAD, XOUT) ;input CLK ;input 7:0 X ;input LOAD ;output 7:0 XOUT ;reg 7:0XOUT;/ add your declarations herealways (posedge CLK) begin if(LOAD)XOUT=X; end / add yo
11、ur code hereendmodule被乘數(shù)寄存器模塊功能仿真見圖2.312圖2.312被乘數(shù)寄存器模塊功能仿真當(dāng)脈沖的上升沿到來的時,數(shù)據(jù)被打入寄存器,符合要求。2.3.2乘數(shù)寄存器模塊的設(shè)計與實現(xiàn) 此模塊用Verilog HDL語言輸入方式設(shè)計,運算位數(shù)為8位,實現(xiàn)乘數(shù)的接收及寄存,還具有向右移位的功能。Y總線做為輸入,YOUT總線作為輸出。當(dāng)LOAD為高電平的時候,總線Y上的數(shù)據(jù)被打入乘數(shù)寄存器中。當(dāng)LOAD為低電平的時候,每到來一個脈沖,乘數(shù)寄存器向右移動一位,并將從INPUT進入的數(shù)據(jù)打入最高位,同時將最低位的值賦給輸出端LOWBIT。實現(xiàn)乘數(shù)寄存和移位。該模塊的符號如圖2.32
12、1。 圖2.321乘數(shù)寄存器的符號Verilog代碼如下:module JICUNQIY (LOAD, INPUT, Y, CLK, LOWBIT, YOUT) ;input LOAD ;input INPUT ;input 7:0 Y ;input CLK ;output LOWBIT ;output 7:0 YOUT ;reg LOWBIT;reg 7:0YOUT;/ add your declarations herealways (posedge CLK)begin if(LOAD) begin YOUT=Y; LOWBIT=YOUT0; end else begin YOUT =YO
13、UT1; YOUT7=INPUT; LOWBIT=YOUT0; end end / add your code hereendmodule乘數(shù)寄存器模塊功能仿真見圖2.322圖2.322乘數(shù)寄存器模塊功能仿真LOAD為高電平的時候,數(shù)據(jù)被打入。以后每個脈沖的上升沿到來是INPUT被打入最高位。2.3.3部分積寄存器模塊的設(shè)計與實現(xiàn) 此模塊用Verilog HDL語言輸入方式設(shè)計,運算位數(shù)為8位,功能是寄存從移位電路傳過來的數(shù)據(jù),作為加法器的輸入??偩€IN作為輸入,總線OUT作為輸出。當(dāng)CLR為高電平的時候,部分積寄存器的輸出被清零。當(dāng)CLR為低電平的時候,每到來一個脈沖,就將通過移位電路送過來
14、的值賦給輸出端OUT。該模塊的符號如圖2.331。 圖2.331部分積寄存器的符號Verilog代碼如下:module JCQBFJ (CLK, CLR, IN, HIGH, OUT) ;input CLK ;input CLR ;input 7:0 IN ;input HIGH ;output 7:0 OUT ;reg7:0OUT;/ add your declarations herealways (posedge CLK) begin OUT7:0=IN7:0; OUT7=HIGH; end / add your code hereendmodule部分積寄存器模塊功能仿真見圖2.332
15、圖2.332部分積寄存器模塊功能仿真輸出數(shù)據(jù)即為輸入數(shù)據(jù),符合設(shè)計要求。2.3.4計數(shù)器模塊的設(shè)計與實現(xiàn) 此模塊用Verilog HDL語言輸入方式設(shè)計,起控制整個運算過程的作用。當(dāng)CLR為高電平的時候,計數(shù)器被清零,同時CLKO為高電平。以后每進來一個脈沖,計數(shù)器加1,直到加到7,也就是乘數(shù)移位次數(shù)達到8次的時候,CLKO輸出為低電平。該模塊的符號如圖2.341。 圖2.341計數(shù)器模塊的符號 Verilog代碼如下: module JiShuQi (CLKI, CLR, CLKO) ;input CLKI ;input CLR ;output CLKO ;reg CLKO;reg 3:0t
16、emp;/ add your declarations herealways (posedge CLKI or posedge CLR)begin if(CLR) begin; temp=0; CLKO=1; end else begin if(temp=7) CLKO=0; else temp=temp+1; endend / add your code hereendmodule計數(shù)器模塊功能仿真見圖2.342圖2.342 計數(shù)器模塊功能仿真當(dāng)計數(shù)脈沖達到8的時候,脈沖輸出恒為低電平脈沖,符合設(shè)計要求,能達到控制作用。2.3.5二選一選擇器模塊此模塊用原理圖輸入方式設(shè)計,運算位數(shù)為8位,功
17、能是實現(xiàn)數(shù)據(jù)的選擇??偩€IN作為輸入,總線OUT作為輸出。當(dāng)輸入端CTR為高電平的時候,輸出OUT為乘數(shù)寄存器傳進值,當(dāng)CTR為低電平的時候,輸出OUT為0。電路原理圖見圖2.351。二選一選擇器模塊功能仿真見圖2.352和圖2.353圖2.352 二選一選擇器模塊功能仿真當(dāng)CTR為高電平時,輸出為乘數(shù) ,符合要求。圖2.352 二選一選擇器模塊功能仿真當(dāng)CTR為低電平時,輸出為0,符合要求。圖2.351 二選一選擇電路的原理圖2.4 仿真調(diào)試仿真調(diào)試主要驗證設(shè)計電路邏輯功能、時序的正確性,本設(shè)計中主要采用功能仿真方法對設(shè)計的電路進行仿真。(1)建立仿真波形文件及仿真信號選擇功能仿真時,首先選
18、定需要仿真的模塊,建立仿真波形文件,選擇仿真信號,對選定的輸入信號設(shè)置參數(shù),實驗中為了讓運算沒有錯誤,需要對每一個非元件庫中提供的模塊進行功能仿真。選定的仿真信號和設(shè)置的參數(shù)圖所示。(2)功能仿真結(jié)果與分析定點原碼一位乘乘法器的整體功能仿真見圖2.41和2.42。 圖2.41輸入被乘數(shù)3H,乘數(shù)4H,輸出為0C,結(jié)果正確。 圖2.42輸入被乘數(shù)5H,乘數(shù)4H,輸出為14(16進制數(shù)),結(jié)果正確。第3章編程下載與硬件測試3.1 編程下載利用XilinxFoudation3.1的編程下載功能,將得到的furui.bit文件下載到XCV200實驗板的XCV200可編程邏輯芯片中。3.2 硬件測試及結(jié)果分析 由于本人能力有限,該步驟未能完成。 參考文獻1 曹昕燕. EDA技術(shù)實驗與課程設(shè)計M.北京:清華大學(xué)出版社,20062 范延濱.微型計算機系統(tǒng)
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公寓購房定金合同實例
- 2025-2030年中國預(yù)制凝膠行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國鋁扣板行業(yè)發(fā)展現(xiàn)狀分析與競爭策略分析報告
- 數(shù)據(jù)恢復(fù)及維護服務(wù)合同
- 軟件安全防護技術(shù)服務(wù)合同
- 房子補償維修協(xié)議書
- 整體轉(zhuǎn)讓農(nóng)莊協(xié)議書
- 廢桶回收合同協(xié)議書
- 招標(biāo)建設(shè)合同協(xié)議書
- 招生承包合同協(xié)議書
- 虛擬商業(yè)創(chuàng)新創(chuàng)業(yè)實訓(xùn)智慧樹知到答案2024年西安工業(yè)大學(xué)
- 三年級數(shù)學(xué)下冊計算題大全(每日一練共18份)
- 閥門產(chǎn)品質(zhì)量證明書
- 高二語文九日齊山登高省公開課金獎全國賽課一等獎微課獲獎?wù)n件
- 2024-2030年中國樺樹汁行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 食品工程系畜產(chǎn)品加工技術(shù)教案
- 入股合作的協(xié)議書(2024版)
- 安徽省合肥市瑤海區(qū)第三十八中學(xué)2023-2024學(xué)年八年級下學(xué)期期末語文試題(解析版)
- 廣東省深圳市南山區(qū)2023-2024學(xué)年七年級下學(xué)期期末英語試題
- 偏差行為、卓越一生3.0版
- 2024年四川省成都市中考英語試卷(含官方答案)
評論
0/150
提交評論