📄 alu.v
字号:
module alu(alus,ac, bus, dout);
input [6:0]alus;
input [7:0]ac,bus;
output [7:0]dout;
reg[7:0] dout;
always@(alus or ac or bus)
casex(alus)
7'b0??0100:dout=bus; //LDAC5,MOVR1
7'b0??0101:dout=bus+ac;//ADD1
7'b0??1011:dout=ac-bus;//sub1 just for simulate nor for syn
7'b0??1001:dout=ac+1;//INAC1
7'b0??0000:dout=0;//CLAC1
7'b100????:begin
dout[7]=ac[7]&&bus[7];
dout[6]=ac[6]&&bus[6];
dout[5]=ac[5]&&bus[5];
dout[4]=ac[4]&&bus[4];
dout[3]=ac[3]&&bus[3];
dout[2]=ac[2]&&bus[2];
dout[1]=ac[1]&&bus[1];
dout[0]=ac[0]&&bus[0];
end
7'b101????:
begin
dout[7]=ac[7]||bus[7];
dout[6]=ac[6]||bus[6];
dout[5]=ac[5]||bus[5];
dout[4]=ac[4]||bus[4];
dout[3]=ac[3]||bus[3];
dout[2]=ac[2]||bus[2];
dout[1]=ac[1]||bus[1];
dout[0]=ac[0]||bus[0];
end
7'b110????:
begin
dout[7]=ac[7]^bus[7];
dout[6]=ac[6]^bus[6];
dout[5]=ac[5]^bus[5];
dout[4]=ac[4]^bus[4];
dout[3]=ac[3]^bus[3];
dout[2]=ac[2]^bus[2];
dout[1]=ac[1]^bus[1];
dout[0]=ac[0]^bus[0];
end
7'b111????:
begin
dout[7]=!ac[7];
dout[6]=!ac[6];
dout[5]=!ac[5];
dout[4]=!ac[4];
dout[3]=!ac[3];
dout[2]=!ac[2];
dout[1]=!ac[1];
dout[0]=!ac[0];
end
endcase
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -