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

Subversion Repositories ac97

[/] [ac97/] [trunk/] [rtl/] [verilog/] [ac97_in_fifo.v] - Diff between revs 14 and 16

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

Rev 14 Rev 16
Line 37... Line 37...
////                                                             ////
////                                                             ////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
 
 
//  CVS Log
//  CVS Log
//
//
//  $Id: ac97_in_fifo.v,v 1.4 2002-09-19 06:30:56 rudi Exp $
//  $Id: ac97_in_fifo.v,v 1.5 2002-11-14 17:10:12 rudi Exp $
//
//
//  $Date: 2002-09-19 06:30:56 $
//  $Date: 2002-11-14 17:10:12 $
//  $Revision: 1.4 $
//  $Revision: 1.5 $
//  $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.4  2002/09/19 06:30:56  rudi
 
//               Fixed a bug reported by Igor. Apparently this bug only shows up when
 
//               the WB clock is very low (2x bit_clk). Updated Copyright header.
 
//
//               Revision 1.3  2002/03/11 03:21:22  rudi
//               Revision 1.3  2002/03/11 03:21:22  rudi
//
//
//               - Added defines to select fifo depth between 4, 8 and 16 entries.
//               - Added defines to select fifo depth between 4, 8 and 16 entries.
//
//
//               Revision 1.2  2002/03/05 04:44:05  rudi
//               Revision 1.2  2002/03/05 04:44:05  rudi
Line 146... Line 150...
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
 
 
always @(mode or din_tmp1 or din)
always @(mode or din_tmp1 or din)
        case(mode)      // synopsys parallel_case full_case
        case(mode)      // synopsys parallel_case full_case
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h1: din_tmp = {13'h0, din[17:0]};           // 18 bit Output
           2'h1: din_tmp = {14'h0, din[19:2]};          // 18 bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
        endcase
        endcase
 
 
always @(posedge clk)
always @(posedge clk)
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[2:1] ] <= #1 din_tmp;
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[2:1] ] <= #1 din_tmp;
Line 233... Line 237...
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
 
 
always @(mode or din_tmp1 or din)
always @(mode or din_tmp1 or din)
        case(mode)      // synopsys parallel_case full_case
        case(mode)      // synopsys parallel_case full_case
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h1: din_tmp = {13'h0, din[17:0]};           // 18 bit Output
           2'h1: din_tmp = {14'h0, din[19:2]};          // 18 bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
        endcase
        endcase
 
 
always @(posedge clk)
always @(posedge clk)
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[3:1] ] <= #1 din_tmp;
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[3:1] ] <= #1 din_tmp;
Line 321... Line 325...
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
        if(we & !wp[0])  din_tmp1 <= #1 din[19:4];
 
 
always @(mode or din_tmp1 or din)
always @(mode or din_tmp1 or din)
        case(mode)      // synopsys parallel_case full_case
        case(mode)      // synopsys parallel_case full_case
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h0: din_tmp = {din[19:4], din_tmp1};       // 16 Bit Output
           2'h1: din_tmp = {13'h0, din[17:0]};           // 18 bit Output
           2'h1: din_tmp = {14'h0, din[19:2]};          // 18 bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
           2'h2: din_tmp = {11'h0, din[19:0]};           // 20 Bit Output
        endcase
        endcase
 
 
always @(posedge clk)
always @(posedge clk)
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[4:1] ] <= #1 din_tmp;
        if(we & (!m16b | (m16b & wp[0]) ) )      mem[ wp[4:1] ] <= #1 din_tmp;

powered by: WebSVN 2.1.0

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