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

Subversion Repositories can

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

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

Rev 75 Rev 78
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.29  2003/06/11 14:21:35  mohor
 
// When switching to tx, sync stage is overjumped.
 
//
// Revision 1.28  2003/03/01 22:53:33  mohor
// Revision 1.28  2003/03/01 22:53:33  mohor
// Actel APA ram supported.
// 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
Line 556... Line 559...
 
 
wire   [18:0] basic_chain;
wire   [18:0] basic_chain;
wire   [63:0] basic_chain_data;
wire   [63:0] basic_chain_data;
wire   [18:0] extended_chain_std;
wire   [18:0] extended_chain_std;
wire   [38:0] extended_chain_ext;
wire   [38:0] extended_chain_ext;
wire   [63:0] extended_chain_data;
wire   [63:0] extended_chain_data_std;
 
wire   [63:0] extended_chain_data_ext;
 
 
wire          rst_tx_pointer;
wire          rst_tx_pointer;
 
 
wire    [7:0] r_tx_data_0;
wire    [7:0] r_tx_data_0;
wire    [7:0] r_tx_data_1;
wire    [7:0] r_tx_data_1;
Line 1578... Line 1582...
 
 
assign basic_chain = {r_tx_data_1[7:4], 2'h0, r_tx_data_1[3:0], r_tx_data_0[7:0], 1'b0};
assign basic_chain = {r_tx_data_1[7:4], 2'h0, r_tx_data_1[3:0], r_tx_data_0[7:0], 1'b0};
assign basic_chain_data = {r_tx_data_9, r_tx_data_8, r_tx_data_7, r_tx_data_6, r_tx_data_5, r_tx_data_4, r_tx_data_3, r_tx_data_2};
assign basic_chain_data = {r_tx_data_9, r_tx_data_8, r_tx_data_7, r_tx_data_6, r_tx_data_5, r_tx_data_4, r_tx_data_3, r_tx_data_2};
assign extended_chain_std = {r_tx_data_0[7:4], 2'h0, r_tx_data_0[1], r_tx_data_2[2:0], r_tx_data_1[7:0], 1'b0};
assign extended_chain_std = {r_tx_data_0[7:4], 2'h0, r_tx_data_0[1], r_tx_data_2[2:0], r_tx_data_1[7:0], 1'b0};
assign extended_chain_ext = {r_tx_data_0[7:4], 2'h0, r_tx_data_0[1], r_tx_data_4[4:0], r_tx_data_3[7:0], r_tx_data_2[7:3], 1'b1, 1'b1, r_tx_data_2[2:0], r_tx_data_1[7:0], 1'b0};
assign extended_chain_ext = {r_tx_data_0[7:4], 2'h0, r_tx_data_0[1], r_tx_data_4[4:0], r_tx_data_3[7:0], r_tx_data_2[7:3], 1'b1, 1'b1, r_tx_data_2[2:0], r_tx_data_1[7:0], 1'b0};
assign extended_chain_data = {r_tx_data_12, r_tx_data_11, r_tx_data_10, r_tx_data_9, r_tx_data_8, r_tx_data_7, r_tx_data_6, r_tx_data_5};
assign extended_chain_data_std = {r_tx_data_10, r_tx_data_9, r_tx_data_8, r_tx_data_7, r_tx_data_6, r_tx_data_5, r_tx_data_4, r_tx_data_3};
 
assign extended_chain_data_ext = {r_tx_data_12, r_tx_data_11, r_tx_data_10, r_tx_data_9, r_tx_data_8, r_tx_data_7, r_tx_data_6, r_tx_data_5};
 
 
always @ (extended_mode or rx_data or tx_pointer or extended_chain_data or rx_crc or r_calculated_crc or
always @ (extended_mode or rx_data or tx_pointer or extended_chain_data_std or extended_chain_data_ext or rx_crc or r_calculated_crc or
          r_tx_data_0   or extended_chain_ext or extended_chain_std or basic_chain_data or basic_chain or
          r_tx_data_0   or extended_chain_ext or extended_chain_std or basic_chain_data or basic_chain or
          finish_msg)
          finish_msg)
begin
begin
  if (extended_mode)
  if (extended_mode)
    begin
    begin
      if (rx_data)  // data stage
      if (rx_data)  // data stage
        tx_bit = extended_chain_data[tx_pointer];
        if (r_tx_data_0[0])    // Extended frame
 
          tx_bit = extended_chain_data_ext[tx_pointer];
 
        else
 
          tx_bit = extended_chain_data_std[tx_pointer];
      else if (rx_crc)
      else if (rx_crc)
        tx_bit = r_calculated_crc[tx_pointer];
        tx_bit = r_calculated_crc[tx_pointer];
      else if (finish_msg)
      else if (finish_msg)
        tx_bit = 1'b1;
        tx_bit = 1'b1;
      else
      else

powered by: WebSVN 2.1.0

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