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

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

?? can_bsp.v

?? USB_I2C_MAC_FPGA_Code.rar
?? V
?? 第 1 頁 / 共 4 頁
字號:
assign bit_de_stuff_reset = go_rx_crc_lim | reset_mode | go_error_frame | go_overload_frame;

assign remote_rq = ((~ide) & rtr1) | (ide & rtr2);
assign limited_data_len = (data_len < 8)? data_len : 4'h8;

assign ack_err = rx_ack & sample_point & sampled_bit & tx_state & (~self_test_mode);
assign bit_err = (tx_state | error_frame | overload_frame | rx_ack) & sample_point & (tx != sampled_bit) & (~bit_err_exc1) & (~bit_err_exc2) & (~bit_err_exc3) & (~bit_err_exc4) & (~bit_err_exc5);
assign bit_err_exc1 = tx_state & arbitration_field & tx;
assign bit_err_exc2 = rx_ack & tx;
assign bit_err_exc3 = error_frame & node_error_passive & (error_cnt1 < 7);
assign bit_err_exc4 = (error_frame & (error_cnt1 == 7) & (~enable_error_cnt2)) | (overload_frame & (overload_cnt1 == 7) & (~enable_overload_cnt2));
assign bit_err_exc5 = (error_frame & (error_cnt2 == 7)) | (overload_frame & (overload_cnt2 == 7));

assign arbitration_field = rx_id1 | rx_rtr1 | rx_ide | rx_id2 | rx_rtr2;

assign last_bit_of_inter = rx_inter & (bit_cnt == 2);


// Rx idle state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_idle <= 1'b0;
  else if (reset_mode | go_rx_id1 | error_frame)
    rx_idle <=#Tp 1'b0;
  else if (go_rx_idle)
    rx_idle <=#Tp 1'b1;
end


// Rx id1 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_id1 <= 1'b0;
  else if (reset_mode | go_rx_rtr1 | error_frame)
    rx_id1 <=#Tp 1'b0;
  else if (go_rx_id1)
    rx_id1 <=#Tp 1'b1;
end


// Rx rtr1 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_rtr1 <= 1'b0;
  else if (reset_mode | go_rx_ide | error_frame)
    rx_rtr1 <=#Tp 1'b0;
  else if (go_rx_rtr1)
    rx_rtr1 <=#Tp 1'b1;
end


// Rx ide state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_ide <= 1'b0;
  else if (reset_mode | go_rx_r0 | go_rx_id2 | error_frame)
    rx_ide <=#Tp 1'b0;
  else if (go_rx_ide)
    rx_ide <=#Tp 1'b1;
end


// Rx id2 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_id2 <= 1'b0;
  else if (reset_mode | go_rx_rtr2 | error_frame)
    rx_id2 <=#Tp 1'b0;
  else if (go_rx_id2)
    rx_id2 <=#Tp 1'b1;
end


// Rx rtr2 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_rtr2 <= 1'b0;
  else if (reset_mode | go_rx_r1 | error_frame)
    rx_rtr2 <=#Tp 1'b0;
  else if (go_rx_rtr2)
    rx_rtr2 <=#Tp 1'b1;
end


// Rx r0 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_r1 <= 1'b0;
  else if (reset_mode | go_rx_r0 | error_frame)
    rx_r1 <=#Tp 1'b0;
  else if (go_rx_r1)
    rx_r1 <=#Tp 1'b1;
end


// Rx r0 state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_r0 <= 1'b0;
  else if (reset_mode | go_rx_dlc | error_frame)
    rx_r0 <=#Tp 1'b0;
  else if (go_rx_r0)
    rx_r0 <=#Tp 1'b1;
end


// Rx dlc state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_dlc <= 1'b0;
  else if (reset_mode | go_rx_data | go_rx_crc | error_frame)
    rx_dlc <=#Tp 1'b0;
  else if (go_rx_dlc)
    rx_dlc <=#Tp 1'b1;
end


