1 Star 0 Fork 1

刘梦缘/ALU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
alu.scala 958 Bytes
一键复制 编辑 原始数据 按行查看 历史
刘梦缘 提交于 2019-05-18 22:09 . ALU
//A 4-bit adder with carry in and carry out
class alu32 extends Module {
val io = IO(new Bundle {
val in1 = Input(UInt(32.W))
val in2 = Input(UInt(32.W))
val aluop= Input(UInt(2.W))
val out = Output(UInt(65.W))
})
//ALU for adder32
val alu0 = Module(new Adder32())
alu0.io.in1 := io.in1
alu0.io.in2 := io.in2
alu0.io.out(31,0) := io.out
//ALU for sub32
val alu1 = Module(new sub32())
alu1.io.in1 := io.in1
alu1.io.in2 := io.in2
alu1.io.out(31,0) := io.out
//ALU for mul32
val alu2 = Module(new mul32())
alu2.io.in1 := io.in1
alu2.io.in2 := io.in2
alu2.io.in2 := io.out
//ALU for div32
val alu3 = Module(new div32())
alu3.io.in1 := io.in1
alu3.io.in2 := io.in2
alu3.io.in2(31,0) := io.out
switch(io.aluop)
{
is(0.U) {io.out := alu0.io.out}
is(1.U) {io.out := alu1.io.out}
is(2.U) {io.out := alu2.io.out}
is(3.U) {io.out := alu3.io.out}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Scala
1
https://gitee.com/liu1807182820/ALU.git
git@gitee.com:liu1807182820/ALU.git
liu1807182820
ALU
ALU
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385