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

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

?? tb_ethernet.v

?? 使用方法: 以太網編程,拷貝到硬盤
?? V
?? 第 1 頁 / 共 5 頁
字號:
              #1;
              for (i_data = 0; i_data <= 31; i_data = i_data + 1) // the position of walking one
              begin
                data = 1'b1 << i_data;
                #1;
                for (i2 = 32'h4C; i2 >= 0; i2 = i2 - 4)
                begin
                  burst_data = burst_data << 32;
                  // DO NOT WRITE to 3 LSBits of MIICOMMAND !!!
                  if ( ((`ETH_BASE + i2) == `ETH_MIICOMMAND) && (i_data <= 2) ) 
                  begin
                    #1 burst_data[31:0] = 0;
                  end
                  else
                  begin
                    #1 burst_data[31:0] = data;
                  end
                end
                #1;
                // 2 burst writes
                addr = `ETH_BASE; // address of a first burst
                wbm_write(addr, burst_data[(32 * 10 - 1):0], 4'hF, i_length, wbm_init_waits, wbm_subseq_waits);
                burst_tmp_data = burst_data >> (32 * i_length);
                addr = addr + 32'h28; // address of a second burst
                wbm_write(addr, burst_tmp_data[(32 * 10 - 1):0], 4'hF, i_length, wbm_init_waits, wbm_subseq_waits);
                #1;
                // 2 burst reads
                addr = `ETH_BASE; // address of a first burst
                wbm_read(addr, burst_tmp_data[(32 * 10 - 1):0], 4'hF, i_length, 
                         wbm_init_waits, wbm_subseq_waits); // first burst
                burst_tmp_data = burst_tmp_data << (32 * i_length);
                addr = addr + 32'h28; // address of a second burst
                wbm_read(addr, burst_tmp_data[(32 * 10 - 1):0], 4'hF, i_length,
                         wbm_init_waits, wbm_subseq_waits); // second burst
                #1;
                for (i2 = 0; i2 <= 32'h4C; i2 = i2 + 4)
                begin
                  // set ranges of R/W bits
                  case (`ETH_BASE + i2)
                  `ETH_MODER:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 16;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_INT: // READONLY - tested within INT test
                    begin
                      bit_start_1 = 32; // not used
                      bit_end_1   = 32; // not used
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_INT_MASK:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 6;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_IPGT:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 6;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_IPGR1:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 6;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_IPGR2:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 6;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_PACKETLEN:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 31;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_COLLCONF:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 5;
                      bit_start_2 = 16; 
                      bit_end_2   = 19; 
                    end
                  `ETH_TX_BD_NUM: 
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 7;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_CTRLMODER:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 2;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MIIMODER:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 9;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MIICOMMAND: // "WRITEONLY" - tested within MIIM test - 3 LSBits are not written here!!!
                    begin
                      bit_start_1 = 32; // not used
                      bit_end_1   = 32; // not used
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MIIADDRESS:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 4;
                      bit_start_2 = 8; 
                      bit_end_2   = 12;
                    end
                  `ETH_MIITX_DATA:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 15;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MIIRX_DATA: // READONLY - tested within MIIM test
                    begin
                      bit_start_1 = 32; // not used
                      bit_end_1   = 32; // not used
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MIISTATUS: // READONLY - tested within MIIM test
                    begin
                      bit_start_1 = 32; // not used
                      bit_end_1   = 32; // not used
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MAC_ADDR0:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 31;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_MAC_ADDR1:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 15;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  `ETH_HASH_ADDR0:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 31;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  default: // `ETH_HASH_ADDR1:
                    begin
                      bit_start_1 = 0;
                      bit_end_1   = 31;
                      bit_start_2 = 32; // not used
                      bit_end_2   = 32; // not used
                    end
                  endcase
                  #1;
                  // 3 LSBits of MIICOMMAND are NOT written !!!
                  if ( ((`ETH_BASE + i2) == `ETH_MIICOMMAND) && (i_data <= 2) )
                  begin
                    if (burst_tmp_data[31:0] !== burst_data[31:0])
                    begin
                      fail = fail + 1;
                      test_fail("NON WR bit of the MAC MIICOMMAND register was wrong written or read");
                      `TIME;
                      $display("wbm_init_waits %d, wbm_subseq_waits %d, addr %h, data %h, tmp_data %h",
                                wbm_init_waits, wbm_subseq_waits, i2, burst_data[31:0], burst_tmp_data[31:0]);
                    end
                  end
                  else
                  begin
                    if ( ((i_data >= bit_start_1) && (i_data <= bit_end_1)) ||
                         ((i_data >= bit_start_2) && (i_data <= bit_end_2)) ) // data should be equal to tmp_data
                    begin
                      if (burst_tmp_data[31:0] !== burst_data[31:0])
                      begin
                        fail = fail + 1;
                        test_fail("RW bit of the MAC register was not written or not read");
                        `TIME;
                        $display("wbm_init_waits %d, wbm_subseq_waits %d, addr %h, data %h, tmp_data %h", 
                                  wbm_init_waits, wbm_subseq_waits, i2, burst_data[31:0], burst_tmp_data[31:0]);
                      end
                    end
                    else // data should not be equal to tmp_data
                    begin
                      if (burst_tmp_data[31:0] === burst_data[31:0])
                      begin
                        fail = fail + 1;
                        test_fail("NON RW bit of the MAC register was written, but it shouldn't be");
                        `TIME;
                        $display("wbm_init_waits %d, wbm_subseq_waits %d, addr %h, data %h, tmp_data %h", 
                                  wbm_init_waits, wbm_subseq_waits, i2, burst_data[31:0], burst_tmp_data[31:0]);
                      end
                    end
                  end
                  burst_tmp_data = burst_tmp_data >> 32;
                  burst_data = burst_data >> 32;
                end
              end
            end
          end
          if(fail == 0)
            test_ok;
          else
            fail = 0;*/
  end

end

end
endtask // test_access_to_mac_reg


task test_mii;
  input  [31:0]  start_task;
  input  [31:0]  end_task;
  integer        i;
  integer        i1;
  integer        i2;
  integer        i3;
  integer        cnt;
  integer        fail;
  integer        test_num;
  reg     [8:0]  clk_div; // only 8 bits are valid!
  reg     [4:0]  phy_addr;
  reg     [4:0]  reg_addr;
  reg     [15:0] phy_data;
  reg     [15:0] tmp_data;
begin
// MIIM MODULE TEST
test_heading("MIIM MODULE TEST");
$display(" ");
$display("MIIM MODULE TEST");
fail = 0;

// reset MAC registers
hard_reset;
// reset MAC and MII LOGIC with soft reset
//reset_mac;
//reset_mii;


//////////////////////////////////////////////////////////////////////
////                                                              ////
////  test_mii:                                                   ////
////                                                              ////
////  0:  Test clock divider of mii management module with all    ////
////      possible frequences.                                    ////
////  1:  Test various readings from 'real' phy registers.        ////
////  2:  Test various writings to 'real' phy registers (control  ////
////      and non writable registers)                             ////
////  3:  Test reset phy through mii management module            ////
////  4:  Test 'walking one' across phy address (with and without ////
////      preamble)                                               ////
////  5:  Test 'walking one' across phy's register address (with  ////
////      and without preamble)                                   ////
////  6:  Test 'walking one' across phy's data (with and without  ////
////      preamble)                                               ////
////  7:  Test reading from phy with wrong phy address (host      ////
////      reading high 'z' data)                                  ////
////  8:  Test writing to phy with wrong phy address and reading  ////
////      from correct one                                        ////
////  9:  Test sliding stop scan command immediately after read   ////
////      request (with and without preamble)                     ////
//// 10:  Test sliding stop scan command immediately after write  ////
////      request (with and without preamble)                     ////
//// 11:  Test busy and nvalid status durations during write      ////
////      (with and without preamble)                             ////
//// 12:  Test busy and nvalid status durations during write      ////
////      (with and without preamble)                             ////
//// 13:  Test busy and nvalid status durations during scan (with ////
////      and without preamble)                                   ////
//// 14:  Test scan status from phy with detecting link-fail bit  ////
////      (with and without preamble)                             ////
//// 15:  Test scan status from phy with sliding link-fail bit    ////
////      (with and without preamble)                             ////
//// 16:  Test sliding stop scan command immediately after scan   ////
////      request (with and without preamble)                     ////
//// 17:  Test sliding stop scan command after 2. scan (with and  ////
////      without preamble)                                       ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
for (test_num = start_task; test_num <= end_task; test_num = test_num + 1)
begin

  ////////////////////////////////////////////////////////////////////
  ////                                                            ////
  ////  Test clock divider of mii management module with all      ////
  ////  possible frequences.                                      ////
  ////                                                            ////
  ////////////////////////////////////////////////////////////////////
  if (test_num == 0) // Test clock divider of mii management module with all possible frequences.
  begin
    // TEST 0: CLOCK DIVIDER OF MII MANAGEMENT MODULE WITH ALL POSSIBLE FREQUENCES
    test_name   = "TEST 0: CLOCK DIVIDER OF MII MANAGEMENT MODULE WITH ALL POSSIBLE FREQUENCES";
    `TIME; $display("  TEST 0: CLOCK DIVIDER OF MII MANAGEMENT MODULE WITH ALL POSSIBLE FREQUENCES");
  
    wait(Mdc_O); // wait for MII clock to be 1
    for(clk_div = 0; clk_div <= 255; clk_div = clk_div + 1)
    begin
      i1 = 0;
      i2 = 0;
      #Tp mii_set_clk_div(clk_div[7:0]);
      @(posedge Mdc_O);
      #Tp;
      fork
        begin
          @(posedge Mdc_O);
          #Tp;
          disable count_i1;
          disable count_i2;
        end
        begin: count_i1
          forever
          begin
            @(posedge wb_clk);
            i1 = i1 + 1;
            #Tp;
          end
        end
        begin: count_i2
          forever
          begin
            @(negedge wb_clk);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品电影一区二区三区| 日韩中文字幕一区二区三区| 亚洲自拍偷拍综合| 国产一区二区视频在线播放| 欧美在线免费视屏| 久久久美女艺术照精彩视频福利播放| 亚洲精品成人天堂一二三| 黑人巨大精品欧美一区| 精品视频全国免费看| 1区2区3区精品视频| 国产精品1区2区| 日韩一卡二卡三卡四卡| 亚洲午夜视频在线| 91在线免费看| 一区免费观看视频| 国产.欧美.日韩| 久久久久国产精品麻豆ai换脸 | 一区二区三区在线免费视频| 国产一区二区三区电影在线观看 | 不卡影院免费观看| 精品精品国产高清a毛片牛牛| 亚洲国产成人av网| 91麻豆成人久久精品二区三区| 国产婷婷精品av在线| 国产在线国偷精品产拍免费yy| 91麻豆精品国产综合久久久久久| 亚洲自拍偷拍欧美| 在线欧美小视频| 国产日韩高清在线| 风流少妇一区二区| 国产精品拍天天在线| 国产成人精品免费在线| 久久久久久久久久久久久久久99| 国产真实乱对白精彩久久| 日韩欧美www| 激情小说欧美图片| 久久丝袜美腿综合| 成人午夜免费av| 亚洲欧洲精品天堂一级| 一本久久综合亚洲鲁鲁五月天| 综合久久给合久久狠狠狠97色| 成人免费av网站| 亚洲视频在线一区观看| 91麻豆国产在线观看| 亚洲永久精品大片| 在线电影一区二区三区| 美女高潮久久久| 国产日韩v精品一区二区| 丁香婷婷综合色啪| 亚洲人成小说网站色在线 | 亚洲午夜久久久久| 色婷婷av一区二区三区软件| 欧美日韩高清影院| 奇米色一区二区三区四区| 日韩视频一区二区三区| 亚洲视频一区在线| 555www色欧美视频| 国产一区在线观看视频| 国产精品女人毛片| 欧美亚洲国产bt| 国产在线精品一区二区三区不卡| 国产精品色在线| 欧美久久婷婷综合色| 国产在线观看一区二区| 国产精品国产自产拍高清av王其| 欧美日韩在线播放三区四区| 免费看欧美女人艹b| 亚洲国产电影在线观看| 欧美日韩一二三| 国产精品18久久久久久vr| 亚洲欧洲成人精品av97| 日韩午夜激情av| 91欧美一区二区| 久久99精品一区二区三区| 国产精品二三区| 91精品欧美综合在线观看最新| 国产91色综合久久免费分享| 一区二区三区在线视频播放| 日韩一区二区在线观看视频| av在线播放成人| 久久精品99久久久| 一个色在线综合| 中文字幕精品一区二区三区精品| 欧美日韩中文另类| 成人av网站在线观看| 美女脱光内衣内裤视频久久影院| 中文字幕在线播放不卡一区| 欧美精品一区二区三区四区| 在线一区二区三区| 国产a视频精品免费观看| 秋霞电影网一区二区| 一区二区日韩av| 国产精品久久久久久一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 三级在线观看一区二区| 成人欧美一区二区三区白人| 欧美精品一区二区蜜臀亚洲| 欧美美女直播网站| 91国偷自产一区二区开放时间 | 日韩一区二区在线观看视频播放| 色先锋久久av资源部| 国产成人福利片| 久国产精品韩国三级视频| 日韩精品电影在线| 亚洲一级在线观看| 亚洲猫色日本管| √…a在线天堂一区| 国产精品久久久久一区二区三区| 国产亚洲一二三区| 久久久99精品免费观看不卡| 精品乱人伦小说| 精品国产乱码久久| 精品福利在线导航| 26uuu久久天堂性欧美| 精品国产123| 欧美国产激情一区二区三区蜜月 | 国产成人高清在线| 国产成人无遮挡在线视频| 国产一区二区三区免费观看| 国产一区高清在线| 国产精品亚洲成人| 成人毛片视频在线观看| 波多野结衣的一区二区三区| av一区二区三区在线| 99精品视频一区| 欧美日韩久久一区二区| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区在线看| 日韩丝袜情趣美女图片| 久久午夜国产精品| 亚洲欧美综合网| 午夜电影一区二区| 日韩精品免费视频人成| 国产一区二区伦理片| www.久久久久久久久| 91精彩视频在线观看| 9191成人精品久久| 国产亚洲视频系列| 中文字幕字幕中文在线中不卡视频| 亚洲免费观看高清完整| 亚洲大片在线观看| 国产麻豆成人精品| 91老师片黄在线观看| 欧美男男青年gay1069videost| www国产亚洲精品久久麻豆| 欧美国产日韩a欧美在线观看| 亚洲免费视频中文字幕| 日韩 欧美一区二区三区| 精品一区二区三区在线观看| a美女胸又www黄视频久久| 欧美色精品在线视频| 久久综合av免费| 亚洲午夜私人影院| 国产91清纯白嫩初高中在线观看 | 久久久久国产精品麻豆| 亚洲女人的天堂| 精彩视频一区二区三区| 99久久免费视频.com| 欧美一区二区播放| 亚洲精品videosex极品| 黑人精品欧美一区二区蜜桃| 在线视频一区二区三区| 久久久久九九视频| 视频一区视频二区中文| 福利视频网站一区二区三区| 91精品国产91热久久久做人人 | 色国产精品一区在线观看| 欧美成人精精品一区二区频| 亚洲精品午夜久久久| 国产一区二区三区香蕉| 欧美久久久久免费| 亚洲情趣在线观看| 国产成人8x视频一区二区| 日韩欧美国产综合一区| 亚洲在线一区二区三区| 成人av片在线观看| 久久久亚洲高清| 久久不见久久见中文字幕免费| 色婷婷av一区| 中文字幕欧美激情一区| 国产一区二区伦理| 精品1区2区在线观看| 日韩电影网1区2区| 欧美酷刑日本凌虐凌虐| 亚洲一区免费在线观看| 成人av网址在线| 中文字幕av一区二区三区高| 黄网站免费久久| 日韩欧美中文一区二区| 免费在线看一区| 91精品欧美综合在线观看最新| 亚洲成人av一区二区三区| 色综合久久久久| 亚洲区小说区图片区qvod| 91丨porny丨中文| 中文字幕亚洲一区二区va在线| 国产成人精品亚洲777人妖 | 亚洲国产三级在线| 91久久精品一区二区| 一区二区三区蜜桃|