// Rx data state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_data <= 1'b0;
  else if (reset_mode | go_rx_crc | error_frame)
    rx_data <=#Tp 1'b0;
  else if (go_rx_data)
    rx_data <=#Tp 1'b1;
end


// Rx crc state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_crc <= 1'b0;
  else if (reset_mode | go_rx_crc_lim | error_frame)
    rx_crc <=#Tp 1'b0;
  else if (go_rx_crc)
    rx_crc <=#Tp 1'b1;
end


// Rx crc delimiter state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_crc_lim <= 1'b0;
  else if (reset_mode | go_rx_ack | error_frame)
    rx_crc_lim <=#Tp 1'b0;
  else if (go_rx_crc_lim)
    rx_crc_lim <=#Tp 1'b1;
end


// Rx ack state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_ack <= 1'b0;
  else if (reset_mode | go_rx_ack_lim | error_frame)
    rx_ack <=#Tp 1'b0;
  else if (go_rx_ack)
    rx_ack <=#Tp 1'b1;
end


// Rx ack delimiter state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_ack_lim <= 1'b0;
  else if (reset_mode | go_rx_eof | error_frame)
    rx_ack_lim <=#Tp 1'b0;
  else if (go_rx_ack_lim)
    rx_ack_lim <=#Tp 1'b1;
end


// Rx eof state
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_eof <= 1'b0;
  else if (go_rx_inter | error_frame | go_overload_frame)
    rx_eof <=#Tp 1'b0;
  else if (go_rx_eof)
    rx_eof <=#Tp 1'b1;
end



// Interframe space
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rx_inter <= 1'b0;
  else if (reset_mode | go_rx_idle | go_rx_id1 | go_overload_frame | go_error_frame)
    rx_inter <=#Tp 1'b0;
  else if (go_rx_inter)
    rx_inter <=#Tp 1'b1;
end


// ID register
always @ (posedge clk or posedge rst)
begin
  if (rst)
    id <= 0;
  else if (sample_point & (rx_id1 | rx_id2) & (~bit_de_stuff))
    id <=#Tp {id[27:0], sampled_bit};
end


// rtr1 bit
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rtr1 <= 0;
  else if (sample_point & rx_rtr1 & (~bit_de_stuff))
    rtr1 <=#Tp sampled_bit;
end


// rtr2 bit
always @ (posedge clk or posedge rst)
begin
  if (rst)
    rtr2 <= 0;
  else if (sample_point & rx_rtr2 & (~bit_de_stuff))
    rtr2 <=#Tp sampled_bit;
end


// ide bit
always @ (posedge clk or posedge rst)
begin
  if (rst)
    ide <= 0;
  else if (sample_point & rx_ide & (~bit_de_stuff))
    ide <=#Tp sampled_bit;
end


// Data length
always @ (posedge clk or posedge rst)
begin
  if (rst)
    data_len <= 0;
  else if (sample_point & rx_dlc & (~bit_de_stuff))
    data_len <=#Tp {data_len[2:0], sampled_bit};
end


// Data
always @ (posedge clk or posedge rst)
begin
  if (rst)
    tmp_data <= 0;
  else if (sample_point & rx_data & (~bit_de_stuff))
    tmp_data <=#Tp {tmp_data[6:0], sampled_bit};
end


always @ (posedge clk or posedge rst)
begin
  if (rst)
    write_data_to_tmp_fifo <= 0;
  else if (sample_point & rx_data & (~bit_de_stuff) & (&bit_cnt[2:0]))
    write_data_to_tmp_fifo <=#Tp 1'b1;
  else
    write_data_to_tmp_fifo <=#Tp 0;
end


always @ (posedge clk or posedge rst)
begin
  if (rst)
    byte_cnt <= 0;
  else if (write_data_to_tmp_fifo)
    byte_cnt <=#Tp byte_cnt + 1;
  else if (reset_mode | (sample_point & go_rx_crc_lim))
    byte_cnt <=#Tp 0;
end


