LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sat Jan 19 17:01:22 CET 2008
    Subject: [cvs-checkins] MODIFIED: aemb ...
    Top
    Date: 00/08/01 19:17:01

    Modified: aemb/rtl/verilog aeMB_edk32.v aeMB_ibuf.v
    Log:
    Patched problem where memory access followed by dual cycle instructions were not stalling correctly (submitted by M. Ettus)


    Revision Changes Path
    1.14 aemb/rtl/verilog/aeMB_edk32.v

    http://www.opencores.org/cvsweb.shtml/aemb/rtl/verilog/aeMB_edk32.v.diff?r1=1.13&r2=1.14

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: aeMB_edk32.v
    ===================================================================
    RCS file: /cvsroot/sybreon/aemb/rtl/verilog/aeMB_edk32.v,v
    retrieving revision 1.13
    retrieving revision 1.14
    diff -u -b -r1.13 -r1.14
    --- aeMB_edk32.v 25 Dec 2007 22:15:09 -0000 1.13
    +++ aeMB_edk32.v 19 Jan 2008 16:01:22 -0000 1.14
    @@ -1,4 +1,4 @@
    -/* $Id: aeMB_edk32.v,v 1.13 2007/12/25 22:15:09 sybreon Exp $
    +/* $Id: aeMB_edk32.v,v 1.14 2008/01/19 16:01:22 sybreon Exp $
    **
    ** AEMB EDK 3.2 Compatible Core
    ** Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@a...>
    @@ -32,7 +32,7 @@
    parameter DW = 32; /// Data bus address width

    // Optional functions
    - parameter MUL = 1; // Multiplier
    + parameter MUL = 0; // Multiplier
    parameter BSF = 1; // Barrel Shifter

    /*AUTOOUTPUT*/
    @@ -96,6 +96,7 @@
    wire grst = sys_rst_i;
    wire gclk = sys_clk_i;
    wire gena = !((dwb_stb_o ^ dwb_ack_i) | (fsl_stb_o ^ fsl_ack_i) | !iwb_ack_i) & !rSTALL;
    + wire oena = ((dwb_stb_o ^ dwb_ack_i) | (fsl_stb_o ^ fsl_ack_i) | !iwb_ack_i);

    // --- INSTANTIATIONS -------------------------------------

    @@ -121,7 +122,8 @@
    .sys_int_i (sys_int_i),
    .gclk (gclk),
    .grst (grst),
    - .gena (gena));
    + .gena (gena),
    + .oena (oena));

    aeMB_ctrl
    ctrl (/*AUTOINST*/
    @@ -239,6 +241,9 @@

    /*
    $Log: aeMB_edk32.v,v $
    + Revision 1.14 2008/01/19 16:01:22 sybreon
    + Patched problem where memory access followed by dual cycle instructions were not stalling correctly (submitted by M. Ettus)
    +
    Revision 1.13 2007/12/25 22:15:09 sybreon
    Stalls pipeline on MUL/BSF instructions results in minor speed improvements.




    1.9 aemb/rtl/verilog/aeMB_ibuf.v

    http://www.opencores.org/cvsweb.shtml/aemb/rtl/verilog/aeMB_ibuf.v.diff?r1=1.8&r2=1.9

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: aeMB_ibuf.v
    ===================================================================
    RCS file: /cvsroot/sybreon/aemb/rtl/verilog/aeMB_ibuf.v,v
    retrieving revision 1.8
    retrieving revision 1.9
    diff -u -b -r1.8 -r1.9
    --- aeMB_ibuf.v 25 Dec 2007 22:15:09 -0000 1.8
    +++ aeMB_ibuf.v 19 Jan 2008 16:01:22 -0000 1.9
    @@ -1,4 +1,4 @@
    -/* $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
    ** Copyright (C) 2004-2007 Shawn Tan Ser Ngiap <shawn.tan@a...>
    @@ -24,7 +24,7 @@
    rIMM, rRA, rRD, rRB, rALT, rOPC, rSIMM, xIREG, rSTALL, iwb_stb_o,
    // Inputs
    rBRA, rMSR_IE, rMSR_BIP, iwb_dat_i, iwb_ack_i, sys_int_i, gclk,
    - grst, gena
    + grst, gena, oena
    );
    // INTERNAL
    output [15:0] rIMM;
    @@ -49,7 +49,7 @@
    input sys_int_i;

    // SYSTEM
    - input gclk, grst, gena;
    + input gclk, grst, gena, oena; reg [15:0] rIMM; reg [4:0] rRA, rRD; @@ -144,13 +144,16 @@ rSTALL <= 1'h0; // End of automatics end else begin - rSTALL <= #1 !rSTALL & (fMUL | fBSF); + rSTALL <= #1 (!rSTALL & (fMUL | fBSF)) | (oena & rSTALL); end endmodule // aeMB_ibuf /* $Log: aeMB_ibuf.v,v $ + Revision 1.9 2008/01/19 16:01:22 sybreon + Patched problem where memory access followed by dual cycle instructions were not stalling correctly (submitted by M. Ettus) + Revision 1.8 2007/12/25 22:15:09 sybreon Stalls pipeline on MUL/BSF instructions results in minor speed improvements.

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.