forked from Github_Repos/cvw
Waiting on fix for wally64periph uart test.
would like to remove vectored interrupt adder.
This commit is contained in:
parent
0b4186f1e8
commit
c3b43b2fac
@ -143,8 +143,10 @@ module csr #(parameter
|
|||||||
logic VectoredM;
|
logic VectoredM;
|
||||||
logic [`XLEN-1:0] TVecPlusCauseM;
|
logic [`XLEN-1:0] TVecPlusCauseM;
|
||||||
assign VectoredM = InterruptM & (TVecM[1:0] == 2'b01);
|
assign VectoredM = InterruptM & (TVecM[1:0] == 2'b01);
|
||||||
//assign TVecPlusCauseM = TVecAlignedM + {{(`XLEN-2-`LOG_XLEN){1'b0}}, CauseM, 2'b00};
|
// *** Would like you use concat version, but breaks uart test wally64priv when
|
||||||
assign TVecPlusCauseM = {TVecAlignedM[`XLEN-1:6], CauseM[3:0], 2'b00};
|
// mtvec is aligned to 64 bytes.
|
||||||
|
assign TVecPlusCauseM = TVecAlignedM + {{(`XLEN-2-`LOG_XLEN){1'b0}}, CauseM, 2'b00};
|
||||||
|
//assign TVecPlusCauseM = {TVecAlignedM[`XLEN-1:6], CauseM[3:0], 2'b00};
|
||||||
mux2 #(`XLEN) trapvecmux(TVecAlignedM, TVecPlusCauseM, VectoredM, TrapVectorM);
|
mux2 #(`XLEN) trapvecmux(TVecAlignedM, TVecPlusCauseM, VectoredM, TrapVectorM);
|
||||||
end else
|
end else
|
||||||
assign TrapVectorM = TVecAlignedM;
|
assign TrapVectorM = TVecAlignedM;
|
||||||
|
@ -299,7 +299,8 @@ end_trap_triggers:
|
|||||||
// --------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
.align 6
|
//.align 6
|
||||||
|
.align 2
|
||||||
trap_handler_\MODE\():
|
trap_handler_\MODE\():
|
||||||
j trap_unvectored_\MODE\() // for the unvectored implimentation: jump past this table of addresses into the actual handler
|
j trap_unvectored_\MODE\() // for the unvectored implimentation: jump past this table of addresses into the actual handler
|
||||||
// *** ASSUMES that a cause value of 0 for an interrupt is unimplemented
|
// *** ASSUMES that a cause value of 0 for an interrupt is unimplemented
|
||||||
|
@ -293,7 +293,8 @@ end_trap_triggers:
|
|||||||
//
|
//
|
||||||
// --------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
.align 6
|
//.align 6
|
||||||
|
.align 3
|
||||||
trap_handler_\MODE\():
|
trap_handler_\MODE\():
|
||||||
j trap_unvectored_\MODE\() // for the unvectored implimentation: jump past this table of addresses into the actual handler
|
j trap_unvectored_\MODE\() // for the unvectored implimentation: jump past this table of addresses into the actual handler
|
||||||
// *** ASSUMES that a cause value of 0 for an interrupt is unimplemented
|
// *** ASSUMES that a cause value of 0 for an interrupt is unimplemented
|
||||||
|
Loading…
Reference in New Issue
Block a user