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

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

?? monitor.v

?? 一個用verilog編寫的總線仲裁程序。多個設備共享總線
?? V
字號:
module monitor(Gnt, Clk, chk_coverage);

input Clk, chk_coverage;
input [3:0]Gnt;

reg err_flag, pass_flag;
reg [4:0] chk_state;
reg [24:0] chk_trans;

event ERR_EVENT, PASS_EVENT;

initial 
begin
  chk_state <= 5'b0_0000;
  chk_trans <= 25'h000_0000;
  err_flag <= 1'b0;
  pass_flag <= 1'b0;
end

always @(negedge Clk)
case(arb_tb.myarb.myfsm.CurrentState)
  3'b000: chk_state <= chk_state | 5'b0_0001;
  3'b001: chk_state <= chk_state | 5'b0_0010;
  3'b010: chk_state <= chk_state | 5'b0_0100;
  3'b011: chk_state <= chk_state | 5'b0_1000;
  3'b100: chk_state <= chk_state | 5'b1_0000;
  default:
      begin
        $display("******ERROR-- Error State!", $time);
        ->ERR_EVENT;
      end
endcase

always @(posedge chk_coverage)
begin
  if(chk_state !== 5'b11111)
    begin
      $display("******>>>>>>>>>>>>>>>>ERROR-- STATE UNCOVERABLE!", $time);
      -> ERR_EVENT;
    end
  else
    begin
      $display(">>>>>>>>>>>>>>>>Pass-- STATE COVERAGE CORRECT, STATE=%b!", chk_state, $time);
      -> PASS_EVENT;
    end
end

always @(negedge Clk)
begin
  #2;
  case(arb_tb.myarb.myfsm.CurrentState)
  3'b000: case(arb_tb.myarb.myfsm.NextState)
          3'b000: chk_trans <= chk_trans | 25'h000_0001;
          3'b001: chk_trans <= chk_trans | 25'h000_0002;
          3'b010: chk_trans <= chk_trans | 25'h000_0004;
          3'b011: chk_trans <= chk_trans | 25'h000_0008;
          3'b100: chk_trans <= chk_trans | 25'h000_0010;
          default: begin
                  $display("******ERROR-- ARB NEXT STATE ERROR!", $time);
                  ->ERR_EVENT;
                  end
          endcase

  3'b001: case(arb_tb.myarb.myfsm.NextState)
          3'b000: chk_trans <= chk_trans | 25'h000_0020;
          3'b001: chk_trans <= chk_trans | 25'h000_0040;
          3'b010: chk_trans <= chk_trans | 25'h000_0080;
          3'b011: chk_trans <= chk_trans | 25'h000_0100;
          3'b100: chk_trans <= chk_trans | 25'h000_0200;
          default: begin
                  $display("******ERROR-- ARB NEXT STATE ERROR!", $time);
                  ->ERR_EVENT;
                  end
          endcase

  3'b010: case(arb_tb.myarb.myfsm.NextState)
          3'b000: chk_trans <= chk_trans | 25'h000_0400;
          3'b001: chk_trans <= chk_trans | 25'h000_0800;
          3'b010: chk_trans <= chk_trans | 25'h000_1000;
          3'b011: chk_trans <= chk_trans | 25'h000_2000;
          3'b100: chk_trans <= chk_trans | 25'h000_4000;
          default: begin
                  $display("******ERROR-- ARB NEXT STATE ERROR!", $time);
                  ->ERR_EVENT;
                  end
          endcase

  3'b011: case(arb_tb.myarb.myfsm.NextState)
          3'b000: chk_trans <= chk_trans | 25'h000_8000;
          3'b001: chk_trans <= chk_trans | 25'h001_0000;
          3'b010: chk_trans <= chk_trans | 25'h002_0000;
          3'b011: chk_trans <= chk_trans | 25'h004_0000;
          3'b100: chk_trans <= chk_trans | 25'h008_0000;
          default: begin
                  $display("******ERROR-- ARB NEXT STATE ERROR!", $time);
                  ->ERR_EVENT;
                  end
          endcase
    
  3'b100: case(arb_tb.myarb.myfsm.NextState)
          3'b000: chk_trans <= chk_trans | 25'h010_0000;
          3'b001: chk_trans <= chk_trans | 25'h020_0000;
          3'b010: chk_trans <= chk_trans | 25'h040_0000;
          3'b011: chk_trans <= chk_trans | 25'h080_0000;
          3'b100: chk_trans <= chk_trans | 25'h100_0000;
          default: begin
                  $display("******ERROR-- ARB NEXT STATE ERROR!", $time);
                  ->ERR_EVENT;
                  end
          endcase
  endcase
end


always @(posedge chk_coverage)
  if(chk_trans !== 25'h1ff_ffff)
    begin
      $display("******>>>>>>>>>>>>>>>>ERROR-- ARB STATE TRANSITION UNCOVERABLE, TRANS=%b!", chk_trans, $time);
      ->ERR_EVENT;
    end
  else
    begin
      $display(">>>>>>>>>>>>>>>>PASS-- ARB STATE TRANSITION COVERAGE CORRECT, TRANS=%b!", chk_trans, $time);
      ->PASS_EVENT;
    end

always @(negedge Clk)
  case (arb_tb.myarb.myfsm.CurrentState)
  3'b000: if((Gnt[0] !== 1'b0) || (Gnt[1] !== 1'b0) || (Gnt[2] !== 1'b0) || (Gnt[3] !== 1'b0))
            begin
              $display("******ERROR--GNT ERROR-- Gnt=%b", Gnt, $time);
              ->ERR_EVENT;
            end
          else
            begin
              $display("PASS--GNT CORRECT-- Gnt=%b", Gnt, $time);
              ->PASS_EVENT;
            end

  3'b001: if((Gnt[1] !== 1'b0) || (Gnt[2] !== 1'b0) || (Gnt[3] !== 1'b0))
            begin
              $display("******ERROR--GNT ERROR-- Gnt=%b", Gnt, $time);
              ->ERR_EVENT;
            end
          else
            begin
              $display("PASS--GNT CORRECT-- Gnt=%b", Gnt, $time);
              ->PASS_EVENT;
            end

  3'b010: if((Gnt[0] !== 1'b0) || (Gnt[2] !== 1'b0) || (Gnt[3] !== 1'b0))
            begin
              $display("******ERROR--GNT ERROR-- Gnt=%b", Gnt, $time);
              ->ERR_EVENT;
            end
          else
            begin
              $display("PASS--GNT CORRECT-- Gnt=%b", Gnt, $time);
              ->PASS_EVENT;
            end

  3'b011: if((Gnt[0] !== 1'b0) || (Gnt[1] !== 1'b0) || (Gnt[3] !== 1'b0))
            begin
              $display("******ERROR--GNT ERROR-- Gnt=%b", Gnt, $time);
              ->ERR_EVENT;
            end
          else
            begin
              $display("PASS--GNT CORRECT-- Gnt=%b", Gnt, $time);
              ->PASS_EVENT;
            end

  3'b100: if((Gnt[0] !== 1'b0) || (Gnt[1] !== 1'b0) || (Gnt[2] !== 1'b0))
            begin
              $display("******ERROR--GNT ERROR-- Gnt=%b", Gnt, $time);
              ->ERR_EVENT;
            end
          else
            begin
              $display("PASS--GNT CORRECT-- Gnt=%b", Gnt, $time);
              ->PASS_EVENT;
            end
  default: begin
            $display("******ERROR-- INVALID STATE!-- Gnt=%b", Gnt, $time);
            ->ERR_EVENT;
            end
  endcase


