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

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

?? tb_ethernet.v

?? 使用方法: 以太網(wǎng)編程,拷貝到硬盤
?? V
?? 第 1 頁 / 共 5 頁
字號:
              bit_end_2   = 32; // not used
            end
          endcase
        end
        
        for (i_data = 0; i_data <= 31; i_data = i_data + 1) // the position of walking one
        begin
          data = 1'b1 << i_data;
          if ( (addr[3] == 0) && (i_data == 15) ) // DO NOT WRITE to this bit !!!
            ;
          else
          begin
            wbm_write(addr, data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            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 (tmp_data !== data)
              begin
                fail = fail + 1;
                test_fail("RW bit of the MAC buffer descriptors was not written or not read");
                `TIME;
                $display("wbm_init_waits %d, addr %h, data %h, tmp_data %h", 
                          wbm_init_waits, addr, data, tmp_data);
              end
            end
            else // data should not be equal to tmp_data
            begin
              if (tmp_data === data)
              begin
                fail = fail + 1;
                test_fail("NON RW bit of the MAC buffer descriptors was written, but it shouldn't be");
                `TIME;
                $display("wbm_init_waits %d, addr %h, data %h, tmp_data %h",
                          wbm_init_waits, addr, data, tmp_data);
              end
            end
          end
        end
      end
      // INTERMEDIATE DISPLAYS
      case (i)
        0:       $display("    ->buffer descriptors tested with 0 bus delay");
        1:       $display("    ->buffer descriptors tested with 1 bus delay cycle");
        2:       $display("    ->buffer descriptors tested with 2 bus delay cycles");
        3:       $display("    ->buffer descriptors tested with 3 bus delay cycles");
        default: $display("    ->buffer descriptors tested with 4 bus delay cycles");
      endcase
    end
    if(fail == 0)
      test_ok;
    else
      fail = 0;
  end
        
        
  ////////////////////////////////////////////////////////////////////
  ////                                                            ////
  ////  Test max reg. values and reg. values after writing        ////
  ////  inverse reset values and hard reset of the MAC            ////
  ////                                                            ////
  ////////////////////////////////////////////////////////////////////
  if (test_num == 2) // Start this task
  begin
    // TEST 2: MAX REG. VALUES AND REG. VALUES AFTER WRITING INVERSE RESET VALUES AND HARD RESET OF THE MAC
    test_name   = 
      "TEST 2: MAX REG. VALUES AND REG. VALUES AFTER WRITING INVERSE RESET VALUES AND HARD RESET OF THE MAC";
    `TIME; $display(
      "  TEST 2: MAX REG. VALUES AND REG. VALUES AFTER WRITING INVERSE RESET VALUES AND HARD RESET OF THE MAC");
        
    // reset MAC registers
    hard_reset;
    for (i = 0; i <= 4; i = i + 1) // 0, 2 - WRITE; 1, 3, 4 - READ
    begin
      for (i_addr = 0; i_addr <= 32'h4C; i_addr = i_addr + 4) // register address
      begin
        addr = `ETH_BASE + i_addr;
        // set ranges of R/W bits
        case (addr)
          `ETH_MODER:
          begin
            data = 32'h0000_A800;
            data_max = 32'h0001_FFFF;
          end
          `ETH_INT: // READONLY - tested within INT test
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_0000;
          end
          `ETH_INT_MASK:
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_007F;
          end
          `ETH_IPGT:
          begin
            data = 32'h0000_0012;
            data_max = 32'h0000_007F;
          end
          `ETH_IPGR1:
          begin
            data = 32'h0000_000C;
            data_max = 32'h0000_007F;
          end
          `ETH_IPGR2:
          begin
            data = 32'h0000_0012;
            data_max = 32'h0000_007F;
          end
          `ETH_PACKETLEN:
          begin
            data = 32'h0040_0600;
            data_max = 32'hFFFF_FFFF;
          end
          `ETH_COLLCONF:
          begin
            data = 32'h000F_003F;
            data_max = 32'h000F_003F;
          end
          `ETH_TX_BD_NUM: 
          begin
            data = 32'h0000_0040;
            data_max = 32'h0000_0080;
          end
          `ETH_CTRLMODER:
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_0007;
          end
          `ETH_MIIMODER:
          begin
            data = 32'h0000_0064;
            data_max = 32'h0000_03FF;
          end
          `ETH_MIICOMMAND: // "WRITEONLY" - tested within MIIM test - 3 LSBits are not written here!!!
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_0007;
          end
          `ETH_MIIADDRESS:
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_1F1F;
          end
          `ETH_MIITX_DATA:
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_FFFF;
          end
          `ETH_MIIRX_DATA: // READONLY - tested within MIIM test
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_0000;
          end
          `ETH_MIISTATUS: // READONLY - tested within MIIM test
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_0000;
          end
          `ETH_MAC_ADDR0:
          begin
            data = 32'h0000_0000;
            data_max = 32'hFFFF_FFFF;
          end
          `ETH_MAC_ADDR1:
          begin
            data = 32'h0000_0000;
            data_max = 32'h0000_FFFF;
          end
          `ETH_HASH_ADDR0:
          begin
            data = 32'h0000_0000;
            data_max = 32'hFFFF_FFFF;
          end
          default: // `ETH_HASH_ADDR1:
          begin
            data = 32'h0000_0000;
            data_max = 32'hFFFF_FFFF;
          end
        endcase
        
        wbm_init_waits = {$random} % 3;
        wbm_subseq_waits = {$random} % 5; // it is not important for single accesses
        if (i == 0)
        begin
          wbm_write(addr, ~data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
        end
        else if (i == 2)
        begin
          wbm_write(addr, 32'hFFFFFFFF, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
        end
        else if ((i == 1) || (i == 4))
        begin
          wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
          if (tmp_data !== data)
          begin
            fail = fail + 1;
            test_fail("RESET value of the MAC register is not correct");
            `TIME;
            $display("  addr %h, data %h, tmp_data %h", addr, data, tmp_data);
          end
        end
        else // check maximum values
        begin
          wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
          if (addr == `ETH_TX_BD_NUM) // previous data should remain in this register
          begin
            if (tmp_data !== data)
            begin
              fail = fail + 1;
              test_fail("Previous value of the TX_BD_NUM register did not remain");
              `TIME;
              $display("  addr %h, data_max %h, tmp_data %h", addr, data_max, tmp_data);
            end
            // try maximum (80)
            wbm_write(addr, data_max, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            if (tmp_data !== data_max)
            begin
              fail = fail + 1;
              test_fail("MAX value of the TX_BD_NUM register is not correct");
              `TIME;
              $display("  addr %h, data_max %h, tmp_data %h", addr, data_max, tmp_data);
            end
            // try one less than maximum (80)
            wbm_write(addr, (data_max - 1), 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            if (tmp_data !== (data_max - 1))
            begin
              fail = fail + 1;
              test_fail("ONE less than MAX value of the TX_BD_NUM register is not correct");
              `TIME;
              $display("  addr %h, data_max %h, tmp_data %h", addr, data_max, tmp_data);
            end
            // try one more than maximum (80)
            wbm_write(addr, (data_max + 1), 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
            if (tmp_data !== (data_max - 1)) // previous data should remain in this register
            begin
              fail = fail + 1;
              test_fail("Previous value of the TX_BD_NUM register did not remain");
              `TIME;
              $display("  addr %h, data_max %h, tmp_data %h", addr, data_max, tmp_data);
            end
          end
          else
          begin
            if (tmp_data !== data_max)
            begin
              fail = fail + 1;
              test_fail("MAX value of the MAC register is not correct");
              `TIME;
              $display("  addr %h, data_max %h, tmp_data %h", addr, data_max, tmp_data);
            end
          end
        end
      end
      // reset MAC registers
      if ((i == 0) || (i == 3))
        hard_reset;
    end
    if(fail == 0)
      test_ok;
    else
      fail = 0;
  end


  ////////////////////////////////////////////////////////////////////
  ////                                                            ////
  ////  Test buffer desc. ram preserving values after hard reset  ////
  ////  of the mac and reseting the logic                         ////
  ////                                                            ////
  ////////////////////////////////////////////////////////////////////
  if (test_num == 3) // Start this task
  begin
    // TEST 3: BUFFER DESC. RAM PRESERVING VALUES AFTER HARD RESET OF THE MAC AND RESETING THE LOGIC
    test_name   = "TEST 3: BUFFER DESC. RAM PRESERVING VALUES AFTER HARD RESET OF THE MAC AND RESETING THE LOGIC";
    `TIME; 
    $display("  TEST 3: BUFFER DESC. RAM PRESERVING VALUES AFTER HARD RESET OF THE MAC AND RESETING THE LOGIC");
        
    // reset MAC registers
    hard_reset;
    // reset LOGIC with soft reset
//    reset_mac;
//    reset_mii;
    for (i = 0; i <= 3; i = i + 1) // 0, 2 - WRITE; 1, 3 - READ
    begin
      for (i_addr = 32'h400; i_addr <= 32'h7FC; i_addr = i_addr + 4) // buffer descriptor address
      begin
        addr = `ETH_BASE + i_addr;
        
        wbm_init_waits = {$random} % 3;
        wbm_subseq_waits = {$random} % 5; // it is not important for single accesses
        if (i == 0)
        begin
          data = 32'hFFFFFFFF;
          wbm_write(addr, 32'hFFFFFFFF, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
        end
        else if (i == 2)
        begin
          data = 32'h00000000;
          wbm_write(addr, 32'h00000000, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
        end
        else
        begin
          wbm_read(addr, tmp_data, 4'hF, 1, wbm_init_waits, wbm_subseq_waits);
          if (tmp_data !== data)
          begin
            fail = fail + 1;
            test_fail("PRESERVED value of the MAC buffer descriptors is not correct");
            `TIME;
            $display("  addr %h, data %h, tmp_data %h", addr, data, tmp_data);
          end
        end
      end
      if ((i == 0) || (i == 2))
      begin
        // reset MAC registers
        hard_reset;
        // reset LOGIC with soft reset
//        reset_mac;
//        reset_mii;
      end
    end
    if(fail == 0)
      test_ok;
    else
    fail = 0;
  end


  if (test_num == 4) // Start this task
  begin
        /*  // TEST 4: 'WALKING ONE' WITH BURST CYCLES ACROSS MAC REGISTERS ( VARIOUS BUS DELAYS )
          test_name   = "TEST 4: 'WALKING ONE' WITH BURST CYCLES ACROSS MAC REGISTERS ( VARIOUS BUS DELAYS )";
          `TIME; $display("  TEST 4: 'WALKING ONE' WITH BURST CYCLES ACROSS MAC REGISTERS ( VARIOUS BUS DELAYS )");
        
          data = 0;
          burst_data = 0;
          burst_tmp_data = 0;
          i_length = 10; // two bursts for length 20
          for (i = 0; i <= 4; i = i + 1) // for initial wait cycles on WB bus
          begin
            for (i1 = 0; i1 <= 4; i1 = i1 + 1) // for initial wait cycles on WB bus
            begin
              wbm_init_waits = i;
              wbm_subseq_waits = i1; 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精选一区二区| 亚洲成人自拍一区| 黄色成人免费在线| 日韩一二三区不卡| 日韩在线一二三区| 欧美精品少妇一区二区三区| 7777精品伊人久久久大香线蕉的 | 精品国产一区久久| 丝袜亚洲精品中文字幕一区| 成人理论电影网| 亚洲视频你懂的| 91丨九色丨尤物| 亚洲精品免费播放| 69堂国产成人免费视频| 视频一区二区不卡| 亚洲精品一区二区三区福利| 韩国中文字幕2020精品| 国产亚洲欧美日韩俺去了| 国产一区欧美二区| 欧美国产日本视频| 欧洲精品一区二区| 欧美无砖砖区免费| 亚洲一区在线视频| 色婷婷亚洲婷婷| 美女视频黄a大片欧美| 欧美国产欧美综合| 欧美丝袜第三区| 国内不卡的二区三区中文字幕 | 久久免费看少妇高潮| 成人亚洲一区二区一| 日韩欧美色电影| 中文天堂在线一区| 91精品国产日韩91久久久久久| 国产成人在线视频网址| 奇米色777欧美一区二区| 自拍av一区二区三区| 久久青草欧美一区二区三区| 色爱区综合激月婷婷| 国产九色sp调教91| 亚洲v中文字幕| 国产欧美日韩另类一区| 91精品国产91热久久久做人人| 国产aⅴ综合色| 亚洲精品久久久蜜桃| 久久只精品国产| 欧美在线短视频| 成人aaaa免费全部观看| 精品一区二区成人精品| 日韩av在线播放中文字幕| ww亚洲ww在线观看国产| 91浏览器打开| 99久久久免费精品国产一区二区 | 91国在线观看| 成人小视频在线观看| 看国产成人h片视频| 亚洲gay无套男同| 亚洲精品精品亚洲| 亚洲一区自拍偷拍| 亚洲精品自拍动漫在线| 中文字幕一区av| 国产精品免费久久| 国产亚洲综合性久久久影院| 97se狠狠狠综合亚洲狠狠| 国产一区二区三区蝌蚪| 国产永久精品大片wwwapp| 国产一区二区在线观看视频| 国产真实乱对白精彩久久| 国产精品一区三区| 91视频国产资源| 成人av免费在线观看| 91蜜桃传媒精品久久久一区二区| 欧美午夜精品久久久| 在线中文字幕一区| 欧美色手机在线观看| 在线电影一区二区三区| 久久久久综合网| 一区二区三区高清| 国产精品对白交换视频| 久久久三级国产网站| 在线观看91精品国产麻豆| 欧美日韩免费观看一区三区| 日韩美女一区二区三区| 久久精品视频在线看| 亚洲免费大片在线观看| 日本最新不卡在线| 国产白丝精品91爽爽久久| 欧美亚洲高清一区| 26uuu精品一区二区三区四区在线| 国产精品久久影院| 七七婷婷婷婷精品国产| 成人免费三级在线| 欧美日韩精品综合在线| 国产女人18毛片水真多成人如厕| 亚洲精品视频自拍| 国产精品综合一区二区| 欧美日韩国产综合视频在线观看 | 亚洲综合无码一区二区| 男女视频一区二区| 91视视频在线直接观看在线看网页在线看 | 丁香婷婷综合激情五月色| 欧美日韩一区在线| 国产精品国产三级国产a | 亚洲国产一区二区三区| 粉嫩在线一区二区三区视频| 欧美日韩国产高清一区| 国产精品精品国产色婷婷| 久久精品国产亚洲5555| 欧美在线短视频| 亚洲欧洲日产国产综合网| 激情久久五月天| 欧美一区二区成人6969| 亚洲午夜国产一区99re久久| 国产·精品毛片| 欧美变态tickle挠乳网站| 亚洲高清视频在线| 日本精品视频一区二区| 欧美国产禁国产网站cc| 久久99精品国产.久久久久久 | 国内精品视频666| 欧美一级爆毛片| 五月天欧美精品| 欧美在线观看视频在线| 中文字幕综合网| 成人美女视频在线看| 久久久久97国产精华液好用吗| 免费日本视频一区| 欧美精品乱码久久久久久| 热久久国产精品| 欧美电影在哪看比较好| 亚洲无人区一区| 欧美性感一类影片在线播放| 亚洲免费毛片网站| 91在线视频观看| 亚洲欧美日本在线| 一本大道av伊人久久综合| 18涩涩午夜精品.www| 成人a免费在线看| 国产精品国模大尺度视频| www.av精品| 亚洲人成7777| 一本久久a久久精品亚洲| 一区二区三区欧美日| 在线精品亚洲一区二区不卡| 亚洲精品ww久久久久久p站| 欧美综合视频在线观看| 亚洲国产视频一区二区| 欧美日韩一区高清| 日韩国产欧美视频| 精品日韩一区二区三区免费视频| 国产在线视频一区二区| 国产亚洲精品7777| jvid福利写真一区二区三区| 亚洲视频免费在线观看| 欧美亚洲综合网| 肉色丝袜一区二区| 欧美成va人片在线观看| 丁香激情综合五月| 一区二区三区高清| 日韩一区国产二区欧美三区| 精品一区二区综合| 国产精品美女www爽爽爽| 色狠狠av一区二区三区| 偷拍与自拍一区| 久久久国产综合精品女国产盗摄| av午夜精品一区二区三区| 亚洲h在线观看| 26uuu精品一区二区| 99国产欧美久久久精品| 亚洲成a人片在线不卡一二三区| 日韩一级精品视频在线观看| 国产精品资源在线| 亚洲女同女同女同女同女同69| 欧美日韩国产综合草草| 国产老肥熟一区二区三区| 亚洲欧美日韩一区二区| 91精品久久久久久蜜臀| 国产69精品久久777的优势| 一级做a爱片久久| 精品国产免费视频| 色婷婷综合久色| 极品美女销魂一区二区三区 | 色偷偷久久一区二区三区| 麻豆成人综合网| 综合色中文字幕| 欧美电影免费观看高清完整版在 | 欧美国产视频在线| 777欧美精品| 99久免费精品视频在线观看| 视频一区视频二区中文| 国产精品卡一卡二| 精品乱人伦小说| 日本福利一区二区| 国产成人午夜精品5599| 婷婷久久综合九色综合绿巨人| 久久这里只有精品首页| 精品视频一区二区不卡| av亚洲精华国产精华| 精品在线播放午夜| 亚洲国产美女搞黄色| 国产精品久久久一本精品|