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

Subversion Repositories can

[/] [can/] [tags/] [rel_11/] [rtl/] [verilog/] [can_fifo.v] - Diff between revs 31 and 35

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

Rev 31 Rev 35
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.10  2003/02/11 00:56:06  mohor
 
// Wishbone interface added.
 
//
// Revision 1.9  2003/02/09 02:24:33  mohor
// Revision 1.9  2003/02/09 02:24:33  mohor
// Bosch license warning added. Error counters finished. Overload frames
// Bosch license warning added. Error counters finished. Overload frames
// still need to be fixed.
// still need to be fixed.
//
//
// Revision 1.8  2003/01/31 01:13:38  mohor
// Revision 1.8  2003/01/31 01:13:38  mohor
Line 101... Line 104...
  addr,
  addr,
  data_out,
  data_out,
 
 
  reset_mode,
  reset_mode,
  release_buffer,
  release_buffer,
  extended_mode
  extended_mode,
 
  overrun,
 
  info_empty
 
 
);
);
 
 
parameter Tp = 1;
parameter Tp = 1;
 
 
Line 117... Line 122...
input         reset_mode;
input         reset_mode;
input         release_buffer;
input         release_buffer;
input         extended_mode;
input         extended_mode;
 
 
output  [7:0] data_out;
output  [7:0] data_out;
 
output        overrun;
 
output        info_empty;
 
 
 
 
reg     [7:0] fifo [0:63];
reg     [7:0] fifo [0:63];
reg     [5:0] rd_pointer;
reg     [5:0] rd_pointer;
reg     [5:0] wr_pointer;
reg     [5:0] wr_pointer;
Line 137... Line 144...
 
 
wire          write_length_info;
wire          write_length_info;
wire          fifo_empty;
wire          fifo_empty;
wire          fifo_full;
wire          fifo_full;
wire          info_full;
wire          info_full;
wire          info_empty;
 
 
 
assign write_length_info = (~wr) & wr_q;
assign write_length_info = (~wr) & wr_q;
 
 
// Delayed write signal
// Delayed write signal
always @ (posedge clk or posedge rst)
always @ (posedge clk or posedge rst)
Line 193... Line 199...
  if (write_length_info & (~info_full))
  if (write_length_info & (~info_full))
    overrun_info[wr_info_pointer] <=#Tp latch_overrun | (wr & fifo_full);
    overrun_info[wr_info_pointer] <=#Tp latch_overrun | (wr & fifo_full);
end
end
 
 
 
 
 
// reading overrun
 
assign overrun = overrun_info[rd_info_pointer];
 
 
// rd_info_pointer
// rd_info_pointer
always @ (posedge clk or posedge rst)
always @ (posedge clk or posedge rst)
begin
begin
  if (rst)
  if (rst)

powered by: WebSVN 2.1.0

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