always @(negedge Clk)
  if((arb_tb.myarb.mycounter.gnt_done !== 1'b1) && 
     ((Gnt[0] !== 1'b0) || (Gnt[1] !== 1'b0) || (Gnt[2] !== 1'b0) || (Gnt[3] !== 1'b0)))
        begin
        $display("******ERROR-- GNT DEASSERATION ERROR!-- gnt_done=%b, Gnt=%b", 
                  arb_tb.myarb.mycounter.gnt_done , Gnt, $time);
        ->ERR_EVENT;
        end
  else
        begin
        $display("PASS-- GNT DEASSERATION CORRECT!-- gnt_done=%b, Gnt=%b", 
                  arb_tb.myarb.mycounter.gnt_done , Gnt, $time);

        ->PASS_EVENT;
        end

always @(negedge Clk)
  if(arb_tb.myarb.mycounter.gnt_done === 1'b1) 
    case(arb_tb.myarb.myfsm.CurrentState)
    3'b001: if(Gnt[0] !== 1'b1)
              begin
                $display("******ERROR-- GNT0 ASSERATION ERROR!",$time);
                ->ERR_EVENT;
              end
            else
              begin
                $display("PASS-- GNT0 ASSERATION CORRECT!",$time);
                ->PASS_EVENT;
              end
                
    3'b010: if(Gnt[1] !== 1'b1)
              begin
                $display("******ERROR-- GNT1 ASSERATION ERROR!",$time);
                ->ERR_EVENT;
              end
            else
              begin
                $display("PASS-- GNT1 ASSERATION CORRECT!",$time);
                ->PASS_EVENT;
              end

    3'b011: if(Gnt[2] !== 1'b1)
              begin
                $display("******ERROR-- GNT2 ASSERATION ERROR!",$time);
                ->ERR_EVENT;
              end
            else
              begin
                $display("***PASS-- GNT2 ASSERATION CORRECT!",$time);
                ->PASS_EVENT;
              end

    3'b100: if(Gnt[3] !== 1'b1)
              begin
                $display("******ERROR-- GNT3 ASSERATION ERROR!",$time);
                ->ERR_EVENT;
              end
            else
              begin
                $display("PASS-- GNT3 ASSERATION CORRECT!",$time);
                ->PASS_EVENT;
              end

