Line 42... |
Line 42... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.7.4.2 2003/12/04 23:44:31 lampret
|
|
// Static exception prefix.
|
|
//
|
// Revision 1.7.4.1 2003/07/08 15:36:37 lampret
|
// Revision 1.7.4.1 2003/07/08 15:36:37 lampret
|
// Added embedded memory QMEM.
|
// Added embedded memory QMEM.
|
//
|
//
|
// Revision 1.7 2003/04/20 22:23:57 lampret
|
// Revision 1.7 2003/04/20 22:23:57 lampret
|
// No functional change. Only added customization for exception vectors.
|
// No functional change. Only added customization for exception vectors.
|
Line 274... |
Line 277... |
`ifdef OR1200_VERBOSE
|
`ifdef OR1200_VERBOSE
|
// synopsys translate_off
|
// synopsys translate_off
|
$display("Starting exception: %h.", except_type);
|
$display("Starting exception: %h.", except_type);
|
// synopsys translate_on
|
// synopsys translate_on
|
`endif
|
`endif
|
pc = { {4{except_prefix}}, `OR1200_EXCEPT_MMMM, except_type, `OR1200_EXCEPT_VV};
|
pc = {(except_prefix ? `OR1200_EXCEPT_EPH1_P : `OR1200_EXCEPT_EPH0_P), except_type, `OR1200_EXCEPT_V};
|
taken = 1'b1;
|
taken = 1'b1;
|
end
|
end
|
default: begin
|
default: begin
|
`ifdef OR1200_VERBOSE
|
`ifdef OR1200_VERBOSE
|
// synopsys translate_off
|
// synopsys translate_off
|
Line 295... |
Line 298... |
// PC register
|
// PC register
|
//
|
//
|
always @(posedge clk or posedge rst)
|
always @(posedge clk or posedge rst)
|
if (rst)
|
if (rst)
|
// pcreg <= #1 30'd63;
|
// pcreg <= #1 30'd63;
|
pcreg <= #1 ({{4{except_prefix}}, `OR1200_EXCEPT_MMMM, `OR1200_EXCEPT_RESET, `OR1200_EXCEPT_VV} - 1) >> 2;
|
pcreg <= #1 ({(except_prefix ? `OR1200_EXCEPT_EPH1_P : `OR1200_EXCEPT_EPH0_P), `OR1200_EXCEPT_RESET, `OR1200_EXCEPT_V} - 1) >> 2;
|
else if (spr_pc_we)
|
else if (spr_pc_we)
|
pcreg <= #1 spr_dat_i[31:2];
|
pcreg <= #1 spr_dat_i[31:2];
|
else if (no_more_dslot | except_start | !genpc_freeze & !icpu_rty_i & !genpc_refetch)
|
else if (no_more_dslot | except_start | !genpc_freeze & !icpu_rty_i & !genpc_refetch)
|
// else if (except_start | !genpc_freeze & !icpu_rty_i & !genpc_refetch)
|
// else if (except_start | !genpc_freeze & !icpu_rty_i & !genpc_refetch)
|
pcreg <= #1 pc[31:2];
|
pcreg <= #1 pc[31:2];
|