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

Subversion Repositories aemb

[/] [aemb/] [trunk/] [rtl/] [verilog/] [aeMB_core.v] - Diff between revs 3 and 11

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

Rev 3 Rev 11
Line 1... Line 1...
//                              -*- Mode: Verilog -*-
//                              -*- Mode: Verilog -*-
// Filename        : aeMB_core.v
// Filename        : aeMB_core.v
// Description     : Microblaze Compatible Core
// Description     : Microblaze Compatible Core
// Author          : Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
// Author          : Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
// Created On      : Fri Dec 29 16:15:18 2006
// Created On      : Fri Dec 29 16:15:18 2006
// Last Modified By: Shawn Tan
// Last Modified By: $Author: sybreon $
// Last Modified On: 2006-12-29
// Last Modified On: $Date: 2007-04-04 06:13:23 $
// Update Count    : 0
// Update Count    : $Revision: 1.2 $
// Status          : Unknown, Use with caution!
// Status          : $State: Exp $
 
 
/*
/*
 * $Id: aeMB_core.v,v 1.1 2007-03-09 17:52:17 sybreon Exp $
 * $Id: aeMB_core.v,v 1.2 2007-04-04 06:13:23 sybreon Exp $
 *
 *
 
 * AEMB 32-bit Microblaze Compatible Core
 * Copyright (C) 2006 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
 * Copyright (C) 2006 Shawn Tan Ser Ngiap <shawn.tan@aeste.net>
 *
 *
 * This library is free software; you can redistribute it and/or modify it
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License,
 * the Free Software Foundation; either version 2.1 of the License,
Line 32... Line 33...
 * 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.1  2007/03/09 17:52:17  sybreon
 
 * initial import
 *
 *
 */
 */
 
 
module aeMB_core (/*AUTOARG*/
module aeMB_core (/*AUTOARG*/
   // Outputs
   // Outputs
   iwb_we_o, iwb_stb_o, iwb_sel_o, iwb_adr_o, dwb_we_o, dwb_stb_o,
   iwb_stb_o, iwb_adr_o, dwb_we_o, dwb_stb_o, dwb_dat_o, dwb_adr_o,
   dwb_dat_o, dwb_adr_o,
 
   // Inputs
   // Inputs
   sys_run_i, sys_rst_i, sys_int_i, sys_exc_i, sys_clk_i, iwb_dat_i,
   sys_run_i, sys_rst_i, sys_int_i, sys_exc_i, sys_clk_i, iwb_dat_i,
   iwb_ack_i, dwb_dat_i, dwb_ack_i
   iwb_ack_i, dwb_dat_i, dwb_ack_i
   );
   );
   // Instruction WB address space
   // Instruction WB address space
Line 55... Line 57...
   output [DSIZ-1:0]     dwb_adr_o;              // From aslu of aeMB_aslu.v
   output [DSIZ-1:0]     dwb_adr_o;              // From aslu of aeMB_aslu.v
   output [31:0] dwb_dat_o;              // From regfile of aeMB_regfile.v
   output [31:0] dwb_dat_o;              // From regfile of aeMB_regfile.v
   output               dwb_stb_o;              // From decode of aeMB_decode.v
   output               dwb_stb_o;              // From decode of aeMB_decode.v
   output               dwb_we_o;               // From decode of aeMB_decode.v
   output               dwb_we_o;               // From decode of aeMB_decode.v
   output [ISIZ-1:0]     iwb_adr_o;              // From fetch of aeMB_fetch.v
   output [ISIZ-1:0]     iwb_adr_o;              // From fetch of aeMB_fetch.v
   output [3:0]          iwb_sel_o;              // From decode of aeMB_decode.v
 
   output               iwb_stb_o;              // From decode of aeMB_decode.v
   output               iwb_stb_o;              // From decode of aeMB_decode.v
   output               iwb_we_o;               // From decode of aeMB_decode.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 control of aeMB_control.v
   input                dwb_ack_i;              // To control of aeMB_control.v
   input [31:0]          dwb_dat_i;              // To regfile of aeMB_regfile.v, ...
   input [31:0]          dwb_dat_i;              // To regfile of aeMB_regfile.v, ...
Line 88... Line 88...
   wire [1:0]            rFSM;                   // From control of aeMB_control.v
   wire [1:0]            rFSM;                   // From control of aeMB_control.v
   wire [15:0]           rIMM;                   // From decode of aeMB_decode.v
   wire [15:0]           rIMM;                   // From decode of aeMB_decode.v
   wire                 rIWBSTB;                // From decode of aeMB_decode.v
   wire                 rIWBSTB;                // From decode of aeMB_decode.v
   wire                 rLNK;                   // From decode of aeMB_decode.v
   wire                 rLNK;                   // From decode of aeMB_decode.v
   wire [1:0]            rMXALU;                 // From decode of aeMB_decode.v
   wire [1:0]            rMXALU;                 // From decode of aeMB_decode.v
 
   wire [1:0]            rMXLDST;                // From decode of aeMB_decode.v
   wire [1:0]            rMXSRC;                 // From decode of aeMB_decode.v
   wire [1:0]            rMXSRC;                 // From decode of aeMB_decode.v
   wire [1:0]            rMXTGT;                 // From decode of aeMB_decode.v
   wire [1:0]            rMXTGT;                 // From decode of aeMB_decode.v
   wire [5:0]            rOPC;                   // From decode of aeMB_decode.v
   wire [5:0]            rOPC;                   // From decode of aeMB_decode.v
   wire [31:0]           rPC;                    // From fetch of aeMB_fetch.v
   wire [31:0]           rPC;                    // From fetch of aeMB_fetch.v
   wire [31:0]           rPCNXT;                 // From fetch of aeMB_fetch.v
   wire [31:0]           rPCNXT;                 // From fetch of aeMB_fetch.v
Line 187... Line 188...
           .rOPC                        (rOPC[5:0]),
           .rOPC                        (rOPC[5:0]),
           .rPC                         (rPC[31:0]),
           .rPC                         (rPC[31:0]),
           .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]),
           .nclk                        (nclk),
           .nclk                        (nclk),
           .nrst                        (nrst),
           .nrst                        (nrst),
           .drun                        (drun),
           .drun                        (drun),
           .drst                        (drst));
           .drst                        (drst));
 
 
Line 213... Line 215...
             .rIWBSTB                   (rIWBSTB),
             .rIWBSTB                   (rIWBSTB),
             .rDLY                      (rDLY),
             .rDLY                      (rDLY),
             .rLNK                      (rLNK),
             .rLNK                      (rLNK),
             .rBRA                      (rBRA),
             .rBRA                      (rBRA),
             .rRWE                      (rRWE),
             .rRWE                      (rRWE),
             .iwb_sel_o                 (iwb_sel_o[3:0]),
             .rMXLDST                   (rMXLDST[1:0]),
             .iwb_stb_o                 (iwb_stb_o),
             .iwb_stb_o                 (iwb_stb_o),
             .iwb_we_o                  (iwb_we_o),
 
             .dwb_stb_o                 (dwb_stb_o),
             .dwb_stb_o                 (dwb_stb_o),
             .dwb_we_o                  (dwb_we_o),
             .dwb_we_o                  (dwb_we_o),
             // Inputs
             // Inputs
             .rREGA                     (rREGA[31:0]),
             .rREGA                     (rREGA[31:0]),
             .rRESULT                   (rRESULT[31:0]),
             .rRESULT                   (rRESULT[31:0]),

powered by: WebSVN 2.1.0

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