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

Subversion Repositories or1k

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

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

Rev 562 Rev 589
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// 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.
 
//
// 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.
//
//
// Revision 1.12  2001/11/30 18:58:00  simons
// Revision 1.12  2001/11/30 18:58:00  simons
// Trap insn couses break after exits ex_insn.
// Trap insn couses break after exits ex_insn.
Line 224... Line 227...
//
//
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: begin
                        except_stop[`OR1200_DU_DRR_HPINTE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_IE] = 1'b1;
                end
                end
                13'b0_1xxx_xxxx_xxxx: begin
                13'b0_1xxx_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_01xx_xxxx_xxxx:
Line 247... Line 250...
                13'b0_0000_001x_xxxx:
                13'b0_0000_001x_xxxx:
                        except_stop[`OR1200_DU_DRR_DPFE] = 1'b1;
                        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_BUSEE] = 1'b1;
                13'b0_0000_0000_1xxx:
                13'b0_0000_0000_1xxx:
                        except_stop[`OR1200_DU_DRR_LPINTE] = 1'b1;
                        except_stop[`OR1200_DU_DRR_TTE] = 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 271... Line 274...
//
//
// Breakpoint activation register
// Breakpoint activation register
//
//
always @(posedge clk or posedge rst)
always @(posedge clk or posedge rst)
        if (rst)
        if (rst)
// SIMON
 
//              dbg_bp_r <= #1 1'b1;
 
                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[0]) & dmr1[`OR1200_DU_DMR1_ST]
// DAMJAN                       | ~ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[0]) & dmr1[`OR1200_DU_DMR1_ST]
 
`endif
`endif
`ifdef OR1200_DU_DMR1_BT
`ifdef OR1200_DU_DMR1_BT
// DAMJAN                       | ~ex_freeze & ~((ex_insn[31:26] == `OR1200_OR32_NOP) & ex_insn[0]) & (branch_op != `OR1200_BRANCHOP_NOP) & dmr1[`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
                        ;
                        ;
        else
        else
                dbg_bp_r <= #1 |except_stop;
                dbg_bp_r <= #1 |except_stop;

powered by: WebSVN 2.1.0

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