OpenCores
URL https://opencores.org/ocsvn/aemb/aemb/trunk

Subversion Repositories aemb

[/] [aemb/] [tags/] [AEMB_7_05/] [rtl/] [verilog/] [aeMB_aslu.v] - Diff between revs 31 and 36

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 31 Rev 36
Line 1... Line 1...
/*
/*
 * $Id: aeMB_aslu.v,v 1.8 2007-04-30 15:56:50 sybreon Exp $
 * $Id: aeMB_aslu.v,v 1.9 2007-05-17 09:08:21 sybreon Exp $
 *
 *
 * AEMB Arithmetic Shift Logic Unit
 * AEMB Arithmetic Shift Logic 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>
 *
 *
 * This library is free software; you can redistribute it and/or
 * This library is free software; you can redistribute it and/or
Line 23... Line 23...
 * Arithmetic, shift and logic execution unit. It also performs the
 * Arithmetic, shift and logic execution unit. It also performs the
 * necessary calculations for branch and load/store targets.
 * necessary calculations for branch and load/store targets.
 *
 *
 * HISTORY
 * HISTORY
 * $Log: not supported by cvs2svn $
 * $Log: not supported by cvs2svn $
 
 * Revision 1.8  2007/04/30 15:56:50  sybreon
 
 * Removed byte acrobatics.
 
 *
 * Revision 1.7  2007/04/27 00:23:55  sybreon
 * Revision 1.7  2007/04/27 00:23:55  sybreon
 * Added code documentation.
 * Added code documentation.
 * Improved size & speed of rtl/verilog/aeMB_aslu.v
 * Improved size & speed of rtl/verilog/aeMB_aslu.v
 *
 *
 * Revision 1.6  2007/04/26 14:29:53  sybreon
 * Revision 1.6  2007/04/26 14:29:53  sybreon
Line 53... Line 56...
module aeMB_aslu (/*AUTOARG*/
module aeMB_aslu (/*AUTOARG*/
   // Outputs
   // Outputs
   dwb_adr_o, dwb_sel_o, rRESULT, rDWBSEL,
   dwb_adr_o, dwb_sel_o, rRESULT, rDWBSEL,
   // Inputs
   // Inputs
   sDWBDAT, rBRA, rDLY, rREGA, rREGB, rSIMM, rMXSRC, rMXTGT, rMXALU,
   sDWBDAT, rBRA, rDLY, rREGA, rREGB, rSIMM, rMXSRC, rMXTGT, rMXALU,
   rOPC, rPC, rIMM, rRD, rRA, rMXLDST, nclk, nrst, drun, nrun
   rOPC, rPC, rIMM, rRD, rRA, rMXLDST, nclk, prst, drun, prun
   );
   );
   parameter DSIZ = 32;
   parameter DSIZ = 32;
 
 
   output [DSIZ-1:0] dwb_adr_o;
   output [DSIZ-1:0] dwb_adr_o;
   output [3:0]      dwb_sel_o;
   output [3:0]      dwb_sel_o;
Line 74... Line 77...
   input [31:0]      rPC;
   input [31:0]      rPC;
   input [15:0]      rIMM;
   input [15:0]      rIMM;
   input [4:0]        rRD, rRA;
   input [4:0]        rRD, rRA;
   input [1:0]        rMXLDST;
   input [1:0]        rMXLDST;
 
 
   input             nclk, nrst, drun, nrun;
   input             nclk, prst, drun, prun;
 
 
   reg [31:0]        rRESULT, xRESULT;
   reg [31:0]        rRESULT, xRESULT;
   reg              rMSR_C, xMSR_C;
   reg              rMSR_C, xMSR_C;
 
 
   /**
   /**
Line 256... Line 259...
      endcase // case (rMXALU)
      endcase // case (rMXALU)
   end
   end
 
 
   // PIPELINE REGISTER //////////////////////////////////////////////////
   // PIPELINE REGISTER //////////////////////////////////////////////////
 
 
   always @(negedge nclk or negedge nrst)
   always @(negedge nclk)
     if (!nrst) begin
     if (prst) begin
        /*AUTORESET*/
        /*AUTORESET*/
        // Beginning of autoreset for uninitialized flops
        // Beginning of autoreset for uninitialized flops
        rDWBSEL <= 4'h0;
        rDWBSEL <= 4'h0;
        rMSR_C <= 1'h0;
        rMSR_C <= 1'h0;
        rRESULT <= 32'h0;
        rRESULT <= 32'h0;
        // End of automatics
        // End of automatics
     end else if (nrun) begin
     end else if (prun) begin
        rRESULT <= #1 xRESULT;
        rRESULT <= #1 xRESULT;
        rMSR_C <= #1 xMSR_C;
        rMSR_C <= #1 xMSR_C;
        rDWBSEL <= #1 xDWBSEL;
        rDWBSEL <= #1 xDWBSEL;
     end
     end
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.