always @ (posedge clk)
begin
  if (write_data_to_tmp_fifo)
    tmp_fifo[byte_cnt] <=#Tp tmp_data;
end



// CRC
always @ (posedge clk or posedge rst)
begin
  if (rst)
    crc_in <= 0;
  else if (sample_point & rx_crc & (~bit_de_stuff))
    crc_in <=#Tp {crc_in[13:0], sampled_bit};
end


// bit_cnt
always @ (posedge clk or posedge rst)
begin
  if (rst)
    bit_cnt <= 0;
  else if (go_rx_id1 | go_rx_id2 | go_rx_dlc | go_rx_data | go_rx_crc | 
           go_rx_ack | go_rx_eof | go_rx_inter | go_error_frame | go_overload_frame)
    bit_cnt <=#Tp 0;
  else if (sample_point & (~bit_de_stuff))
    bit_cnt <=#Tp bit_cnt + 1'b1;
end


// eof_cnt
always @ (posedge clk or posedge rst)
begin
  if (rst)
    eof_cnt <= 0;
  else if (sample_point)
    begin
      if (reset_mode | go_rx_inter | go_error_frame | go_overload_frame)
        eof_cnt <=#Tp 0;
      else if (rx_eof)
        eof_cnt <=#Tp eof_cnt + 1'b1;
    end
end


// Enabling bit de-stuffing
always @ (posedge clk or posedge rst)
begin
  if (rst)
    bit_stuff_cnt_en <= 1'b0;
  else if (bit_de_stuff_set)
    bit_stuff_cnt_en <=#Tp 1'b1;
  else if (bit_de_stuff_reset)
    bit_stuff_cnt_en <=#Tp 1'b0;
end


// bit_stuff_cnt
always @ (posedge clk or posedge rst)
begin
  if (rst)
    bit_stuff_cnt <= 1;
  else if (bit_de_stuff_reset)
    bit_stuff_cnt <=#Tp 1;
  else if (sample_point & bit_stuff_cnt_en)
    begin
      if (bit_stuff_cnt == 5)
        bit_stuff_cnt <=#Tp 1;
      else if (sampled_bit == sampled_bit_q)
        bit_stuff_cnt <=#Tp bit_stuff_cnt + 1'b1;
      else
        bit_stuff_cnt <=#Tp 1;
    end
end


// Enabling bit de-stuffing for tx
always @ (posedge clk or posedge rst)
begin
  if (rst)
    bit_stuff_cnt_tx_en <= 1'b0;
  else if (bit_de_stuff_set & transmitting)
    bit_stuff_cnt_tx_en <=#Tp 1'b1;
  else if (bit_de_stuff_reset)
    bit_stuff_cnt_tx_en <=#Tp 1'b0;
end


// bit_stuff_cnt_tx
always @ (posedge clk or posedge rst)
begin
  if (rst)
    bit_stuff_cnt_tx <= 1;
  else if (bit_de_stuff_reset)
    bit_stuff_cnt_tx <=#Tp 1;
  else if (tx_point_q & bit_stuff_cnt_en)
    begin
      if (bit_stuff_cnt_tx == 5)
        bit_stuff_cnt_tx <=#Tp 1;
      else if (tx == tx_q)
        bit_stuff_cnt_tx <=#Tp bit_stuff_cnt_tx + 1'b1;
      else
        bit_stuff_cnt_tx <=#Tp 1;
    end
end


assign bit_de_stuff = bit_stuff_cnt == 5;
assign bit_de_stuff_tx = bit_stuff_cnt_tx == 5;



// stuff_err
assign stuff_err = sample_point & bit_stuff_cnt_en & bit_de_stuff & (sampled_bit == sampled_bit_q);



// Generating delayed signals
always @ (posedge clk)
begin
  reset_mode_q <=#Tp reset_mode;
  node_bus_off_q <=#Tp node_bus_off;
end



