Line 43... |
Line 43... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.1.1.1 2001/10/06 10:18:35 igorm
|
|
// no message
|
|
//
|
// Revision 1.4 2001/08/17 08:01:19 lampret
|
// Revision 1.4 2001/08/17 08:01:19 lampret
|
// IC enable/disable.
|
// IC enable/disable.
|
//
|
//
|
// Revision 1.3 2001/08/13 03:36:20 lampret
|
// Revision 1.3 2001/08/13 03:36:20 lampret
|
// Added cfg regs. Moved all defines into one defines.v file. More cleanup.
|
// Added cfg regs. Moved all defines into one defines.v file. More cleanup.
|
Line 71... |
Line 74... |
// Insn interface
|
// Insn interface
|
ic_insn, ic_addr, ic_stall, ic_fetchop, ic_en,
|
ic_insn, ic_addr, ic_stall, ic_fetchop, ic_en,
|
immu_en, immuexcept_miss, immuexcept_fault,
|
immu_en, immuexcept_miss, immuexcept_fault,
|
|
|
// Debug unit
|
// Debug unit
|
|
ex_freeze, branch_op,
|
du_stall, du_addr, du_dat_du, du_read, du_write, du_except,
|
du_stall, du_addr, du_dat_du, du_read, du_write, du_except,
|
|
|
// Data interface
|
// Data interface
|
dclsu_stall, dclsu_unstall, dclsu_addr, dclsu_datain, dclsu_dataout, dclsu_lsuop, dc_en,
|
dclsu_stall, dclsu_unstall, dclsu_addr, dclsu_datain, dclsu_dataout, dclsu_lsuop, dc_en,
|
dmmu_en, dmmuexcept_miss, dmmuexcept_fault,
|
dmmu_en, dmmuexcept_miss, dmmuexcept_fault,
|
Line 117... |
Line 121... |
output immu_en;
|
output immu_en;
|
|
|
//
|
//
|
// Debug interface
|
// Debug interface
|
//
|
//
|
|
output ex_freeze;
|
|
output [`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;
|
Line 208... |
Line 214... |
wire lsu_stall;
|
wire lsu_stall;
|
wire branch_stall;
|
wire branch_stall;
|
wire epcr_we;
|
wire epcr_we;
|
wire eear_we;
|
wire eear_we;
|
wire esr_we;
|
wire esr_we;
|
|
wire pc_we;
|
wire [31:0] epcr;
|
wire [31:0] epcr;
|
wire [31:0] eear;
|
wire [31:0] eear;
|
wire [`SR_WIDTH-1:0] esr;
|
wire [`SR_WIDTH-1:0] esr;
|
wire [`SR_WIDTH-1:0] sr;
|
wire [`SR_WIDTH-1:0] sr;
|
wire except_start;
|
wire except_start;
|
Line 221... |
Line 228... |
wire [15:0] spr_addrimm;
|
wire [15:0] spr_addrimm;
|
wire sig_syscall;
|
wire sig_syscall;
|
wire sig_trap;
|
wire sig_trap;
|
wire [31:0] spr_dat_cfgr;
|
wire [31:0] spr_dat_cfgr;
|
wire [31:0] spr_dat_rf;
|
wire [31:0] spr_dat_rf;
|
|
wire [31:0] spr_dat_pc;
|
wire force_dslot_fetch;
|
wire force_dslot_fetch;
|
wire if_stall;
|
wire if_stall;
|
wire id_macrc_op;
|
wire id_macrc_op;
|
wire ex_macrc_op;
|
wire ex_macrc_op;
|
wire [31:0] mult_mac_result;
|
wire [31:0] mult_mac_result;
|
Line 290... |
Line 298... |
.except_flushpipe(except_flushpipe),
|
.except_flushpipe(except_flushpipe),
|
.except_type(except_type),
|
.except_type(except_type),
|
.except_start(except_start),
|
.except_start(except_start),
|
.except_started(except_started),
|
.except_started(except_started),
|
.wb_pc(wb_pc),
|
.wb_pc(wb_pc),
|
|
.ex_pc(spr_dat_pc),
|
|
|
.datain(operand_b),
|
.datain(operand_b),
|
.epcr_we(epcr_we),
|
.epcr_we(epcr_we),
|
.eear_we(eear_we),
|
.eear_we(eear_we),
|
.esr_we(esr_we),
|
.esr_we(esr_we),
|
Line 327... |
Line 336... |
.taken(branch_taken),
|
.taken(branch_taken),
|
.binsn_addr(lr_sav),
|
.binsn_addr(lr_sav),
|
.epcr(epcr),
|
.epcr(epcr),
|
.force_dslot_fetch(force_dslot_fetch),
|
.force_dslot_fetch(force_dslot_fetch),
|
.if_stall(if_stall),
|
.if_stall(if_stall),
|
.branch_stall(branch_stall)
|
.branch_stall(branch_stall),
|
|
.spr_dat_i(spr_dataout),
|
|
.spr_pc_we(pc_we)
|
);
|
);
|
|
|
//
|
//
|
// Instantiation of instruction decode/control logic
|
// Instantiation of instruction decode/control logic
|
//
|
//
|
Line 480... |
Line 491... |
.spr_dat_pic(spr_dat_pic),
|
.spr_dat_pic(spr_dat_pic),
|
.spr_dat_tt(spr_dat_tt),
|
.spr_dat_tt(spr_dat_tt),
|
.spr_dat_pm(spr_dat_pm),
|
.spr_dat_pm(spr_dat_pm),
|
.spr_dat_cfgr(spr_dat_cfgr),
|
.spr_dat_cfgr(spr_dat_cfgr),
|
.spr_dat_rf(spr_dat_rf),
|
.spr_dat_rf(spr_dat_rf),
|
|
.spr_dat_pc(spr_dat_pc),
|
.spr_dat_dmmu(spr_dat_dmmu),
|
.spr_dat_dmmu(spr_dat_dmmu),
|
.spr_dat_immu(spr_dat_immu),
|
.spr_dat_immu(spr_dat_immu),
|
.spr_dat_du(spr_dat_du),
|
.spr_dat_du(spr_dat_du),
|
.spr_dataout(spr_dataout),
|
.spr_dataout(spr_dataout),
|
.spr_cs(spr_cs),
|
.spr_cs(spr_cs),
|
.spr_we(spr_we),
|
.spr_we(spr_we),
|
|
|
.epcr_we(epcr_we),
|
.epcr_we(epcr_we),
|
.eear_we(eear_we),
|
.eear_we(eear_we),
|
.esr_we(esr_we),
|
.esr_we(esr_we),
|
|
.pc_we(pc_we),
|
.epcr(epcr),
|
.epcr(epcr),
|
.eear(eear),
|
.eear(eear),
|
.esr(esr),
|
.esr(esr),
|
.except_start(except_start),
|
.except_start(except_start),
|
.except_started(except_started),
|
.except_started(except_started),
|