Line 39... |
Line 39... |
//// Public License along with this source; if not, download it ////
|
//// Public License along with this source; if not, download it ////
|
//// from <http://www.opencores.org/lgpl.shtml> ////
|
//// from <http://www.opencores.org/lgpl.shtml> ////
|
//// ////
|
//// ////
|
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// $Id: sxp.v,v 1.8 2001-12-12 02:07:25 samg Exp $
|
// $Id: sxp.v,v 1.9 2001-12-14 16:53:12 samg Exp $
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.8 2001/12/12 02:07:25 samg
|
|
// fixed case statement, sensitivity list
|
|
//
|
// Revision 1.7 2001/12/06 16:12:06 samg
|
// Revision 1.7 2001/12/06 16:12:06 samg
|
// minor expression rewrite in 4th stage
|
// minor expression rewrite in 4th stage
|
//
|
//
|
// Revision 1.6 2001/12/05 18:12:08 samg
|
// Revision 1.6 2001/12/05 18:12:08 samg
|
// Rewrote verilog for write enable signals for different destinations in the last stage.
|
// Rewrote verilog for write enable signals for different destinations in the last stage.
|
Line 406... |
Line 409... |
`endif
|
`endif
|
|
|
regf_status #(4) i_regf_status(
|
regf_status #(4) i_regf_status(
|
.clk(clk), // system clock
|
.clk(clk), // system clock
|
.reset_b(reset_b), // power on reset
|
.reset_b(reset_b), // power on reset
|
.stall(stall_1_2), // stall in pipeline 1 and 2
|
|
.halt(halt), // system wide stall signal
|
.halt(halt), // system wide stall signal
|
.dest_en(dest_en_1), // instr has dest register (en scoreboarding)
|
.dest_en(dest_en_1), // instr has dest register (en scoreboarding)
|
.dest_addr(dest_addr_1), // destination address from instruction
|
.dest_addr(dest_addr_1), // destination address from instruction
|
.wec(wec), // port C write back request
|
.wec(wec), // port C write back request
|
.addrc(addrc_wb), // port C write back address
|
.addrc(addrc_wb), // port C write back address
|
Line 419... |
Line 421... |
.a_en(a_en), // Reg A is enabled in instruction
|
.a_en(a_en), // Reg A is enabled in instruction
|
.b_en(b_en), // Reg B is enabled in instruction
|
.b_en(b_en), // Reg B is enabled in instruction
|
.flush_pipeline(flush_pipeline),// Reinitialize status after pipeline flush
|
.flush_pipeline(flush_pipeline),// Reinitialize status after pipeline flush
|
|
|
.safe_switch(safe_switch), // safe to context switch or interupt;
|
.safe_switch(safe_switch), // safe to context switch or interupt;
|
.stall_regf(stall_1_2)); // stall the reg file and modules prior
|
.conflict(stall_1_2)); // stall the reg file and modules prior
|
|
|
|
|
`ifdef SYNC_REG
|
`ifdef SYNC_REG
|
always @(inst_vld_1 or stall_1_2 or dest_cfg_1 or dest_addr_1 or src_cfg_1 or
|
always @(inst_vld_1 or stall_1_2 or dest_cfg_1 or dest_addr_1 or src_cfg_1 or
|
alu_cfg_1 or wb_cfg_1 or imm_1 or pcn_1 or cond_jump_1 or b_en or
|
alu_cfg_1 or wb_cfg_1 or imm_1 or pcn_1 or cond_jump_1 or b_en or
|