文档介绍:燕山大学EDA课程设计报告书题目:算术运算逻辑单元ALU姓名:班级:学号:成绩:一、设计题目及要求题目名称:算术运算单元ALU要求:;:A+B,A-B,A×B;:AandB,AorB,Anot,AxorB;,以LED指示灯显示逻辑运算结果。二、设计过程及内容(包括总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)(1)根据设计要求将题目划分为五个模块。包括两个逻辑运算模块,两个算术运算模块,和一个控制模块。其中逻辑运算模块为AandB和AorB,Anot和AxorB;算术模块为A±B,A×B。(2)因为需要进行四位二进制数的运算,因此用A4,A3,A2,A1表示四位二进制数A,用B4,B3,B,B1表示四位二进制数B,用C4,C3,C2,C1表示四位二进制数C。其中A,B为输入,C为输出。(1)A+B和A-B模块A+B可以直接通过74283两个四位二进制数加法器实现。A-B可以看作A+(-B),即A加B的补码来实现。同时再设计一个转换控制端M。M=0时实现A+B,M=1时实现A-B。最后再设计一个总的控制端K1,K1=1时模块正常工作,K1=0时不工作。做加法时,C0为进位输出,C0输出1表示有进位,做减法时,C0为借位输出,C0输出1表示有借位。通过74283五位输出,进入译码器将五位变成八位输出,在通过数码管显示。实现A+B,例:0111+0111=1110(7+7=14)则数码管应显示14。实现A-B例:1100-0110=0110(12-6=6)则数码管显示06。A+B,A-B总原理图如下:A+B,A-B分原理图如下:译码器原理图如下:扫描电路原理图如下:A+B仿真图:B仿真图: (2)AXB模块AXB模块采用乘数累加被乘数的次的原理来实现乘法功能。乘数输入端为A0~A3,被乘数输入端为B0~B3。当乘数和被乘数均输入时,乘数进入到加法器中与默认值0000相加,相加的结果在时钟信号CLK的第一个脉冲时存入置数器74161中;在第一个时钟信号到来时,计数器74161计数一次,并将输出输入到比较器7485中,与被乘数作比较,如果两者不相等,则7485输出为0,通过非门转化为1,使乘数可以继续输入到加法器74283中进行累加;当下一个时钟信号到来时,计数器计数一次,然后乘数累加一次。当计数器的数值与被乘数的大小相等时,比较器7485输出1,通过非门转化为0,使乘数停止输入。当加法器中相加的结果有几位时,通过cout段输出到另一计数器中,计数器的输出为乘法运算结果的高四位输出,加法器的最后输出为运算结果的低四位输出。最后的运算结果转化为十进制,将高位的数值乘以16再加地位的数值即可。AXB原理图:AXB仿真图:(3)AandB和AorB模块AandB模块通过四个二输入与门实现,AorB通过四个二输入或门实现。同时设计一个转换控制端M,当M=1时,AandB模块工作,M=0时,AorB模块工作。最后设计一个总的控制端K3,K3=1时模块正常工作,K3=0时模块不工作。最后,在C1,C2,C3,C4四个输出端接LED指示灯,当输出1时,指示灯亮,输出0时,灯不亮。Aandb,AorB的原理图如下:AandB仿真图:AorB仿真图: