当前位置:网站首页>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
边栏推荐
猜你喜欢

A new micro ORM open source framework
![[turn]: OSGi specification in simple terms](/img/54/d73a8d3e375dfe430c2eca39617b9c.png)
[turn]: OSGi specification in simple terms

YOLOv5添加注意力機制

Pointnet++的改进
![[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research](/img/17/db8614b177f33ee4f67b7d65a8430f.png)
[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research

剑指 Offer 58 - II. 左旋转字符串

Improvement of pointnet++

YOLOv5-Shufflenetv2

object serialization

Gbase database helps the development of digital finance in the Bay Area
随机推荐
The present is a gift from heaven -- a film review of the journey of the soul
sync. Interpretation of mutex source code
Web APIs DOM节点
剑指 Offer 53 - II. 0~n-1中缺失的数字
SSH password free login settings and use scripts to SSH login and execute instructions
Add level control and logger level control of Solon logging plug-in
JVM call not used once in ten years
[paper notes] multi goal reinforcement learning: challenging robotics environments and request for research
[sum of two numbers] 169 sum of two numbers II - enter an ordered array
Introduction to memory layout of FVP and Juno platforms
游戏商城毕业设计
剑指 Offer 04. 二维数组中的查找
Haut OJ 1245: large factorial of CDs --- high precision factorial
Developing desktop applications with electron
Drawing dynamic 3D circle with pure C language
Download xftp7 and xshell7 (official website)
After setting up the database and website When you open the app for testing, it shows that the server is being maintained
[binary search] 34 Find the first and last positions of elements in a sorted array
C语言杂谈1
lxml.etree.XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8