2alu linux fix (pmon?)

This commit is contained in:
cxy004 2022-08-04 14:48:57 +08:00
parent cc1988ceba
commit 8d36e89a21
3 changed files with 7 additions and 9 deletions

View File

@ -41,10 +41,10 @@ module Controller (
assign ctrl.ERET = ~inst[31] & inst[30] & inst[4];
assign ctrl.OFA = ~inst[26] & ~inst[30] & (~inst[29] & ~inst[31] & ~inst[28] & ~inst[27] & inst[5] & ~inst[0] & ~inst[4] & ~inst[2] & ~inst[3] | inst[29] & ~inst[27] & ~inst[31] & ~inst[28]);
assign ctrl.ES = ~inst[31] & ~inst[27] & (~inst[29] & (~inst[30] & ~inst[28] & ~inst[26] & inst[4] & (inst[5] | inst[3]) | ~inst[28] & inst[26] & inst[19]) | inst[30] & inst[29]) | inst[31] & ~inst[30];
assign ctrl.ET = ~inst[27] & ~inst[26] & (~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & inst[4] & (inst[5] | inst[3]) | inst[30] & inst[29]);
assign ctrl.ES2 = ~inst[30] & ~inst[28] & ~inst[27] & ~inst[26] & (inst[5] | ~inst[4] & (~inst[3] & inst[2] | inst[3] & ~inst[2] & inst[1])) | inst[29];
assign ctrl.ET2 = ~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & ~inst[27] & ~inst[26] & ~inst[4] & (~inst[3] | ~inst[2] & inst[1]);;
assign ctrl.ES = ~inst[31] & ~inst[27] & (~inst[30] & ~inst[29] & (~inst[28] & ~inst[26] & (~inst[5] & ~inst[4] & inst[3] & ~inst[2] & inst[1] | inst[4] & (inst[5] | inst[3])) | ~inst[28] & inst[26] & inst[19]) | inst[30] & inst[29]) | inst[31] & ~inst[30];
assign ctrl.ET = ~inst[27] & ~inst[26] & (~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & (~inst[5] & ~inst[4] & inst[3] & ~inst[2] & inst[1] | inst[4] & (inst[5] | inst[3])) | inst[30] & inst[29]);
assign ctrl.ES2 = ~inst[30] & ~inst[28] & ~inst[27] & ~inst[26] & (inst[5] | ~inst[3] & inst[2]) | inst[29];
assign ctrl.ET2 = ~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & ~inst[27] & ~inst[26] & (inst[5] | ~inst[4] & ~inst[3]);
assign ctrl.DS = ~inst[26] & (~inst[31] & ~inst[30] & ~inst[29] & ~inst[28] & ~inst[27] & ~inst[4] & inst[3] & ~inst[2] & ~inst[1] | ~inst[31] & ~inst[29] & inst[28]) | ~inst[31] & ~inst[29] & inst[26] & (inst[28] | ~inst[27] & ~inst[19]);
assign ctrl.DT = ~inst[31] & ~inst[29] & inst[28] & ~inst[27];

View File

@ -207,7 +207,6 @@ module Datapath (
word_t M_I0_B;
logic M_I0_ALUvalid;
logic M_I0_Overflow;
WCtrl_t M_I0_NowWCtrl;
logic M_I0_NowExcValid;
logic M_I0_PrevExcValid;
logic [4:0] M_I0_PrevExcCode;
@ -1257,7 +1256,6 @@ module Datapath (
M_I0_ALUvalid,
M_I0_Overflow
);
assign M_I0_NowWCtrl.RW = M.I0.WCtrl.RW & (~M.I0.MCtrl.RS0[2] | M_I0_ALUvalid);
// M.I0.MUL
ffenr #(97) M_I0_MAS_ff (
@ -1506,7 +1504,7 @@ module Datapath (
ffenrc #(5 + 1) W_I0_WCtrl_ff (
clk,
rst,
{M.I0.RD, M_I0_NowWCtrl},
{M.I0.RD, M.I0.WCtrl},
W.en,
~M_go | ~M_I0_go,
{W.I0.RD, W.I0.WCtrl}

View File

@ -6,8 +6,8 @@
32'b000000???????????????00000000100 0 0 0 0 0 0 1 1 0 0 1 1 // SLLV
32'b000000???????????????00000000110 0 0 0 0 0 0 1 1 0 0 1 1 // SRLV
32'b000000???????????????00000000111 0 0 0 0 0 0 1 1 0 0 1 1 // SRAV
32'b000000???????????????00000001010 0 0 0 0 0 0 1 1 0 0 1 1 // MOVZ
32'b000000???????????????00000001011 0 0 0 0 0 0 1 1 0 0 1 1 // MOVN
32'b000000???????????????00000001010 0 0 0 0 1 1 ? ? 0 0 1 1 // MOVZ
32'b000000???????????????00000001011 0 0 0 0 1 1 ? ? 0 0 1 1 // MOVN
32'b000000?????000000000000000001000 0 0 0 0 0 0 0 0 1 0 1 1 // JR
32'b000000?????00000?????00000001001 0 0 0 0 0 0 0 0 1 0 1 1 // JALR
32'b000000????????????????????001100 1 0 0 0 0 0 0 0 0 0 1 1 // SYSCALL