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

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [orp/] [orp_soc/] [bench/] [verilog/] [or1200_monitor.v] - Diff between revs 1135 and 1268

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

Rev 1135 Rev 1268
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.3  2003/04/07 01:32:53  lampret
 
// Added get_gpr support for OR1200_RFRAM_GENERIC
 
//
// Revision 1.2  2002/08/12 05:38:11  lampret
// Revision 1.2  2002/08/12 05:38:11  lampret
// Added more WISHBONE protocol checks. Removed nop.log. Added general.log and lookup.log.
// Added more WISHBONE protocol checks. Removed nop.log. Added general.log and lookup.log.
//
//
// Revision 1.1  2002/03/28 19:59:55  lampret
// Revision 1.1  2002/03/28 19:59:55  lampret
// Added bench directory
// Added bench directory
Line 221... Line 224...
        insns = insns + 1;
        insns = insns + 1;
`endif
`endif
end
end
endtask
endtask
 
 
 
//
 
// Write state of the OR1200 registers into a file; version for exception
 
//
 
task display_arch_state_except;
 
reg [5:0] i;
 
reg [31:0] r;
 
integer j;
 
begin
 
`ifdef OR1200_DISPLAY_ARCH_STATE
 
        ref = ref + 1;
 
        $fdisplay(flookup, "Instruction %d: %t", insns, $time);
 
        $fwrite(fexe, "\nEXECUTED(%d): %h:  %h  (exception)", insns, `OR1200_TOP.or1200_cpu.or1200_except.ex_pc, `OR1200_TOP.or1200_cpu.or1200_ctrl.ex_insn);
 
        for(i = 0; i < 32; i = i + 1) begin
 
                if (i % 4 == 0)
 
                        $fdisplay(fexe);
 
                get_gpr(i, r);
 
                $fwrite(fexe, "GPR%d: %h  ", i, r);
 
        end
 
        $fdisplay(fexe);
 
        r = `OR1200_TOP.or1200_cpu.or1200_sprs.sr;
 
        $fwrite(fexe, "SR   : %h  ", r);
 
        r = `OR1200_TOP.or1200_cpu.or1200_sprs.epcr;
 
        $fwrite(fexe, "EPCR0: %h  ", r);
 
        r = `OR1200_TOP.or1200_cpu.or1200_sprs.eear;
 
        $fwrite(fexe, "EEAR0: %h  ", r);
 
        r = `OR1200_TOP.or1200_cpu.or1200_sprs.esr;
 
        $fdisplay(fexe, "ESR0 : %h", r);
 
        insns = insns + 1;
 
`endif
 
end
 
endtask
 
 
integer iwb_progress;
integer iwb_progress;
reg [31:0] iwb_progress_addr;
reg [31:0] iwb_progress_addr;
//
//
// WISHBONE bus checker
// WISHBONE bus checker
//
//
Line 323... Line 358...
        if (!`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_freeze) begin
        if (!`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_freeze) begin
                #2;
                #2;
                if (((`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn[31:26] != `OR1200_OR32_NOP) || !`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn[16])
                if (((`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn[31:26] != `OR1200_OR32_NOP) || !`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn[16])
                        && !(`OR1200_TOP.or1200_cpu.or1200_except.except_flushpipe && `OR1200_TOP.or1200_cpu.or1200_except.ex_dslot))
                        && !(`OR1200_TOP.or1200_cpu.or1200_except.except_flushpipe && `OR1200_TOP.or1200_cpu.or1200_except.ex_dslot))
                        display_arch_state;
                        display_arch_state;
 
                else
 
                if (`OR1200_TOP.or1200_cpu.or1200_except.except_flushpipe)
 
                        display_arch_state_except;
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0001) begin // small hack to stop simulation (l.nop 1)
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0001) begin // small hack to stop simulation (l.nop 1)
                        get_gpr(3, r3);
                        get_gpr(3, r3);
                        $fdisplay(fgeneral, "%t: l.nop exit (%h)", $time, r3);
                        $fdisplay(fgeneral, "%t: l.nop exit (%h)", $time, r3);
                        $finish;
                        $finish;
                end
                end
 
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_000a) begin // debug if test (l.nop 10)
 
                        $fdisplay(fgeneral, "%t: l.nop dbg_if_test", $time);
 
`ifdef DBG_IF_MODEL
 
                        xess_top.i_xess_fpga.dbg_if_model.dbg_if_test_go = 1;
 
`endif
 
                end
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0002) begin // simulation reports (l.nop 2)
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0002) begin // simulation reports (l.nop 2)
                        get_gpr(3, r3);
                        get_gpr(3, r3);
                        $fdisplay(fgeneral, "%t: l.nop report (%h)", $time, r3);
                        $fdisplay(fgeneral, "%t: l.nop report (%h)", $time, r3);
                end
                end
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0003) begin // simulation printfs (l.nop 3)
                if (`OR1200_TOP.or1200_cpu.or1200_ctrl.wb_insn == 32'h1500_0003) begin // simulation printfs (l.nop 3)

powered by: WebSVN 2.1.0

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