OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel_26/] [or1200/] [rtl/] [verilog/] [or1200_du.v] - Diff between revs 589 and 617

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 589 Rev 617
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.3  2002/01/18 07:56:00  lampret
 
// No more low/high priority interrupts (PICPR removed). Added tick timer exception. Added exception prefix (SR[EPH]). Fixed single-step bug whenreading NPC.
 
//
// Revision 1.2  2002/01/14 06:18:22  lampret
// Revision 1.2  2002/01/14 06:18:22  lampret
// Fixed mem2reg bug in FAST implementation. Updated debug unit to work with new genpc/if.
// Fixed mem2reg bug in FAST implementation. Updated debug unit to work with new genpc/if.
//
//
// Revision 1.1  2002/01/03 08:16:15  lampret
// Revision 1.1  2002/01/03 08:16:15  lampret
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
Line 226... Line 229...
// Decode started exception
// Decode started exception
//
//
always @(du_except) begin
always @(du_except) begin
        except_stop = 14'b0000_0000_0000;
        except_stop = 14'b0000_0000_0000;
        casex (du_except)
        casex (du_except)
                13'b1_xxxx_xxxx_xxxx: begin
                13'b1_xxxx_xxxx_xxxx:
 
                        except_stop[`OR1200_DU_DRR_TTE] = 1'b1;
 
                13'b0_1xxx_xxxx_xxxx: begin
                        except_stop[`OR1200_DU_DRR_IE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_IE] = 1'b1;
                end
                end
                13'b0_1xxx_xxxx_xxxx: begin
                13'b0_01xx_xxxx_xxxx: begin
                        except_stop[`OR1200_DU_DRR_IME] = 1'b1;
                        except_stop[`OR1200_DU_DRR_IME] = 1'b1;
                end
                end
                13'b0_01xx_xxxx_xxxx:
                13'b0_001x_xxxx_xxxx:
                        except_stop[`OR1200_DU_DRR_IPFE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_IPFE] = 1'b1;
                13'b0_001x_xxxx_xxxx: begin
                13'b0_0001_xxxx_xxxx: begin
                        except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
                end
                end
                13'b0_0001_xxxx_xxxx:
                13'b0_0000_1xxx_xxxx:
                        except_stop[`OR1200_DU_DRR_IIE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_IIE] = 1'b1;
                13'b0_0000_1xxx_xxxx: begin
                13'b0_0000_01xx_xxxx: begin
                        except_stop[`OR1200_DU_DRR_AE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_AE] = 1'b1;
                end
                end
                13'b0_0000_01xx_xxxx: begin
                13'b0_0000_001x_xxxx: begin
                        except_stop[`OR1200_DU_DRR_DME] = 1'b1;
                        except_stop[`OR1200_DU_DRR_DME] = 1'b1;
                end
                end
                13'b0_0000_001x_xxxx:
 
                        except_stop[`OR1200_DU_DRR_DPFE] = 1'b1;
 
                13'b0_0000_0001_xxxx:
                13'b0_0000_0001_xxxx:
                        except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_DPFE] = 1'b1;
                13'b0_0000_0000_1xxx:
                13'b0_0000_0000_1xxx:
                        except_stop[`OR1200_DU_DRR_TTE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_BUSEE] = 1'b1;
                13'b0_0000_0000_01xx: begin
                13'b0_0000_0000_01xx: begin
                        except_stop[`OR1200_DU_DRR_RE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_RE] = 1'b1;
                end
                end
                13'b0_0000_0000_001x: begin
                13'b0_0000_0000_001x: begin
                        except_stop[`OR1200_DU_DRR_TE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_TE] = 1'b1;
Line 278... Line 281...
        if (rst)
        if (rst)
                dbg_bp_r <= #1 1'b0;
                dbg_bp_r <= #1 1'b0;
        else if (!ex_freeze)
        else if (!ex_freeze)
                dbg_bp_r <= #1 |except_stop
                dbg_bp_r <= #1 |except_stop
`ifdef OR1200_DU_DMR1_ST
`ifdef OR1200_DU_DMR1_ST
                        | ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[0]) & dmr1[`OR1200_DU_DMR1_ST]
                        | ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[16]) & dmr1[`OR1200_DU_DMR1_ST]
`endif
`endif
`ifdef OR1200_DU_DMR1_BT
`ifdef OR1200_DU_DMR1_BT
                        | (branch_op != `OR1200_BRANCHOP_NOP) & dmr1[`OR1200_DU_DMR1_BT]
                        | (branch_op != `OR1200_BRANCHOP_NOP) & dmr1[`OR1200_DU_DMR1_BT]
`endif
`endif
                        ;
                        ;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.