//    default: begin
//                $display("******ERROR-- INVALID STATE %b !", arb_tb.myarb.myfsm.CurrentState, $time);
//                ->ERR_EVENT;
//              end
    endcase


always @(ERR_EVENT)
  begin
    err_flag <= 1'b1;
    #1;
    err_flag <= 1'b0;
  end

always @(PASS_EVENT)
  begin
    pass_flag <= 1'b1;
    #1;
    pass_flag <= 1'b0;
  end


endmodule


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩成人一区二区| 亚洲一区视频在线| 在线电影一区二区三区| 91久久线看在观草草青青| 国产精品996| 国产成人精品一区二| 国产精品88av| 99综合影院在线| 91成人在线免费观看| 欧美色图在线观看| 欧美日韩国产片| 日韩欧美一区在线| 久久亚洲免费视频| 欧美国产综合色视频| 18成人在线观看| 午夜久久电影网| 美美哒免费高清在线观看视频一区二区| 五月天激情小说综合| 蜜桃在线一区二区三区| 国产精品资源网| 91在线一区二区三区| 欧洲视频一区二区| 日韩一区二区免费视频| 久久九九99视频| 一区二区三区电影在线播| 日韩成人免费在线| 风间由美一区二区av101| 99riav久久精品riav| 在线播放视频一区| 欧美经典三级视频一区二区三区| 17c精品麻豆一区二区免费| 丝袜亚洲另类欧美综合| 国产成人午夜精品影院观看视频 | 久久草av在线| 成人av资源网站| 欧美精品在线观看一区二区| 26uuu国产一区二区三区| 亚洲色图视频网站| 另类中文字幕网| 99在线视频精品| 精品国产一区二区三区四区四 | 欧美性感一类影片在线播放| 日韩欧美中文字幕制服| 亚洲欧美一区二区三区久本道91| 日韩国产精品久久| 91香蕉视频黄| 久久久久久99精品| 日产精品久久久久久久性色| 国产91精品免费| 欧美亚洲综合另类| 中文字幕成人av| 蜜臀av一区二区在线观看| 91九色02白丝porn| 亚洲国产精品99久久久久久久久| 五月激情综合网| 91黄视频在线观看| 自拍视频在线观看一区二区| 国内精品写真在线观看| 欧美日韩久久一区| 亚洲精品老司机| 91免费视频网| 中文字幕乱码日本亚洲一区二区| 蜜臀av国产精品久久久久| 欧美日韩综合不卡| 一区二区三区四区在线免费观看| 成人午夜精品在线| 国产欧美1区2区3区| 精品午夜久久福利影院| 日韩欧美国产电影| 蜜臀av性久久久久av蜜臀妖精| 欧美日韩三级在线| 性做久久久久久久久| 欧美天堂亚洲电影院在线播放| 亚洲欧美色一区| 91丨九色porny丨蝌蚪| 国产精品黄色在线观看| 成人av网站在线观看免费| 欧美激情中文不卡| 波多野结衣亚洲一区| 亚洲欧洲韩国日本视频| av电影天堂一区二区在线| 亚洲欧美自拍偷拍| 色一情一伦一子一伦一区| 一区二区三区在线观看视频| 日本精品免费观看高清观看| 一区二区三区精品| 欧美精品高清视频| 久久国产精品99久久人人澡| 久久久三级国产网站| 国产69精品一区二区亚洲孕妇| 国产精品美女久久久久aⅴ国产馆| 国产成人av在线影院| 中文字幕中文字幕一区| 欧美亚洲国产一区在线观看网站| 亚洲成人三级小说| 日韩女优毛片在线| 丁香桃色午夜亚洲一区二区三区| 国产精品另类一区| 在线观看欧美日本| 久久er99热精品一区二区| 国产午夜精品一区二区三区嫩草| 国产69精品久久久久777| 亚洲激情在线激情| 欧美一级午夜免费电影| 懂色av一区二区三区蜜臀| 亚洲夂夂婷婷色拍ww47| 91精品国产91久久久久久一区二区 | 国产人伦精品一区二区| 成人a免费在线看| 亚洲高清免费一级二级三级| 欧美va亚洲va| aaa亚洲精品| 蜜臀国产一区二区三区在线播放| 国产精品嫩草影院av蜜臀| 欧美精品一级二级三级| 风间由美性色一区二区三区| 性做久久久久久| 国产精品不卡在线观看| 欧美一级国产精品| 99久久精品国产精品久久| 蜜臀av一区二区在线观看| 亚洲三级在线免费| 2021久久国产精品不只是精品| 91免费视频网| 福利一区福利二区| 极品少妇一区二区三区精品视频| 亚洲人成7777| 国产日本亚洲高清| 日韩精品一区二区三区四区 | 91麻豆高清视频| 91麻豆精东视频| 久久99国内精品| 亚洲午夜久久久久| 亚洲欧洲av在线| 久久久影院官网| 日韩免费成人网| 欧美理论片在线| 在线亚洲+欧美+日本专区| 高潮精品一区videoshd| 国产麻豆精品95视频| 久久精品国产精品青草| 日韩影视精彩在线| 午夜国产精品一区| 亚洲动漫第一页| 亚洲国产综合色| 亚洲一二三区在线观看| 亚洲欧美激情视频在线观看一区二区三区| 久久亚洲免费视频| 日韩精品一区在线| 日韩欧美自拍偷拍| 精品999在线播放| 精品国产乱子伦一区| 欧美不卡123| 欧美精品一区二区久久婷婷| 欧美成人激情免费网| 亚洲精品一区在线观看| 久久综合精品国产一区二区三区| 欧美xfplay| 久久久久久久久久久久电影 | 国产成人精品免费在线| 国产成a人亚洲| 99久久伊人网影院| 97精品久久久午夜一区二区三区| 成人免费高清在线观看| 91性感美女视频| 欧美性欧美巨大黑白大战| 欧美猛男超大videosgay| 欧美一级夜夜爽| 久久精品日产第一区二区三区高清版| 久久久久高清精品| 国产精品电影一区二区三区| 一区二区三区在线视频观看| 亚洲成人综合网站| 久久99精品国产.久久久久久| 国产一本一道久久香蕉| 97精品国产露脸对白| 精品视频在线视频| 日韩欧美激情在线| 中文字幕精品一区二区精品绿巨人 | 久久久久久久综合色一本| 国产精品三级电影| 亚洲第一精品在线| 韩国精品在线观看| 色综合久久99| 日韩一级片网址| 自拍偷拍国产精品| 另类调教123区| 欧美性猛交一区二区三区精品 | 免费观看在线色综合| 国产精品 日产精品 欧美精品| 91热门视频在线观看| 欧美一级久久久| 亚洲精品视频在线观看网站| 久久精品国产精品亚洲红杏| 成人美女在线观看| 日韩欧美另类在线| 亚洲成在线观看| 不卡区在线中文字幕| 91精品国产综合久久精品app | 91热门视频在线观看|