1、个人收集整理 勿做商业用途 算术运算单元ALU的设计 设计要求: (1)设计4位ALU,可实现8种算术逻辑运算. a。进行两个四位二进制数的运算。 b。算术运算:A+B,A-B,A+1,A—1 c.逻辑运算:A and B,A or B,A not, A xor B (2)4位输入A3-A0、B3-—-B0用开关设置输入。 (3)8种算术逻辑运算通过3位功能选择开关选择某一种功能. (4) 运算结果用两个数码管显示和2个发光管显示(有一个显示进借位、有一个显示溢出). 系统框图: 设计结构
2、 设计分为输入控制模块、输出选择模块、加减运算模块及逻辑运算模块等部分. 在输入控制部分,利用锁存器,使A和B信号通过脉冲控制同时送入运算电路. 在输出控制模块,选择需要输出的显示信号。加减运算电路实现加减运算功能. 逻辑运算电路实现逻辑运算功能。 输入控制 加减运算 加减输出显示 输出选择控制 逻辑电路 逻辑显示 (总电路图) 功能的实现原理: 该电路是是实现四种算术运算和四种逻辑运算功能的算术运算
3、单元电路。主要是由算术运算模块、逻辑运算模块、输入控制模块和输出控制模块几部分组成。通过时序输入控制实现信号A,B同时送入到运算电路中进行运算,这样能解决非时序信号先后输入进行运算时产生的错误。信号送入运算单元后,逻辑运算和算术运算是同时进行的,只是在不同的模块中进行的而已。而四种算术运算则是通过控制端来进行先后选择运算的。在输出时只显示一种功能则是通过5片74LS244(三态门芯片)和一些门电路通过控制信号f3,f2,f1置不同的数进行控制的选择输出的,数码显示管显示的算术运算的结果,小灯泡则是用来显示逻辑运算的结果。f3f2f1置数111、000、001、010、011、100、101、1
4、10分别控制的输出显示是A+B,A—B,A与B,A或B,A异或B,非A,A+1,A-1.运算结果是同时被送出的,当f3f2f1被置某一个数时,对应的芯片244的使能端有效,那么相应的功能就被出去显示。当f3f2f1被置111、000,101、110时第一片244始终有效,此时输出的是哪一种功能则取决于这几个数所控制的算术运算电路在进行的是哪一种功能了,它们都是经过一定的门器件进行控制的。输出除了显示这8中功能外,还显示了算术运算中的溢出与进借位显示。个人收集整理,勿做商业用途 器件清单:74LS183 8片 74LS244 5片 74LS373 2片 74LS161
5、 1片 74LS157 1片 74LS04 74LS08 74LS32 74LS136 2片 74LS11 2片 74LS47 3片 数码管 3个 二极管 若干 电阻若干 导线若干 各部分功能: (输入时序控制) 输入时序控制:通过两片74LS373(锁存器)、一片74LS161(计数器)和相应的门器件来实现使输入信号A、B能同时送入运算单元电路进行运算,避免了一些不必要错误的发生。当第一个脉冲输入时,计数器的输出端输出的是00信号,该
6、信号通过门器件作用使第一片373ENG有效,使信号A送入锁存器里面锁存不输出,当第二个脉冲到来时,161输出端输出01,此时使信号B送入锁存器锁存不输出,当第三个脉冲到来时,两片373的的~OC有效,锁存在锁存器里面的信号A,B同时被送入运算电路进行运算,同时161被置零,若再来一个脉冲时输出端又从00开始计数控制373了。这个的目的是使计数器当输出端输出10时时输入端的信号重新置零开始计数控制锁存器.00、01、10 这三种情况分别控制两片373的状态,分别代表锁存A,锁存B和同时输出A,B。脉冲信号由一个开关在总电路中控制。 输出选择 输出选择:该模块是用门器件通过控
7、制f3f2f1的置数来选择哪一端输出为1,从而控制哪一片74LS244有效,选择输出哪一种功能所对应的结果显示出来.其中and,or,xor,r分别对应逻辑运算结果对应的244芯片的使能端的有效性,而account对应算术运算,EN对应选择A+1,A—1功能,E对应选择A+B,A—B功能。这些端口对应的都是高电平,在外面加了一个非门后就能直接控制244的使能端了。该模块的真值表如下: f3f2f1 account E EN and or xor r 111 1 0 0 0 0 0 0 000 1 1 0 0 0 0 0 001 0 0 0
8、 1 0 0 0 010 0 0 0 0 1 0 0 011 0 0 0 0 0 1 0 100 0 0 0 0 0 0 1 101 1 0 1 0 0 0 0 110 1 1 1 0 0 0 0 当输出为1时对应的端口处于有效状态。f3f2f1置数111、000、001、010、011、100、101、110分别对应的功能是A+B,A—B,A与B,A或B,A异或B,非A,A+1,A-1 (运算部分) (选择输出部分) 算术运算 算术运算:该部分由两个小部分组成,一部分是做加减运算
9、的,另一部分是用作选择输出的。因为只有一个数码管,要用该数码管既显示加的结果也显示减的结果,就选用了一个子电路来对其进行操作。E2为0时输出是加的结果,为1时输出减的结果。运算电路中运用了8个72LS183,1个74LS157和异或门组成了这个算术运算电路(可以实现被减数小于减数的运算)。157是一个数据选择器,-G始终为低电平选择器才处在工作状态,选择器的上部分与信号B连接,下部分置1,当-A/B端置1时做自加减运算,置0时做加减运算。具体是加还是减则取决于E端的置数,这些控制端都是用一定门器件通过f3f2f1来控制的。 仿真电路图: 逻辑运算模块: 运算功能:
10、①加法功能 电 路 图 仿 真 1110+1101=1011 产生进位,进位端有显示 硬件搭建电路 分 析 2+3=5,进位端和益出端均无显示 电路仿真 分析 3+6=9,有益出无进位 与运算: 1110 与1101=1100,f3f2f1为001,溢出与进位都有变化是因为f3f2f1变化了 ,而E与EN端都是有这里控制的 0100(4)与0110(6)=0100(4) 或运算: 1110或1101=1111,f3f2f1为010 0110(6)或0111(7)=0111(7) 异或运算: 1110异或1101=0011,f3f2f1为011 0100(4)异或0011(3)=0111(7) 非A运算: 1110非=0001,f3f2f1为100 1110(14)非=0001(1) A自加运算: 1000(8)+1=1001(9),f3f2f1为101 7+1=8 自减运算:






