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

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

?? lab_mc_monitor_3.e

?? 關(guān)于一個(gè)Motor Controller示例的E語(yǔ)言驗(yàn)證程序!
?? E
字號(hào):
File: lab_mc_monitor.e-- monitor and checker are in this file<'unit lab_mc_monitor_u {//======================= Below are variable and event definition ===========// Define the events for methods and checkers// Define the fields to record the input and pwme//===========================================================================     -- record the first cycle speed now   mc_speed_now_ori: uint(bits: 13);   keep soft mc_speed_now_ori == 0;      -- record the real speed now signal from the dut at the second cycle   mc_speed_now_dut: uint(bits: 13);   keep soft mc_speed_now_dut == 0;      -- record the first cycle target speed   mc_target_speed_ori: uint(bits: 13);   keep soft mc_target_speed_ori == 0;      -- record the real target speed signal from the dut at the second cycle   mc_target_speed_dut: uint(bits: 13);   keep soft mc_target_speed_dut == 0;      -- record the first cycle min speed   mc_min_speed_ori: uint(bits: 13);   keep soft mc_min_speed_ori == 0;      -- record the real min speed signal from the dut at the second cycle   mc_min_speed_dut: uint(bits: 13);   keep soft mc_min_speed_dut == 0;      -- record the first cycle power enable signal   mc_pwme_ori: uint(bits: 1);   keep soft mc_pwme_ori == 0;      -- the real power enable signal from the dut at the second cycle   mc_pwme_dut: uint(bits: 1);   keep soft mc_pwme_dut == 0;         -- record No. of the cycle of pwme    mc_pwme_cycle_count: uint(bits: 3);   keep soft mc_pwme_cycle_count == 0;      -- record whether to start counter   mc_pwme_upa: uint(bits: 1);   keep soft mc_pwme_upa == 0;      -- record the cycles that pwme has lasted in high or low level   mc_pwme_count: uint(bits: 9);   keep soft mc_pwme_count == 0;            -- record the origin max cycles that pwme can last in high level   mc_pwme_count_h_ori: uint(bits: 9);   keep soft mc_pwme_count_h_ori == 0;      -- record the origin max cycles that pwme can last in low level   mc_pwme_count_l_ori: uint(bits: 9);   keep soft mc_pwme_count_l_ori == 0;      -- record the real max cycles that pwme can last in high level   mc_pwme_count_h_dut: uint(bits: 9);   keep soft mc_pwme_count_h_dut == 0;      -- record the real max cycles that pwme can last in low level   mc_pwme_count_l_dut: uint(bits: 9);   keep soft mc_pwme_count_l_dut == 0;      -- record the expected max cycles that pwme can last in high level   mc_pwme_count_h_exp: uint(bits: 9);   keep soft mc_pwme_count_h_exp == 0;      -- record the expected max cycles that pwme can last in low level   mc_pwme_count_l_exp: uint(bits: 9);   keep soft mc_pwme_count_l_exp == 0;      -- record the first cycle state   mc_state_ori: uint(bits: 2);   keep soft mc_state_ori == 0;      -- record the second cycle state   mc_state_dut: uint(bits: 2);   keep soft mc_state_dut == 0;      -- record the expected state   mc_state_exp: uint(bits: 2);   keep soft mc_state_exp == 0;         -- default clock   event mc_clkr is rise('mc_clk_i')@sim;      -- event clock fall   event mc_clkf is fall('mc_clk_i')@sim;         -- when reset signal toggles, mc_reset_e occurs   event mc_reset_e is change('mc_reset_i')@sim;   -- when reset signal toggles from 0 to 1, mc_reset_r_e occurs   event mc_reset_r_e is rise('mc_reset_i')@sim;      -- when speed now signal toggles, mc_speed_now_e occurs   event mc_speed_now_e is change('mc_speed_now_i')@sim;      -- when target speed signal toggles, this event occurs   event mc_target_speed_e is change('mc_target_speed_i')@sim;      -- when min speed signal toggles, this event occurs   event mc_min_speed_e is change('mc_min_speed_i')@sim;       -- When the power enable signal has lasted enough time, this event occurs      -- It makes the pwme changed at the next cycle      event mc_pwme_e is change('mc_pwme_o')@sim;   -- when any input toggles, this event occurs   event mc_change_e is (@mc_reset_e or @mc_speed_now_e or @mc_target_speed_e or @mc_min_speed_e or @mc_pwme_e) @mc_clkr;   -- when no input changes, this event occurs   event mc_idle_e is not(@mc_change_e) @mc_clkf;                          //============== Below are getinput(), getpwme() and getcount()method =======// use these methods to get the input , pwme signal and cycle of pwme signl//===========================================================================    -- this metod is used to get the speed now from the dut  getspeednow() : uint(bits:13) is {     result[7:0] = 'mc_speed_now_i';  };    -- this metod is used to get the target speed from the dut  gettargetspeed() : uint(bits:13) is {     result[7:0] = 'mc_target_speed_i';  };    -- this metod is used to get the min speed from the dut  getminspeed() : uint(bits:13) is {     result[7:0] = 'mc_min_speed_i';  };  -- this method is used to get the pwme signal from the dut  getpwme() : uint(bits:1) is {          result[0:0] = 'mc_pwme_o';  };    -- this method is used to get the state  getstate() : uint(bits:2) is {     result[1:0] = mc_state_exp;  };      -- this method is used to get the cycle of pwme signal from the dut  getcount() : uint(bits:9) is {     result[8:0] = mc_pwme_count;  }; //======================= Below are mc_check_reset() method =================// actions when mc_reset_r_e//===========================================================================        -- This event is used for checker   event mc_check_reset_e;      -- check pwme when reset   mc_check_reset() @mc_clkf is {            mc_pwme_dut = getpwme();      -- This item is used for cover the reset checker      mc_reset_checker_c = FALSE;      emit mc_check_reset_e; -- to active checker   };   on mc_reset_r_e { start mc_check_reset(); };//======================= Below are mc_check_idle() method ==================// actions when mc_idle_e//===========================================================================   -- This event is used for checker   event mc_check_idle_e;         -- check pwme when idle    mc_check_idle() @mc_clkf is {                  -- if the state has changed      if mc_state_ori != mc_state_dut then {              mc_pwme_cycle_count = 0;      };      -- outf("\nthe power enable signal is %d,the last state is %d, current state is %d.",mc_pwme_ori, mc_state_ori, mc_state_dut);            -- record the cycle of pwme      if mc_pwme_upa == 0 and mc_pwme_ori != mc_pwme_dut then{               if mc_pwme_cycle_count == 0 then {                  }         else if mc_pwme_cycle_count == 1 or mc_pwme_cycle_count == 2 then {            if mc_pwme_ori == 1 then {               mc_pwme_count_l_ori = getcount();            }            else{               mc_pwme_count_h_ori = getcount();            };          }         else if mc_pwme_cycle_count == 3 or mc_pwme_cycle_count == 4 then {            if mc_pwme_ori == 1 then {               mc_pwme_count_l_dut = getcount();            }            else{               mc_pwme_count_h_dut = getcount();            };         };            };      -- change the No. of cycle      mc_pwme_cycle_count += 1;            if mc_pwme_cycle_count == 5 then{         mc_pwme_cycle_count = 0;       };               if 'mc_reset_i' == 0 then { -- if reset is not asserted in the second cycle      -- This item is used for cover the idle checker         mc_idle_checker_c = FALSE;         emit mc_check_idle_e; -- to active checker      };   };      on mc_idle_e {        start mc_check_idle(); };   //======================= Below are mc_check() method =======================// actions when mc_change_e//===========================================================================      -- This event is used for checker   event mc_check_e;         -- check cycle of pwme when input change    mc_check() @mc_clkf is {         -- record the first cycle data         mc_speed_now_ori = getspeednow();      mc_target_speed_ori = gettargetspeed();      mc_min_speed_ori = getminspeed();      mc_pwme_ori = getpwme();       mc_state_ori = getstate();          if 'mc_reset_i' == 0 then {                if mc_pwme_upa == 0 then {                   if (mc_pwme_ori == 1 and mc_pwme_count <= mc_pwme_count_h_exp)               or (mc_pwme_ori == 0 and mc_pwme_count <= mc_pwme_count_l_exp) then {                            mc_pwme_count += 1;                         }           else{                         mc_pwme_count = 0;                         };         };       };                  wait [1];             -- record the second cycle pwme      mc_speed_now_dut = getspeednow();      mc_target_speed_dut = gettargetspeed();      mc_min_speed_dut = getminspeed();      mc_pwme_dut = getpwme();      mc_state_dut = getstate();      //======== Below are mc_pwme_count_h_exp and mc_pwme_count_l_exp ============      // Below statements are used to figure out what the expected pwme cycle       // according to the original input      //===========================================================================      if 'mc_reset_i' == 0 then {                if mc_speed_now_dut < mc_min_speed_dut then { -- in UPA mode                  mc_pwme_upa = 1;            mc_state_exp = 0;         }         else if mc_speed_now_dut >= mc_min_speed_dut and                  mc_speed_now_dut < mc_target_speed_dut then { -- in UPB mode                          mc_pwme_upa = 0;            mc_pwme_count_h_exp = 375;            mc_pwme_count_l_exp = 125;            mc_state_exp = 1;         }               else if mc_speed_now_dut == mc_target_speed_dut then { -- in FINAL mode                           mc_pwme_upa = 0;            mc_pwme_count_h_exp = 500;            mc_pwme_count_l_exp = 500;            mc_state_exp = 2;                  }               else if mc_speed_now_dut >= mc_target_speed_dut then { -- in DN mode                     mc_pwme_upa = 0;            mc_pwme_count_h_exp = 125;            mc_pwme_count_l_exp = 375;            mc_state_exp = 3;         }               else {            dut_error("\nThe wrong mode has occured!");          };              mc_check_checker_c = FALSE;         emit mc_check_e;      };   };     on mc_change_e {       start mc_check(); };//===================== Below are checkers ======================// respectively on reset, idle, and input change event//===============================================================   -- Define some items to cover the checkers   mc_reset_checker_c: bool;   keep soft mc_reset_checker_c == FALSE;   mc_timeout_checker_c: bool;   keep soft mc_timeout_checker_c == FALSE;   mc_idle_checker_c: bool;   keep soft mc_idle_checker_c == FALSE;   mc_check_checker_c: bool;   keep soft mc_check_checker_c == FALSE;    -- When reset, check the pwme   on mc_check_reset_e {           check that (mc_pwme_dut == 1) else      dut_error("\nWhen reset, the pwme is not high, but ", mc_pwme_dut);           mc_reset_checker_c = TRUE;   };      -- When idle, check the pwme      on mc_check_idle_e {            check that (mc_pwme_upa == 1 or (mc_pwme_upa == 0 and                  mc_pwme_count_h_ori == mc_pwme_count_h_dut and                   mc_pwme_count_l_ori == mc_pwme_count_l_dut)) else      dut_error("\nWhen the state does not change, the cycle of pwme changes!\nOriginal input is: speed now ",mc_speed_now_ori,"  target speed ",mc_target_speed_ori,"  min speed ",mc_min_speed_ori,"\nOriginal cycle of pwme is: ",mc_pwme_count_h_ori," -- high  ",mc_pwme_count_l_ori," -- low","\nReal pwme is: ",mc_pwme_count_h_dut," -- high  ",mc_pwme_count_l_dut," -- low");      mc_idle_checker_c = TRUE;   };      -- when input change, check the pwme   on mc_check_e {      --outf("\ncheck state change at %d", sys.time);      check that (mc_pwme_upa == 1 or (mc_pwme_upa == 0 and                  mc_pwme_count_h_dut <= mc_pwme_count_h_exp and                  mc_pwme_count_l_dut <= mc_pwme_count_l_exp)) else      dut_error("\nOriginal pwme is: ",mc_pwme_ori,"\nOriginal input is: speed now ",mc_speed_now_ori,"  target speed ",mc_target_speed_ori,"  min speed ",mc_min_speed_ori,"\nExpected pwme is: ",mc_pwme_count_h_exp," -- high  ",mc_pwme_count_l_exp," -- low","\nReal pwme is: ",mc_pwme_count_h_dut," -- high  ",mc_pwme_count_l_dut," -- low");      mc_check_checker_c = TRUE;   };      };'>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av网站| 亚洲最新视频在线观看| 亚洲欧洲精品成人久久奇米网| 国产精品二三区| 亚洲高清中文字幕| 精东粉嫩av免费一区二区三区| 成人午夜免费电影| 欧美人伦禁忌dvd放荡欲情| 久久综合久久综合九色| 亚洲欧美电影院| 久久疯狂做爰流白浆xx| 99re这里只有精品首页| 欧美一级日韩免费不卡| 国产精品久久久久久久裸模| 欧美96一区二区免费视频| gogogo免费视频观看亚洲一| 日韩欧美一区二区免费| 国产精品传媒视频| 久久99久久精品| 日本国产一区二区| 国产亚洲午夜高清国产拍精品 | 另类的小说在线视频另类成人小视频在线 | 久久aⅴ国产欧美74aaa| 色哟哟日韩精品| 欧美精品一区二区三区四区 | 色婷婷国产精品久久包臀 | 国产91丝袜在线播放0| 欧美剧情电影在线观看完整版免费励志电影| 精品日韩在线一区| 亚洲福中文字幕伊人影院| 成人国产精品免费观看动漫| 欧美一区二视频| 亚洲中国最大av网站| 国产成人av电影| 日韩视频免费观看高清完整版在线观看| 1000精品久久久久久久久| 精品一区二区av| 欧美男生操女生| 亚洲摸摸操操av| 成人性色生活片免费看爆迷你毛片| 欧美精品一卡二卡| 亚洲精品欧美激情| 99久久777色| 亚洲国产精品ⅴa在线观看| 精品一区二区三区免费| 欧美日韩你懂的| 亚洲人成伊人成综合网小说| 国产成人自拍在线| 精品国产在天天线2019| 日本aⅴ亚洲精品中文乱码| 欧美日韩国产一区| 亚洲自拍偷拍欧美| 一本在线高清不卡dvd| 中文字幕一区二区日韩精品绯色| 国产经典欧美精品| 精品国产123| 麻豆91免费看| 精品剧情v国产在线观看在线| 日本在线不卡视频| 3d动漫精品啪啪| 天堂精品中文字幕在线| 欧美男人的天堂一二区| 亚洲成av人片在线| 欧美日韩国产一区| 日韩综合在线视频| 91精品国产综合久久精品| 天天综合天天做天天综合| 欧美日韩欧美一区二区| 午夜影院久久久| 欧美精品免费视频| 视频在线在亚洲| 欧美一区二区三区男人的天堂| 亚洲成人tv网| 欧美精品一二三| 日本系列欧美系列| 精品免费视频.| 国产精品456| 日本一区二区成人| 97国产精品videossex| 亚洲欧美色图小说| 欧美三日本三级三级在线播放| 亚洲国产一区在线观看| 欧美人牲a欧美精品| 美女高潮久久久| 久久久无码精品亚洲日韩按摩| 国产激情精品久久久第一区二区| 国产日韩综合av| 99re这里只有精品视频首页| 亚洲狼人国产精品| 91麻豆精品国产91久久久| 久久99热99| 国产精品久久久爽爽爽麻豆色哟哟| 91一区二区在线观看| 夜夜嗨av一区二区三区四季av| 欧美精品一二三区| 国产伦精品一区二区三区免费迷| 欧美国产亚洲另类动漫| 91免费观看视频| 亚洲成人一区二区在线观看| 日韩美女一区二区三区| 成人一道本在线| 亚洲一区二区三区四区的| 日韩精品一区二区三区视频播放| 国产成人午夜99999| 亚洲日本韩国一区| 欧美一区午夜视频在线观看| 国产99久久久国产精品潘金网站| 亚洲精选一二三| 日韩午夜av一区| 99re视频精品| 奇米888四色在线精品| 国产精品久久影院| 91精品国产美女浴室洗澡无遮挡| 国产一区视频在线看| 亚洲人成人一区二区在线观看| 91精品啪在线观看国产60岁| 成人免费视频一区二区| 亚洲国产一区视频| 国产欧美视频一区二区三区| 欧美日韩中文字幕一区二区| 国产一区二区在线观看免费| 亚洲男女一区二区三区| 久久综合色鬼综合色| 在线观看国产日韩| 国产一区二区在线看| 亚洲国产一区二区三区| 国产欧美一区二区精品仙草咪| 欧美日韩精品欧美日韩精品| 国产成人在线视频网址| 日本伊人精品一区二区三区观看方式| 国产女主播一区| 欧美一级免费观看| 一本色道久久综合狠狠躁的推荐| 精品一区二区久久久| 亚洲午夜电影在线观看| 国产欧美日韩精品在线| 欧美一区二区在线免费播放| 午夜久久久久久久久| 蜜桃视频在线一区| 亚洲精品乱码久久久久久| 国产亚洲一区二区三区四区 | 亚洲综合丝袜美腿| 久久久久国色av免费看影院| 在线播放视频一区| 成人黄色软件下载| 麻豆国产精品一区二区三区| 亚洲成人自拍网| 亚洲伦在线观看| 欧美高清在线一区二区| 26uuu国产日韩综合| 欧美精品久久久久久久多人混战 | 亚洲国产成人av网| 中文字幕在线播放不卡一区| 久久免费电影网| 日韩精品一区二区三区视频| 欧美日韩黄色一区二区| 色婷婷久久久综合中文字幕 | 国产精品美女www爽爽爽| 欧美成人乱码一区二区三区| 7799精品视频| 欧美三级资源在线| 91色视频在线| 99久久久久久| 99久久精品免费观看| 国产成人免费网站| 国产精品99久久久久久久vr| 国产资源在线一区| 精品一区在线看| 麻豆freexxxx性91精品| 免费欧美日韩国产三级电影| 视频一区欧美精品| 丝袜美腿亚洲综合| 亚洲va中文字幕| 五月天婷婷综合| 午夜国产精品一区| 视频一区欧美精品| 日韩福利电影在线观看| 日本欧美一区二区三区乱码| 日本亚洲三级在线| 久久精品国产**网站演员| 美女视频网站黄色亚洲| 麻豆精品蜜桃视频网站| 精品一区二区在线播放| 国产一区美女在线| 国产很黄免费观看久久| 懂色av一区二区在线播放| 成人一区二区三区在线观看 | 亚洲一区二区三区四区五区中文| 一区二区日韩电影| 亚洲网友自拍偷拍| 午夜精品一区二区三区电影天堂| 香蕉影视欧美成人| 日本中文字幕不卡| 激情综合色播五月| 国产精品资源在线看| 成人午夜私人影院| 一本久久a久久精品亚洲| 在线免费观看一区| 51午夜精品国产| 久久女同精品一区二区|