Line 1... |
Line 1... |
/* $Id: aeMB_ibuf.v,v 1.8 2007-12-25 22:15:09 sybreon Exp $
|
/* $Id: aeMB_ibuf.v,v 1.9 2008-01-19 16:01:22 sybreon Exp $
|
**
|
**
|
** AEMB INSTRUCTION BUFFER
|
** AEMB INSTRUCTION BUFFER
|
** Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
|
** Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
|
**
|
**
|
** This file is part of AEMB.
|
** This file is part of AEMB.
|
Line 22... |
Line 22... |
module aeMB_ibuf (/*AUTOARG*/
|
module aeMB_ibuf (/*AUTOARG*/
|
// Outputs
|
// Outputs
|
rIMM, rRA, rRD, rRB, rALT, rOPC, rSIMM, xIREG, rSTALL, iwb_stb_o,
|
rIMM, rRA, rRD, rRB, rALT, rOPC, rSIMM, xIREG, rSTALL, iwb_stb_o,
|
// Inputs
|
// Inputs
|
rBRA, rMSR_IE, rMSR_BIP, iwb_dat_i, iwb_ack_i, sys_int_i, gclk,
|
rBRA, rMSR_IE, rMSR_BIP, iwb_dat_i, iwb_ack_i, sys_int_i, gclk,
|
grst, gena
|
grst, gena, oena
|
);
|
);
|
// INTERNAL
|
// INTERNAL
|
output [15:0] rIMM;
|
output [15:0] rIMM;
|
output [4:0] rRA, rRD, rRB;
|
output [4:0] rRA, rRD, rRB;
|
output [10:0] rALT;
|
output [10:0] rALT;
|
Line 47... |
Line 47... |
|
|
// SYSTEM
|
// SYSTEM
|
input sys_int_i;
|
input sys_int_i;
|
|
|
// SYSTEM
|
// SYSTEM
|
input gclk, grst, gena;
|
input gclk, grst, gena, oena;
|
|
|
reg [15:0] rIMM;
|
reg [15:0] rIMM;
|
reg [4:0] rRA, rRD;
|
reg [4:0] rRA, rRD;
|
reg [5:0] rOPC;
|
reg [5:0] rOPC;
|
|
|
Line 142... |
Line 142... |
/*AUTORESET*/
|
/*AUTORESET*/
|
// Beginning of autoreset for uninitialized flops
|
// Beginning of autoreset for uninitialized flops
|
rSTALL <= 1'h0;
|
rSTALL <= 1'h0;
|
// End of automatics
|
// End of automatics
|
end else begin
|
end else begin
|
rSTALL <= #1 !rSTALL & (fMUL | fBSF);
|
rSTALL <= #1 (!rSTALL & (fMUL | fBSF)) | (oena & rSTALL);
|
end
|
end
|
|
|
endmodule // aeMB_ibuf
|
endmodule // aeMB_ibuf
|
|
|
/*
|
/*
|
$Log: not supported by cvs2svn $
|
$Log: not supported by cvs2svn $
|
|
Revision 1.8 2007/12/25 22:15:09 sybreon
|
|
Stalls pipeline on MUL/BSF instructions results in minor speed improvements.
|
|
|
Revision 1.7 2007/11/22 15:11:15 sybreon
|
Revision 1.7 2007/11/22 15:11:15 sybreon
|
Change interrupt to positive level triggered interrupts.
|
Change interrupt to positive level triggered interrupts.
|
|
|
Revision 1.6 2007/11/14 23:39:51 sybreon
|
Revision 1.6 2007/11/14 23:39:51 sybreon
|
Fixed interrupt signal synchronisation.
|
Fixed interrupt signal synchronisation.
|