亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? can_bsp.v

?? 主要是說明can總線協議使用fpga的ip核實現
?? V
?? 第 1 頁 / 共 5 頁
字號:
          if (r_tx_data_0[0])    // Extended frame            tx_bit = extended_chain_ext[tx_pointer];          else            tx_bit = extended_chain_std[tx_pointer];        end    end  else  // Basic mode    begin      if (rx_data)  // data stage        tx_bit = basic_chain_data[tx_pointer];      else if (rx_crc)        tx_bit = r_calculated_crc[tx_pointer];      else if (finish_msg)        tx_bit = 1'b1;      else        tx_bit = basic_chain[tx_pointer];    endendassign 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                        ((~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 == limited_tx_cnt_ext) |   // 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                        (go_rx_idle                                                                                                           ) |   // at the end                        (reset_mode                                                                                                           ) |                        (overload_frame                                                                                                       ) |                        (error_frame                                                                                                          ) ;always @ (posedge clk or posedge rst)begin  if (rst)    tx_pointer <= 6'h0;  else if (rst_tx_pointer)    tx_pointer <=#Tp 6'h0;  else if (go_early_tx | (tx_point & (tx_state | go_tx) & (~bit_de_stuff_tx)))    tx_pointer <=#Tp tx_pointer + 1'b1;endassign tx_successful = transmitter & go_rx_inter & (~go_error_frame) & (~error_frame_ended) & (~overload_frame_ended) & (~arbitration_lost);always @ (posedge clk or posedge rst)begin  if (rst)    need_to_tx <= 1'b0;  else if (tx_successful | reset_mode | (abort_tx & (~transmitting)) | ((~tx_state) & tx_state_q & single_shot_transmission))    need_to_tx <=#Tp 1'h0;  else if (tx_request & sample_point)    need_to_tx <=#Tp 1'b1;endassign go_early_tx = (~listen_only_mode) & need_to_tx & (~tx_state) & (~suspend | (susp_cnt == 3'h7)) & sample_point & (~sampled_bit) & (rx_idle | last_bit_of_inter);assign go_tx       = (~listen_only_mode) & need_to_tx & (~tx_state) & (~suspend | (sample_point & (susp_cnt == 3'h7))) & (go_early_tx | rx_idle);// go_early_tx latched (for proper bit_de_stuff generation)always @ (posedge clk or posedge rst)begin  if (rst)    go_early_tx_latched <= 1'b0;  else if (reset_mode || tx_point)    go_early_tx_latched <=#Tp 1'b0;  else if (go_early_tx)    go_early_tx_latched <=#Tp 1'b1;end// Tx statealways @ (posedge clk or posedge rst)begin  if (rst)    tx_state <= 1'b0;  else if (reset_mode | go_rx_inter | error_frame | arbitration_lost)    tx_state <=#Tp 1'b0;  else if (go_tx)    tx_state <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    tx_state_q <=#Tp 1'b0;  else if (reset_mode)    tx_state_q <=#Tp 1'b0;  else    tx_state_q <=#Tp tx_state;end// Node is a transmitteralways @ (posedge clk or posedge rst)begin  if (rst)    transmitter <= 1'b0;  else if (go_tx)    transmitter <=#Tp 1'b1;  else if (reset_mode | go_rx_idle | suspend & go_rx_id1)    transmitter <=#Tp 1'b0;end // Signal "transmitting" signals that the core is a transmitting (message, error frame or overload frame). No synchronization is done meanwhile.// Node might be both transmitter or receiver (sending error or overload frame)always @ (posedge clk or posedge rst)begin  if (rst)    transmitting <= 1'b0;  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))    transmitting <=#Tp 1'b0;endalways @ (posedge clk or posedge rst)begin  if (rst)    suspend <= 1'b0;  else if (reset_mode | (sample_point & (susp_cnt == 3'h7)))    suspend <=#Tp 1'b0;  else if (not_first_bit_of_inter & transmitter & node_error_passive)    suspend <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    susp_cnt_en <= 1'b0;  else if (reset_mode | (sample_point & (susp_cnt == 3'h7)))    susp_cnt_en <=#Tp 1'b0;  else if (suspend & sample_point & last_bit_of_inter)    susp_cnt_en <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    susp_cnt <= 3'h0;  else if (reset_mode | (sample_point & (susp_cnt == 3'h7)))    susp_cnt <=#Tp 3'h0;  else if (susp_cnt_en & sample_point)    susp_cnt <=#Tp susp_cnt + 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    finish_msg <= 1'b0;  else if (go_rx_idle | go_rx_id1 | error_frame | reset_mode)    finish_msg <=#Tp 1'b0;  else if (go_rx_crc_lim)    finish_msg <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    arbitration_lost <= 1'b0;  else if (go_rx_idle | error_frame_ended)    arbitration_lost <=#Tp 1'b0;  else if (transmitter & sample_point & tx & arbitration_field & ~sampled_bit)    arbitration_lost <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    arbitration_lost_q <=#Tp 1'b0;  else    arbitration_lost_q <=#Tp arbitration_lost;endalways @ (posedge clk or posedge rst)begin  if (rst)    arbitration_field_d <=#Tp 1'b0;  else if (sample_point)    arbitration_field_d <=#Tp arbitration_field;endassign set_arbitration_lost_irq = arbitration_lost & (~arbitration_lost_q) & (~arbitration_blocked);always @ (posedge clk or posedge rst)begin  if (rst)    arbitration_cnt <= 5'h0;  else if (sample_point && !bit_de_stuff)    if (arbitration_field_d)      arbitration_cnt <=#Tp arbitration_cnt + 1'b1;    else      arbitration_cnt <=#Tp 5'h0;endalways @ (posedge clk or posedge rst)begin  if (rst)    arbitration_lost_capture <= 5'h0;  else if (set_arbitration_lost_irq)    arbitration_lost_capture <=#Tp arbitration_cnt;endalways @ (posedge clk or posedge rst)begin  if (rst)    arbitration_blocked <= 1'b0;  else if (read_arbitration_lost_capture_reg)    arbitration_blocked <=#Tp 1'b0;  else if (set_arbitration_lost_irq)    arbitration_blocked <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    rx_err_cnt <= 9'h0;  else if (we_rx_err_cnt & (~node_bus_off))    rx_err_cnt <=#Tp {1'b0, data_in};  else if (set_reset_mode)    rx_err_cnt <=#Tp 9'h0;  else    begin      if ((~listen_only_mode) & (~transmitter | arbitration_lost))        begin          if (go_rx_ack_lim & (~go_error_frame) & (~crc_err) & (rx_err_cnt > 9'h0))            begin              if (rx_err_cnt > 9'd127)                rx_err_cnt <=#Tp 9'd127;              else                rx_err_cnt <=#Tp rx_err_cnt - 1'b1;            end          else if (rx_err_cnt < 9'd128)            begin              if (go_error_frame & (~rule5))                                                                                          // 1  (rule 5 is just the opposite then rule 1 exception                rx_err_cnt <=#Tp rx_err_cnt + 1'b1;              else if ( (error_flag_over & (~error_flag_over_latched) & sample_point & (~sampled_bit) & (error_cnt1 == 3'd7)     ) |  // 2                        (go_error_frame & rule5                                                                                  ) |  // 5                        (sample_point & (~sampled_bit) & (delayed_dominant_cnt == 3'h7)                            )                  // 6                      )                rx_err_cnt <=#Tp rx_err_cnt + 4'h8;            end        end    endendalways @ (posedge clk or posedge rst)begin  if (rst)    tx_err_cnt <= 9'h0;  else if (we_tx_err_cnt)    tx_err_cnt <=#Tp {1'b0, data_in};  else    begin      if (set_reset_mode)        tx_err_cnt <=#Tp 9'd128;      else if ((tx_err_cnt > 9'd0) & (tx_successful | bus_free))        tx_err_cnt <=#Tp tx_err_cnt - 1'h1;      else if (transmitter & (~arbitration_lost))        begin          if ( (sample_point & (~sampled_bit) & (delayed_dominant_cnt == 3'h7)                                          ) |       // 6               (go_error_frame & rule5                                                                                  ) |       // 4  (rule 5 is the same as rule 4)               (go_error_frame & (~(transmitter & node_error_passive & ack_err)) & (~(transmitter & stuff_err &                 arbitration_field & sample_point & tx & (~sampled_bit)))                                                ) |       // 3                (error_frame & rule3_exc1_2                                                                              )         // 3             )            tx_err_cnt <=#Tp tx_err_cnt + 4'h8;        end    endendalways @ (posedge clk or posedge rst)begin  if (rst)    node_error_passive <= 1'b0;  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))    node_error_passive <=#Tp 1'b1;endassign node_error_active = ~(node_error_passive | node_bus_off);always @ (posedge clk or posedge rst)begin  if (rst)    node_bus_off <= 1'b0;  else if ((rx_err_cnt == 9'h0) & (tx_err_cnt == 9'd0) & (~reset_mode) | (we_tx_err_cnt & (data_in < 8'd255)))    node_bus_off <=#Tp 1'b0;  else if ((tx_err_cnt >= 9'd256) | (we_tx_err_cnt & (data_in == 8'd255)))    node_bus_off <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    bus_free_cnt <= 4'h0;  else if (sample_point)    begin      if (sampled_bit & bus_free_cnt_en & (bus_free_cnt < 4'd10))        bus_free_cnt <=#Tp bus_free_cnt + 1'b1;      else        bus_free_cnt <=#Tp 4'h0;    endendalways @ (posedge clk or posedge rst)begin  if (rst)    bus_free_cnt_en <= 1'b0;  else if ((~reset_mode) & reset_mode_q | node_bus_off_q & (~reset_mode))    bus_free_cnt_en <=#Tp 1'b1;  else if (sample_point & sampled_bit & (bus_free_cnt==4'd10) & (~node_bus_off))    bus_free_cnt_en <=#Tp 1'b0;endalways @ (posedge clk or posedge rst)begin  if (rst)    bus_free <= 1'b0;  else if (sample_point & sampled_bit & (bus_free_cnt==4'd10) && waiting_for_bus_free)    bus_free <=#Tp 1'b1;  else    bus_free <=#Tp 1'b0;endalways @ (posedge clk or posedge rst)begin  if (rst)    waiting_for_bus_free <= 1'b1;  else if (bus_free & (~node_bus_off))    waiting_for_bus_free <=#Tp 1'b0;  else if (node_bus_off_q & (~reset_mode))    waiting_for_bus_free <=#Tp 1'b1;endassign bus_off_on = ~node_bus_off;assign set_reset_mode = node_bus_off & (~node_bus_off_q);assign error_status = extended_mode? ((rx_err_cnt >= error_warning_limit) | (tx_err_cnt >= error_warning_limit))    :                                     ((rx_err_cnt >= 9'd96) | (tx_err_cnt >= 9'd96))                                ;assign transmit_status = transmitting  || (extended_mode && waiting_for_bus_free);assign receive_status  = extended_mode ? (waiting_for_bus_free || (!rx_idle) && (!transmitting)) :                                          ((!waiting_for_bus_free) && (!rx_idle) && (!transmitting));/* Error code capture register */always @ (posedge clk or posedge rst)begin  if (rst)    error_capture_code <= 8'h0;  else if (read_error_code_capture_reg)    error_capture_code <=#Tp 8'h0;  else if (set_bus_error_irq)    error_capture_code <=#Tp {error_capture_code_type[7:6], error_capture_code_direction, error_capture_code_segment[4:0]};endassign error_capture_code_segment[0] = rx_idle | rx_ide | (rx_id2 & (bit_cnt<6'd13)) | rx_r1 | rx_r0 | rx_dlc | rx_ack | rx_ack_lim | error_frame & node_error_active;assign error_capture_code_segment[1] = rx_idle | rx_id1 | rx_id2 | rx_dlc | rx_data | rx_ack_lim | rx_eof | rx_inter | error_frame & node_error_passive;assign error_capture_code_segment[2] = (rx_id1 & (bit_cnt>6'd7)) | rx_rtr1 | rx_ide | rx_id2 | rx_rtr2 | rx_r1 | error_frame & node_error_passive | overload_frame;assign error_capture_code_segment[3] = (rx_id2 & (bit_cnt>6'd4)) | rx_rtr2 | rx_r1 | rx_r0 | rx_dlc | rx_data | rx_crc | rx_crc_lim | rx_ack | rx_ack_lim | rx_eof | overload_frame;assign error_capture_code_segment[4] = rx_crc_lim | rx_ack | rx_ack_lim | rx_eof | rx_inter | error_frame | overload_frame;assign error_capture_code_direction  = ~transmitting;always @ (bit_err or form_err or stuff_err)begin  if (bit_err)    error_capture_code_type[7:6] = 2'b00;  else if (form_err)    error_capture_code_type[7:6] = 2'b01;  else if (stuff_err)    error_capture_code_type[7:6] = 2'b10;  else    error_capture_code_type[7:6] = 2'b11;endassign set_bus_error_irq = go_error_frame & (~error_capture_code_blocked);always @ (posedge clk or posedge rst)begin  if (rst)    error_capture_code_blocked <= 1'b0;  else if (read_error_code_capture_reg)    error_capture_code_blocked <=#Tp 1'b0;  else if (set_bus_error_irq)    error_capture_code_blocked <=#Tp 1'b1;endendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线播放一区| 亚洲午夜视频在线观看| 日韩三级在线免费观看| 欧美性大战久久久久久久| 欧洲av一区二区嗯嗯嗯啊| 色婷婷精品大在线视频| 91美女福利视频| 色欧美日韩亚洲| 色综合久久综合中文综合网| 日本韩国欧美三级| 99久久99久久免费精品蜜臀| 国产精品私人影院| 国产精品欧美综合在线| 国产精品不卡视频| 亚洲美女免费在线| 亚洲福利电影网| 日本不卡一区二区三区| 久久99久久精品欧美| 激情综合五月婷婷| 成人妖精视频yjsp地址| 91视频一区二区| 欧美制服丝袜第一页| 欧美群妇大交群中文字幕| 91精品国产综合久久久久久久久久| 91精品中文字幕一区二区三区| 日韩欧美电影一区| 久久久久久综合| 亚洲三级久久久| 日本在线不卡视频一二三区| 激情国产一区二区| 99re热这里只有精品视频| 欧美三级日韩在线| 久久久久久久性| 亚洲三级电影网站| 天天操天天色综合| 国产尤物一区二区在线| 99re热这里只有精品免费视频| 欧美欧美午夜aⅴ在线观看| 精品久久久网站| 国产精品不卡在线| 日本最新不卡在线| 成人精品鲁一区一区二区| 在线视频你懂得一区二区三区| 日韩午夜精品视频| 国产精品欧美极品| 日日夜夜精品视频天天综合网| 狠狠色丁香婷综合久久| 在线视频你懂得一区二区三区| 欧美电影免费观看高清完整版在线| 国产精品盗摄一区二区三区| 天天综合网天天综合色| 国产69精品一区二区亚洲孕妇| 欧美日韩亚洲不卡| 国产精品乱码一区二区三区软件 | 欧美日韩国产成人在线免费| 精品久久久久99| 一区二区三区四区不卡在线| 激情久久五月天| 欧美性感一类影片在线播放| 国产欧美日韩卡一| 免费在线观看一区| 欧美在线免费观看亚洲| 久久九九影视网| 免费高清在线视频一区·| 91麻豆精品秘密| 久久影院视频免费| 日本成人在线电影网| 色综合久久天天| 久久女同互慰一区二区三区| 午夜电影久久久| 色综合天天天天做夜夜夜夜做| 欧美精品一区二区三区在线播放| 亚洲综合在线观看视频| 粉嫩av一区二区三区在线播放| 91麻豆精品91久久久久久清纯| 一区二区三区欧美日韩| 成人美女在线视频| 久久九九久精品国产免费直播| 日韩精品91亚洲二区在线观看| 97精品国产97久久久久久久久久久久| 精品久久久久久亚洲综合网| 日韩中文字幕区一区有砖一区 | 欧美成人精品1314www| 一区二区理论电影在线观看| 9久草视频在线视频精品| 久久久综合精品| 精品亚洲免费视频| 欧美一级二级在线观看| 图片区小说区国产精品视频| 欧美做爰猛烈大尺度电影无法无天| 亚洲国产高清aⅴ视频| 国产福利电影一区二区三区| 精品国产免费人成电影在线观看四季 | 亚洲超碰精品一区二区| 91亚洲午夜精品久久久久久| 国产精品国产三级国产aⅴ中文| 国产麻豆91精品| 久久久久久9999| 国内不卡的二区三区中文字幕 | 日本中文字幕一区二区视频| 欧美精品久久天天躁| 五月天网站亚洲| 欧美日韩激情在线| 日韩精品免费专区| 欧美一级欧美三级| 久久精品国产99国产精品| 欧美一区二区久久| 久久er99精品| 2023国产精品自拍| 福利一区福利二区| 自拍偷在线精品自拍偷无码专区| av欧美精品.com| 亚洲欧美日韩中文播放 | 欧美日韩国产综合久久| 亚洲国产毛片aaaaa无费看| 欧美亚洲国产怡红院影院| 亚洲国产精品久久不卡毛片| 欧美日本韩国一区| 激情六月婷婷综合| 中文字幕久久午夜不卡| 97se亚洲国产综合在线| 一区二区三区精品久久久| 欧美日韩www| 精品一区二区影视| 国产女人水真多18毛片18精品视频| 成人的网站免费观看| 亚洲免费av观看| 欧美高清hd18日本| 国内久久精品视频| 亚洲欧洲日产国产综合网| 欧美在线观看18| 青青草伊人久久| 国产视频一区二区三区在线观看| 99精品在线免费| 日韩在线一二三区| 国产网红主播福利一区二区| 91美女精品福利| 麻豆精品视频在线观看免费| 欧美激情在线一区二区三区| 色诱亚洲精品久久久久久| 美女久久久精品| 中文在线一区二区| 欧美高清一级片在线| 国产精品白丝av| 亚洲一区在线观看网站| 337p粉嫩大胆色噜噜噜噜亚洲| 成人动漫av在线| 午夜精品久久久久久久久久 | 青青青伊人色综合久久| 欧美国产精品一区二区三区| 在线免费不卡视频| 激情综合五月婷婷| 亚洲综合色成人| xfplay精品久久| av在线播放不卡| 日韩电影一二三区| 国产丝袜欧美中文另类| 91福利视频久久久久| 激情欧美一区二区| 亚洲一区二区在线免费看| 久久久精品国产免费观看同学| 色婷婷av久久久久久久| 国产在线精品一区二区夜色| 一区二区三区在线免费视频| www国产成人免费观看视频 深夜成人网| 一本大道久久a久久综合婷婷 | 国产精品一区二区久激情瑜伽| 亚洲一区中文在线| 国产精品美女久久久久久久久| 欧美一区二区成人| 日本乱码高清不卡字幕| 国产成人在线色| 蜜臀国产一区二区三区在线播放| 18欧美乱大交hd1984| 久久久亚洲高清| 日韩欧美中文字幕公布| 欧亚一区二区三区| av中文字幕一区| 欧美国产成人在线| 91麻豆精品国产91久久久使用方法| 99视频精品全部免费在线| 九一九一国产精品| 图片区小说区区亚洲影院| 一区二区三区国产精华| 国产精品网站在线| 国产日本欧美一区二区| 精品国产一区二区精华| 欧美一区2区视频在线观看| 欧美亚洲日本国产| 色先锋资源久久综合| 99国产精品国产精品毛片| 国产成人99久久亚洲综合精品| 久久电影网电视剧免费观看| 日本一区中文字幕| 午夜国产精品一区| 日韩国产一二三区| 日本在线观看不卡视频| 日韩av成人高清| 免费欧美高清视频| 久久精品国产亚洲aⅴ|