FPGA_简单ALU

  简单运算逻辑单元ALU,实现传递,自加1,自减1,相加,相减,与,或,异或,非,左移一位,右移一位.

Verilog代码:

module ALU(in1,in2,op,out);

input[7:0] in1,in2;
input[3:0] op;
output[15:0] out;

wire[7:0] in1,in2;
wire[3:0] op;
reg[15:0] out;

parameter transfer = 4'b0001,
increase = 4'b0010,
decrease = 4'b0011,
addtion = 4'b0100,
subtraction = 4'b0101,
AND = 4'b0110,
OR = 4'b0111,
XOR = 4'b1000,
NOT = 4'b1001,
shift_left = 4'b1010,
shift_right = 4'b1011;

always@(in1 or in2 or op)
begin
case(op)
transfer : out=in1;
increase : out=in1+1'b1;
decrease : out=in1-1'b1;
addtion : out=in1+in2;
subtraction : out=in1-in2;
AND : out=in1&in2;
OR : out=in1|in2;
XOR : out=in1^in2;
NOT : out=~in1;
shift_left : out=in1<<1;
shift_right : out=in1>>1;
default : out=16'bz;
endcase
end

 

endmodule

功能仿真结果:

转载于:https://www.cnblogs.com/Sagoo/p/3219781.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值