女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

一些有趣的數(shù)組相關的SystemVerilog約束

冬至子 ? 來源:芯片驗證工程師 ? 作者:驗證哥布林 ? 2023-05-30 11:13 ? 次閱讀

我們在工作中常常會針對數(shù)組施加各式的約束,下面列舉一下有趣的Systemverilog數(shù)組約束示例:

1、如何約束動態(tài)數(shù)組的最后一個元素為特定值。(事先不知道數(shù)組的大?。?/strong>

rand int some_dynamic_array[];
constraint last_elem_c {
  some_dynamic_array[some_dynamic_array.size() - 1] == 5;
}

上面是最先想到的寫法,但是會報錯,因為 SV約束語法不允許使用size()或任何其他隨機值作為索引 。所以只能修改代碼:

constraint last_elem_c {
  foreach(some_dynamic_array[i])
    if (i == some_dynamic_array.size() - 1)
      some_dynamic_array[i] == 5;
}

2、約束數(shù)組中必須包含一個特定的值2。

constraint contains_c {
  2 inside { some_dynamic_array };
}

相反,如果我們約束數(shù)組中不包含值2呢?

constraint not_contains_c {
  !(2 inside { some_dynamic_array });
}

3、約束數(shù)組中每個值都是唯一的。

constraint all_elems_unique_c {
  unique { some_dynamic_array };
}

這個約束非常簡短高效,等價于下面這段冗長的代碼:

constraint all_elems_unique_c {
  foreach (some_dynamic_array[i])
    foreach (some_dynamic_array[j])
      if (i != j)
        some_dynamic_array[i] != some_dynamic_array[j];
}

上面這段代碼雖然冗長,確是我們開發(fā)數(shù)組約束的一個通用框架。

4、約束2個數(shù)組相等。如果數(shù)組是packed可以直接使用==,如果數(shù)組是unpacked,則不行。

packed array約束:

rand bit[9:0][3:0] some_packed_array, some_other_packed_array;

constraint packed_arrays_equal_c {
  some_packed_array == some_other_packed_array;
}

unpacked array約束:

rand bit[3:0] some_unpacked_array[10], some_other_unpacked_array[10];

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

    關注

    29

    文章

    1366

    瀏覽量

    111828
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Foreach對Associative Array的constraint約束問題記錄分享

    systemverilog constraint中的foreach可以對數(shù)組進行遍歷和約束,常用于普通數(shù)組,隊列或者動態(tài)數(shù)組。
    的頭像 發(fā)表于 08-21 09:31 ?1460次閱讀
    Foreach對Associative Array的constraint<b class='flag-5'>約束</b>問題記錄分享

    systemverilog學習教程

    systemverilog一些基本語法以及和verilog語言之間的區(qū)別。
    發(fā)表于 04-01 14:24

    使用stm32f28027一些相關資料和教程

    使用stm32f28027一些相關資料和教程,免費下載分享
    發(fā)表于 01-15 15:49 ?0次下載

    用幾個深度學習框架串起來這些年歷史上的一些有趣的插曲

    清明節(jié)這幾天有些時間寫了這篇文章,從我的視角,用幾個深度學習框架串起來這些年歷史上的一些有趣的插曲,和技術(shù)背后的一些故事,免得寶貴的記憶隨著時間在腦中淡去。
    的頭像 發(fā)表于 04-15 14:26 ?2334次閱讀
    用幾個深度學習框架串起來這些年歷史上的<b class='flag-5'>一些</b><b class='flag-5'>有趣</b>的插曲

    一些有趣的NE555電路

    NE555是個非常常見的個芯片,在很多的電器里都能看到它的身影,本文為大家總結(jié)了一些有趣的NE555電路。
    的頭像 發(fā)表于 08-31 10:59 ?3016次閱讀

    SystemVerilog中可以嵌套的數(shù)據(jù)結(jié)構(gòu)

    SystemVerilog中除了數(shù)組、隊列和關聯(lián)數(shù)組等數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)還可以嵌套。
    的頭像 發(fā)表于 11-03 09:59 ?1900次閱讀

    簡述SystemVerilog的隨機約束方法

    篇文章介紹了SystemVerilog的各種隨機化方法,本文將在其基礎上引入SystemVerilog的隨機約束方法(constraints)。通過使用隨機
    的頭像 發(fā)表于 01-21 17:03 ?2571次閱讀

    使用SystemVerilog解決數(shù)組問題

    數(shù)獨是種非常流行的游戲,數(shù)獨本質(zhì)上也是約束問題,所以我們可以讓SystemVerilog約束求解器來幫助我們解決。
    的頭像 發(fā)表于 03-08 14:06 ?1813次閱讀

    一些有趣數(shù)組相關SystemVerilog約束

    我們在工作中常常會針對數(shù)組施加各式的約束,下面列舉一下有趣Systemverilog數(shù)組約束
    的頭像 發(fā)表于 03-08 13:12 ?1213次閱讀

    SystemVerilog中“軟約束”與“硬約束”的應用示例

    示例中采用的是“硬約束”,因為定義在類中的約束與隨機時指定的內(nèi)嵌約束“矛盾”,所以導致約束解析器解析隨機失敗,即“硬約束”要求所有
    發(fā)表于 03-15 16:56 ?5310次閱讀

    時序約束相關知識()

    本章節(jié)主要介紹一些簡單的時序約束的概念。
    的頭像 發(fā)表于 03-31 16:37 ?2338次閱讀
    時序<b class='flag-5'>約束</b>的<b class='flag-5'>相關</b>知識(<b class='flag-5'>一</b>)

    列舉一下有趣Systemverilog數(shù)組約束示例

    上面是最先想到的寫法,但是會報錯,因為SV約束語法不允許使用size()或任何其他隨機值作為索引。
    的頭像 發(fā)表于 05-04 17:35 ?1326次閱讀

    帶你了解SystemVerilog中的關聯(lián)數(shù)組

    SystemVerilog中,我們知道可以使用動態(tài)數(shù)組實現(xiàn)數(shù)組元素個數(shù)的動態(tài)分配,即隨用隨分
    的頭像 發(fā)表于 06-09 09:46 ?8161次閱讀
    帶你了解<b class='flag-5'>SystemVerilog</b>中的關聯(lián)<b class='flag-5'>數(shù)組</b>

    SystemVerilog的隨機約束方法

    篇文章《暗藏玄機的SV隨機化》介紹了SystemVerilog的各種隨機化方法,本文將在其基礎上引入SystemVerilog的隨機約束方法(constraints)。通過使用隨機
    的頭像 發(fā)表于 09-24 12:15 ?2304次閱讀

    分享一些SystemVerilog的coding guideline

    本文分享一些SystemVerilog的coding guideline。
    的頭像 發(fā)表于 11-22 09:17 ?894次閱讀
    分享<b class='flag-5'>一些</b><b class='flag-5'>SystemVerilog</b>的coding  guideline