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

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel_29/] [or1200/] [rtl/] [verilog/] [or1200_cpu.v] - Diff between revs 1208 and 1267

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

Rev 1208 Rev 1267
Line 43... Line 43...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.12.4.2  2004/02/11 01:40:11  lampret
 
// preliminary HW breakpoints support in debug unit (by default disabled). To enable define OR1200_DU_HWBKPTS.
 
//
 
// Revision 1.12.4.1  2003/12/09 11:46:48  simons
 
// Mbist nameing changed, Artisan ram instance signal names fixed, some synthesis waning fixed.
 
//
// Revision 1.12  2002/09/07 05:42:02  lampret
// Revision 1.12  2002/09/07 05:42:02  lampret
// Added optional SR[CY]. Added define to enable additional (compare) flag modifiers. Defines are OR1200_IMPL_ADDC and OR1200_ADDITIONAL_FLAG_MODIFIERS.
// Added optional SR[CY]. Added define to enable additional (compare) flag modifiers. Defines are OR1200_IMPL_ADDC and OR1200_ADDITIONAL_FLAG_MODIFIERS.
//
//
// Revision 1.11  2002/08/28 01:44:25  lampret
// Revision 1.11  2002/08/28 01:44:25  lampret
// Removed some commented RTL. Fixed SR/ESR flag bug.
// Removed some commented RTL. Fixed SR/ESR flag bug.
Line 145... Line 151...
        icpu_adr_o, icpu_cycstb_o, icpu_sel_o, icpu_tag_o,
        icpu_adr_o, icpu_cycstb_o, icpu_sel_o, icpu_tag_o,
        icpu_dat_i, icpu_ack_i, icpu_rty_i, icpu_err_i, icpu_adr_i, icpu_tag_i,
        icpu_dat_i, icpu_ack_i, icpu_rty_i, icpu_err_i, icpu_adr_i, icpu_tag_i,
        immu_en,
        immu_en,
 
 
        // Debug unit
        // Debug unit
        ex_insn, ex_freeze, branch_op,
        ex_insn, ex_freeze, id_pc, branch_op,
        spr_dat_npc, rf_dataw,
        spr_dat_npc, rf_dataw,
        du_stall, du_addr, du_dat_du, du_read, du_write, du_dsr, du_except, du_dat_cpu,
        du_stall, du_addr, du_dat_du, du_read, du_write, du_dsr, du_hwbkpt,
 
        du_except, du_dat_cpu,
 
 
        // Data interface
        // Data interface
        dc_en,
        dc_en,
        dcpu_adr_o, dcpu_cycstb_o, dcpu_we_o, dcpu_sel_o, dcpu_tag_o, dcpu_dat_o,
        dcpu_adr_o, dcpu_cycstb_o, dcpu_we_o, dcpu_sel_o, dcpu_tag_o, dcpu_dat_o,
        dcpu_dat_i, dcpu_ack_i, dcpu_rty_i, dcpu_err_i, dcpu_tag_i,
        dcpu_dat_i, dcpu_ack_i, dcpu_rty_i, dcpu_err_i, dcpu_tag_i,
Line 201... Line 208...
//
//
// Debug interface
// Debug interface
//
//
output  [31:0]                   ex_insn;
output  [31:0]                   ex_insn;
output                          ex_freeze;
output                          ex_freeze;
 
output  [31:0]                   id_pc;
output  [`OR1200_BRANCHOP_WIDTH-1:0]     branch_op;
output  [`OR1200_BRANCHOP_WIDTH-1:0]     branch_op;
 
 
input                           du_stall;
input                           du_stall;
input   [dw-1:0]         du_addr;
input   [dw-1:0]         du_addr;
input   [dw-1:0]         du_dat_du;
input   [dw-1:0]         du_dat_du;
input                           du_read;
input                           du_read;
input                           du_write;
input                           du_write;
input   [`OR1200_DU_DSR_WIDTH-1:0]       du_dsr;
input   [`OR1200_DU_DSR_WIDTH-1:0]       du_dsr;
 
