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

Subversion Repositories can

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

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

Rev 48 Rev 75
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.28  2003/03/01 22:53:33  mohor
 
// Actel APA ram supported.
 
//
// Revision 1.27  2003/02/20 00:26:02  mohor
// Revision 1.27  2003/02/20 00:26:02  mohor
// When a dominant bit was detected at the third bit of the intermission and
// When a dominant bit was detected at the third bit of the intermission and
// node had a message to transmit, bit_stuff error could occur. Fixed.
// node had a message to transmit, bit_stuff error could occur. Fixed.
//
//
// Revision 1.26  2003/02/19 23:21:54  mohor
// Revision 1.26  2003/02/19 23:21:54  mohor
Line 160... Line 163...
  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 202... Line 206...
  /* 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 274... Line 279...
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 312... Line 318...
/* 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 418... Line 425...
 
 
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 1700... Line 1709...
 
 
 
 
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.