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

Subversion Repositories xulalx25soc

[/] [xulalx25soc/] [trunk/] [rtl/] [cpu/] [zipbones.v] - Diff between revs 31 and 113

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

Rev 31 Rev 113
Line 43... Line 43...
                o_ext_int,
                o_ext_int,
                // Wishbone slave interface for debugging purposes
                // Wishbone slave interface for debugging purposes
                i_dbg_cyc, i_dbg_stb, i_dbg_we, i_dbg_addr, i_dbg_data,
                i_dbg_cyc, i_dbg_stb, i_dbg_we, i_dbg_addr, i_dbg_data,
                        o_dbg_ack, o_dbg_stall, o_dbg_data
                        o_dbg_ack, o_dbg_stall, o_dbg_data
`ifdef  DEBUG_SCOPE
`ifdef  DEBUG_SCOPE
                , o_zip_debug
                , o_cpu_debug
`endif
`endif
                );
                );
        parameter       RESET_ADDRESS=32'h0100000, ADDRESS_WIDTH=32,
        parameter       RESET_ADDRESS=32'h0100000, ADDRESS_WIDTH=32,
                        LGICACHE=6, START_HALTED=0,
                        LGICACHE=6, START_HALTED=0,
                        AW=ADDRESS_WIDTH;
                        AW=ADDRESS_WIDTH;
Line 69... Line 69...
        output  reg             o_dbg_ack;
        output  reg             o_dbg_ack;
        output  wire            o_dbg_stall;
        output  wire            o_dbg_stall;
        output  wire    [31:0]   o_dbg_data;
        output  wire    [31:0]   o_dbg_data;
        //
        //
`ifdef  DEBUG_SCOPE
`ifdef  DEBUG_SCOPE
        output  wire    [31:0]   o_zip_debug;
        output  wire    [31:0]   o_cpu_debug;
`endif
`endif
 
 
        // 
        // 
        //
        //
        //
        //
Line 117... Line 117...
                else if ((cmd_step)||(cpu_break))
                else if ((cmd_step)||(cpu_break))
                        cmd_halt  <= 1'b1;
                        cmd_halt  <= 1'b1;
 
 
        initial cmd_clear_pf_cache = 1'b0;
        initial cmd_clear_pf_cache = 1'b0;
        always @(posedge i_clk)
        always @(posedge i_clk)
                if (i_rst)
                cmd_clear_pf_cache = (~i_rst)&&(dbg_cmd_write)
                        cmd_clear_pf_cache <= 1'b0;
                                        &&((i_dbg_data[11])||(i_dbg_data[6]));
                else if (dbg_cmd_write)
 
                        cmd_clear_pf_cache <= i_dbg_data[11];
 
                else
 
                        cmd_clear_pf_cache <= 1'b0;
 
        //
        //
        initial cmd_step  = 1'b0;
        initial cmd_step  = 1'b0;
        always @(posedge i_clk)
        always @(posedge i_clk)
                cmd_step <= (dbg_cmd_write)&&(i_dbg_data[8]);
                cmd_step <= (dbg_cmd_write)&&(i_dbg_data[8]);
        //
        //
Line 174... Line 170...
                                cpu_dbg_cc, cpu_break,
                                cpu_dbg_cc, cpu_break,
                        o_wb_cyc, o_wb_stb,
                        o_wb_cyc, o_wb_stb,
                                cpu_lcl_cyc, cpu_lcl_stb,
                                cpu_lcl_cyc, cpu_lcl_stb,
                                o_wb_we, o_wb_addr, o_wb_data,
                                o_wb_we, o_wb_addr, o_wb_data,
                                i_wb_ack, i_wb_stall, i_wb_data,
                                i_wb_ack, i_wb_stall, i_wb_data,
                                (i_wb_err)||((cpu_lcl_cyc)&&(cpu_lcl_stb)),
                                (i_wb_err)||(cpu_lcl_cyc),
                        cpu_op_stall, cpu_pf_stall, cpu_i_count
                        cpu_op_stall, cpu_pf_stall, cpu_i_count
`ifdef  DEBUG_SCOPE
`ifdef  DEBUG_SCOPE
                        , o_zip_debug
                        , o_cpu_debug
`endif
`endif
                        );
                        );
 
 
        // Return debug response values
        // Return debug response values
        assign  o_dbg_data = (~i_dbg_addr)?cmd_data :cpu_dbg_data;
        assign  o_dbg_data = (~i_dbg_addr)?cmd_data :cpu_dbg_data;
        initial o_dbg_ack = 1'b0;
        initial o_dbg_ack = 1'b0;
        always @(posedge i_clk)
        always @(posedge i_clk)
                o_dbg_ack <= (i_dbg_cyc)&&((~i_dbg_addr)||(~o_dbg_stall));
                o_dbg_ack <= (i_dbg_cyc)&&((~i_dbg_addr)||(~o_dbg_stall));
        assign  o_dbg_stall=(i_dbg_cyc)&&(cpu_dbg_stall)&&(i_dbg_addr);
        assign  o_dbg_stall= 1'b0; //(i_dbg_cyc)&&(cpu_dbg_stall)&&(i_dbg_addr);
 
 
        assign  o_ext_int = (cmd_halt) && (~i_wb_stall);
        assign  o_ext_int = (cmd_halt) && (~i_wb_stall);
 
 
endmodule
endmodule
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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