Line 43... |
Line 43... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.4 2002/01/18 14:21:43 lampret
|
|
// Fixed 'the NPC single-step fix'.
|
|
//
|
// Revision 1.3 2002/01/18 07:56:00 lampret
|
// Revision 1.3 2002/01/18 07:56:00 lampret
|
// No more low/high priority interrupts (PICPR removed). Added tick timer exception. Added exception prefix (SR[EPH]). Fixed single-step bug whenreading NPC.
|
// No more low/high priority interrupts (PICPR removed). Added tick timer exception. Added exception prefix (SR[EPH]). Fixed single-step bug whenreading NPC.
|
//
|
//
|
// Revision 1.2 2002/01/14 06:18:22 lampret
|
// Revision 1.2 2002/01/14 06:18:22 lampret
|
// Fixed mem2reg bug in FAST implementation. Updated debug unit to work with new genpc/if.
|
// Fixed mem2reg bug in FAST implementation. Updated debug unit to work with new genpc/if.
|
Line 294... |
Line 297... |
wire [31:0] spr_dat_rf;
|
wire [31:0] spr_dat_rf;
|
wire [31:0] spr_dat_npc;
|
wire [31:0] spr_dat_npc;
|
wire [31:0] spr_dat_ppc;
|
wire [31:0] spr_dat_ppc;
|
wire [31:0] spr_dat_mac;
|
wire [31:0] spr_dat_mac;
|
wire force_dslot_fetch;
|
wire force_dslot_fetch;
|
wire has_dslot;
|
wire no_more_dslot;
|
wire ex_void;
|
wire ex_void;
|
wire if_stall;
|
wire if_stall;
|
wire id_macrc_op;
|
wire id_macrc_op;
|
wire ex_macrc_op;
|
wire ex_macrc_op;
|
wire [`OR1200_MACOP_WIDTH-1:0] mac_op;
|
wire [`OR1200_MACOP_WIDTH-1:0] mac_op;
|
Line 314... |
Line 317... |
wire except_illegal;
|
wire except_illegal;
|
wire except_itlbmiss;
|
wire except_itlbmiss;
|
wire except_immufault;
|
wire except_immufault;
|
wire except_ibuserr;
|
wire except_ibuserr;
|
wire except_dbuserr;
|
wire except_dbuserr;
|
|
wire abort_ex;
|
|
|
//
|
//
|
// icpu_we_o
|
// icpu_we_o
|
//
|
//
|
assign icpu_we_o = 1'b0;
|
assign icpu_we_o = 1'b0;
|
Line 380... |
Line 384... |
.epcr(epcr),
|
.epcr(epcr),
|
.spr_dat_i(spr_dataout),
|
.spr_dat_i(spr_dataout),
|
.spr_pc_we(pc_we),
|
.spr_pc_we(pc_we),
|
.genpc_refetch(genpc_refetch),
|
.genpc_refetch(genpc_refetch),
|
.genpc_freeze(genpc_freeze),
|
.genpc_freeze(genpc_freeze),
|
.flushpipe(flushpipe)
|
.flushpipe(flushpipe),
|
|
.no_more_dslot(no_more_dslot)
|
);
|
);
|
|
|
//
|
//
|
// Instantiation of instruction fetch block
|
// Instantiation of instruction fetch block
|
//
|
//
|
Line 401... |
Line 406... |
.if_freeze(if_freeze),
|
.if_freeze(if_freeze),
|
.if_insn(if_insn),
|
.if_insn(if_insn),
|
.if_pc(if_pc),
|
.if_pc(if_pc),
|
.flushpipe(flushpipe),
|
.flushpipe(flushpipe),
|
.if_stall(if_stall),
|
.if_stall(if_stall),
|
.has_dslot(has_dslot),
|
.no_more_dslot(no_more_dslot),
|
.taken(branch_taken),
|
.taken(branch_taken),
|
.genpc_refetch(genpc_refetch),
|
.genpc_refetch(genpc_refetch),
|
.rfe(rfe),
|
.rfe(rfe),
|
.except_itlbmiss(except_itlbmiss),
|
.except_itlbmiss(except_itlbmiss),
|
.except_immufault(except_immufault),
|
.except_immufault(except_immufault),
|
Line 423... |
Line 428... |
.wb_freeze(wb_freeze),
|
.wb_freeze(wb_freeze),
|
.flushpipe(flushpipe),
|
.flushpipe(flushpipe),
|
.if_insn(if_insn),
|
.if_insn(if_insn),
|
.ex_insn(ex_insn),
|
.ex_insn(ex_insn),
|
.branch_op(branch_op),
|
.branch_op(branch_op),
|
|
.branch_taken(branch_taken),
|
.rf_addra(rf_addra),
|
.rf_addra(rf_addra),
|
.rf_addrb(rf_addrb),
|
.rf_addrb(rf_addrb),
|
.rf_rda(rf_rda),
|
.rf_rda(rf_rda),
|
.rf_rdb(rf_rdb),
|
.rf_rdb(rf_rdb),
|
.alu_op(alu_op),
|
.alu_op(alu_op),
|
Line 446... |
Line 452... |
.spr_addrimm(spr_addrimm),
|
.spr_addrimm(spr_addrimm),
|
.wbforw_valid(wbforw_valid),
|
.wbforw_valid(wbforw_valid),
|
.sig_syscall(sig_syscall),
|
.sig_syscall(sig_syscall),
|
.sig_trap(sig_trap),
|
.sig_trap(sig_trap),
|
.force_dslot_fetch(force_dslot_fetch),
|
.force_dslot_fetch(force_dslot_fetch),
|
.has_dslot(has_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),
|
.except_illegal(except_illegal)
|
.except_illegal(except_illegal)
|
Line 652... |
Line 658... |
.extend_flush(extend_flush),
|
.extend_flush(extend_flush),
|
.lsu_stall(lsu_stall),
|
.lsu_stall(lsu_stall),
|
.if_stall(if_stall),
|
.if_stall(if_stall),
|
.lsu_unstall(lsu_unstall),
|
.lsu_unstall(lsu_unstall),
|
.force_dslot_fetch(force_dslot_fetch),
|
.force_dslot_fetch(force_dslot_fetch),
|
|
.abort_ex(abort_ex),
|
.du_stall(du_stall),
|
.du_stall(du_stall),
|
.mac_stall(mac_stall),
|
.mac_stall(mac_stall),
|
.genpc_freeze(genpc_freeze),
|
.genpc_freeze(genpc_freeze),
|
.if_freeze(if_freeze),
|
.if_freeze(if_freeze),
|
.id_freeze(id_freeze),
|
.id_freeze(id_freeze),
|
Line 708... |
Line 715... |
.epcr(epcr),
|
.epcr(epcr),
|
.eear(eear),
|
.eear(eear),
|
.esr(esr),
|
.esr(esr),
|
|
|
.lsu_addr(dcpu_adr_o),
|
.lsu_addr(dcpu_adr_o),
|
.sr(sr)
|
.sr(sr),
|
|
.abort_ex(abort_ex)
|
);
|
);
|
|
|
//
|
//
|
// Instantiation of configuration registers
|
// Instantiation of configuration registers
|
//
|
//
|