運算器設計(Logisim實現)

2021-09-25 04:40:52 字數 2510 閱讀 8720

實驗平台介紹

1、logisim軟體是一種用於設計和模擬數字邏輯電路的工具。其簡單的工具欄介面和構建它們時的電路**,使得它非常簡單,有助於學習與邏輯電路相關的基本概念。由於能夠從較小的子電路構建更大的電路,並通過單個滑鼠拖動來繪製電線束,因此可以達到使用logisim來設計和模擬整個cpu目的。

實驗任務

1、多位序列加法器和多位可控加減電路的設計

(1)設計完成8位序列加法器

(2)找到「☆8位可控加減法器」子電路,**驗證設計的正確性。

2、快速加法器的設計

(1)利用相關知識設計4位先行進製電路。

(2)利用設計的4位先行電路構造4位快速加法器。

(3)利用4位快速加法器構造16位的快速加法器。

(4)再利用16位的快速加法器構造32位的快速加法器。

3、多位算術邏輯單元alu設計

(1)利用設計的32位快速加法器和logisim中的元件設計完成指定規格的32位  alu單元。

(2)利用「alu自動測試」電路測試alu各種運算功能的正確性。

設計思路、電路實現

1、多位序列加法器

設計思路:

每乙個fa接收來自低位的進製訊號ci-1,以及資料位xi與yi,完成一位的加法,輸出為當前結果位si和進製訊號ci。最低位的進製訊號cin給出,最高位的進製訊號為cout,為了判斷是否溢位,需要將最高位和次高位的進製訊號異或輸出,溢位訊號of。

電路實現:

2、多位序列加減法器

設計思路:

sub=0時,作為加法器,sub就是最低位的進製訊號。

sub=1時,作為減法器, y作為減數,需要將y按位取反,末位加一。取反只需將yi與sub訊號異或即可,將sub作為最低位的進製訊號,滿足末位加一的需要。

電路實現:

3、先行進製電路,以及四位快速加法器

設計思路:

一位全加器,結果si=xi xor yi xor ci;進製訊號ci+1= xi yi + xi ci+ yici

並行加法器進製鏈:

c1 = x1y1+(x1⊕y1)c0=g1+p1c0

c2 = x2y2+(x2⊕y2)c1=g2+p2c1=g2+p2(g1+p1c0)=g2+p2g1+p2p1c0

c3 = x3y3+(x3⊕y3)c2=g3+p3c2=g3+p3(g2+p2g1+p2p1c0)=g3+p3g2+p3p2g1+p3p2p1c0

c4 = x4y4+(x4⊕y4)c3=g4+p4c3=g4+p4(g3+p3g2+p3p2g1+p3p2p1c0)

= g4+p4g3+p4p3g2+p4p3p2g1+p4p3p2p1c0

四位快速加法器中g,p為

gi = xiyi   

pi = xi⊕yi

成組進製

c4 = g4+p4g3+p4p3g2+p4p3p2g1+p4p3p2p1c0

g4 *= g4+p4g3+p4p3g2+p4p3p2g1

p4 *= p4p3p2p1

c4 = g4*+p4*c0  

c1 = g1  +p1 c0    

先行進製電路:

四位快速加法器電路:

4、十六位先行進製加法器

設計思路:

十六位加法器的實現需要借助已經實現的先行進製電路以及四個4位快速加法器。cin依然作為最低4位快速加法器的進製訊號以及cla74182,cla74182輸出的ci-1作為4位快速加法器的cin訊號。

電路設計:

5、三十二位加法器(不要先行進製)

電路設計:

乘法運算器設計

1圖1圖1圖1左是實現原碼一位乘法器的流程圖,右邊根據流程圖設計的概要圖,左邊的迴圈由右邊的計數器cnt控制,每次移位,得出yi的值 i及乘數y的第i位的值,0或1 由右圖可以看出,yi 0時,x 通道關閉,0通道開啟,a通過alu加0,當yi 1時,0通道關閉,x 通道開啟,a通過alu加 x 之...

簡單工廠類實現運算器

include using namespace std class operation 運算類 double getnum1 double getnum2 void setnum1 double x void setnum2 double x double virtual getresult cla...

運算方法和運算器

計算機中的資料分為 數值資料和非數值資料,數值資料有確定的值,有大小正負之分,能在數軸上找到它們的位置 非數值資料一般 用來表示符號或者文字,無值的含義。編碼格式 正數的原碼,反碼和補碼都一樣。負數的原碼 符號位為1,其餘不變。負數的反碼 在其原碼的基礎上,符號位不變,數值位取反。負數的補碼 是在其...