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

Subversion Repositories can

[/] [can/] [trunk/] [rtl/] [verilog/] [can_bsp.v] - Diff between revs 110 and 112

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

Rev 110 Rev 112
Line 48... Line 48...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.40  2003/07/16 15:10:17  mohor
 
// Fixed according to the linter.
 
//
// Revision 1.39  2003/07/16 13:12:46  mohor
// Revision 1.39  2003/07/16 13:12:46  mohor
// Fixed according to the linter.
// Fixed according to the linter.
//
//
// Revision 1.38  2003/07/10 01:59:04  tadejm
// Revision 1.38  2003/07/10 01:59:04  tadejm
// Synchronization fixed. In some strange cases it didn't work according to
// Synchronization fixed. In some strange cases it didn't work according to
Line 639... Line 642...
wire          bit_err_exc4;
wire          bit_err_exc4;
wire          bit_err_exc5;
wire          bit_err_exc5;
wire          error_flag_over;
wire          error_flag_over;
wire          overload_flag_over;
wire          overload_flag_over;
 
 
 
wire    [5:0] limited_tx_cnt_ext;
 
wire    [5:0] limited_tx_cnt_std;
 
 
assign go_rx_idle     =                   sample_point &  sampled_bit & last_bit_of_inter | bus_free & (~node_bus_off);
assign go_rx_idle     =                   sample_point &  sampled_bit & last_bit_of_inter | bus_free & (~node_bus_off);
assign go_rx_id1      =                   sample_point &  (~sampled_bit) & (rx_idle | last_bit_of_inter);
assign go_rx_id1      =                   sample_point &  (~sampled_bit) & (rx_idle | last_bit_of_inter);
assign go_rx_rtr1     = (~bit_de_stuff) & sample_point &  rx_id1  & (bit_cnt[3:0] == 4'd10);
assign go_rx_rtr1     = (~bit_de_stuff) & sample_point &  rx_id1  & (bit_cnt[3:0] == 4'd10);
assign go_rx_ide      = (~bit_de_stuff) & sample_point &  rx_rtr1;
assign go_rx_ide      = (~bit_de_stuff) & sample_point &  rx_rtr1;
Line 1663... Line 1668...
      else
      else
        tx_bit = basic_chain[tx_pointer];
        tx_bit = basic_chain[tx_pointer];
    end
    end
end
end
 
 
 
 
 
assign limited_tx_cnt_ext = tx_data_0[3] ? 6'h3f : ((tx_data_0[2:0] <<3) - 1'b1);
 
assign limited_tx_cnt_std = tx_data_1[3] ? 6'h3f : ((tx_data_1[2:0] <<3) - 1'b1);
 
 
assign rst_tx_pointer = ((~bit_de_stuff_tx) & tx_point & (~rx_data) &   extended_mode  &   r_tx_data_0[0]   & tx_pointer == 6'd38                       ) |   // arbitration + control for extended format
assign rst_tx_pointer = ((~bit_de_stuff_tx) & tx_point & (~rx_data) &   extended_mode  &   r_tx_data_0[0]   & tx_pointer == 6'd38                       ) |   // arbitration + control for extended format
                        ((~bit_de_stuff_tx) & tx_point & (~rx_data) &   extended_mode  & (~r_tx_data_0[0])  & tx_pointer == 6'd18                       ) |   // arbitration + control for extended format
                        ((~bit_de_stuff_tx) & tx_point & (~rx_data) &   extended_mode  & (~r_tx_data_0[0])  & tx_pointer == 6'd18                       ) |   // arbitration + control for extended format
                        ((~bit_de_stuff_tx) & tx_point & (~rx_data) & (~extended_mode)                      & tx_pointer == 6'd18                       ) |   // arbitration + control for standard format
                        ((~bit_de_stuff_tx) & tx_point & (~rx_data) & (~extended_mode)                      & tx_pointer == 6'd18                       ) |   // arbitration + control for standard format
                        ((~bit_de_stuff_tx) & tx_point &   rx_data  &   extended_mode                       & tx_pointer == ((tx_data_0[3:0]<<3) - 1'b1)) |   // data       (overflow is OK here)
                        ((~bit_de_stuff_tx) & tx_point &   rx_data  &   extended_mode                       & tx_pointer == limited_tx_cnt_ext) |   // data       (overflow is OK here)
                        ((~bit_de_stuff_tx) & tx_point &   rx_data  & (~extended_mode)                      & tx_pointer == ((tx_data_1[3:0]<<3) - 1'b1)) |   // data       (overflow is OK here)
                        ((~bit_de_stuff_tx) & tx_point &   rx_data  & (~extended_mode)                      & tx_pointer == limited_tx_cnt_std) |   // data       (overflow is OK here)
                        (                     tx_point &   rx_crc_lim                                                                                   ) |   // crc
                        (                     tx_point &   rx_crc_lim                                                                                   ) |   // crc
                        (go_rx_idle                                                                                                                     ) |   // at the end
                        (go_rx_idle                                                                                                                     ) |   // at the end
                        (reset_mode                                                                                                                     ) |
                        (reset_mode                                                                                                                     ) |
                        (overload_frame                                                                                                                 ) |
                        (overload_frame                                                                                                                 ) |
                        (error_frame                                                                                                                    ) ;
                        (error_frame                                                                                                                    ) ;

powered by: WebSVN 2.1.0

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