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

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

?? can_testbench.v

?? 主要是說明can總線協議使用fpga的ip核實現
?? V
?? 第 1 頁 / 共 5 頁
字號:
//  extended_mode = 1'b1;//  write_register(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)  write_register2(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)  // Set Acceptance Code and Acceptance Mask registers (their address differs for basic and extended mode  /* Set Acceptance Code and Acceptance Mask registers  write_register(8'd16, 8'ha6); // acceptance code 0  write_register(8'd17, 8'hb0); // acceptance code 1  write_register(8'd18, 8'h12); // acceptance code 2  write_register(8'd19, 8'h30); // acceptance code 3  write_register(8'd20, 8'hff); // acceptance mask 0  write_register(8'd21, 8'hff); // acceptance mask 1  write_register(8'd22, 8'hff); // acceptance mask 2  write_register(8'd23, 8'hff); // acceptance mask 3  write_register2(8'd16, 8'ha6); // acceptance code 0  write_register2(8'd17, 8'hb0); // acceptance code 1  write_register2(8'd18, 8'h12); // acceptance code 2  write_register2(8'd19, 8'h30); // acceptance code 3  write_register2(8'd20, 8'hff); // acceptance mask 0  write_register2(8'd21, 8'hff); // acceptance mask 1  write_register2(8'd22, 8'hff); // acceptance mask 2  write_register2(8'd23, 8'hff); // acceptance mask 3*/  // Set Acceptance Code and Acceptance Mask registers  write_register(8'd4, 8'he8); // acceptance code  write_register(8'd5, 8'h0f); // acceptance mask    #10;  repeat (1000) @ (posedge clk);    // Switch-off reset mode  write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});  write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});  repeat (BRP) @ (posedge clk);   // At least BRP clocks needed before bus goes to dominant level. Otherwise 1 quant difference is possible                                  // This difference is resynchronized later.  // After exiting the reset mode sending bus free  repeat (11) send_bit(1);//  test_synchronization;       // test currently switched off//  test_empty_fifo_ext;        // test currently switched off//  test_full_fifo_ext;         // test currently switched off//  send_frame_ext;             // test currently switched off//  test_empty_fifo;            // test currently switched off//  test_full_fifo;             // test currently switched off//  test_reset_mode;              // test currently switched off//  bus_off_test;               // test currently switched off//  forced_bus_off;             // test currently switched off//  send_frame_basic;           // test currently switched on//  send_frame_extended;        // test currently switched off//  self_reception_request;       // test currently switched off//  manual_frame_basic;         // test currently switched off//  manual_frame_ext;           // test currently switched off//    error_test;//    register_test;    bus_off_recovery_test;/*  #5000;  $display("\n\nStart rx/tx err cnt\n");  -> igor;   // Switch-off reset mode  $display("Rest mode ON");  write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});  $display("Set extended mode");  extended_mode = 1'b1;  write_register(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the extended mode  $display("Rest mode OFF");  write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});  write_register(8'd14, 8'hde); // rx err cnt  write_register(8'd15, 8'had); // tx err cnt  read_register(8'd14, tmp_data); // rx err cnt  read_register(8'd15, tmp_data); // tx err cnt  // Switch-on reset mode  $display("Switch-on reset mode");  write_register(8'd0, {7'h0, `CAN_MODE_RESET});  write_register(8'd14, 8'h12); // rx err cnt  write_register(8'd15, 8'h34); // tx err cnt  read_register(8'd14, tmp_data); // rx err cnt  read_register(8'd15, tmp_data); // tx err cnt  // Switch-off reset mode  $display("Switch-off reset mode");  write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});  read_register(8'd14, tmp_data); // rx err cnt  read_register(8'd15, tmp_data); // tx err cnt  // Switch-on reset mode  $display("Switch-on reset mode");  write_register(8'd0, {7'h0, `CAN_MODE_RESET});  write_register(8'd14, 8'h56); // rx err cnt  write_register(8'd15, 8'h78); // tx err cnt  // Switch-off reset mode  $display("Switch-off reset mode");  write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});  read_register(8'd14, tmp_data); // rx err cnt  read_register(8'd15, tmp_data); // tx err cnt*/  #1000;  $display("CAN Testbench finished !");  $stop;endtask bus_off_recovery_test;  begin    -> igor;    // Switch-on reset mode    write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, (`CAN_MODE_RESET)});    // Set Clock Divider register    extended_mode = 1'b1;    write_register(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    write_register2(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    write_register(8'd16, 8'h00); // acceptance code 0    write_register(8'd17, 8'h00); // acceptance code 1    write_register(8'd18, 8'h00); // acceptance code 2    write_register(8'd19, 8'h00); // acceptance code 3    write_register(8'd20, 8'hff); // acceptance mask 0    write_register(8'd21, 8'hff); // acceptance mask 1    write_register(8'd22, 8'hff); // acceptance mask 2    write_register(8'd23, 8'hff); // acceptance mask 3    write_register2(8'd16, 8'h00); // acceptance code 0    write_register2(8'd17, 8'h00); // acceptance code 1    write_register2(8'd18, 8'h00); // acceptance code 2    write_register2(8'd19, 8'h00); // acceptance code 3    write_register2(8'd20, 8'hff); // acceptance mask 0    write_register2(8'd21, 8'hff); // acceptance mask 1    write_register2(8'd22, 8'hff); // acceptance mask 2    write_register2(8'd23, 8'hff); // acceptance mask 3    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    // Enable all interrupts    write_register(8'd4, 8'hff); // irq enable register    repeat (30) send_bit(1);    -> igor;    $display("(%0t) CAN should be idle now", $time);    // Node 2 sends a message    write_register2(8'd16, 8'h83); // tx registers    write_register2(8'd17, 8'h12); // tx registers    write_register2(8'd18, 8'h34); // tx registers    write_register2(8'd19, 8'h45); // tx registers    write_register2(8'd20, 8'h56); // tx registers    write_register2(8'd21, 8'hde); // tx registers    write_register2(8'd22, 8'had); // tx registers    write_register2(8'd23, 8'hbe); // tx registers    write_register2(8'd1, 8'h1);  // tx request    // Wait until node 1 receives rx irq    read_register(8'd3, tmp_data);    while (!(tmp_data & 8'h01)) begin      read_register(8'd3, tmp_data);    end    $display("Frame received by node 1.");    // Node 1 will send a message and will receive many errors    write_register(8'd16, 8'haa); // tx registers    write_register(8'd17, 8'haa); // tx registers    write_register(8'd18, 8'haa); // tx registers    write_register(8'd19, 8'haa); // tx registers    write_register(8'd20, 8'haa); // tx registers    write_register(8'd21, 8'haa); // tx registers    write_register(8'd22, 8'haa); // tx registers    write_register(8'd23, 8'haa); // tx registers    fork       begin        write_register(8'd1, 8'h1);  // tx request      end      begin        // Waiting until node 1 starts transmitting        wait (!tx_i);        repeat (33) send_bit(1);        repeat (330) send_bit(0);        repeat (1) send_bit(1);      end    join    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    repeat (1999) send_bit(1);    // Switch-on reset mode    write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, (`CAN_MODE_RESET)});    write_register(8'd14, 8'h0); // rx err cnt    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    // Wait some time before simulation ends    repeat (10000) @ (posedge clk);  endendtask // bus_off_recovery_testtask error_test;  begin    // Switch-off reset mode    write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, (`CAN_MODE_RESET)});    // Set Clock Divider register    extended_mode = 1'b1;    write_register(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    write_register2(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    // Set error warning limit register    write_register(8'd13, 8'h56); // error warning limit    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    // Enable all interrupts    write_register(8'd4, 8'hff); // irq enable register    repeat (300) send_bit(0);    $display("Kr neki");  endendtasktask register_test;  integer i, j, tmp;  begin    $display("Change mode to extended mode and test registers");    // Switch-off reset mode    write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, (`CAN_MODE_RESET)});    // Set Clock Divider register    extended_mode = 1'b1;    write_register(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    write_register2(8'd31, {extended_mode, 3'h0, 1'b0, 3'h0});   // Setting the normal mode (not extended)    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register2(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    for (i=1; i<128; i=i+1) begin      for (j=0; j<8; j=j+1) begin        read_register(i, tmp_data);        write_register(i, tmp_data | (1 << j));      end    end  endendtasktask forced_bus_off;    // Forcing bus-off by writinf to tx_err_cnt register  begin    // Switch-on reset mode    write_register(8'd0, {7'h0, `CAN_MODE_RESET});    // Set Clock Divider register    write_register(8'd31, {1'b1, 7'h0});    // Setting the extended mode (not normal)    // Write 255 to tx_err_cnt register - Forcing bus-off    write_register(8'd15, 255);    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});//    #1000000;    #2500000;    // Switch-on reset mode    write_register(8'd0, {7'h0, `CAN_MODE_RESET});    // Write 245 to tx_err_cnt register    write_register(8'd15, 245);    // Switch-off reset mode    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    #1000000;  endendtask   // forced_bus_offtask manual_frame_basic;    // Testbench sends a basic format frame  begin    // Switch-on reset mode    write_register(8'd0, {7'h0, (`CAN_MODE_RESET)});      // Set Acceptance Code and Acceptance Mask registers    write_register(8'd4, 8'h28); // acceptance code    write_register(8'd5, 8'hff); // acceptance mask        repeat (100) @ (posedge clk);        // Switch-off reset mode//    write_register(8'd0, {7'h0, ~(`CAN_MODE_RESET)});    write_register(8'd0, 8'h1e);  // reset_off, all irqs enabled.    // After exiting the reset mode sending bus free    repeat (11) send_bit(1);    write_register(8'd10, 8'h55); // Writing ID[10:3] = 0x55    write_register(8'd11, 8'h77); // Writing ID[2:0] = 0x3, rtr = 1, length = 7    write_register(8'd12, 8'h00); // data byte 1    write_register(8'd13, 8'h00); // data byte 2    write_register(8'd14, 8'h00); // data byte 3    write_register(8'd15, 8'h00); // data byte 4    write_register(8'd16, 8'h00); // data byte 5    write_register(8'd17, 8'h00); // data byte 6    write_register(8'd18, 8'h00); // data byte 7    write_register(8'd19, 8'h00); // data byte 8    tx_bypassed = 0;    // When this signal is on, tx is not looped back to the rx.        fork      begin        tx_request_command;//        self_reception_request_command;      end      begin        #931;        repeat (1)        begin          send_bit(0);  // SOF          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID arbi lost          send_bit(1);  // RTR          send_bit(0);  // IDE          send_bit(0);  // r0          send_bit(0);  // DLC          send_bit(1);  // DLC          send_bit(1);  // DLC          send_bit(1);  // DLC          send_bit(1);  // CRC          send_bit(1);  // CRC          send_bit(0);  // CRC stuff          send_bit(0);  // CRC 6          send_bit(0);  // CRC          send_bit(0);  // CRC          send_bit(0);  // CRC          send_bit(1);  // CRC  stuff          send_bit(0);  // CRC 0          send_bit(0);  // CRC          send_bit(1);  // CRC          send_bit(0);  // CRC          send_bit(1);  // CRC 5          send_bit(1);  // CRC          send_bit(0);  // CRC          send_bit(1);  // CRC          send_bit(1);  // CRC b          send_bit(1);  // CRC DELIM          send_bit(0);  // ACK          send_bit(1);  // ACK DELIM          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // EOF          send_bit(1);  // INTER          send_bit(1);  // INTER          send_bit(1);  // INTER#400;          send_bit(0);  // SOF          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(0);  // ID          send_bit(1);  // ID          send_bit(1);  // ID          send_bit(1);  // RTR          send_bit(0);  // IDE          send_bit(0);  // r0          send_bit(0);  // DLC          send_bit(1);  // DLC          send_bit(1);  // DLC          send_bit(1);  // DLC

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
√…a在线天堂一区| 国产精品久久久久久久第一福利| 久久久五月婷婷| 一片黄亚洲嫩模| 国产91在线看| 这里只有精品视频在线观看| 国产精品久久福利| 精一区二区三区| 欧美精品高清视频| 亚洲卡通动漫在线| 高清久久久久久| 精品国产乱子伦一区| 午夜精品成人在线| 91行情网站电视在线观看高清版| 欧美激情一区二区三区| 蜜臀av在线播放一区二区三区| 欧美日韩一级二级| 亚洲在线观看免费视频| 97久久超碰国产精品| 欧美国产欧美综合| 国产一区啦啦啦在线观看| 欧美一区二区啪啪| 午夜精品久久久久| 欧美亚洲国产一区二区三区va| 国产精品无圣光一区二区| 国模大尺度一区二区三区| 日韩欧美国产一区二区三区| 亚洲第一成人在线| 欧美日韩在线一区二区| 香蕉加勒比综合久久| 欧美日韩国产经典色站一区二区三区| 亚洲一级电影视频| 欧美自拍丝袜亚洲| 日本最新不卡在线| 日韩欧美在线观看一区二区三区| 日韩精品每日更新| 在线播放国产精品二区一二区四区 | 成人国产在线观看| 国产欧美日韩视频在线观看| 国产999精品久久| 国产精品国产三级国产有无不卡| av不卡一区二区三区| 亚洲女同一区二区| 欧美日韩国产高清一区二区三区| 日欧美一区二区| 精品久久久久av影院| 国产麻豆视频一区二区| 国产精品剧情在线亚洲| 91成人在线精品| 日本欧美一区二区| 国产日韩精品一区二区三区在线| 成人激情av网| 亚洲成人久久影院| 精品国产青草久久久久福利| 国产精品99久久久久久似苏梦涵| 国产精品网站导航| 欧美精品在线一区二区三区| 精品一区二区免费| 国产精品国产馆在线真实露脸 | 欧美三区在线观看| 六月婷婷色综合| 中文字幕在线不卡一区| 欧美视频在线一区二区三区 | 午夜电影网一区| 欧美大胆人体bbbb| 99久久婷婷国产| 天堂一区二区在线| 国产视频一区不卡| 欧美性做爰猛烈叫床潮| 国产精品69久久久久水密桃| 亚洲精品久久7777| 国产亚洲自拍一区| 欧美日韩一区二区三区在线看 | 26uuu国产电影一区二区| 9久草视频在线视频精品| 日本一区中文字幕| 亚洲欧洲99久久| 精品久久久久久久久久久久包黑料 | 亚洲乱码日产精品bd| 欧美一卡2卡3卡4卡| 99久久99久久精品免费观看| 美国三级日本三级久久99| 中文字幕中文在线不卡住| 日韩欧美一区二区久久婷婷| 色婷婷av一区二区三区大白胸 | 全国精品久久少妇| 亚洲婷婷在线视频| 日韩免费福利电影在线观看| 色中色一区二区| 国产99一区视频免费| 美国毛片一区二区三区| 亚洲影院久久精品| 欧美国产成人精品| 欧美刺激午夜性久久久久久久| 91高清视频免费看| www.欧美色图| 成人午夜碰碰视频| 国产成人精品综合在线观看 | 欧美精品一级二级| 日本韩国欧美一区二区三区| 成人免费精品视频| 国模大尺度一区二区三区| 青草av.久久免费一区| 亚洲国产成人91porn| 亚洲精品欧美在线| 亚洲精品日韩一| 最新国产成人在线观看| 国产精品全国免费观看高清| 亚洲精品一区二区三区在线观看 | 91免费视频大全| 国产白丝精品91爽爽久久| 国内精品视频666| 经典三级在线一区| 国产麻豆精品视频| 国产 欧美在线| 成人一区在线看| 成人免费高清视频在线观看| 国产成人小视频| 成人激情av网| 色偷偷久久一区二区三区| 91丨porny丨国产| 在线观看一区二区精品视频| 91久久精品日日躁夜夜躁欧美| 色综合久久久久综合体| 在线看一区二区| 欧美日韩国产中文| 精品乱码亚洲一区二区不卡| 国产色婷婷亚洲99精品小说| 国产色产综合产在线视频| 国产精品午夜久久| 亚洲美女精品一区| 亚洲自拍偷拍综合| 日韩1区2区日韩1区2区| 韩国成人福利片在线播放| 成人精品高清在线| 日本乱人伦aⅴ精品| 91精品国产手机| 精品美女一区二区三区| 国产精品美女久久久久久| 亚洲乱码精品一二三四区日韩在线| 亚洲一区二区三区自拍| 蜜桃精品视频在线| 99久久精品免费| 欧美精品乱人伦久久久久久| 欧美精品一区二区久久久| 日韩伦理电影网| 日韩成人免费电影| 国产成人免费视频网站| 欧美最新大片在线看| 久久女同互慰一区二区三区| 亚洲精品高清在线| 久99久精品视频免费观看| 成人app网站| 91精品蜜臀在线一区尤物| 中文字幕av资源一区| 性欧美大战久久久久久久久| 岛国av在线一区| 欧美绝品在线观看成人午夜影视| 国产无人区一区二区三区| 亚洲午夜久久久久中文字幕久| 精品一区二区免费视频| 欧美在线你懂得| 中国av一区二区三区| 免费精品99久久国产综合精品| 色综合网站在线| 久久久久久影视| 日韩精品午夜视频| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美嫩在线观看| 中文字幕亚洲欧美在线不卡| 久久国产尿小便嘘嘘| 欧美色偷偷大香| 亚洲国产精品精华液2区45| 日韩—二三区免费观看av| 色狠狠综合天天综合综合| 国产日韩欧美精品一区| 蜜桃视频一区二区三区| 欧美精品自拍偷拍| 亚洲一二三四区不卡| 91一区在线观看| 欧美激情一区在线| 狠狠色狠狠色合久久伊人| 欧美一区二区三区免费视频| 一二三区精品福利视频| 99久久精品99国产精品| 久久久影视传媒| 久久99国产精品免费| 日韩一区二区三区视频在线| 无码av中文一区二区三区桃花岛| 麻豆国产一区二区| 国产午夜久久久久| 国产乱子伦一区二区三区国色天香| 欧美三级电影网| 亚洲综合在线五月| 色综合欧美在线| 亚洲激情校园春色| 一本大道久久a久久综合| 最新久久zyz资源站| 91一区二区在线观看| 亚洲人成网站在线|