input                           du_hwbkpt;
output  [12:0]                   du_except;
output  [12:0]                   du_except;
output  [dw-1:0]         du_dat_cpu;
output  [dw-1:0]         du_dat_cpu;
output  [dw-1:0]         rf_dataw;
output  [dw-1:0]         rf_dataw;
 
 
//
//
Line 338... Line 347...
wire    [`OR1200_MACOP_WIDTH-1:0] mac_op;
wire    [`OR1200_MACOP_WIDTH-1:0] mac_op;
wire    [31:0]                   mult_mac_result;
wire    [31:0]                   mult_mac_result;
wire                            mac_stall;
wire                            mac_stall;
wire    [12:0]                   except_stop;
wire    [12:0]                   except_stop;
wire                            genpc_refetch;
wire                            genpc_refetch;
wire                            genpc_stop_refetch;
 
wire                            rfe;
wire                            rfe;
wire                            lsu_unstall;
wire                            lsu_unstall;
wire                            except_align;
wire                            except_align;
wire                            except_dtlbmiss;
wire                            except_dtlbmiss;
wire                            except_dmmufault;
wire                            except_dmmufault;
Line 407... Line 415...
        .binsn_addr(lr_sav),
        .binsn_addr(lr_sav),
        .epcr(epcr),
        .epcr(epcr),
        .spr_dat_i(spr_dat_cpu),
        .spr_dat_i(spr_dat_cpu),
        .spr_pc_we(pc_we),
        .spr_pc_we(pc_we),
        .genpc_refetch(genpc_refetch),
        .genpc_refetch(genpc_refetch),
        .genpc_stop_prefetch(genpc_stop_prefetch),
 
        .genpc_freeze(genpc_freeze),
        .genpc_freeze(genpc_freeze),
 
  .genpc_stop_prefetch(1'b0),
        .no_more_dslot(no_more_dslot)
        .no_more_dslot(no_more_dslot)
);
);
 
 
//
//
// Instantiation of instruction fetch block
// Instantiation of instruction fetch block
Line 431... Line 439...
        .if_pc(if_pc),
        .if_pc(if_pc),
        .flushpipe(flushpipe),
        .flushpipe(flushpipe),
        .if_stall(if_stall),
        .if_stall(if_stall),
        .no_more_dslot(no_more_dslot),
        .no_more_dslot(no_more_dslot),
        .genpc_refetch(genpc_refetch),
        .genpc_refetch(genpc_refetch),
        .genpc_stop_prefetch(genpc_stop_prefetch),
 
        .rfe(rfe),
        .rfe(rfe),
        .except_itlbmiss(except_itlbmiss),
        .except_itlbmiss(except_itlbmiss),
        .except_immufault(except_immufault),
        .except_immufault(except_immufault),
        .except_ibuserr(except_ibuserr)
        .except_ibuserr(except_ibuserr)
);
);
Line 480... Line 487...
        .no_more_dslot(no_more_dslot),
        .no_more_dslot(no_more_dslot),
        .ex_void(ex_void),
        .ex_void(ex_void),
        .id_macrc_op(id_macrc_op),
        .id_macrc_op(id_macrc_op),
        .ex_macrc_op(ex_macrc_op),
        .ex_macrc_op(ex_macrc_op),
        .rfe(rfe),
        .rfe(rfe),
 
        .du_hwbkpt(du_hwbkpt),
        .except_illegal(except_illegal)
        .except_illegal(except_illegal)
);
);
 
 
//
//
// Instantiation of register file
// Instantiation of register file
Line 727... Line 735...
        .id_freeze(id_freeze),
        .id_freeze(id_freeze),
        .ex_freeze(ex_freeze),
        .ex_freeze(ex_freeze),
        .wb_freeze(wb_freeze),
        .wb_freeze(wb_freeze),
        .if_stall(if_stall),
        .if_stall(if_stall),
        .if_pc(if_pc),
        .if_pc(if_pc),
 
        .id_pc(id_pc),
        .lr_sav(lr_sav),
        .lr_sav(lr_sav),
        .flushpipe(flushpipe),
        .flushpipe(flushpipe),
        .extend_flush(extend_flush),
        .extend_flush(extend_flush),
        .except_type(except_type),
        .except_type(except_type),
        .except_start(except_start),
        .except_start(except_start),

powered by: WebSVN 2.1.0

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