fix4'
This commit is contained in:
parent
99436d9a42
commit
f4fb6c49a1
@ -200,10 +200,10 @@ module Datapath (
|
|||||||
prio_mux5 #(32) PF_pc_mux (
|
prio_mux5 #(32) PF_pc_mux (
|
||||||
PF_pc0,
|
PF_pc0,
|
||||||
PF_pcp8,
|
PF_pcp8,
|
||||||
C0_EPC,
|
|
||||||
`PCEXC,
|
`PCEXC,
|
||||||
|
C0_EPC,
|
||||||
`PCRST,
|
`PCRST,
|
||||||
{~F_valid, C0_exception.ExcValid, C0_exception.ERET, ~D_IA_valid},
|
{~F_valid, C0_exception.ExcValid, ~D_IA_valid},
|
||||||
PF.pc
|
PF.pc
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -212,7 +212,7 @@ module Datapath (
|
|||||||
|
|
||||||
assign PF_req = ~D.IA_ExcValid & ~D.IB_ExcValid & ~E.I0.ExcValid & ~E.I1.ExcValid;
|
assign PF_req = ~D.IA_ExcValid & ~D.IB_ExcValid & ~E.I0.ExcValid & ~E.I1.ExcValid;
|
||||||
assign PF_go = PF.pc[1:0] == 2'b00 & PF_req;
|
assign PF_go = PF.pc[1:0] == 2'b00 & PF_req;
|
||||||
assign fetch_i.req = rst | C0_exception.ExcValid | C0_exception.ERET | ~D_IA_valid
|
assign fetch_i.req = rst | C0_exception.ERET | C0_exception.ExcValid | ~D_IA_valid
|
||||||
| PF_go & (~D.IA.PFCtrl.BJRJ | D_IA_can_dispatch)
|
| PF_go & (~D.IA.PFCtrl.BJRJ | D_IA_can_dispatch)
|
||||||
& ( ~IQ_valids[3]
|
& ( ~IQ_valids[3]
|
||||||
| ~IQ_valids[2] & (PF.pc[2] | F.pc[2] | D_readygo | D_readygo1)
|
| ~IQ_valids[2] & (PF.pc[2] | F.pc[2] | D_readygo | D_readygo1)
|
||||||
|
@ -98,16 +98,17 @@ module woutput (
|
|||||||
error = (addr != 2'b00);
|
error = (addr != 2'b00);
|
||||||
end
|
end
|
||||||
2'b01: begin
|
2'b01: begin
|
||||||
wdata = addr[1] ? data[31:16] : data[15:0];
|
wdata = {2{data[15:0]}};
|
||||||
wstrb = addr[1] ? 4'b1100 : 4'b0011;
|
wstrb = addr[1] ? 4'b1100 : 4'b0011;
|
||||||
error = (addr[0] != 1'b0);
|
error = (addr[0] != 1'b0);
|
||||||
end
|
end
|
||||||
2'b00: begin
|
2'b00: begin
|
||||||
|
wdata = {4{data[7:0]}};
|
||||||
case (addr)
|
case (addr)
|
||||||
2'b11: begin wdata = data[31:24]; wstrb = 4'b1000; end
|
2'b11: wstrb = 4'b1000;
|
||||||
2'b10: begin wdata = data[23:16]; wstrb = 4'b0100; end
|
2'b10: wstrb = 4'b0100;
|
||||||
2'b01: begin wdata = data[15: 8]; wstrb = 4'b0010; end
|
2'b01: wstrb = 4'b0010;
|
||||||
2'b00: begin wdata = data[ 7: 0]; wstrb = 4'b0001; end
|
2'b00: wstrb = 4'b0001;
|
||||||
endcase
|
endcase
|
||||||
error = 1'b0;
|
error = 1'b0;
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user