Line 1... |
Line 1... |
// $Id: aeMB_ctrl.v,v 1.7 2007-11-14 22:14:34 sybreon Exp $
|
// $Id: aeMB_ctrl.v,v 1.8 2007-11-14 23:19:24 sybreon Exp $
|
//
|
//
|
// AEMB CONTROL UNIT
|
// AEMB CONTROL UNIT
|
//
|
//
|
// Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
|
// Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
|
//
|
//
|
Line 18... |
Line 18... |
//
|
//
|
// You should have received a copy of the GNU Lesser General Public
|
// You should have received a copy of the GNU Lesser General Public
|
// License along with AEMB. If not, see <http://www.gnu.org/licenses/>.
|
// License along with AEMB. If not, see <http://www.gnu.org/licenses/>.
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.7 2007/11/14 22:14:34 sybreon
|
|
// Changed interrupt handling system (reported by M. Ettus).
|
|
//
|
// Revision 1.6 2007/11/10 16:39:38 sybreon
|
// Revision 1.6 2007/11/10 16:39:38 sybreon
|
// Upgraded license to LGPLv3.
|
// Upgraded license to LGPLv3.
|
// Significant performance optimisations.
|
// Significant performance optimisations.
|
//
|
//
|
// Revision 1.5 2007/11/09 20:51:52 sybreon
|
// Revision 1.5 2007/11/09 20:51:52 sybreon
|
Line 43... |
Line 46... |
// Code compatible with -O0/1/2/3/s generated code.
|
// Code compatible with -O0/1/2/3/s generated code.
|
//
|
//
|
|
|
module aeMB_ctrl (/*AUTOARG*/
|
module aeMB_ctrl (/*AUTOARG*/
|
// Outputs
|
// Outputs
|
rMXDST, rMXSRC, rMXTGT, rMXALT, rMXALU, rRW, rDWBSTB, rFSLSTB,
|
rMXDST, rMXSRC, rMXTGT, rMXALT, rMXALU, rRW, dwb_stb_o, dwb_wre_o,
|
dwb_stb_o, dwb_wre_o, fsl_stb_o, fsl_wre_o,
|
fsl_stb_o, fsl_wre_o,
|
// Inputs
|
// Inputs
|
rDLY, rIMM, rALT, rOPC, rRD, rRA, rRB, rPC, rBRA, rMSR_IE, xIREG,
|
rDLY, rIMM, rALT, rOPC, rRD, rRA, rRB, rPC, rBRA, rMSR_IE, xIREG,
|
dwb_ack_i, iwb_ack_i, fsl_ack_i, gclk, grst, gena
|
dwb_ack_i, iwb_ack_i, fsl_ack_i, gclk, grst, gena
|
);
|
);
|
// INTERNAL
|
// INTERNAL
|
//output [31:2] rPCLNK;
|
//output [31:2] rPCLNK;
|
output [1:0] rMXDST;
|
output [1:0] rMXDST;
|
output [1:0] rMXSRC, rMXTGT, rMXALT;
|
output [1:0] rMXSRC, rMXTGT, rMXALT;
|
output [2:0] rMXALU;
|
output [2:0] rMXALU;
|
output [4:0] rRW;
|
output [4:0] rRW;
|
output rDWBSTB;
|
//output rDWBSTB;
|
output rFSLSTB;
|
//output rFSLSTB;
|
|
|
//input [1:0] rXCE;
|
//input [1:0] rXCE;
|
input rDLY;
|
input rDLY;
|
input [15:0] rIMM;
|
input [15:0] rIMM;
|
input [10:0] rALT;
|
input [10:0] rALT;
|