Line 1... |
Line 1... |
// $Id: aeMB_edk32.v,v 1.8 2007-11-14 22:14:34 sybreon Exp $
|
// $Id: aeMB_edk32.v,v 1.9 2007-11-14 23:19:24 sybreon Exp $
|
//
|
//
|
// AEMB EDK 3.2 Compatible Core
|
// AEMB EDK 3.2 Compatible Core
|
//
|
//
|
// 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.8 2007/11/14 22:14:34 sybreon
|
|
// Changed interrupt handling system (reported by M. Ettus).
|
|
//
|
// Revision 1.7 2007/11/10 16:39:38 sybreon
|
// Revision 1.7 2007/11/10 16:39:38 sybreon
|
// Upgraded license to LGPLv3.
|
// Upgraded license to LGPLv3.
|
// Significant performance optimisations.
|
// Significant performance optimisations.
|
//
|
//
|
// Revision 1.6 2007/11/09 20:51:52 sybreon
|
// Revision 1.6 2007/11/09 20:51:52 sybreon
|
Line 46... |
Line 49... |
// Code compatible with -O0/1/2/3/s generated code.
|
// Code compatible with -O0/1/2/3/s generated code.
|
//
|
//
|
|
|
module aeMB_edk32 (/*AUTOARG*/
|
module aeMB_edk32 (/*AUTOARG*/
|
// Outputs
|
// Outputs
|
rFSLSTB, rDWBSTB, iwb_stb_o, iwb_adr_o, fsl_wre_o, fsl_stb_o,
|
iwb_stb_o, iwb_adr_o, fsl_wre_o, fsl_stb_o, fsl_dat_o, fsl_adr_o,
|
fsl_dat_o, fsl_adr_o, dwb_wre_o, dwb_stb_o, dwb_sel_o, dwb_dat_o,
|
dwb_wre_o, dwb_stb_o, dwb_sel_o, dwb_dat_o, dwb_adr_o,
|
dwb_adr_o,
|
|
// Inputs
|
// Inputs
|
sys_int_i, iwb_dat_i, iwb_ack_i, fsl_dat_i, fsl_ack_i, dwb_dat_i,
|
sys_int_i, iwb_dat_i, iwb_ack_i, fsl_dat_i, fsl_ack_i, dwb_dat_i,
|
dwb_ack_i, sys_clk_i, sys_rst_i
|
dwb_ack_i, sys_clk_i, sys_rst_i
|
);
|
);
|
// Bus widths
|
// Bus widths
|
Line 74... |
Line 76... |
output [31:0] fsl_dat_o; // From regf of aeMB_regf.v
|
output [31:0] fsl_dat_o; // From regf of aeMB_regf.v
|
output fsl_stb_o; // From ctrl of aeMB_ctrl.v
|
output fsl_stb_o; // From ctrl of aeMB_ctrl.v
|
output fsl_wre_o; // From ctrl of aeMB_ctrl.v
|
output fsl_wre_o; // From ctrl of aeMB_ctrl.v
|
output [IW-1:2] iwb_adr_o; // From bpcu of aeMB_bpcu.v
|
output [IW-1:2] iwb_adr_o; // From bpcu of aeMB_bpcu.v
|
output iwb_stb_o; // From ibuf of aeMB_ibuf.v
|
output iwb_stb_o; // From ibuf of aeMB_ibuf.v
|
output rDWBSTB; // From ctrl of aeMB_ctrl.v
|
|
output rFSLSTB; // From ctrl of aeMB_ctrl.v
|
|
// End of automatics
|
// End of automatics
|
/*AUTOINPUT*/
|
/*AUTOINPUT*/
|
// Beginning of automatic inputs (from unused autoinst inputs)
|
// Beginning of automatic inputs (from unused autoinst inputs)
|
input dwb_ack_i; // To ctrl of aeMB_ctrl.v
|
input dwb_ack_i; // To ctrl of aeMB_ctrl.v
|
input [31:0] dwb_dat_i; // To regf of aeMB_regf.v
|
input [31:0] dwb_dat_i; // To regf of aeMB_regf.v
|
Line 155... |
Line 155... |
.rMXSRC (rMXSRC[1:0]),
|
.rMXSRC (rMXSRC[1:0]),
|
.rMXTGT (rMXTGT[1:0]),
|
.rMXTGT (rMXTGT[1:0]),
|
.rMXALT (rMXALT[1:0]),
|
.rMXALT (rMXALT[1:0]),
|
.rMXALU (rMXALU[2:0]),
|
.rMXALU (rMXALU[2:0]),
|
.rRW (rRW[4:0]),
|
.rRW (rRW[4:0]),
|
.rDWBSTB (rDWBSTB),
|
|
.rFSLSTB (rFSLSTB),
|
|
.dwb_stb_o (dwb_stb_o),
|
.dwb_stb_o (dwb_stb_o),
|
.dwb_wre_o (dwb_wre_o),
|
.dwb_wre_o (dwb_wre_o),
|
.fsl_stb_o (fsl_stb_o),
|
.fsl_stb_o (fsl_stb_o),
|
.fsl_wre_o (fsl_wre_o),
|
.fsl_wre_o (fsl_wre_o),
|
// Inputs
|
// Inputs
|