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

Subversion Repositories can

[/] [can/] [tags/] [rel_7/] [rtl/] [verilog/] [can_bsp.v] - Diff between revs 79 and 80

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

Rev 79 Rev 80
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.31  2003/06/16 14:31:29  tadejm
 
// Bit stuffing corrected when stuffing comes at the end of the crc.
 
//
// Revision 1.30  2003/06/16 13:57:58  mohor
// Revision 1.30  2003/06/16 13:57:58  mohor
// tx_point generated one clk earlier. rx_i registered. Data corrected when
// tx_point generated one clk earlier. rx_i registered. Data corrected when
// using extended mode.
// using extended mode.
//
//
// Revision 1.29  2003/06/11 14:21:35  mohor
// Revision 1.29  2003/06/11 14:21:35  mohor
Line 170... Line 173...
  sample_point,
  sample_point,
  sampled_bit,
  sampled_bit,
  sampled_bit_q,
  sampled_bit_q,
  tx_point,
  tx_point,
  hard_sync,
  hard_sync,
  go_seg1,
 
 
 
  addr,
  addr,
  data_in,
  data_in,
  data_out,
  data_out,
  fifo_selected,
  fifo_selected,
Line 213... Line 215...
  /* Clock Divider register */
  /* Clock Divider register */
  extended_mode,
  extended_mode,
 
 
  rx_idle,
  rx_idle,
  transmitting,
  transmitting,
  overjump_sync_seg,
 
  last_bit_of_inter,
  last_bit_of_inter,
  set_reset_mode,
  set_reset_mode,
  node_bus_off,
  node_bus_off,
  error_status,
  error_status,
  rx_err_cnt,
  rx_err_cnt,
Line 286... Line 287...
input         sample_point;
input         sample_point;
input         sampled_bit;
input         sampled_bit;
input         sampled_bit_q;
input         sampled_bit_q;
input         tx_point;
input         tx_point;
input         hard_sync;
input         hard_sync;
input         go_seg1;
 
input   [7:0] addr;
input   [7:0] addr;
input   [7:0] data_in;
input   [7:0] data_in;
output  [7:0] data_out;
output  [7:0] data_out;
input         fifo_selected;
input         fifo_selected;
 
 
Line 325... Line 325...
/* Tx Error Counter register */
/* Tx Error Counter register */
input         we_tx_err_cnt;
input         we_tx_err_cnt;
 
 
output        rx_idle;
output        rx_idle;
output        transmitting;
output        transmitting;
output        overjump_sync_seg;
 
output        last_bit_of_inter;
output        last_bit_of_inter;
output        set_reset_mode;
output        set_reset_mode;
output        node_bus_off;
output        node_bus_off;
output        error_status;
output        error_status;
output  [8:0] rx_err_cnt;
output  [8:0] rx_err_cnt;
Line 432... Line 431...
 
 
reg     [2:0] eof_cnt;
reg     [2:0] eof_cnt;
reg     [2:0] passive_cnt;
reg     [2:0] passive_cnt;
 
 
reg           transmitting;
reg           transmitting;
reg           transmitting_q;
 
reg           overjump_sync_seg;
 
 
 
reg           error_frame;
reg           error_frame;
reg           error_frame_q;
reg           error_frame_q;
reg           enable_error_cnt2;
reg           enable_error_cnt2;
reg     [2:0] error_cnt1;
reg     [2:0] error_cnt1;
Line 1071... Line 1068...
end
end
 
 
 
 
// Conditions for form error
// Conditions for form error
assign form_err = sample_point & ( ((~bit_de_stuff) & rx_ide     &   sampled_bit & (~rtr1)      ) |
assign form_err = sample_point & ( ((~bit_de_stuff) & rx_ide     &   sampled_bit & (~rtr1)      ) |
                                   (                  rx_crc_lim & (~sampled_bit)               ) |
                                   ((~bit_de_stuff) & rx_crc_lim & (~sampled_bit)               ) |
                                   (                  rx_ack_lim & (~sampled_bit)               ) |
                                   (                  rx_ack_lim & (~sampled_bit)               ) |
                                   ((eof_cnt < 6)   & rx_eof     & (~sampled_bit) & (~tx_state) ) |
                                   ((eof_cnt < 6)   & rx_eof     & (~sampled_bit) & (~tx_state) ) |
                                   (                & rx_eof     & (~sampled_bit) &   tx_state  )
                                   (                & rx_eof     & (~sampled_bit) &   tx_state  )
                                 );
                                 );
 
 
Line 1721... Line 1718...
 
 
 
 
always @ (posedge clk or posedge rst)
always @ (posedge clk or posedge rst)
begin
begin
  if (rst)
  if (rst)
    transmitting_q <= 1'b0;
 
  else if (go_seg1)
 
    transmitting_q <=#Tp transmitting;
 
end
 
 
 
 
 
always @ (posedge clk or posedge rst)
 
begin
 
  if (rst)
 
    overjump_sync_seg <= 1'b0;
 
  else if (transmitting & (~transmitting_q))
 
    overjump_sync_seg <=#Tp 1'b1;
 
  else
 
    overjump_sync_seg <=#Tp 1'b0;
 
end
 
 
 
 
 
 
 
 
 
always @ (posedge clk or posedge rst)
 
begin
 
  if (rst)
 
    suspend <= 0;
    suspend <= 0;
  else if (reset_mode | (sample_point & (susp_cnt == 7)))
  else if (reset_mode | (sample_point & (susp_cnt == 7)))
    suspend <=#Tp 0;
    suspend <=#Tp 0;
  else if (go_rx_inter & transmitter & node_error_passive)
  else if (go_rx_inter & transmitter & node_error_passive)
    suspend <=#Tp 1'b1;
    suspend <=#Tp 1'b1;

powered by: WebSVN 2.1.0

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