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

Subversion Repositories aemb

[/] [aemb/] [tags/] [AEMB_711/] [rtl/] [verilog/] [aeMB_core.v] - Diff between revs 25 and 36

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

Rev 25 Rev 36
Line 1... Line 1...
/*
/*
 * $Id: aeMB_core.v,v 1.5 2007-04-27 00:23:55 sybreon Exp $
 * $Id: aeMB_core.v,v 1.6 2007-05-17 09:08:21 sybreon Exp $
 *
 *
 * AEMB 32-bit Microblaze Compatible Core
 * AEMB 32-bit Microblaze 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>
 *
 *
 * This library is free software; you can redistribute it and/or
 * This library is free software; you can redistribute it and/or
Line 24... Line 24...
 * capable of executing software compile for EDK 2.1 using GCC. It has the
 * capable of executing software compile for EDK 2.1 using GCC. It has the
 * capability of handling interrupts as well as exceptions.
 * capability of handling interrupts as well as exceptions.
 *
 *
 * HISTORY
 * HISTORY
 * $Log: not supported by cvs2svn $
 * $Log: not supported by cvs2svn $
 
 * Revision 1.5  2007/04/27 00:23:55  sybreon
 
 * Added code documentation.
 
 * Improved size & speed of rtl/verilog/aeMB_aslu.v
 
 *
 * Revision 1.4  2007/04/25 22:15:04  sybreon
 * Revision 1.4  2007/04/25 22:15:04  sybreon
 * Added support for 8-bit and 16-bit data types.
 * Added support for 8-bit and 16-bit data types.
 *
 *
 * Revision 1.3  2007/04/11 04:30:43  sybreon
 * Revision 1.3  2007/04/11 04:30:43  sybreon
 * Added pipeline stalling from incomplete bus cycles.
 * Added pipeline stalling from incomplete bus cycles.
Line 78... Line 82...
   /*AUTOWIRE*/
   /*AUTOWIRE*/
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
   wire                 drun;                   // From control of aeMB_control.v
   wire                 drun;                   // From control of aeMB_control.v
   wire                 frun;                   // From control of aeMB_control.v
   wire                 frun;                   // From control of aeMB_control.v
   wire                 nclk;                   // From control of aeMB_control.v
   wire                 nclk;                   // From control of aeMB_control.v
   wire                 nrst;                   // From control of aeMB_control.v
   wire                 prst;                   // From control of aeMB_control.v
   wire                 nrun;                   // From control of aeMB_control.v
   wire                 prun;                   // From control of aeMB_control.v
   wire                 rBRA;                   // From decode of aeMB_decode.v
   wire                 rBRA;                   // From decode of aeMB_decode.v
   wire                 rDLY;                   // From decode of aeMB_decode.v
   wire                 rDLY;                   // From decode of aeMB_decode.v
   wire [3:0]            rDWBSEL;                // From aslu of aeMB_aslu.v
   wire [3:0]            rDWBSEL;                // From aslu of aeMB_aslu.v
   wire                 rDWBSTB;                // From decode of aeMB_decode.v
   wire                 rDWBSTB;                // From decode of aeMB_decode.v
   wire                 rDWBWE;                 // From decode of aeMB_decode.v
   wire                 rDWBWE;                 // From decode of aeMB_decode.v
