• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于quartus II的計算機運算器設(shè)計

      2014-10-21 19:53:35田小敏
      科學(xué)時代·下半月 2014年12期
      關(guān)鍵詞:試商被減數(shù)被除數(shù)

      田小敏

      【摘 要】隨著EDA技術(shù)、CPLD/FPGA的迅猛發(fā)展以及相關(guān)軟件的日益成熟,利用計算機來設(shè)計計算機成為一種行之有效且勢在必行的新方式。本文基于Q uartus II 6.0的圖形設(shè)計方式,輔助Verilog HDL語言,以封裝的基本邏輯單元為基礎(chǔ)設(shè)計了4位定點除法器。仿真結(jié)果表明,本文設(shè)計的除法器能夠完成預(yù)期的除法運算功能。

      【關(guān)鍵詞】Q uartus; II 6.0;除法器設(shè)計;CPLD/FPGA

      1 手工除法運算方法分析

      計算機內(nèi)部數(shù)據(jù)一般用補碼表示[1],為了找出適合于計算機運算器執(zhí)行的除法運算方法,下面以4位二進制數(shù)為例分析手工除法算法[2]。

      正整數(shù)做除法運算時,商的數(shù)碼由高到低生成,確定商之前需要比較被除數(shù)與除數(shù)位數(shù)相同的部分是否夠減,不夠減商位0,夠減商為1[3]。由于這種試商操作是從被除數(shù)的高位開始的,為了保證位數(shù)的一致性,將被除數(shù)的最高位填寫3個”0”,然后進行4位數(shù)的比較。每次得到的部分差要左移一位,最低位要由被除數(shù)沒參加比較的下一位填充。當(dāng)被除數(shù)的最低位數(shù)碼經(jīng)過試商,前次部分差和此次一位商與除數(shù)的積相減后,得到的部分差就是余數(shù)。

      分析該手工除法運算方法可知:當(dāng)部分積為0時,要直接將前次部分差左移一位,使之低3位的成為下一次的被減數(shù)的高3位,否則,將本次減法運算的結(jié)果左移一位,使之成為被減數(shù)的高3位。

      整個除法的運算過程認(rèn)定除數(shù)是不動的,那么被除數(shù)和商是每步相減之后,到要左移一位,添加下面一位,然后與一位乘積做減法。

      2 正整數(shù)除法器設(shè)計

      按照上述分析在Quartus II[4]中設(shè)計正整數(shù)除法電路如圖1所示。主要部件為加減運算單元,保存為cfq1.bdf。用一條輸入線和它的非門的或運算給減法控制線sub賦值1。正整數(shù)除法的除數(shù)和被除數(shù)的最高位均為0,因此,將補充的被除數(shù)的高3位直接同被除數(shù)的最高位連在一起,就能夠得到使高位補充數(shù)碼都為0的目的。

      每次試商的時候要判斷部分差是否夠減,判斷的過程就用減法器來進行。當(dāng)減法器輸出的最高位是1時,表明試商時不夠減,因此本位商的數(shù)碼應(yīng)是0,否則是1。

      本次試商的數(shù)碼可以直接用非門電路從減法運算的最高位得到,部分差可以又能夠減法器的最高位控制。當(dāng)本次減法輸出的最高位是1時,就表示不夠減,因此要讓上一次的部分差做下一次的被減數(shù);如果夠減,就讓本次減法運算的差做下一次的被減數(shù),這種設(shè)計被稱作本位差邏輯。除數(shù)被送到每次減法運算的b輸入端,被減數(shù)是通過本位差邏輯送到被減數(shù)a端的,通過商數(shù)碼線就得到本位商。當(dāng)被除數(shù)的最低位試商過后,本位差邏輯的輸出就是除法的余數(shù)。

      3 正負(fù)對稱區(qū)間除法器設(shè)計

      正負(fù)對稱區(qū)間上有符號除法器是在正整數(shù)除法器基礎(chǔ)上設(shè)計的,首先將有符號數(shù)轉(zhuǎn)化成絕對值,然后利用正數(shù)除法器計算,最后將結(jié)果利用符號關(guān)系進行轉(zhuǎn)化。

      3. 1 結(jié)果轉(zhuǎn)換控制電路設(shè)計

      結(jié)果轉(zhuǎn)換控制電路時根據(jù)求補碼的方法進行的[5]。轉(zhuǎn)換編碼是根據(jù)有符號數(shù)的最高位來求補碼的,從而達到求商或余數(shù)符號的目的。根據(jù)除法運算的符號規(guī)定,通過輸入數(shù)的最高位同號還是異號來決定商的符號。當(dāng)除數(shù)和被除數(shù)符號相反時,用它們的異或表示,并用這個標(biāo)志線來將商改成附屬的補碼表示形式。余數(shù)的符號就是由被除數(shù)符號來確定。

      3. 2 對稱除法器設(shè)計

      對稱除法器的電路如圖2所示。在正數(shù)除法器前端輸入初添加絕對值電路,后端添加轉(zhuǎn)換控制電路。

      4 實用除法器設(shè)計

      實用除法器前端要設(shè)計除數(shù)為0的控制,還要設(shè)置最高位是1且其余各位都是0的最小負(fù)數(shù)的判斷,它是限位計數(shù)表示的最小數(shù),也是補碼制的最小的數(shù)。如果除數(shù)為0,那么應(yīng)立即中止除法計算,并報警。如果遇到除數(shù)是最小數(shù)但被除數(shù)不是最小數(shù)的情況,那么商就是0,余數(shù)是被除數(shù)。如果除數(shù)被除數(shù)都是最小數(shù),那么商就是1,余數(shù)是0,如果只被除數(shù)是最小數(shù)的情況,那么可以用絕對值比它小1的數(shù)代替做除法,然后調(diào)整余數(shù)和商,最后能得到正確結(jié)果。調(diào)整余數(shù)和商的方法是將余數(shù)的絕對值加1,然后與除數(shù)比較,若等于除數(shù)則商加1余數(shù)為0,不然只是將加1的結(jié)果作余數(shù)。

      4.1 最小數(shù)判斷電路

      當(dāng)標(biāo)志線為0時,表示否定;標(biāo)志線為1時,表示肯定。電路圖如3所示。

      4. 2 僅除數(shù)是最小數(shù)的判斷

      利用對稱區(qū)間的有符號數(shù)除法器進行除法運算的關(guān)鍵是變?yōu)榻^對值進行,因而當(dāng)除數(shù)是最小數(shù)時,它的絕對值最大,任何相同位數(shù)的數(shù)的絕對值都不會超過它,這樣商是0,余數(shù)是被除數(shù)。表明僅除數(shù)是最小數(shù)的因素有兩條線,一是數(shù)據(jù)a的最小標(biāo)志線,二是數(shù)據(jù)b的最小標(biāo)志線,確定僅除數(shù)是最小數(shù)的應(yīng)是它們的聯(lián)合。當(dāng)僅除數(shù)最小標(biāo)志線為1時,通過一個非門將前面運算的結(jié)果都?xì)w0了,因此商是0。另一方面,由僅除數(shù)最小標(biāo)志線直接控制余數(shù),和被除數(shù)通過與門和或門輸出余數(shù)。

      4. 3 除數(shù)與被除數(shù)都是最小數(shù)的設(shè)計

      除數(shù)與被除數(shù)都是最小數(shù)的除法相對簡單,只要商1,余數(shù)為0即可。a,b最小線同時為1的標(biāo)志線,通過非門控制運算輸出??刂朴鄶?shù)的與門組使余數(shù)為0,而商的控制有了變化,這時僅使商的高位全為0,而最低位通過特殊設(shè)計使之為1,從而使商位1。

      4. 4 被除數(shù)是最小數(shù)的設(shè)計

      實用除法器最為復(fù)雜的設(shè)計應(yīng)屬被除數(shù)是最小數(shù)的設(shè)計了。解決這一問題的辦法是求最小數(shù)相鄰的數(shù)與該除數(shù)的除法運算結(jié)果,然后判斷余數(shù)加1是否等于除數(shù),如果等于,則商加1,余數(shù)為0,否則用加1后的數(shù)做最終的余數(shù)。具體分以下幾步:

      (1)求最小數(shù)的相鄰數(shù)

      經(jīng)分析知道,最小數(shù)最高位是1,其余都是0,將這個數(shù)加1的結(jié)果是只有最低位變成了反碼,所以對被除數(shù)最低位加異或門。

      (2)加1電路設(shè)計

      將減法器的b輸入端和加減控制端都置為0,為了能夠控制是否加1,又在最低的進位端引進了被除數(shù)是最小數(shù)而除數(shù)不是的標(biāo)志線f,當(dāng)f = 1時,輸出數(shù)據(jù)就是輸入數(shù)據(jù)加1,否則不進行加1運算。

      (3)判斷余數(shù)加1是否與除數(shù)相等

      用最小數(shù)相鄰數(shù)做除法,得到的余數(shù)必須加1,但加1之后的值有可能等于余數(shù)。如果相等,商必須加1,以0作為余數(shù);如果不等,那么加1之后才是所求余數(shù)。當(dāng)相減 結(jié)果是0時,由f和zfh與運算的非決定著是否輸出非0余數(shù)或余數(shù)0。f=1表示被除數(shù)是最小數(shù),除數(shù)不是。zfh=1表示加1后的余數(shù)與除數(shù)相等,否則不等。因此f和zfh的與運算的非能夠決定輸出的余數(shù)。

      (4)求最后的商

      商的最終結(jié)果取決于余數(shù)的計算,是否加1要由標(biāo)志線zfh控制,當(dāng)zfh=1時商加1,否則不加。

      5 除法器總體設(shè)計

      實用4位除法器的完整電路如圖4所示。要說完整,還要添加除數(shù)為0的判斷,建立中斷,本文暫不考慮。

      仿真結(jié)果如圖5所示。計算1000除以0011,被除數(shù)為最小數(shù),商為1110,余數(shù)為1110。其它三種情況也都仿真成功,說明除法器設(shè)計成功。

      6 小結(jié)

      本文基于QuartusII平臺設(shè)計了4位除法器,仿真結(jié)果表明,該除法器能夠完成4位帶符號數(shù)的除法操作。該除法器的運算位數(shù)可以根據(jù)需要增加,只是電路設(shè)計更加復(fù)雜,但原理相似。在本文設(shè)計的除法器基礎(chǔ)上進一步加上存儲器,控制器,接口,中斷,DMA,輸入輸出設(shè)備等,成為一個比較完整的8位除法計算器。

      參考文獻:

      [1]余孟嘗.數(shù)字電子技術(shù)基礎(chǔ)簡明教程[M].北京:高等教育出版社,1999:5- 65.

      [2]姜詠江.基于QuartusII的計算機核心設(shè)計[M].北京:清華大學(xué)出版社, 2007: 50- 75.

      [3]蔣本珊.計算機組成原理[M].北京:清華大學(xué)出版社,2002:43- 48.

      [4]潘松,黃繼業(yè).EDA技術(shù)實用教程[M].北京:科學(xué)出版社,2006:127- 190.

      [5]趙保經(jīng).中國集成電路大全TTL集成電路分冊、COMS集成電路分冊[M].北京:國防工業(yè)出版社,1985:23- 28.

      猜你喜歡
      試商被減數(shù)被除數(shù)
      除數(shù)除數(shù)不同不同 試商試商有別有別
      商一定小于被除數(shù)嗎
      不靈了
      分類試商
      被除數(shù)可能是幾
      試商妙計
      20以內(nèi)的退位減法
      加減法的錯中求解
      被除數(shù)可能是多少
      “五入法”試商教學(xué)實錄與解讀
      施秉县| 长葛市| 商水县| 大英县| 金川县| 安陆市| 若尔盖县| 贵南县| 红河县| 玉溪市| 资中县| 湖北省| 深圳市| 大渡口区| 韶山市| 明光市| 临高县| 沙湾县| 上杭县| 湖口县| 承德县| 丰都县| 开平市| 桓台县| 凤翔县| 南开区| 临汾市| 岚皋县| 遂宁市| 广宗县| 麻江县| 城步| 茂名市| 湟源县| 金华市| 丹凤县| 永康市| 赣州市| 云南省| 锡林浩特市| 富民县|