always @ (posedge clk or posedge rst)
begin
  if (rst)
    crc_enable <= 1'b0;
  else if (go_crc_enable)
    crc_enable <=#Tp 1'b1;
  else if (reset_mode | rst_crc_enable)
    crc_enable <=#Tp 1'b0;
end


// CRC error generation
always @ (posedge clk or posedge rst)
begin
  if (rst)
    crc_err <= 1'b0;
  else if (go_rx_ack)
    crc_err <=#Tp crc_in != calculated_crc;
  else if (reset_mode | error_frame_ended)
    crc_err <=#Tp 1'b0;
end


// Conditions for form error
assign form_err = sample_point & ( ((~bit_de_stuff) & rx_ide     &   sampled_bit & (~rtr1)      ) |
                                   (                  rx_crc_lim & (~sampled_bit)               ) |
                                   (                  rx_ack_lim & (~sampled_bit)               ) |
                                   ((eof_cnt < 6)   & rx_eof     & (~sampled_bit) & (~tx_state) ) |
                                   (                & rx_eof     & (~sampled_bit) &   tx_state  )
                                 );


always @ (posedge clk or posedge rst)
begin
  if (rst)
    ack_err_latched <= 1'b0;
  else if (reset_mode | error_frame_ended | go_overload_frame)
    ack_err_latched <=#Tp 1'b0;
  else if (ack_err)
    ack_err_latched <=#Tp 1'b1;
end


