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

Subversion Repositories mem_ctrl

[/] [mem_ctrl/] [trunk/] [rtl/] [verilog/] [mc_rd_fifo.v] - Diff between revs 16 and 18

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

Rev 16 Rev 18
Line 36... Line 36...
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: mc_rd_fifo.v,v 1.2 2001-11-29 02:16:28 rudi Exp $
//  $Id: mc_rd_fifo.v,v 1.3 2001-12-11 02:47:19 rudi Exp $
//
//
//  $Date: 2001-11-29 02:16:28 $
//  $Date: 2001-12-11 02:47:19 $
//  $Revision: 1.2 $
//  $Revision: 1.3 $
//  $Author: rudi $
//  $Author: rudi $
//  $Locker:  $
//  $Locker:  $
//  $State: Exp $
//  $State: Exp $
//
//
// Change History:
// Change History:
//               $Log: not supported by cvs2svn $
//               $Log: not supported by cvs2svn $
 
//               Revision 1.2  2001/11/29 02:16:28  rudi
 
//
 
//
 
//               - More Synthesis cleanup, mostly for speed
 
//               - Several bug fixes
 
//               - Changed code to avoid auto-precharge and
 
//                 burst-terminate combinations (apparently illegal ?)
 
//                 Now we will do a manual precharge ...
 
//
//               Revision 1.1  2001/07/29 07:34:41  rudi
//               Revision 1.1  2001/07/29 07:34:41  rudi
//
//
//
//
//               1) Changed Directory Structure
//               1) Changed Directory Structure
//               2) Fixed several minor bugs
//               2) Fixed several minor bugs
Line 61... Line 70...
//
//
//
//
 
 
`include "mc_defines.v"
`include "mc_defines.v"
 
 
module mc_rd_fifo(clk, rst, din, we, dout, re);
module mc_rd_fifo(clk, rst, clr, din, we, dout, re);
 
 
input           clk, rst;
input           clk, rst, clr;
input   [35:0]   din;
input   [35:0]   din;
input           we;
input           we;
output  [35:0]   dout;
output  [35:0]   dout;
input           re;
input           re;
 
 
reg     [3:0]    rd_adr, wr_adr;
reg     [3:0]    rd_adr, wr_adr;
reg     [35:0]   r0, r1, r2, r3;
reg     [35:0]   r0, r1, r2, r3;
reg     [35:0]   dout;
reg     [35:0]   dout;
 
 
always @(posedge clk)
always @(posedge clk or posedge rst)
        if(!rst)        rd_adr <= #1 4'h1;
        if(rst)         rd_adr <= #1 4'h1;
 
        else
 
        if(clr)         rd_adr <= #1 4'h1;
        else
        else
        if(re)          rd_adr <= #1 {rd_adr[2:0], rd_adr[3]};
        if(re)          rd_adr <= #1 {rd_adr[2:0], rd_adr[3]};
 
 
always @(posedge clk)
always @(posedge clk or posedge rst)
        if(!rst)        wr_adr <= #1 4'h1;
        if(rst)         wr_adr <= #1 4'h1;
 
        else
 
        if(clr)         wr_adr <= #1 4'h1;
        else
        else
        if(we)          wr_adr <= #1 {wr_adr[2:0], wr_adr[3]};
        if(we)          wr_adr <= #1 {wr_adr[2:0], wr_adr[3]};
 
 
always @(posedge clk)
always @(posedge clk)
        if(we & wr_adr[0])       r0 <= #1 din;
        if(we & wr_adr[0])       r0 <= #1 din;

powered by: WebSVN 2.1.0

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