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

Subversion Repositories can

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 135 to Rev 136
    Reverse comparison

Rev 135 → Rev 136

/trunk/rtl/verilog/can_bsp.v
17,7 → 17,7
//// ////
//////////////////////////////////////////////////////////////////////
//// ////
//// Copyright (C) 2002, 2003 Authors ////
//// Copyright (C) 2002, 2003, 2004 Authors ////
//// ////
//// This source file may be used and distributed without ////
//// restriction provided that this copyright statement is not ////
50,6 → 50,9
// CVS Revision History
//
// $Log: not supported by cvs2svn $
// Revision 1.46 2003/10/17 05:55:20 markom
// mbist signals updated according to newest convention
//
// Revision 1.45 2003/09/30 21:14:33 mohor
// Error counters changed.
//
288,8 → 291,6
node_error_active,
rx_message_counter,
 
 
 
/* This section is for BASIC and EXTENDED mode */
/* Acceptance code register */
acceptance_code_0,
329,7 → 330,7
/* Tx signal */
tx,
tx_next,
tx_oen,
bus_off_on,
 
go_overload_frame,
go_error_frame,
359,7 → 360,6
output [7:0] data_out;
input fifo_selected;
 
 
input reset_mode;
input listen_only_mode;
input acceptance_filter_mode;
366,7 → 366,6
input extended_mode;
input self_test_mode;
 
 
/* Command register */
input release_buffer;
input tx_request;
461,7 → 460,7
/* Tx signal */
output tx;
output tx_next;
output tx_oen;
output bus_off_on;
 
