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

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

?? hssrdc_bandwidth_monitor_class.sv

?? SDRAM 控制器 Verilog實現
?? SV
字號:
//
// Project      : High-Speed SDRAM Controller with adaptive bank management and command pipeline
// 
// Project Nick : HSSDRC
// 
// Version      : 1.0-beta 
//  
// Revision     : $Revision: 1.1 $ 
// 
// Date         : $Date: 2008-03-06 13:54:00 $ 
// 
// Workfile     : hssrdc_bandwidth_monitor_class.sv
// 
// Description  : bandwidth monitor measurement class
// 
// HSSDRC is licensed under MIT License
// 
// Copyright (c) 2007-2008, Denis V.Shekhalev (des00@opencores.org) 
// 
// Permission  is hereby granted, free of charge, to any person obtaining a copy of
// this  software  and  associated documentation files (the "Software"), to deal in
// the  Software  without  restriction,  including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the  Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
// 
// The  above  copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
// 
// THE  SOFTWARE  IS  PROVIDED  "AS  IS",  WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR  A  PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT  HOLDERS  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN  AN  ACTION  OF  CONTRACT,  TORT  OR  OTHERWISE,  ARISING  FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//


`include "hssdrc_define.vh"
`include "hssdrc_timing.vh"
`include "hssdrc_tb_sys_if.vh"

`include "sdram_transaction_class.sv"
`include "hssrdc_driver_cbs_class.sv"


`ifndef __HSSDRC_BANDWIDTH_MONITOR_CLASS__

  `define __HSSDRC_BANDWIDTH_MONITOR_CLASS__

  class hssdrc_bandwidth_monitor_class extends hssrdc_driver_cbs_class;

    virtual hssdrc_tb_sys_if sys_if; 

    // bandwidth measurement FSM 
    enum {idle, wait_start, work} state = idle; 

    // timestamps 
    realtime end_time;
    realtime start_time;

    // word transfer counters 
    int unsigned wr_word_num;
    int unsigned rd_word_num;

    // bandwidth measurement itself 
    real write_bandwidth ;
    real read_bandwidth  ;
    real bandwidth       ;

    real write_bandwidth_percent  ;
    real read_bandwidth_percent   ;
    real bandwidth_percent        ;

    // semaphore to controll access to variables 
    semaphore sem;

    // bandwidth measurement parameters 
    real mbps_mfactor;
    real max_bandwidth;

    //  tb syncronization 
    int measured_tr_num = 0;
    event done;

    function new (virtual hssdrc_tb_sys_if sys_if, ref event done); 
      sem = new (1);

      this.sys_if = sys_if;

      this.done   = done; 
    endfunction  


    //
    // function to start measurement process 
    //

    task start();

      sem.get (1) ;      

      // set begin
      state = wait_start; 

      // clear all counters
      end_time    = 0ns; 
      start_time  = 0ns;

      wr_word_num = 0; 
      rd_word_num = 0;

      measured_tr_num = 0;

      sem.put (1) ;
    endtask

    //
    // function to stop measurement process
    // 

    task stop();
     sem.get (1);

     state = idle;      
     count_bandwidth();

     sem.put (1);

    endtask

    //
    // callback for command part of hssdrc_driver_class 
    // 

    task post_Command (input realtime t);
    endtask 

    //
    // callback for write part of hssdrc_driver_class 
    // 

    task post_WriteData (input realtime t, sdram_transaction_class tr);
      int burst; 
    begin

      burst = tr.burst + 1;

      sem.get (1);

      if (state == wait_start) begin
        start_time  = t;
        state       = work;
      end
      else if (state == work) begin 
        wr_word_num += burst; 
        end_time    = t;
      end         

      measured_tr_num++; 
      -> done; 

      sem.put (1);
    end 
    endtask   

    //
    // callback for read part of hssdrc_driver_class 
    // 

    task post_ReadData ( input realtime t, sdram_transaction_class tr); 
      int burst;
    begin

      burst = tr.burst + 1;

      sem.get (1);

      if (state == wait_start) begin
        start_time  = t;
        state       = work;
      end 
      else if (state == work) begin 
        rd_word_num += burst; 
        end_time    = t;
      end 

      measured_tr_num++;

      -> done; 

      sem.put (1);
    end 
    endtask

    //
    // measurement count function bwth = mbps_mfactor*num/(end_time - start_time); 
    // 

    function void count_bandwidth();
      realtime delta;    
      int unsigned wrrd_word_num;
    begin 

      delta = (end_time - start_time);

      wrrd_word_num = wr_word_num + rd_word_num;

      write_bandwidth =   (wr_word_num/delta)*mbps_mfactor;
      read_bandwidth  =   (rd_word_num/delta)*mbps_mfactor;
      bandwidth       = (wrrd_word_num/delta)*mbps_mfactor;

      write_bandwidth_percent = write_bandwidth*100.0/max_bandwidth ;
      read_bandwidth_percent  = read_bandwidth *100.0/max_bandwidth ;
      bandwidth_percent       = bandwidth      *100.0/max_bandwidth ;

    end
    endfunction 

    //
    // task to get multiplicatin factor for counters 
    // 

    task count_mbps_mfactor (int bytes_in_kilobytes) ; 
      realtime delta; 
      realtime scale; 
    begin 
      // define current timeunit value 
      delta = $realtime; 
      #1;  
      delta = $realtime - delta; 

      // define time scale factor 
      scale = 1s/delta; 

      // kilobytes 
      mbps_mfactor = real'(scale)/(bytes_in_kilobytes); 

      // megabytes 
      mbps_mfactor = mbps_mfactor/(bytes_in_kilobytes); 

      mbps_mfactor = mbps_mfactor*pDatamBits;

      // define max bandwwidth : 1 world per cycle period
      @(sys_if.cb); 
      delta = $realtime; 
      @(sys_if.cb); 
      delta = $realtime - delta; 
      
      max_bandwidth = (1/delta)*mbps_mfactor;

    end
    endtask      

  endclass

`endif 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本在线观看不卡视频| 午夜精品视频一区| 亚洲激情图片qvod| 亚洲曰韩产成在线| 国产不卡视频一区二区三区| 91免费观看在线| 日韩欧美国产电影| 自拍视频在线观看一区二区| 午夜精品国产更新| 国产91高潮流白浆在线麻豆| 色婷婷久久综合| 精品嫩草影院久久| 午夜精品久久久久久不卡8050| 国模套图日韩精品一区二区| 972aa.com艺术欧美| 日韩午夜在线影院| 亚洲一二三区在线观看| 国产精品1区2区| 欧美一级欧美三级在线观看| 中文字幕中文字幕在线一区| 久草精品在线观看| 91精品在线观看入口| 亚洲国产综合人成综合网站| 91网址在线看| 一区二区三区.www| 91麻豆文化传媒在线观看| 久久精品一区蜜桃臀影院| 免费高清成人在线| 欧美刺激午夜性久久久久久久| 亚洲精品国产一区二区三区四区在线| 国产一区二区三区电影在线观看| 日韩三级高清在线| 久久99精品国产麻豆不卡| 欧美不卡一区二区三区四区| 美国一区二区三区在线播放| 欧美成人艳星乳罩| 国产高清在线观看免费不卡| 久久久精品国产免费观看同学| 国产一区二区三区av电影| 欧美国产成人精品| 91久久精品一区二区| 亚洲国产精品一区二区久久| 欧美精品xxxxbbbb| 东方欧美亚洲色图在线| 亚洲色图.com| 日韩欧美综合一区| 懂色av中文一区二区三区| 亚洲精品国产第一综合99久久 | 日韩丝袜情趣美女图片| 国产一区二区成人久久免费影院| 久久综合久色欧美综合狠狠| 99国产精品国产精品久久| 首页综合国产亚洲丝袜| 国产午夜亚洲精品理论片色戒| a级精品国产片在线观看| 天天色图综合网| 自拍偷自拍亚洲精品播放| 日韩一区二区在线播放| 99精品热视频| 国产在线精品视频| 丝袜诱惑亚洲看片| **网站欧美大片在线观看| 欧美一区国产二区| 色婷婷精品大视频在线蜜桃视频| 久久 天天综合| 亚洲gay无套男同| 亚洲欧美电影院| 亚洲三级在线免费| 国产精品看片你懂得| 久久久三级国产网站| 日韩精品一区二区在线观看| 欧美专区亚洲专区| 91久久久免费一区二区| 99精品1区2区| 欧美综合在线视频| 欧美亚洲愉拍一区二区| 欧美在线你懂的| 欧美三区免费完整视频在线观看| 91小宝寻花一区二区三区| 91麻豆视频网站| 欧美丝袜丝交足nylons图片| 欧美在线视频不卡| 高清不卡一区二区在线| 欧美一区国产二区| 久久久久99精品国产片| 国产精品高潮呻吟| 一区二区不卡在线播放 | 69成人精品免费视频| 欧美一区二区在线播放| 亚洲精品一区二区在线观看| 国产视频一区二区在线| 中文字幕在线一区二区三区| 亚洲欧美韩国综合色| 免费观看在线色综合| 成人国产精品免费观看视频| 欧美性做爰猛烈叫床潮| 久久网站最新地址| 一区二区三区在线观看视频| 国精产品一区一区三区mba桃花 | 麻豆91免费观看| 91美女视频网站| 欧美videos中文字幕| 樱桃国产成人精品视频| 久久se这里有精品| 色婷婷亚洲精品| 国产丝袜美腿一区二区三区| 午夜婷婷国产麻豆精品| 97国产精品videossex| 久久久久青草大香线综合精品| 怡红院av一区二区三区| 91在线观看免费视频| 精品日韩一区二区三区 | 色婷婷亚洲综合| 中文幕一区二区三区久久蜜桃| 亚洲福利视频三区| 欧洲精品视频在线观看| 国产精品入口麻豆原神| 国产老肥熟一区二区三区| 精品毛片乱码1区2区3区| 无码av免费一区二区三区试看| 99国产精品国产精品毛片| 亚洲国产电影在线观看| 丁香婷婷综合五月| 欧美激情综合五月色丁香| 成人一二三区视频| 国产精品久久久久久久蜜臀| 99精品国产91久久久久久| 国产精品每日更新在线播放网址 | 国产欧美视频一区二区三区| 丁香天五香天堂综合| 国产精品伦一区二区三级视频| 99久久精品免费| 日韩精品91亚洲二区在线观看| 91精品久久久久久久91蜜桃| 久久99这里只有精品| 国产精品亲子乱子伦xxxx裸| 99久久综合色| 亚洲mv在线观看| 久久精品一区二区三区av| 91视频免费看| 经典三级一区二区| 亚洲精品伦理在线| 久久伊人中文字幕| 91玉足脚交白嫩脚丫在线播放| 天堂久久久久va久久久久| 国产精品毛片大码女人| 日韩视频免费观看高清完整版| 99久久99久久免费精品蜜臀| 午夜精品福利一区二区三区蜜桃| 中文字幕乱码亚洲精品一区| 欧美日韩第一区日日骚| eeuss鲁片一区二区三区在线观看| 一区二区久久久久久| 国产免费久久精品| 精品国产伦理网| 欧美一区二区啪啪| 欧洲精品在线观看| 91视频在线看| 91视频xxxx| av中文一区二区三区| 国产乱码精品一区二区三区av| 轻轻草成人在线| 日韩av午夜在线观看| 亚洲一区二区影院| 亚洲午夜久久久久久久久久久| 国产精品久久久久久福利一牛影视| 久久综合五月天婷婷伊人| 日韩一区二区三区视频| 欧美精品在欧美一区二区少妇| 欧美在线观看18| 欧美日韩一区三区| 91精品在线免费| 欧美精品一区二区在线观看| 日韩视频一区在线观看| 久久免费看少妇高潮| ww久久中文字幕| 久久亚洲综合av| 国产精品成人在线观看| 亚洲国产精品一区二区尤物区| 视频在线观看91| 麻豆精品国产传媒mv男同| 精品一区二区三区蜜桃| 成人丝袜高跟foot| 欧美在线看片a免费观看| 日韩一区二区三区在线| 国产精品卡一卡二| 亚洲一区二区三区不卡国产欧美| 麻豆精品国产91久久久久久| 国产91在线观看| 欧美日韩午夜精品| 国产欧美综合在线观看第十页 | 懂色av一区二区夜夜嗨| 欧美高清性hdvideosex| 久久精品人人做人人爽97| 五月天久久比比资源色| 99精品在线免费| 久久久久久久网| 日韩1区2区3区| 91国产精品成人| 国产精品久久久久久福利一牛影视|