資源描述:
《算術(shù)邏輯運(yùn)算單元》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、運(yùn)算器部件實(shí)驗(yàn):加法器一、實(shí)驗(yàn)?zāi)康?、掌握運(yùn)算器的工作原理。2、驗(yàn)證運(yùn)算器的功能。二、實(shí)驗(yàn)原理算術(shù)邏輯單元的主要功能是對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作。算術(shù)運(yùn)算包括定點(diǎn)加減乘除運(yùn)算;邏輯運(yùn)算主要有邏輯與、邏輯或、邏輯異或和邏輯非操作。ALU通常有兩個(gè)數(shù)據(jù)輸入端A和B,一個(gè)數(shù)據(jù)輸出端Y以及標(biāo)志位等。74181是一種典型的4位ALU器件。下圖是74181的邏輯電路圖。20世紀(jì)80年代計(jì)算機(jī)中的算術(shù)邏輯單元有許多是用現(xiàn)成的算術(shù)邏輯器件連接起來構(gòu)成的,如上面提到的74181和Am2901等就是著名的算術(shù)邏輯器件。使用這些4位
2、的算術(shù)邏輯器件,能夠構(gòu)成8位、16位等長(zhǎng)度的算術(shù)邏輯單元?,F(xiàn)在由于超大規(guī)模器件的廣泛應(yīng)用,使用這種方法構(gòu)成算術(shù)邏輯單元已經(jīng)不多見,代之以直接用硬件描述語言設(shè)計(jì)算術(shù)邏輯單元。三、實(shí)驗(yàn)內(nèi)容6設(shè)計(jì)一個(gè)16位算術(shù)邏輯單元,滿足以下要求。(1)16位算術(shù)邏輯單元能夠進(jìn)行下列運(yùn)算:加法、減法、加1、減1、與、或、非和傳送。用3位運(yùn)算操作碼OP[2…0]進(jìn)行運(yùn)算,控制方式如下表所示。運(yùn)算操作碼OP[2…0]運(yùn)算對(duì)標(biāo)志位Z和C的影響000result←A+B影響標(biāo)志位Z和C001result←A+1影響標(biāo)志位Z和C010result←A-B影響標(biāo)志位Z
3、和C011result←A-1影響標(biāo)志位Z和C100result←AandB影響標(biāo)志位Z101result←AorB影響標(biāo)志位Z110result←notB影響標(biāo)志位Z111result←B不影響標(biāo)志位Z和C(2)設(shè)立兩個(gè)標(biāo)志寄存器Z和C。當(dāng)復(fù)位信號(hào)reset為低電平時(shí),將這兩個(gè)標(biāo)志寄存器清零。當(dāng)運(yùn)算結(jié)束后,在時(shí)鐘clk的上升沿改變標(biāo)志寄存器Z和C的值。運(yùn)算結(jié)果改變標(biāo)志寄存器C、Z的情況如下:加法、減法、加1、減1運(yùn)算改變Z、C;與、或、非運(yùn)算改變Z,C保持不變;傳送操作保持Z、C不變。因此在運(yùn)算結(jié)束時(shí)Z、C需要兩個(gè)D觸發(fā)器保存。(3)
4、為了保存操作數(shù)A和B,設(shè)計(jì)兩個(gè)16位寄存器A和B。當(dāng)寄存器選擇信號(hào)sel=0時(shí),如果允許寫信號(hào)write=1,則在時(shí)鐘clk的上升沿將數(shù)據(jù)輸入dinput送入A寄存器;當(dāng)sel=1時(shí),如果允許寫信號(hào)write=1,則在時(shí)鐘clk的上升沿將數(shù)據(jù)輸入dinput送入B寄存器。(4)算術(shù)邏輯單元用一個(gè)設(shè)計(jì)實(shí)體完成。一、實(shí)驗(yàn)數(shù)據(jù)6運(yùn)算數(shù)據(jù)運(yùn)算類型操作碼OP運(yùn)算結(jié)果result標(biāo)志C標(biāo)志Z運(yùn)算前運(yùn)算后運(yùn)算前運(yùn)算后第一組數(shù)據(jù)A=0xAAAAB=0x5555result←A+B0000xFFFF0000result←A+10010xAAAB0000r
5、esult←A-B0100x55550000result←A-10110xAAA90000result←AandB1000x00000001result←AorB1010xFFFF0010result←notB1100AAAA0000result←B1110x55550000第2組數(shù)據(jù)A=0xFFFFB=0x0000result←A+B0000xFFFF0000result←A+10010x00000101result←A-B0100xFFFF1010result←A-10110xFFFE0000result←AandB1000x000
6、00001result←AorB1010xFFFF0010result←notB1100xFFFF0000result←B1110x00000001第3組數(shù)據(jù)A=0x0000B=0xFFFFresult←A+B0000xFFFF0010result←A+10010x00010000result←A-B0100x00010100result←A-10110xFFFF1100result←AandB1000x00001001result←AorB1010xFFFF0010result←notB1100x00000001result←B111
7、0xFFFF0010第4組數(shù)據(jù)result←A+B0000x21B301006A=0x8950B=0x9863result←A+10010x89511000result←A-B0100xF0ED0100result←A-10110x894F1000result←AandB1000x88400000result←AorB1010x99730000result←notB1100x679C0000result←B1110x98630000一、心得體會(huì)本次實(shí)驗(yàn)中,實(shí)現(xiàn)了算術(shù)邏輯運(yùn)算單元,其主要功能是對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移
8、位操作。通過本次實(shí)驗(yàn),對(duì)算術(shù)邏輯運(yùn)算單元的計(jì)算原理及過程有了進(jìn)一步的理解,通過實(shí)驗(yàn)解決了課上發(fā)現(xiàn)而且沒有解決的問題。二、源代碼libraryieee;useieee.std_logic_1164.all;u