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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? can_bsp.v

?? 主要是說明can總線協(xié)議使用fpga的ip核實(shí)現(xiàn)
?? V
?? 第 1 頁 / 共 5 頁
字號(hào):
  .extended_mode(extended_mode),    /* This section is for BASIC and EXTENDED mode */  /* Acceptance code register */  .acceptance_code_0(acceptance_code_0),  /* Acceptance mask register */  .acceptance_mask_0(acceptance_mask_0),  /* End: This section is for BASIC and EXTENDED mode */    /* This section is for EXTENDED mode */  /* Acceptance code register */  .acceptance_code_1(acceptance_code_1),  .acceptance_code_2(acceptance_code_2),  .acceptance_code_3(acceptance_code_3),  /* Acceptance mask register */  .acceptance_mask_1(acceptance_mask_1),  .acceptance_mask_2(acceptance_mask_2),  .acceptance_mask_3(acceptance_mask_3),  /* End: This section is for EXTENDED mode */  .go_rx_crc_lim(go_rx_crc_lim),  .go_rx_inter(go_rx_inter),  .go_error_frame(go_error_frame),    .data0(tmp_fifo[0]),  .data1(tmp_fifo[1]),  .rtr1(rtr1),  .rtr2(rtr2),  .ide(ide),  .no_byte0(no_byte0),  .no_byte1(no_byte1),  .id_ok(id_ok));assign header_len[2:0] = extended_mode ? (ide? (3'h5) : (3'h3)) : 3'h2;assign storing_header = header_cnt < header_len;assign limited_data_len_minus1[3:0] = remote_rq? 4'hf : ((data_len < 4'h8)? (data_len -1'b1) : 4'h7);   // - 1 because counter counts from 0assign reset_wr_fifo = (data_cnt == (limited_data_len_minus1 + {1'b0, header_len})) || reset_mode;assign err = form_err | stuff_err | bit_err | ack_err | form_err_latched | stuff_err_latched | bit_err_latched | ack_err_latched | crc_err;// Write enable signal for 64-byte rx fifoalways @ (posedge clk or posedge rst)begin  if (rst)    wr_fifo <= 1'b0;  else if (reset_wr_fifo)    wr_fifo <=#Tp 1'b0;  else if (go_rx_inter & id_ok & (~error_frame_ended) & ((~tx_state) | self_rx_request))    wr_fifo <=#Tp 1'b1;end// Header counter. Header length depends on the mode of operation and frame format.always @ (posedge clk or posedge rst)begin  if (rst)    header_cnt <= 3'h0;  else if (reset_wr_fifo)    header_cnt <=#Tp 3'h0;  else if (wr_fifo & storing_header)    header_cnt <=#Tp header_cnt + 1'h1;end// Data counter. Length of the data is limited to 8 bytes.always @ (posedge clk or posedge rst)begin  if (rst)    data_cnt <= 4'h0;  else if (reset_wr_fifo)    data_cnt <=#Tp 4'h0;  else if (wr_fifo)    data_cnt <=#Tp data_cnt + 4'h1;end// Multiplexing data that is stored to 64-byte fifo depends on the mode of operation and frame formatalways @ (extended_mode or ide or data_cnt or header_cnt or  header_len or           storing_header or id or rtr1 or rtr2 or data_len or          tmp_fifo[0] or tmp_fifo[2] or tmp_fifo[4] or tmp_fifo[6] or           tmp_fifo[1] or tmp_fifo[3] or tmp_fifo[5] or tmp_fifo[7])begin  casex ({storing_header, extended_mode, ide, header_cnt}) /* synthesis parallel_case */     6'b1_1_1_000  : data_for_fifo = {1'b1, rtr2, 2'h0, data_len};  // extended mode, extended format header    6'b1_1_1_001  : data_for_fifo = id[28:21];                     // extended mode, extended format header    6'b1_1_1_010  : data_for_fifo = id[20:13];                     // extended mode, extended format header    6'b1_1_1_011  : data_for_fifo = id[12:5];                      // extended mode, extended format header    6'b1_1_1_100  : data_for_fifo = {id[4:0], 3'h0};               // extended mode, extended format header    6'b1_1_0_000  : data_for_fifo = {1'b0, rtr1, 2'h0, data_len};  // extended mode, standard format header    6'b1_1_0_001  : data_for_fifo = id[10:3];                      // extended mode, standard format header    6'b1_1_0_010  : data_for_fifo = {id[2:0], rtr1, 4'h0};         // extended mode, standard format header    6'b1_0_x_000  : data_for_fifo = id[10:3];                      // normal mode                    header    6'b1_0_x_001  : data_for_fifo = {id[2:0], rtr1, data_len};     // normal mode                    header    default       : data_for_fifo = tmp_fifo[data_cnt - {1'b0, header_len}]; // data   endcaseend// Instantiation of the RX fifo modulecan_fifo i_can_fifo(   .clk(clk),  .rst(rst),  .wr(wr_fifo),  .data_in(data_for_fifo),  .addr(addr[5:0]),  .data_out(data_out),  .fifo_selected(fifo_selected),  .reset_mode(reset_mode),  .release_buffer(release_buffer),  .extended_mode(extended_mode),  .overrun(overrun),  .info_empty(info_empty),  .info_cnt(rx_message_counter)`ifdef CAN_BIST  ,  .mbist_si_i(mbist_si_i),  .mbist_so_o(mbist_so_o),  .mbist_ctrl_i(mbist_ctrl_i)`endif);// Transmitting error frame.always @ (posedge clk or posedge rst)begin  if (rst)    error_frame <= 1'b0;//  else if (reset_mode || error_frame_ended || go_overload_frame)  else if (set_reset_mode || error_frame_ended || go_overload_frame)    error_frame <=#Tp 1'b0;  else if (go_error_frame)    error_frame <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    error_cnt1 <= 3'd0;  else if (error_frame_ended | go_error_frame | go_overload_frame)    error_cnt1 <=#Tp 3'd0;  else if (error_frame & tx_point & (error_cnt1 < 3'd7))    error_cnt1 <=#Tp error_cnt1 + 1'b1;endassign error_flag_over = ((~node_error_passive) & sample_point & (error_cnt1 == 3'd7) | node_error_passive  & sample_point & (passive_cnt == 3'h6)) & (~enable_error_cnt2);always @ (posedge clk or posedge rst)begin  if (rst)    error_flag_over_latched <= 1'b0;  else if (error_frame_ended | go_error_frame | go_overload_frame)    error_flag_over_latched <=#Tp 1'b0;  else if (error_flag_over)    error_flag_over_latched <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    enable_error_cnt2 <= 1'b0;  else if (error_frame_ended | go_error_frame | go_overload_frame)    enable_error_cnt2 <=#Tp 1'b0;  else if (error_frame & (error_flag_over & sampled_bit))    enable_error_cnt2 <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    error_cnt2 <= 3'd0;  else if (error_frame_ended | go_error_frame | go_overload_frame)    error_cnt2 <=#Tp 3'd0;  else if (enable_error_cnt2 & tx_point)    error_cnt2 <=#Tp error_cnt2 + 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    delayed_dominant_cnt <= 3'h0;  else if (enable_error_cnt2 | go_error_frame | enable_overload_cnt2 | go_overload_frame)    delayed_dominant_cnt <=#Tp 3'h0;  else if (sample_point & (~sampled_bit) & ((error_cnt1 == 3'd7) | (overload_cnt1 == 3'd7)))    delayed_dominant_cnt <=#Tp delayed_dominant_cnt + 1'b1;end// passive_cntalways @ (posedge clk or posedge rst)begin  if (rst)    passive_cnt <= 3'h1;  else if (error_frame_ended | go_error_frame | go_overload_frame | first_compare_bit)    passive_cnt <=#Tp 3'h1;  else if (sample_point & (passive_cnt < 3'h6))    begin      if (error_frame & (~enable_error_cnt2) & (sampled_bit == sampled_bit_q))        passive_cnt <=#Tp passive_cnt + 1'b1;      else        passive_cnt <=#Tp 3'h1;    endend// When comparing 6 equal bits, first is always equalalways @ (posedge clk or posedge rst)begin  if (rst)    first_compare_bit <= 1'b0;  else if (go_error_frame)    first_compare_bit <=#Tp 1'b1;  else if (sample_point)    first_compare_bit <= 1'b0;end// Transmitting overload frame.always @ (posedge clk or posedge rst)begin  if (rst)    overload_frame <= 1'b0;  else if (overload_frame_ended | go_error_frame)    overload_frame <=#Tp 1'b0;  else if (go_overload_frame)    overload_frame <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    overload_cnt1 <= 3'd0;  else if (overload_frame_ended | go_error_frame | go_overload_frame)    overload_cnt1 <=#Tp 3'd0;  else if (overload_frame & tx_point & (overload_cnt1 < 3'd7))    overload_cnt1 <=#Tp overload_cnt1 + 1'b1;endassign overload_flag_over = sample_point & (overload_cnt1 == 3'd7) & (~enable_overload_cnt2);always @ (posedge clk or posedge rst)begin  if (rst)    enable_overload_cnt2 <= 1'b0;  else if (overload_frame_ended | go_error_frame | go_overload_frame)    enable_overload_cnt2 <=#Tp 1'b0;  else if (overload_frame & (overload_flag_over & sampled_bit))    enable_overload_cnt2 <=#Tp 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    overload_cnt2 <= 3'd0;  else if (overload_frame_ended | go_error_frame | go_overload_frame)    overload_cnt2 <=#Tp 3'd0;  else if (enable_overload_cnt2 & tx_point)    overload_cnt2 <=#Tp overload_cnt2 + 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    overload_request_cnt <= 2'b0;  else if (go_error_frame | go_rx_id1)    overload_request_cnt <=#Tp 2'b0;  else if (overload_request & overload_frame)    overload_request_cnt <=#Tp overload_request_cnt + 1'b1;endalways @ (posedge clk or posedge rst)begin  if (rst)    overload_frame_blocked <= 1'b0;  else if (go_error_frame | go_rx_id1)    overload_frame_blocked <=#Tp 1'b0;  else if (overload_request & overload_frame & overload_request_cnt == 2'h2)   // This is a second sequential overload_request    overload_frame_blocked <=#Tp 1'b1;endassign send_ack = (~tx_state) & rx_ack & (~err) & (~listen_only_mode);always @ (reset_mode or node_bus_off or tx_state or go_tx 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 | node_bus_off)                                                // Reset or node_bus_off    tx_next = 1'b1;  else    begin      if (go_error_frame | error_frame)                                         // Transmitting error frame        begin          if (error_cnt1 < 3'd6)            begin              if (node_error_passive)                tx_next = 1'b1;              else                tx_next = 1'b0;            end          else            tx_next = 1'b1;        end      else if (go_overload_frame | overload_frame)                              // Transmitting overload frame        begin          if (overload_cnt1 < 3'd6)            tx_next = 1'b0;          else            tx_next = 1'b1;        end      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;      else        tx_next = 1'b1;    endendalways @ (posedge clk or posedge rst)begin  if (rst)    tx <= 1'b1;  else if (reset_mode)    tx <= 1'b1;  else if (tx_point)    tx <=#Tp tx_next;endalways @ (posedge clk or posedge rst)begin  if (rst)    tx_q <=#Tp 1'b0;  else if (reset_mode)    tx_q <=#Tp 1'b0;  else if (tx_point)    tx_q <=#Tp tx & (~go_early_tx_latched);end/* Delayed tx point */always @ (posedge clk or posedge rst)begin  if (rst)    tx_point_q <=#Tp 1'b0;  else if (reset_mode)    tx_point_q <=#Tp 1'b0;  else    tx_point_q <=#Tp tx_point;end/* Changing bit order from [7:0] to [0:7] */can_ibo i_ibo_tx_data_0  (.di(tx_data_0),  .do(r_tx_data_0));can_ibo i_ibo_tx_data_1  (.di(tx_data_1),  .do(r_tx_data_1));can_ibo i_ibo_tx_data_2  (.di(tx_data_2),  .do(r_tx_data_2));can_ibo i_ibo_tx_data_3  (.di(tx_data_3),  .do(r_tx_data_3));can_ibo i_ibo_tx_data_4  (.di(tx_data_4),  .do(r_tx_data_4));can_ibo i_ibo_tx_data_5  (.di(tx_data_5),  .do(r_tx_data_5));can_ibo i_ibo_tx_data_6  (.di(tx_data_6),  .do(r_tx_data_6));can_ibo i_ibo_tx_data_7  (.di(tx_data_7),  .do(r_tx_data_7));can_ibo i_ibo_tx_data_8  (.di(tx_data_8),  .do(r_tx_data_8));can_ibo i_ibo_tx_data_9  (.di(tx_data_9),  .do(r_tx_data_9));can_ibo i_ibo_tx_data_10 (.di(tx_data_10), .do(r_tx_data_10));can_ibo i_ibo_tx_data_11 (.di(tx_data_11), .do(r_tx_data_11));can_ibo i_ibo_tx_data_12 (.di(tx_data_12), .do(r_tx_data_12));/* Changing bit order from [14:0] to [0:14] */can_ibo i_calculated_crc0 (.di(calculated_crc[14:7]), .do(r_calculated_crc[7:0]));can_ibo i_calculated_crc1 (.di({calculated_crc[6:0], 1'b0}), .do(r_calculated_crc[15:8]));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 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_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_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          finish_msg)begin  if (extended_mode)    begin      if (rx_data)  // data stage        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)        tx_bit = r_calculated_crc[tx_pointer];      else if (finish_msg)        tx_bit = 1'b1;      else        begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院| 奇米色777欧美一区二区| 欧美激情艳妇裸体舞| 日韩美女主播在线视频一区二区三区| 在线视频综合导航| 色94色欧美sute亚洲线路一久 | 麻豆91在线看| 午夜国产不卡在线观看视频| 亚洲午夜激情网站| 亚洲最大色网站| 亚洲综合视频网| 亚洲v中文字幕| 日韩电影免费在线| 六月丁香婷婷色狠狠久久| 免费的国产精品| 激情久久久久久久久久久久久久久久| 精品一区二区三区日韩| 国产曰批免费观看久久久| 国产一区二区剧情av在线| 国产a精品视频| 成人免费黄色大片| 色欧美88888久久久久久影院| 色婷婷久久久久swag精品| 在线免费观看日本一区| 欧美精品第1页| 久久夜色精品国产欧美乱极品| 欧美经典一区二区| 亚洲欧美综合在线精品| 亚洲人成人一区二区在线观看| 亚洲一区二区视频| 久久综合综合久久综合| 国产成人综合亚洲网站| 99国产精品一区| 国产精品狼人久久影院观看方式| 成人免费在线视频| 亚洲综合小说图片| 激情图片小说一区| 99久久精品免费看国产| 欧美日韩在线播放三区| 欧美成人精品1314www| 国产肉丝袜一区二区| 国产精品国产精品国产专区不片| 亚洲国产成人精品视频| 毛片不卡一区二区| 福利电影一区二区| 91福利在线播放| 精品国产在天天线2019| 亚洲欧美日本韩国| 麻豆国产精品官网| 一本到不卡免费一区二区| 777xxx欧美| 中文字幕av一区二区三区| 午夜av电影一区| 国产精品资源网站| 欧美视频在线观看一区| 国产清纯在线一区二区www| 一区二区三区四区视频精品免费 | 亚洲已满18点击进入久久| 免费的国产精品| 91麻豆福利精品推荐| 欧美成人a∨高清免费观看| 国产精品久久精品日日| 免费视频一区二区| 一本大道久久a久久精品综合| 精品国产青草久久久久福利| 亚洲人精品一区| 国产尤物一区二区| 欧美另类变人与禽xxxxx| 日本一区二区三区电影| 男女性色大片免费观看一区二区| 91小宝寻花一区二区三区| 日韩精品中文字幕在线一区| 亚洲综合丝袜美腿| 不卡的电视剧免费网站有什么| 日韩欧美aaaaaa| 一区二区三区国产| 成人18精品视频| 欧美一级二级三级蜜桃| 亚洲影视在线播放| 99国产精品99久久久久久| 精品美女被调教视频大全网站| 亚洲午夜电影网| 99久久精品久久久久久清纯| 久久美女艺术照精彩视频福利播放 | 国产精品羞羞答答xxdd| 欧美日韩国产片| 亚洲欧美日韩综合aⅴ视频| 国产精品1区2区3区在线观看| 91精品国产免费| 偷窥少妇高潮呻吟av久久免费| 91在线视频在线| 国产欧美日韩综合精品一区二区| 麻豆91免费观看| 884aa四虎影成人精品一区| 亚洲一区二区成人在线观看| 91香蕉国产在线观看软件| 国产中文字幕精品| 欧美电影免费观看高清完整版在线 | 欧美天堂亚洲电影院在线播放| 日本一区二区三区高清不卡| 国产精品中文字幕一区二区三区| 日韩欧美久久久| 日韩中文字幕区一区有砖一区| 欧美日韩一卡二卡| 亚洲成人av电影在线| 欧美视频一区二区| 亚洲电影你懂得| 欧美私人免费视频| 亚洲va韩国va欧美va精品| 在线视频中文字幕一区二区| 亚洲综合丝袜美腿| 欧美日韩大陆一区二区| 亚洲超丰满肉感bbw| 在线成人免费视频| 日韩成人免费看| 日韩一区二区在线看| 久久精品国产色蜜蜜麻豆| 欧美tk—视频vk| 国产精品一区二区91| 国产网站一区二区| 不卡欧美aaaaa| 亚洲色图欧美激情| 欧美性xxxxxx少妇| 欧美bbbbb| 久久久久久一级片| 99re成人精品视频| 亚洲在线视频一区| 日韩欧美国产三级| 国产99久久久国产精品潘金| 中文字幕一区二区在线播放| 99久久久久久| 亚洲在线免费播放| 日韩免费视频线观看| 懂色av中文一区二区三区| 亚洲欧美视频在线观看视频| 欧美日韩视频在线观看一区二区三区 | 国产综合久久久久影院| 国产欧美一区二区精品婷婷| 色综合天天综合网天天看片| 午夜精品在线视频一区| 日韩区在线观看| 国产a视频精品免费观看| 夜夜爽夜夜爽精品视频| 精品蜜桃在线看| av在线综合网| 亚洲成人免费在线| 国产欧美一区二区精品婷婷| 欧美自拍丝袜亚洲| 国产在线麻豆精品观看| 亚洲精品乱码久久久久| 欧美一区二区免费| eeuss鲁片一区二区三区| 亚洲成人一区二区在线观看| 久久久天堂av| 在线观看亚洲精品视频| 激情欧美一区二区| 亚洲一区视频在线| 久久精品亚洲精品国产欧美| 欧美性生交片4| 国产成人精品1024| 日韩黄色免费电影| 日韩美女久久久| 欧美精品一区二| 亚洲最色的网站| 久久亚洲精品小早川怜子| 欧美性做爰猛烈叫床潮| 丁香桃色午夜亚洲一区二区三区| 亚洲电影一级黄| 中文字幕av一区二区三区免费看 | 亚洲欧美激情一区二区| 精品噜噜噜噜久久久久久久久试看| 91在线观看污| 毛片av一区二区三区| 亚洲精品中文字幕在线观看| 精品国产一区二区三区久久久蜜月 | 欧美日韩精品一区二区三区| 国产麻豆精品视频| 日韩国产一区二| 亚洲色图欧洲色图婷婷| 久久精品在线观看| 日韩欧美国产wwwww| 91国偷自产一区二区开放时间 | 精品国产伦一区二区三区观看体验 | 欧美伊人精品成人久久综合97| 国产精品一区二区免费不卡| 日本不卡不码高清免费观看| 一区二区高清在线| 国产欧美精品国产国产专区| 欧美电视剧免费全集观看 | 一区二区三区视频在线观看 | 国产一区二区三区高清播放| 免费一区二区视频| 视频一区二区三区中文字幕| 一区二区三区**美女毛片| 中文字幕中文在线不卡住| www激情久久| 欧美tk丨vk视频| 日韩欧美电影在线| 欧美精品一卡两卡| 欧美日韩精品福利|