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

Subversion Repositories dbg_interface

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 64 to Rev 65
    Reverse comparison

Rev 64 → Rev 65

/trunk/rtl/verilog/dbg_top.v
45,6 → 45,9
// CVS Revision History
//
// $Log: not supported by cvs2svn $
// Revision 1.30 2003/08/28 13:55:22 simons
// Three more chains added for cpu debug access.
//
// Revision 1.29 2003/07/31 12:19:49 simons
// Multiple cpu support added.
//
418,6 → 421,7
wire [73:0] WISHBONE_Data;
wire [12:0] chain_sel_data;
wire wb_Access_wbClk;
wire [1:0] wb_cntl_o;
 
 
reg select_crc_out;
667,13 → 671,25
end
 
 
assign wb_adr_o = ADDR;
assign wb_we_o = RW;
assign wb_dat_o = DataOut;
assign wb_sel_o[3:0] = 4'hf;
assign wb_adr_o = ADDR & {32{wb_cyc_o}};
assign wb_we_o = RW & wb_cyc_o;
assign wb_dat_o = DataOut & {32{wb_cyc_o}};
assign wb_cab_o = 1'b0;
 
reg [3:0] wb_sel_o;
always @(ADDR[1:0] or wb_cntl_o or wb_cyc_o)
begin
if(wb_cyc_o)
case (wb_cntl_o)
2'b00: wb_sel_o = 4'hf;
2'b01: wb_sel_o = ADDR[1] ? 4'h3 : 4'hc;
2'b10: wb_sel_o = ADDR[1] ? (ADDR[0] ? 4'h1 : 4'h2) : (ADDR[0] ? 4'h4 : 4'h8);
default: wb_sel_o = 4'hf;
endcase
else
wb_sel_o = 4'hf;
end
// Synchronizing the RegAccess signal to risc_clk_i clock
dbg_sync_clk1_clk2 syn1 (.clk1(risc_clk_i), .clk2(tck), .reset1(wb_rst_i), .reset2(trst),
.set2(RegAccessTck), .sync_out(RegAccess)
993,7 → 1009,7
.LSSStopValid(LSSStopValid), .IStopValid(IStopValid),
`endif
.risc_stall(RiscStall_reg), .risc_stall_all(risc_stall_all_o), .risc_sel(risc_sel_o),
.risc_reset(RiscReset_reg), .mon_cntl_o(mon_cntl_o)
.risc_reset(RiscReset_reg), .mon_cntl_o(mon_cntl_o), .wb_cntl_o(wb_cntl_o)
 
);
 
/trunk/rtl/verilog/dbg_registers.v
45,6 → 45,9
// CVS Revision History
//
// $Log: not supported by cvs2svn $
// Revision 1.11 2003/07/31 14:01:53 simons
// Lapsus fixed.
//
// Revision 1.9 2003/07/31 12:19:49 simons
// Multiple cpu support added.
//
102,7 → 105,7
WpStop, BpStop, LSSStop, IStop, StopOper, WpStopValid, BpStopValid,
LSSStopValid, IStopValid,
`endif
risc_stall, risc_stall_all, risc_sel, risc_reset, mon_cntl_o
risc_stall, risc_stall_all, risc_sel, risc_reset, mon_cntl_o, wb_cntl_o
);
 
parameter Tp = 1;
170,11 → 173,13
output [`RISC_NUM-1:0] risc_sel;
output risc_reset;
output [3:0] mon_cntl_o;
output [1:0] wb_cntl_o;
 
wire MODER_Acc = (address == `MODER_ADR) & access;
wire RISCOP_Acc = (address == `RISCOP_ADR) & access;
wire RISCSEL_Acc = (address == `RISCSEL_ADR) & access;
wire MON_CNTL_Acc = (address == `MON_CNTL_ADR) & access;
wire WB_CNTL_Acc = (address == `WB_CNTL_ADR) & access;
`ifdef TRACE_ENABLED
wire TSEL_Acc = (address == `TSEL_ADR) & access;
wire QSEL_Acc = (address == `QSEL_ADR) & access;
187,6 → 192,7
wire RISCOP_Wr = RISCOP_Acc & rw;
wire RISCSEL_Wr = RISCSEL_Acc & rw;
wire MON_CNTL_Wr = MON_CNTL_Acc & rw;
wire WB_CNTL_Wr = WB_CNTL_Acc & rw;
`ifdef TRACE_ENABLED
wire TSEL_Wr = TSEL_Acc & rw;
wire QSEL_Wr = QSEL_Acc & rw;
200,6 → 206,7
wire RISCOP_Rd = RISCOP_Acc & ~rw;
wire RISCSEL_Rd = RISCSEL_Acc & ~rw;
wire MON_CNTL_Rd = MON_CNTL_Acc & ~rw;
wire WB_CNTL_Rd = WB_CNTL_Acc & ~rw;
`ifdef TRACE_ENABLED
wire TSEL_Rd = TSEL_Acc & ~rw;
wire QSEL_Rd = QSEL_Acc & ~rw;
212,6 → 219,7
wire [2:1] RISCOPOut;
wire [`RISC_NUM-1:0] RISCSELOut;
wire [3:0] MONCNTLOut;
wire [1:0] WB_CNTLOut;
 
`ifdef TRACE_ENABLED
wire [31:0] TSELOut;
245,6 → 253,7
dbg_register #(2, 0) RISCOP (.data_in(data_in[2:1]), .data_out(RISCOPOut[2:1]), .write(RISCOP_Wr), .clk(clk), .reset(reset));
dbg_register #(`RISC_NUM, 1) RISCSEL (.data_in(data_in[`RISC_NUM-1:0]), .data_out(RISCSELOut), .write(RISCSEL_Wr), .clk(clk), .reset(reset));
dbg_register #(4, `MON_CNTL_DEF) MONCNTL (.data_in(data_in[3:0]), .data_out(MONCNTLOut[3:0]), .write(MON_CNTL_Wr), .clk(clk), .reset(reset));
dbg_register #(2, 0) WBCNTL (.data_in(data_in[1:0]), .data_out(WB_CNTLOut[1:0]), .write(WB_CNTL_Wr), .clk(clk), .reset(reset));
 
 
`ifdef TRACE_ENABLED
266,6 → 275,8
if(RISCSEL_Rd) data_out<= #Tp {{(32-`RISC_NUM){1'b0}}, RISCSELOut};
else
if(MON_CNTL_Rd) data_out<= #Tp {28'h0, MONCNTLOut};
else
if(WB_CNTL_Rd) data_out<= #Tp {30'h0, WB_CNTLOut};
`ifdef TRACE_ENABLED
else
if(TSEL_Rd) data_out<= #Tp TSELOut;
328,5 → 339,6
assign risc_sel = RISCSELOut;
assign risc_reset = RISCOPOut[1];
assign mon_cntl_o = MONCNTLOut;
assign wb_cntl_o = WB_CNTLOut;
 
endmodule
/trunk/rtl/verilog/dbg_defines.v
45,6 → 45,9
// CVS Revision History
//
// $Log: not supported by cvs2svn $
// Revision 1.11 2003/08/28 13:55:21 simons
// Three more chains added for cpu debug access.
//
// Revision 1.10 2003/07/31 12:19:49 simons
// Multiple cpu support added.
//
176,6 → 179,7
`define RISCSEL_ADR 5'h05
`define RECSEL_ADR 5'h10
`define MON_CNTL_ADR 5'h11
`define WB_CNTL_ADR 5'h12
 
 
// Registers default values (after reset)

powered by: WebSVN 2.1.0

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