色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種可重用constraint的實現(xiàn)方法

sanyue7758 ? 來源:驗證芯發(fā)現(xiàn) ? 2023-05-04 10:17 ? 次閱讀

近期看到一種關(guān)于約束的復用方法,總結(jié)分享如下。

在不同的用例中,隨機參數(shù)的隨機約束不會完全一致,最典型的就是錯誤或者異常用例的非法取值約束。對于這種不同的約束,常見的處理辦法就是繼承,并重寫原有參數(shù)的約束,如下所示。

class item;
rand bit[3:0] A;
constraint c{
    A > 0;
}
//....
endclass

class abnormal_item;
constraint c{
    A == 0;//覆蓋原有的A>0約束
}
//....
endclass

除了存在可能的過度繼承問題,繼承方式是一種"靜態(tài)"的is-a關(guān)系,一旦abnormal_item確定后,參數(shù)的約束就已確定,不具備動態(tài)添加或者刪除約束的能力。

到這里,提一下Decorator Pattern(裝飾者模式)。Decorator Pattern大致是一種這樣的思路:

在Decorator Pattern的結(jié)構(gòu)中,可以動態(tài)地給一個對象添加新的功能,同時又不改變其結(jié)構(gòu),將對象的行為分為核心功能和可選功能。核心功能指對象最基本的職責,而可選功能則是在不改變核心職責的情況下增加的功能。通過使用裝飾者模式,可以動態(tài)地將可選功能裝飾在核心功能之上,使對象的功能更加靈活......

借鑒類似的思路,可以將隨機參數(shù)和其約束分離開來,將隨機約束視作對原參數(shù)的"裝飾",進而達到動態(tài)、可復用隨機約束的目的。

一個實例的類圖結(jié)構(gòu)如下:

660c26f2-e7e3-11ed-ab56-dac502259ad0.png

在這種結(jié)構(gòu)下,大致分為兩層:
第一層是包含隨機參數(shù)的激勵定義層,item僅包含隨機參數(shù)的聲明,不包含參數(shù)的約束內(nèi)容。constrainted_item繼承于item,不包含直接的參數(shù)約束,而是通過add_instance_cons方法,動態(tài)的添加對隨機參數(shù)的約束。
第二層是約束實現(xiàn)層,抽象類abstract_constraint僅包含item類,不實現(xiàn)對tem參數(shù)的具體約束,不同的約束由可重用的子類實現(xiàn),即圖中的reusable_cons實現(xiàn)。

相關(guān)參考代碼如下。

隨機參數(shù)定義:

class item;
    rand int val;
endclass