always @ (posedge clk or posedge rst)
begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类一区二区| 777午夜精品免费视频| 热久久久久久久| 亚洲成人av福利| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 亚洲国产另类av| 综合久久综合久久| 自拍偷拍亚洲综合| 亚洲男女毛片无遮挡| 亚洲男女毛片无遮挡| 亚洲乱码国产乱码精品精可以看 | 亚洲黄色小说网站| 一区二区三区日韩在线观看| 亚洲欧美自拍偷拍色图| 亚洲欧洲av色图| 亚洲精品国产a| 午夜久久久久久电影| 婷婷夜色潮精品综合在线| 婷婷综合五月天| 精品一区二区免费看| 国产99久久久国产精品免费看| 成人午夜电影久久影院| 色综合久久中文字幕| 精品视频123区在线观看| 91精品国产色综合久久不卡电影| 在线91免费看| 国产三级欧美三级日产三级99| 欧美韩国一区二区| 亚洲另类在线制服丝袜| 丝袜亚洲另类欧美| 高清在线不卡av| 欧美在线小视频| 欧美精品一区二区三区视频| 欧美激情综合在线| 亚洲图片欧美综合| 国产精品一区专区| 在线一区二区三区| 久久免费午夜影院| 亚洲一区二区欧美日韩| 国产一区视频在线看| 在线亚洲人成电影网站色www| 欧美一级片在线观看| 国产精品麻豆一区二区| 图片区小说区区亚洲影院| 国产99久久精品| 欧美一三区三区四区免费在线看 | 国产精品69毛片高清亚洲| 在线视频中文字幕一区二区| 欧美xxxxx裸体时装秀| 亚洲免费观看高清完整版在线观看熊| 视频在线观看一区| 成人黄动漫网站免费app| 久久综合狠狠综合久久激情| 国产尤物一区二区| 99国产精品99久久久久久| 91麻豆精品国产91久久久使用方法| 久久先锋影音av鲁色资源| 夜夜嗨av一区二区三区网页 | 日本系列欧美系列| av亚洲产国偷v产偷v自拍| 日韩欧美的一区| 亚洲第一狼人社区| eeuss鲁片一区二区三区| 精品日韩在线观看| 日本欧美在线看| 在线观看免费成人| 亚洲欧美日韩国产一区二区三区 | 国产美女视频一区| 欧美一区二区高清| 婷婷成人综合网| 中文字幕一区二区日韩精品绯色| 欧美日韩国产小视频| 国产欧美精品一区二区三区四区| 亚洲不卡av一区二区三区| av一本久道久久综合久久鬼色| 久久蜜桃av一区二区天堂| 免费在线欧美视频| 日韩一级大片在线观看| 亚洲成a人片在线观看中文| 日本韩国视频一区二区| 亚洲欧美中日韩| 91视频xxxx| 综合久久久久久| a在线播放不卡| 18成人在线视频| av不卡免费在线观看| ●精品国产综合乱码久久久久| 成人av午夜影院| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 国产成人午夜精品5599| 久久综合999| 大美女一区二区三区| 亚洲国产精品高清| 99热国产精品| 亚洲视频免费在线观看| 欧美在线综合视频| 日韩av成人高清| 久久久天堂av| 91亚洲午夜精品久久久久久| 一区二区三区在线看| 91精品国产综合久久蜜臀| 国产精品一区二区男女羞羞无遮挡| 久久理论电影网| 99精品视频在线免费观看| 亚洲图片自拍偷拍| 亚洲精品一区二区三区福利| 国产成人啪免费观看软件| 亚洲图片激情小说| 欧美精品一二三| 成熟亚洲日本毛茸茸凸凹| 亚洲一区欧美一区| 欧美大片一区二区三区| 日韩欧美电影在线| 青青草国产精品97视觉盛宴| 欧美一级视频精品观看| 风流少妇一区二区| 亚洲人成网站影音先锋播放| 欧美美女一区二区| 激情综合色丁香一区二区| 亚洲视频免费在线| 精品国产91久久久久久久妲己| av电影一区二区| 久久精品国产在热久久| 亚洲精品久久7777| 国产色91在线| 91精品国模一区二区三区| 99久久99久久免费精品蜜臀| 美腿丝袜亚洲一区| 亚洲综合区在线| 精品毛片乱码1区2区3区| 欧美艳星brazzers| 大桥未久av一区二区三区中文| 热久久久久久久| 一级精品视频在线观看宜春院 | 成人免费毛片嘿嘿连载视频| 亚洲国产精品一区二区www在线| 久久久无码精品亚洲日韩按摩| 欧美日韩国产大片| 精品在线免费视频| 亚洲综合视频在线观看| 中文字幕欧美激情| 久久久久久电影| 3atv一区二区三区| 欧美日韩国产精选| 色哟哟一区二区三区| 成人精品鲁一区一区二区| 九色porny丨国产精品| 日本视频中文字幕一区二区三区| 亚洲精品免费在线观看| 中文字幕一区三区| 欧美国产精品专区| 中文字幕av在线一区二区三区| 日韩精品一区二区三区在线播放 | 国产精品自拍网站| 精彩视频一区二区| 久久精品国产99久久6| 男女视频一区二区| 日韩激情中文字幕| 日韩综合在线视频| 青娱乐精品视频在线| 日韩1区2区3区| 日韩国产一二三区| 日本人妖一区二区| 久久狠狠亚洲综合| 国产一区二区三区电影在线观看| 国内外成人在线| 国产成人午夜电影网| 成人手机电影网| 色婷婷国产精品综合在线观看| 色综合天天综合给合国产| 91国在线观看| 国产午夜精品一区二区三区视频| 久久亚洲影视婷婷| 国产精品免费aⅴ片在线观看| 国产精品久久久久久久岛一牛影视 | 麻豆精品新av中文字幕| 久久精品久久99精品久久| 国产一区二区三区不卡在线观看| 丰满岳乱妇一区二区三区| 成人v精品蜜桃久久一区| 91麻豆产精品久久久久久| 欧美色综合影院| 日韩欧美的一区二区| 欧美激情资源网| 亚洲一区二区三区四区五区中文| 日韩专区在线视频| 国产高清精品在线| 色婷婷香蕉在线一区二区| 91麻豆精品国产91久久久更新时间| 精品国产乱子伦一区| 17c精品麻豆一区二区免费| 日日摸夜夜添夜夜添国产精品| 国产精品综合视频| 欧美三级在线视频| 久久久久99精品国产片| 亚洲在线一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品色眯眯| 亚洲主播在线播放| 精品在线播放免费|