Line 42... |
Line 42... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.9 2002/10/17 20:04:41 lampret
|
|
// Added BIST scan. Special VS RAMs need to be used to implement BIST.
|
|
//
|
// Revision 1.8 2002/08/18 19:54:22 lampret
|
// Revision 1.8 2002/08/18 19:54:22 lampret
|
// Added store buffer.
|
// Added store buffer.
|
//
|
//
|
// Revision 1.7 2002/07/14 22:17:17 lampret
|
// Revision 1.7 2002/07/14 22:17:17 lampret
|
// Added simple trace buffer [only for Xilinx Virtex target]. Fixed instruction fetch abort when new exception is recognized.
|
// Added simple trace buffer [only for Xilinx Virtex target]. Fixed instruction fetch abort when new exception is recognized.
|
Line 109... |
Line 112... |
// System
|
// System
|
clk_i, rst_i, pic_ints_i, clmode_i,
|
clk_i, rst_i, pic_ints_i, clmode_i,
|
|
|
// Instruction WISHBONE INTERFACE
|
// Instruction WISHBONE INTERFACE
|
iwb_clk_i, iwb_rst_i, iwb_ack_i, iwb_err_i, iwb_rty_i, iwb_dat_i,
|
iwb_clk_i, iwb_rst_i, iwb_ack_i, iwb_err_i, iwb_rty_i, iwb_dat_i,
|
iwb_cyc_o, iwb_adr_o, iwb_stb_o, iwb_we_o, iwb_sel_o, iwb_cab_o, iwb_dat_o,
|
iwb_cyc_o, iwb_adr_o, iwb_stb_o, iwb_we_o, iwb_sel_o, iwb_dat_o,
|
|
`ifdef OR1200_WB_CAB
|
|
iwb_cab_o,
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
iwb_cti_o, iwb_bte_o,
|
|
`endif
|
// Data WISHBONE INTERFACE
|
// Data WISHBONE INTERFACE
|
dwb_clk_i, dwb_rst_i, dwb_ack_i, dwb_err_i, dwb_rty_i, dwb_dat_i,
|
dwb_clk_i, dwb_rst_i, dwb_ack_i, dwb_err_i, dwb_rty_i, dwb_dat_i,
|
dwb_cyc_o, dwb_adr_o, dwb_stb_o, dwb_we_o, dwb_sel_o, dwb_cab_o, dwb_dat_o,
|
dwb_cyc_o, dwb_adr_o, dwb_stb_o, dwb_we_o, dwb_sel_o, dwb_dat_o,
|
|
`ifdef OR1200_WB_CAB
|
|
dwb_cab_o,
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
dwb_cti_o, dwb_bte_o,
|
|
`endif
|
|
|
// External Debug Interface
|
// External Debug Interface
|
dbg_stall_i, dbg_dat_i, dbg_adr_i, dbg_op_i, dbg_ewt_i,
|
dbg_stall_i, dbg_dat_i, dbg_adr_i, dbg_op_i, dbg_ewt_i,
|
dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o, dbg_dat_o,
|
dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o, dbg_dat_o,
|
|
|
Line 160... |
Line 174... |
output iwb_cyc_o; // cycle valid output
|
output iwb_cyc_o; // cycle valid output
|
output [aw-1:0] iwb_adr_o; // address bus outputs
|
output [aw-1:0] iwb_adr_o; // address bus outputs
|
output iwb_stb_o; // strobe output
|
output iwb_stb_o; // strobe output
|
output iwb_we_o; // indicates write transfer
|
output iwb_we_o; // indicates write transfer
|
output [3:0] iwb_sel_o; // byte select outputs
|
output [3:0] iwb_sel_o; // byte select outputs
|
output iwb_cab_o; // indicates consecutive address burst
|
|
output [dw-1:0] iwb_dat_o; // output data bus
|
output [dw-1:0] iwb_dat_o; // output data bus
|
|
`ifdef OR1200_WB_CAB
|
|
output iwb_cab_o; // indicates consecutive address burst
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
output [2:0] iwb_cti_o; // cycle type identifier
|
|
output [1:0] iwb_bte_o; // burst type extension
|
|
`endif
|
|
|
//
|
//
|
// Data WISHBONE interface
|
// Data WISHBONE interface
|
//
|
//
|
input dwb_clk_i; // clock input
|
input dwb_clk_i; // clock input
|
Line 177... |
Line 197... |
output dwb_cyc_o; // cycle valid output
|
output dwb_cyc_o; // cycle valid output
|
output [aw-1:0] dwb_adr_o; // address bus outputs
|
output [aw-1:0] dwb_adr_o; // address bus outputs
|
output dwb_stb_o; // strobe output
|
output dwb_stb_o; // strobe output
|
output dwb_we_o; // indicates write transfer
|
output dwb_we_o; // indicates write transfer
|
output [3:0] dwb_sel_o; // byte select outputs
|
output [3:0] dwb_sel_o; // byte select outputs
|
output dwb_cab_o; // indicates consecutive address burst
|
|
output [dw-1:0] dwb_dat_o; // output data bus
|
output [dw-1:0] dwb_dat_o; // output data bus
|
|
`ifdef OR1200_WB_CAB
|
|
output dwb_cab_o; // indicates consecutive address burst
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
output [2:0] dwb_cti_o; // cycle type identifier
|
|
output [1:0] dwb_bte_o; // burst type extension
|
|
`endif
|
|
|
//
|
//
|
// External Debug Interface
|
// External Debug Interface
|
//
|
//
|
input dbg_stall_i; // External Stall Input
|
input dbg_stall_i; // External Stall Input
|
Line 410... |
Line 436... |
.wb_cyc_o(iwb_cyc_o),
|
.wb_cyc_o(iwb_cyc_o),
|
.wb_adr_o(iwb_adr_o),
|
.wb_adr_o(iwb_adr_o),
|
.wb_stb_o(iwb_stb_o),
|
.wb_stb_o(iwb_stb_o),
|
.wb_we_o(iwb_we_o),
|
.wb_we_o(iwb_we_o),
|
.wb_sel_o(iwb_sel_o),
|
.wb_sel_o(iwb_sel_o),
|
.wb_cab_o(iwb_cab_o),
|
|
.wb_dat_o(iwb_dat_o),
|
.wb_dat_o(iwb_dat_o),
|
|
`ifdef OR1200_WB_CAB
|
|
.wb_cab_o(iwb_cab_o),
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
.wb_cti_o(iwb_cti_o),
|
|
.wb_bte_o(iwb_bte_o),
|
|
`endif
|
|
|
// Internal RISC bus
|
// Internal RISC bus
|
.biu_dat_i(icbiu_dat_ic),
|
.biu_dat_i(icbiu_dat_ic),
|
.biu_adr_i(icbiu_adr_ic),
|
.biu_adr_i(icbiu_adr_ic),
|
.biu_cyc_i(icbiu_cyc_ic),
|
.biu_cyc_i(icbiu_cyc_ic),
|
Line 447... |
Line 479... |
.wb_cyc_o(dwb_cyc_o),
|
.wb_cyc_o(dwb_cyc_o),
|
.wb_adr_o(dwb_adr_o),
|
.wb_adr_o(dwb_adr_o),
|
.wb_stb_o(dwb_stb_o),
|
.wb_stb_o(dwb_stb_o),
|
.wb_we_o(dwb_we_o),
|
.wb_we_o(dwb_we_o),
|
.wb_sel_o(dwb_sel_o),
|
.wb_sel_o(dwb_sel_o),
|
.wb_cab_o(dwb_cab_o),
|
|
.wb_dat_o(dwb_dat_o),
|
.wb_dat_o(dwb_dat_o),
|
|
`ifdef OR1200_WB_CAB
|
|
.wb_cab_o(dwb_cab_o),
|
|
`endif
|
|
`ifdef OR1200_WB_B3
|
|
.wb_cti_o(dwb_cti_o),
|
|
.wb_bte_o(dwb_bte_o),
|
|
`endif
|
|
|
// Internal RISC bus
|
// Internal RISC bus
|
.biu_dat_i(sbbiu_dat_sb),
|
.biu_dat_i(sbbiu_dat_sb),
|
.biu_adr_i(sbbiu_adr_sb),
|
.biu_adr_i(sbbiu_adr_sb),
|
.biu_cyc_i(sbbiu_cyc_sb),
|
.biu_cyc_i(sbbiu_cyc_sb),
|