class constrained_item extends item;
    `constraints_utils(item)
endclass

抽象和約束實現(xiàn)定義:

virtual class abstract_constraint #(type T = int);

  protected T object;

  function void set_object(T object);
    this.object = object;
  endfunction
endclass

class only_even_values extends abstract_constraint #(item);
    constraint c {
      object.val % 2 == 0;
    }
endclass

動態(tài)添加約束和隨機:

initial begin
    automatic constrained_item i = new();
    automatic only_even_values only_even = new();
    i.add_instance_constraint(only_even);

    repeat (100) begin
      if (!i.randomize())
        $fatal(0, "Randomization failure");
      //....
    end
end

上述的constraints_utils實現(xiàn)代碼如下:

`define constraints_utils(TYPE) 
...
  local rand constraints::abstract_constraint #(TYPE) instance_constraints[$]; 
  function void add_instance_constraint(constraints::abstract_constraint #(TYPE) c); 
    constraints::abstract_constraint #(TYPE) c_copy = new c; 
    c_copy.set_object(this); 
    instance_constraints.push_back(c_copy); 
  endfunction 
...

可以看到,constrained_item內(nèi)部包含了一個rand類型的instance_constraints隊列,用于存儲分離約束的句柄。同時only_even_values內(nèi)也包含了指向constrained_item的句柄。當constrained_item進行randomize時,instance_constraints隊列也會隨機,在only_even_values內(nèi)完成對constrained_item的參數(shù)約束。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Constraint
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    7029

原文標題:一種可重用constraint的實現(xiàn)方法:參數(shù)/隨機約束分離

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言接口與實現(xiàn)--創(chuàng)建重用軟件的技術(shù)

    C語言接口與實現(xiàn)--創(chuàng)建重用軟件的技術(shù)
    發(fā)表于 11-07 17:17

    c接口和實現(xiàn):創(chuàng)建重用軟件的技術(shù) 源碼下載

    c接口和實現(xiàn):創(chuàng)建重用軟件的技術(shù) 源碼分享關(guān)于如何設(shè)計、實現(xiàn)和有效使用庫函數(shù)的指南少之又少(如果說還有的話)。這本書作填補了這個空白。它可以作為下
    發(fā)表于 02-07 21:21

    一種基于FPGA的DSU硬件實現(xiàn)方法

    摘要:為了實現(xiàn)對非相干雷達的接收相參處理,基于數(shù)字穩(wěn)定校正(DSU)的原理,采用ALTERA公司的StratixⅡ系列芯片和VHDL編程語言,設(shè)計了一種基于FPGA的DSU硬件實現(xiàn)方法
    發(fā)表于 06-28 08:27

    一種高檔FPGA重構(gòu)配置方法

    求大神分享一種高檔FPGA重構(gòu)配置方法
    發(fā)表于 04-29 06:16

    經(jīng)典C語言接口與實現(xiàn):創(chuàng)建重用軟件的技術(shù)

    )倡導基于接口的C語言設(shè)計理念及其實現(xiàn)技術(shù),深入詳細地描述了24個C語言接口及其實現(xiàn)。C語言接口與實現(xiàn)(創(chuàng)建重用軟件的技術(shù))通過敘述如何用
    發(fā)表于 09-25 06:42

    μClinux下實時任務的一種實現(xiàn)方法

    文中以ARM7 TDMI 處理器為例,闡述了μClinux 進程調(diào)度的原理。根據(jù)該原理,提出了一種在μClinux 平臺下實現(xiàn)實時任務的設(shè)計方法,這種方法較簡單,易于
    發(fā)表于 08-29 09:19 ?11次下載

    一種特殊陣列實現(xiàn)DOA估計的方法

    一種特殊陣列實現(xiàn)DOA估計的方法:提出了一種基于特殊陣列形式實現(xiàn)doa估計的方法,在均勻線性陣列
    發(fā)表于 03-18 16:18 ?19次下載

    Boost電路的一種軟開關(guān)實現(xiàn)方法

    Boost電路的一種軟開關(guān)實現(xiàn)方法 摘要:提出了一種Boost電路軟開關(guān)實現(xiàn)方法
    發(fā)表于 07-11 10:12 ?8098次閱讀
    Boost電路的<b class='flag-5'>一種</b>軟開關(guān)<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>方法</b>

    電池容量計的一種實現(xiàn)方法

    電池容量計的一種實現(xiàn)方法 摘要:介紹一種計量電池容量的方法,即對電池充進能量和放出能量進行計算并乘以相應的損失系數(shù)從而指示電池的容量。采用
    發(fā)表于 07-21 14:41 ?936次閱讀
    電池容量計的<b class='flag-5'>一種</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>方法</b>

    一種新型SVPWM調(diào)制方法的研究與實現(xiàn)

    一種新型SVPWM調(diào)制方法的研究與實現(xiàn)
    發(fā)表于 03-30 14:40 ?7次下載

    一種基于DSP脈寬調(diào)制電路實現(xiàn)方法的研究

    一種基于DSP脈寬調(diào)制電路實現(xiàn)方法的研究
    發(fā)表于 06-17 16:48 ?14次下載

    《C語言接口與實現(xiàn):創(chuàng)建重用軟件的技術(shù)》電子教材免費下載

    《C語言接口與實現(xiàn):創(chuàng)建重用軟件的技術(shù)》概念清晰、實例詳盡,是本有關(guān)設(shè)計、實現(xiàn)和有效使用C語言庫函數(shù),掌握創(chuàng)建
    發(fā)表于 08-27 08:00 ?32次下載

    一種新型量測影像與GPS、IMU組合的導航方法

    本文提出了一種基于量測影像與衛(wèi)星、慣性組合導航方法,研究了系統(tǒng)框架、實現(xiàn)原理和關(guān)鍵技術(shù)。
    的頭像 發(fā)表于 01-01 13:37 ?8333次閱讀
    <b class='flag-5'>一種</b>新型<b class='flag-5'>可</b>量測影像與GPS、IMU組合的導航<b class='flag-5'>方法</b>

    C語言接口與實現(xiàn)創(chuàng)建重用軟件的技術(shù)PDF電子書免費下載

    《C語言接口與實現(xiàn):創(chuàng)建重用軟件的技術(shù)》概念清晰、實例詳盡,是本有關(guān)設(shè)計、實現(xiàn)和有效使用C語言庫函數(shù),掌握創(chuàng)建
    發(fā)表于 05-11 08:00 ?18次下載
    C語言接口與<b class='flag-5'>實現(xiàn)</b>創(chuàng)建<b class='flag-5'>可</b><b class='flag-5'>重用</b>軟件的技術(shù)PDF電子書免費下載

    一種基于緩存塊重用信息的動態(tài)旁路策略

    非易失性存儲器具有能耗低、擴展性強和存儲密度大等優(yōu)勢,替代傳統(tǒng)靜態(tài)隨機存取存儲器作為片上緩存,但其寫操作的能耗及延遲較高,在大規(guī)模應用前需優(yōu)化寫性能。提出一種基于緩存塊重用信息的動
    發(fā)表于 04-29 15:48 ?4次下載
    <b class='flag-5'>一種</b>基于緩存塊<b class='flag-5'>重用</b>信息的動態(tài)旁路策略
    主站蜘蛛池模板: 97人人看碰人免费公开视频| 久九九精品免费视频| 欧美亚洲综合另类无码| yellow在线观看免费高清的日本 | 被老师按在办公桌吸奶头| 久久影院午夜理论片无码| 777EY_卡通动漫_1页| 色拍拍噜噜噜啦啦新网站| 韩国伦理电影在线神马网| 24小时日本在线观看片免费| 色欲人妻无码AV精品一区二区| 寂寞夜晚在线视频观看| PORN白嫩内射合集| 亚洲精品久久无码AV片WWW| 免费播放美女一级毛片| 国产高清视频在线观看97| 一本道色综合手机久久| 日韩精品一区二区亚洲AV观看| 黑人寄宿羽月希产后奶水| 爱情岛论坛网亚洲品质| 一扒二脱三插片在线观看| 日韩丰满少妇无码内射| 久久精品黄色| 国产成人精品视频频| 91久久夜色精品| 亚洲成AV人电影在线观看| 啪啪漫画无遮挡全彩h同人| 精品香蕉99久久久久网站| 国产SUV精品一区二区69| 97se se| 亚洲精品无码AAAAAA片| 日韩AV爽爽爽久久久久久| 理论片午午伦夜理片2021| 国产亚洲精品久久久久5区| 阿娇和冠希13分钟在线观看| 伊人无码高清| 亚洲 无码 制服 日韩| 秋霞电影网午夜一级鲁丝片| 久久天天躁狠狠躁夜夜躁| 国产精亚洲视频综合区| 产传媒61国产免费|