Line 35... |
Line 35... |
//// ////
|
//// ////
|
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
|
|
// CVS Log
|
// CVS Log
|
//
|
//
|
// $Id: mc_rf.v,v 1.2 2001-08-10 08:16:21 rudi Exp $
|
// $Id: mc_rf.v,v 1.3 2001-09-24 00:38:21 rudi Exp $
|
//
|
//
|
// $Date: 2001-08-10 08:16:21 $
|
// $Date: 2001-09-24 00:38:21 $
|
// $Revision: 1.2 $
|
// $Revision: 1.3 $
|
// $Author: rudi $
|
// $Author: rudi $
|
// $Locker: $
|
// $Locker: $
|
// $State: Exp $
|
// $State: Exp $
|
//
|
//
|
// Change History:
|
// Change History:
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.2 2001/08/10 08:16:21 rudi
|
|
//
|
|
// - Changed IO names to be more clear.
|
|
// - Uniquifyed define names to be core specific.
|
|
// - Removed "Refresh Early" configuration
|
|
//
|
// Revision 1.1 2001/07/29 07:34:41 rudi
|
// Revision 1.1 2001/07/29 07:34:41 rudi
|
//
|
//
|
//
|
//
|
// 1) Changed Directory Structure
|
// 1) Changed Directory Structure
|
// 2) Fixed several minor bugs
|
// 2) Fixed several minor bugs
|
Line 177... |
Line 183... |
wire cs4, cs5, cs6, cs7;
|
wire cs4, cs5, cs6, cs7;
|
wire wp_err0, wp_err1, wp_err2, wp_err3;
|
wire wp_err0, wp_err1, wp_err2, wp_err3;
|
wire wp_err4, wp_err5, wp_err6, wp_err7;
|
wire wp_err4, wp_err5, wp_err6, wp_err7;
|
reg wp_err;
|
reg wp_err;
|
|
|
|
|
wire lmr_req7, lmr_req6, lmr_req5, lmr_req4;
|
wire lmr_req7, lmr_req6, lmr_req5, lmr_req4;
|
wire lmr_req3, lmr_req2, lmr_req1, lmr_req0;
|
wire lmr_req3, lmr_req2, lmr_req1, lmr_req0;
|
wire lmr_ack7, lmr_ack6, lmr_ack5, lmr_ack4;
|
wire lmr_ack7, lmr_ack6, lmr_ack5, lmr_ack4;
|
wire lmr_ack3, lmr_ack2, lmr_ack1, lmr_ack0;
|
wire lmr_ack3, lmr_ack2, lmr_ack1, lmr_ack0;
|
|
|
Line 243... |
Line 248... |
// WISHBONE Register Write logic
|
// WISHBONE Register Write logic
|
//
|
//
|
|
|
assign rf_we = `MC_REG_SEL & wb_we_i & wb_cyc_i & wb_stb_i;
|
assign rf_we = `MC_REG_SEL & wb_we_i & wb_cyc_i & wb_stb_i;
|
|
|
always @(posedge clk or negedge rst)
|
always @(posedge clk or posedge rst)
|
if(!rst) csr_r2 <= #1 8'h0;
|
if(rst) csr_r2 <= #1 8'h0;
|
else
|
else
|
if(rf_we & (wb_addr_i[6:2] == 5'h0) )
|
if(rf_we & (wb_addr_i[6:2] == 5'h0) )
|
csr_r2 <= #1 wb_data_i[31:24];
|
csr_r2 <= #1 wb_data_i[31:24];
|
|
|
always @(posedge clk or negedge rst)
|
always @(posedge clk or posedge rst)
|
if(!rst) csr_r[10:1] <= #1 10'h0;
|
if(rst) csr_r[10:1] <= #1 10'h0;
|
else
|
else
|
if(rf_we & (wb_addr_i[6:2] == 5'h0) )
|
if(rf_we & (wb_addr_i[6:2] == 5'h0) )
|
csr_r[10:1] <= #1 wb_data_i[10:1];
|
csr_r[10:1] <= #1 wb_data_i[10:1];
|
|
|
always @(posedge clk)
|
always @(posedge clk)
|
Line 262... |
Line 267... |
|
|
assign mc_vpen = csr_r[1];
|
assign mc_vpen = csr_r[1];
|
assign fs = csr_r[2];
|
assign fs = csr_r[2];
|
assign rfr_ps_val = csr_r2[7:0];
|
assign rfr_ps_val = csr_r2[7:0];
|
|
|
always @(posedge clk or negedge rst)
|
always @(posedge clk or posedge rst)
|
if(!rst) csc_mask_r <= #1 11'h7ff;
|
if(rst) csc_mask_r <= #1 11'h7ff;
|
else
|
else
|
if(rf_we & (wb_addr_i[6:2] == 5'h2) )
|
if(rf_we & (wb_addr_i[6:2] == 5'h2) )
|
csc_mask_r <= #1 wb_data_i[10:0];
|
csc_mask_r <= #1 wb_data_i[10:0];
|
|
|
always @(posedge clk)
|
always @(posedge clk)
|
if(!rst) poc <= #1 mc_data_i;
|
if(rst) poc <= #1 mc_data_i;
|
|
|
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
//
|
//
|
// WISHBONE Register Ack logic
|
// WISHBONE Register Ack logic
|
//
|
//
|