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

Subversion Repositories can

[/] [can/] [tags/] [rel_22/] [rtl/] [verilog/] [can_bsp.v] - Diff between revs 31 and 32

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

Rev 31 Rev 32
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.21  2003/02/11 00:56:06  mohor
 
// Wishbone interface added.
 
//
// Revision 1.20  2003/02/10 16:02:11  mohor
// Revision 1.20  2003/02/10 16:02:11  mohor
// CAN is working according to the specification. WB interface and more
// CAN is working according to the specification. WB interface and more
// registers (status, IRQ, ...) needs to be added.
// registers (status, IRQ, ...) needs to be added.
//
//
// Revision 1.19  2003/02/09 18:40:29  mohor
// Revision 1.19  2003/02/09 18:40:29  mohor
Line 147... Line 150...
  acceptance_filter_mode,
  acceptance_filter_mode,
 
 
  /* Command register */
  /* Command register */
  release_buffer,
  release_buffer,
  tx_request,
  tx_request,
 
  abort_tx,
 
 
  /* Clock Divider register */
  /* Clock Divider register */
  extended_mode,
  extended_mode,
 
 
  rx_idle,
  rx_idle,
Line 217... Line 221...
input         extended_mode;
input         extended_mode;
 
 
/* Command register */
/* Command register */
input         release_buffer;
input         release_buffer;
input         tx_request;
input         tx_request;
 
input         abort_tx;
 
 
output        rx_idle;
output        rx_idle;
output        transmitting;
output        transmitting;
output        last_bit_of_inter;
output        last_bit_of_inter;
 
 
Line 486... Line 491...
 
 
 
 
assign go_crc_enable  = hard_sync | go_tx;
assign go_crc_enable  = hard_sync | go_tx;
assign rst_crc_enable = go_rx_crc;
assign rst_crc_enable = go_rx_crc;
 
 
assign bit_de_stuff_set   = go_rx_id1;
assign bit_de_stuff_set   = go_rx_id1 & (~go_error_frame);
assign bit_de_stuff_reset = go_rx_crc_lim | reset_mode | go_error_frame | go_overload_frame;
assign bit_de_stuff_reset = go_rx_crc_lim | reset_mode | go_error_frame | go_overload_frame;
 
 
assign remote_rq = ((~ide) & rtr1) | (ide & rtr2);
assign remote_rq = ((~ide) & rtr1) | (ide & rtr2);
assign limited_data_len = (data_len < 8)? data_len : 4'h8;
assign limited_data_len = (data_len < 8)? data_len : 4'h8;
 
 
Line 1110... Line 1115...
begin
begin
  if (rst)
  if (rst)
    wr_fifo <= 1'b0;
    wr_fifo <= 1'b0;
  else if (reset_wr_fifo)
  else if (reset_wr_fifo)
    wr_fifo <=#Tp 1'b0;
    wr_fifo <=#Tp 1'b0;
//  else if (go_rx_inter & id_ok & (~error_frame_ended))                // FIX ME !!! Look following line
  else if (go_rx_inter & id_ok & (~error_frame_ended))                // FIX ME !!! Look following line
  else if (go_rx_inter & id_ok & (~error_frame_ended) & (~tx_state))    // FIX ME !!! This line is the correct one. The above line is for easier debugging only.
//  else if (go_rx_inter & id_ok & (~error_frame_ended) & (~tx_state))    // FIX ME !!! This line is the correct one. The above line is for easier debugging only.
    wr_fifo <=#Tp 1'b1;
    wr_fifo <=#Tp 1'b1;
end
end
 
 
 
 
// Header counter. Header length depends on the mode of operation and frame format.
// Header counter. Header length depends on the mode of operation and frame format.
Line 1511... Line 1516...
 
 
always @ (posedge clk or posedge rst)
always @ (posedge clk or posedge rst)
begin
begin
  if (rst)
  if (rst)
    need_to_tx <= 1'b0;
    need_to_tx <= 1'b0;
  else if (tx_successful | node_bus_off)
  else if (tx_successful | node_bus_off | (abort_tx & (~transmitting)))
    need_to_tx <=#Tp 1'h0;
    need_to_tx <=#Tp 1'h0;
  else if (tx_request)
  else if (tx_request & sample_point)
    need_to_tx <=#Tp 1'b1;
    need_to_tx <=#Tp 1'b1;
end
end
 
 
 
 
 
 

powered by: WebSVN 2.1.0

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