output go_overload_frame;
output go_error_frame;
699,8 → 698,6
assign error_frame_ended = (error_cnt2 == 3'd7) & tx_point;
assign overload_frame_ended = (overload_cnt2 == 3'd7) & tx_point;
 
//assign go_overload_frame = ( ((sample_point & rx_eof & (eof_cnt == 3'd6)) | error_frame_ended | overload_frame_ended) & (overload_request | (~sampled_bit)) |
//assign go_overload_frame = ( sample_point & ((~sampled_bit) | overload_request) & (rx_eof & (eof_cnt == 3'd6) | error_frame_ended | overload_frame_ended) |
assign go_overload_frame = ( sample_point & ((~sampled_bit) | overload_request) & (rx_eof & (~transmitter) & (eof_cnt == 3'd6) | error_frame_ended | overload_frame_ended) |
sample_point & (~sampled_bit) & rx_inter & (bit_cnt[1:0] < 2'd2) |
sample_point & (~sampled_bit) & ((error_cnt2 == 3'd7) | (overload_cnt2 == 3'd7))
738,7 → 735,6
begin
if (rst)
rx_idle <= 1'b0;
// else if (reset_mode | go_rx_id1 | error_frame)
else if (reset_mode | go_rx_id1 | go_error_frame)
rx_idle <=#Tp 1'b0;
else if (go_rx_idle)
751,7 → 747,6
begin
if (rst)
rx_id1 <= 1'b0;
// else if (reset_mode | go_rx_rtr1 | error_frame)
else if (reset_mode | go_rx_rtr1 | go_error_frame)
rx_id1 <=#Tp 1'b0;
else if (go_rx_id1)
764,7 → 759,6
begin
if (rst)
rx_rtr1 <= 1'b0;
// else if (reset_mode | go_rx_ide | error_frame)
else if (reset_mode | go_rx_ide | go_error_frame)
rx_rtr1 <=#Tp 1'b0;
else if (go_rx_rtr1)
777,7 → 771,6
begin
if (rst)
rx_ide <= 1'b0;
// else if (reset_mode | go_rx_r0 | go_rx_id2 | error_frame)
else if (reset_mode | go_rx_r0 | go_rx_id2 | go_error_frame)
rx_ide <=#Tp 1'b0;
else if (go_rx_ide)
790,7 → 783,6
begin
if (rst)
rx_id2 <= 1'b0;
// else if (reset_mode | go_rx_rtr2 | error_frame)
else if (reset_mode | go_rx_rtr2 | go_error_frame)
rx_id2 <=#Tp 1'b0;
else if (go_rx_id2)
803,7 → 795,6
begin
if (rst)
rx_rtr2 <= 1'b0;
// else if (reset_mode | go_rx_r1 | error_frame)
else if (reset_mode | go_rx_r1 | go_error_frame)
rx_rtr2 <=#Tp 1'b0;
else if (go_rx_rtr2)
816,7 → 807,6
begin
if (rst)
rx_r1 <= 1'b0;
// else if (reset_mode | go_rx_r0 | error_frame)
else if (reset_mode | go_rx_r0 | go_error_frame)
rx_r1 <=#Tp 1'b0;
else if (go_rx_r1)
829,7 → 819,6
begin
if (rst)
rx_r0 <= 1'b0;
// else if (reset_mode | go_rx_dlc | error_frame)
else if (reset_mode | go_rx_dlc | go_error_frame)
rx_r0 <=#Tp 1'b0;
else if (go_rx_r0)
842,7 → 831,6
begin
if (rst)
rx_dlc <= 1'b0;
// else if (reset_mode | go_rx_data | go_rx_crc | error_frame)
else if (reset_mode | go_rx_data | go_rx_crc | go_error_frame)
rx_dlc <=#Tp 1'b0;
else if (go_rx_dlc)
855,7 → 843,6
begin
if (rst)
rx_data <= 1'b0;
// else if (reset_mode | go_rx_crc | error_frame)
else if (reset_mode | go_rx_crc | go_error_frame)
rx_data <=#Tp 1'b0;
else if (go_rx_data)
868,7 → 855,6
begin
if (rst)
rx_crc <= 1'b0;
// else if (reset_mode | go_rx_crc_lim | error_frame)
else if (reset_mode | go_rx_crc_lim | go_error_frame)
rx_crc <=#Tp 1'b0;
else if (go_rx_crc)
881,7 → 867,6
begin
if (rst)
rx_crc_lim <= 1'b0;
// else if (reset_mode | go_rx_ack | error_frame)
else if (reset_mode | go_rx_ack | go_error_frame)
rx_crc_lim <=#Tp 1'b0;
else if (go_rx_crc_lim)
894,7 → 879,6
begin
if (rst)
rx_ack <= 1'b0;
// else if (reset_mode | go_rx_ack_lim | error_frame)
else if (reset_mode | go_rx_ack_lim | go_error_frame)
rx_ack <=#Tp 1'b0;
else if (go_rx_ack)
907,7 → 891,6
begin
if (rst)
rx_ack_lim <= 1'b0;
// else if (reset_mode | go_rx_eof | error_frame)
else if (reset_mode | go_rx_eof | go_error_frame)
rx_ack_lim <=#Tp 1'b0;
else if (go_rx_ack_lim)
920,7 → 903,6
begin
if (rst)
rx_eof <= 1'b0;
// else if (go_rx_inter | error_frame | go_overload_frame)
else if (go_rx_inter | go_error_frame | go_overload_frame)
rx_eof <=#Tp 1'b0;
else if (go_rx_eof)
1226,7 → 1208,6
begin
if (rst)
rule3_exc1_2 <= 1'b0;
// else if (reset_mode | error_flag_over)
else if (reset_mode | go_error_frame | rule3_exc1_2)
rule3_exc1_2 <=#Tp 1'b0;
else if (rule3_exc1_1 & (error_cnt1 < 3'd7) & sample_point & (~sampled_bit))
1610,12 → 1591,11
 
 
reg tx_next;
always @ (reset_mode or tx_state or bit_de_stuff_tx or tx_bit or tx_q or
//always @ (reset_mode or go_tx or tx_state or bit_de_stuff_tx or tx_bit or tx_q or
always @ (reset_mode or node_bus_off or tx_state or bit_de_stuff_tx or tx_bit or tx_q or
send_ack or go_overload_frame or overload_frame or overload_cnt1 or
go_error_frame or error_frame or error_cnt1 or node_error_passive)
begin
if (reset_mode) // Reset
if (reset_mode | node_bus_off) // Reset or node_bus_off
tx_next = 1'b1;
else
begin
1639,7 → 1619,6
tx_next = 1'b1;
end
else if (tx_state) // Transmitting message
// else if (go_tx | tx_state) // Transmitting message
tx_next = ((~bit_de_stuff_tx) & tx_bit) | (bit_de_stuff_tx & (~tx_q));
else if (send_ack) // Acknowledge
tx_next = 1'b0;
1766,7 → 1745,6
end
 
 
//assign tx_successful = transmitter & go_rx_inter & (~error_frame_ended) & (~overload_frame_ended) & (~arbitration_lost);
assign tx_successful = transmitter & go_rx_inter & (~go_error_frame) & (~error_frame_ended) & (~overload_frame_ended) & (~arbitration_lost);
 
 
1791,7 → 1769,6
begin
if (rst)
go_early_tx_latched <= 1'b0;
// else if (tx_point_q)
else if (tx_point)
go_early_tx_latched <=#Tp 1'b0;
else if (go_early_tx)
1828,7 → 1805,6
transmitter <= 1'b0;
else if (go_tx)
transmitter <=#Tp 1'b1;
// else if ((reset_mode | go_rx_inter ) | ((~tx_state) & tx_state_q))
else if (reset_mode | go_rx_idle)
transmitter <=#Tp 1'b0;
end
1841,7 → 1817,6
begin
if (rst)
transmitting <= 1'b0;
// else if (go_error_frame | go_overload_frame | go_tx)
else if (go_error_frame | go_overload_frame | go_tx | send_ack)
transmitting <=#Tp 1'b1;
else if (reset_mode | go_rx_idle | (go_rx_id1 & (~tx_state)) | (arbitration_lost & tx_state) | rx_ack_lim)
1855,7 → 1830,6
suspend <= 1'b0;
else if (reset_mode | (sample_point & (susp_cnt == 3'h7)))
suspend <=#Tp 1'b0;
// else if (go_rx_inter & transmitter & node_error_passive)
else if (not_first_bit_of_inter & transmitter & node_error_passive)
suspend <=#Tp 1'b1;
end
1984,7 → 1958,6
// else if ( (error_flag_over & (~error_flag_over_latched) & sample_point & (~sampled_bit) & (error_cnt1 == 3'd7) ) | // 2
else if ( (error_flag_over & (~error_flag_over_latched) & sample_point & (~sampled_bit) & (error_cnt1 == 3'd7) ) | // 2
(go_error_frame & rule5 ) | // 5
// (error_frame & sample_point & (~sampled_bit) & (delayed_dominant_cnt == 3'h7) ) // 6
(sample_point & (~sampled_bit) & (delayed_dominant_cnt == 3'h7) ) // 6
)
rx_err_cnt <=#Tp rx_err_cnt + 4'h8;
2037,7 → 2010,6
begin
if (rst)
node_error_passive <= 1'b0;
// else if ((rx_err_cnt < 128) & (tx_err_cnt < 9'd128) & error_frame_ended)
else if ((rx_err_cnt < 128) & (tx_err_cnt < 9'd128))
node_error_passive <=#Tp 1'b0;
else if (((rx_err_cnt >= 128) | (tx_err_cnt >= 9'd128)) & (error_frame_ended | go_error_frame | (~reset_mode) & reset_mode_q) & (~node_bus_off))
2109,7 → 2081,7
end
 
 
assign tx_oen = node_bus_off;
assign bus_off_on = ~node_bus_off;
 
assign set_reset_mode = node_bus_off & (~node_bus_off_q);
assign error_status = (~reset_mode) & extended_mode? ((rx_err_cnt >= error_warning_limit) | (tx_err_cnt >= error_warning_limit)) :

powered by: WebSVN 2.1.0

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