当前位置:网站首页>ALU逻辑运算单元
ALU逻辑运算单元
2022-07-05 05:27:00 【李峻枫】
ALU逻辑运算单元
根据(二)中对单周期 CPU 的定义,该模块需要实现以下 4 类运算:加、减、按位与、按位或。因此需要 2 bit 的控制信号 Aluc 来控制 ALU 的运算类型。
信号的对应关系:
表 4 1 Aluc编码及对应功能
Aluc 编码 实现功能 运算类型
00 加 算数运算
01 减 算术运算
10 按位与 逻辑运算
11 按位或 逻辑运算
加减法可以使用 32 位全加器ADDSUB_32实现,按位与使用了AND32,按位或使用了OR32,对功能的选择使用了32位二选一多路选择器MUX2X32实现,返回了结果R,以及ALU的运算结果是否为0的判断Z(若R=0,Z=1;),Z主要是用于beq、bne指令。
代码
module ALU(X,Y,Aluc,R,Z);
input [31:0]X,Y;
input [1:0] Aluc;
output [31:0]R;
output Z;
wire [31:0]d_as,d_and,d_or,d_and_or;
ADDSUB_32 as32(X,Y,Aluc[0],d_as);
AND32 a32(X,Y,d_and);
OR32 o32(X,Y,d_or);
MUX2X32 select1(d_and,d_or,Aluc[0],d_and_or);
MUX2X32 select2(d_as,d_and_or,Aluc[1],R);
isZero i1(R,Z);
endmodule
边栏推荐
- Gbase database helps the development of digital finance in the Bay Area
- Development error notes
- [turn to] MySQL operation practice (I): Keywords & functions
- Zheng Qing 21 ACM is fun. (3) part of the problem solution and summary
- Embedded database development programming (V) -- DQL
- Fragment addition failed error lookup
- Pointnet++学习
- Solon Auth 认证框架使用演示(更简单的认证框架)
- FVP和Juno平台的Memory Layout介绍
- Animation scoring data analysis and visualization and it industry recruitment data analysis and visualization
猜你喜欢
随机推荐
Csp-j-2020-excellent split multiple solutions
二十六、文件系统API(设备在应用间的共享;目录和文件API)
room数据库的使用
Summary of Haut OJ 2021 freshman week
Haut OJ 1245: large factorial of CDs --- high precision factorial
How can the Solon framework easily obtain the response time of each request?
Merge sort
Bucket sort
PMP考生,请查收7月PMP考试注意事项
Programmers' experience of delivering takeout
【ES实战】ES上的native realm安全方式使用
Insert sort
The next key of win generates the timestamp file of the current day
YOLOv5添加注意力机制
26、 File system API (device sharing between applications; directory and file API)
使用Room数据库报警告: Schema export directory is not provided to the annotation processor so we cannot expor
剑指 Offer 06.从头到尾打印链表
远程升级怕截胡?详解FOTA安全升级
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8
Embedded database development programming (V) -- DQL