Line 130... Line 134...
              .rOPC                     (rOPC[5:0]),
              .rOPC                     (rOPC[5:0]),
              .rDWBSEL                  (rDWBSEL[3:0]),
              .rDWBSEL                  (rDWBSEL[3:0]),
              .rLNK                     (rLNK),
              .rLNK                     (rLNK),
              .rRWE                     (rRWE),
              .rRWE                     (rRWE),
              .nclk                     (nclk),
              .nclk                     (nclk),
              .nrst                     (nrst),
              .prst                     (prst),
              .drun                     (drun),
              .drun                     (drun),
              .nrun                     (nrun));
              .prun                     (prun));
 
 
   aeMB_fetch #(ISIZ)
   aeMB_fetch #(ISIZ)
     fetch (/*AUTOINST*/
     fetch (/*AUTOINST*/
            // Outputs
            // Outputs
            .iwb_adr_o                  (iwb_adr_o[ISIZ-1:0]),
            .iwb_adr_o                  (iwb_adr_o[ISIZ-1:0]),
Line 144... Line 148...
            .rPC                        (rPC[31:0]),
            .rPC                        (rPC[31:0]),
            .rIWBSTB                    (rIWBSTB),
            .rIWBSTB                    (rIWBSTB),
            // Inputs
            // Inputs
            .iwb_dat_i                  (iwb_dat_i[31:0]),
            .iwb_dat_i                  (iwb_dat_i[31:0]),
            .nclk                       (nclk),
            .nclk                       (nclk),
            .nrst                       (nrst),
            .prst                       (prst),
            .nrun                       (nrun),
            .prun                       (prun),
            .rFSM                       (rFSM[1:0]),
            .rFSM                       (rFSM[1:0]),
            .rBRA                       (rBRA),
            .rBRA                       (rBRA),
            .rRESULT                    (rRESULT[31:0]));
            .rRESULT                    (rRESULT[31:0]));
 
 
   aeMB_control
   aeMB_control
     control (/*AUTOINST*/
     control (/*AUTOINST*/
              // Outputs
              // Outputs
              .rFSM                     (rFSM[1:0]),
              .rFSM                     (rFSM[1:0]),
              .nclk                     (nclk),
              .nclk                     (nclk),
              .nrst                     (nrst),
              .prst                     (prst),
              .nrun                     (nrun),
              .prun                     (prun),
              .frun                     (frun),
              .frun                     (frun),
              .drun                     (drun),
              .drun                     (drun),
              // Inputs
              // Inputs
              .sys_rst_i                (sys_rst_i),
              .sys_rst_i                (sys_rst_i),
              .sys_clk_i                (sys_clk_i),
              .sys_clk_i                (sys_clk_i),
Line 195... Line 199...
           .rIMM                        (rIMM[15:0]),
           .rIMM                        (rIMM[15:0]),
           .rRD                         (rRD[4:0]),
           .rRD                         (rRD[4:0]),
           .rRA                         (rRA[4:0]),
           .rRA                         (rRA[4:0]),
           .rMXLDST                     (rMXLDST[1:0]),
           .rMXLDST                     (rMXLDST[1:0]),
           .nclk                        (nclk),
           .nclk                        (nclk),
           .nrst                        (nrst),
           .prst                        (prst),
           .drun                        (drun),
           .drun                        (drun),
           .nrun                        (nrun));
           .prun                        (prun));
 
 
   aeMB_decode
   aeMB_decode
     decode (/*AUTOINST*/
     decode (/*AUTOINST*/
             // Outputs
             // Outputs
             .rSIMM                     (rSIMM[31:0]),
             .rSIMM                     (rSIMM[31:0]),
Line 227... Line 231...
             .rDWBSEL                   (rDWBSEL[3:0]),
             .rDWBSEL                   (rDWBSEL[3:0]),
             .rREGA                     (rREGA[31:0]),
             .rREGA                     (rREGA[31:0]),
             .rRESULT                   (rRESULT[31:0]),
             .rRESULT                   (rRESULT[31:0]),
             .iwb_dat_i                 (iwb_dat_i[31:0]),
             .iwb_dat_i                 (iwb_dat_i[31:0]),
             .nclk                      (nclk),
             .nclk                      (nclk),
             .nrst                      (nrst),
             .prst                      (prst),
             .drun                      (drun),
             .drun                      (drun),
             .frun                      (frun),
             .frun                      (frun),
             .nrun                      (nrun));
             .prun                      (prun));
 
 
endmodule // aeMB_core
endmodule // aeMB_core
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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