日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

sanyue7758 ? 來(lái)源:芯片驗(yàn)證工程師 ? 2023-05-04 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們?cè)诠ぷ髦谐3?huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的Systemverilog數(shù)組約束示例:

1、如何約束動(dòng)態(tài)數(shù)組的最后一個(gè)元素為特定值。(事先不知道數(shù)組的大小)

randintsome_dynamic_array[];
constraint last_elem_c {
  some_dynamic_array[some_dynamic_array.size() - 1] == 5;
}
上面是最先想到的寫(xiě)法,但是會(huì)報(bào)錯(cuò),因?yàn)?strong>SV約束語(yǔ)法不允許使用size()或任何其他隨機(jī)值作為索引。所以只能修改代碼:
constraint last_elem_c {
  foreach(some_dynamic_array[i])
    if (i == some_dynamic_array.size() - 1)
      some_dynamic_array[i] == 5;
}
2、約束數(shù)組中必須包含一個(gè)特定的值2。
constraint contains_c {
  2 inside { some_dynamic_array };
}
相反,如果我們約束數(shù)組中不包含值2呢?
constraint not_contains_c {
  !(2 inside { some_dynamic_array });
}
3、約束數(shù)組中每個(gè)值都是唯一的。
constraint all_elems_unique_c {
  unique { some_dynamic_array };
}
這個(gè)約束非常簡(jiǎn)短高效,等價(jià)于下面這段冗長(zhǎng)的代碼:
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];
}
上面這段代碼雖然冗長(zhǎng),確是我們開(kāi)發(fā)數(shù)組約束的一個(gè)通用框架。 4、約束2個(gè)數(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8829

原文標(biāo)題:一些有趣的數(shù)組相關(guān)的SystemVerilog 約束

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Foreach對(duì)Associative Array的constraint約束問(wèn)題記錄分享

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

    咨詢一下有什么雙積分型的ADC推薦嗎?

    咨詢一下有什么雙積分型的ADC推薦嗎?幾乎找不到這種芯片啊,ADITI官網(wǎng)上都沒(méi)有找到
    發(fā)表于 02-19 17:09

    能幫忙看一下有什么問(wèn)題么 數(shù)組拆分合并的

    按照教程把excel的內(nèi)容創(chuàng)建成了數(shù)組,現(xiàn)在想把數(shù)組的前兩行拆成個(gè)數(shù)組,所以用了索引數(shù)組,索引出兩行,也就是兩個(gè)
    發(fā)表于 11-12 10:57

    請(qǐng)教一下有哪些ARM的DMA電路呢

    請(qǐng)教一下有哪些arm的DMA電路,現(xiàn)在看到的是DMA330,用的bus好像是AXI的,有沒(méi)有AHB bus的DMA(ARM設(shè)計(jì)),謝謝
    發(fā)表于 06-02 09:33

    電磁爐加熱一下就停一下什么原因及解決辦法

    電磁爐有時(shí)會(huì)出現(xiàn)加熱故障,現(xiàn)象是熱一下一下在熱一下又停一下,基本隔
    發(fā)表于 03-18 09:02 ?28.9w次閱讀

    Systemverilog event的示例

    event是SystemVerilog語(yǔ)言中的個(gè)強(qiáng)大特性,可以支持多個(gè)并發(fā)進(jìn)程之間的同步。
    的頭像 發(fā)表于 10-17 10:21 ?2476次閱讀

    SystemVerilog中的操作方法

    SystemVerilog提供了幾個(gè)內(nèi)置方法來(lái)支持數(shù)組搜索、排序等功能。
    的頭像 發(fā)表于 10-31 10:10 ?4525次閱讀

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

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

    簡(jiǎn)述SystemVerilog的隨機(jī)約束方法

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

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

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

    有趣數(shù)組相關(guān)的SystemVerilog約束

    我們?cè)诠ぷ髦谐3?huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣Systemverilog數(shù)組
    的頭像 發(fā)表于 03-08 13:12 ?1934次閱讀

    SystemVerilog中“軟約束”與“硬約束”的應(yīng)用示例

    示例中采用的是“硬約束”,因?yàn)槎x在類中的約束與隨機(jī)時(shí)指定的內(nèi)嵌約束“矛盾”,所以導(dǎo)致約束解析器解析隨機(jī)失敗,即“硬
    發(fā)表于 03-15 16:56 ?7642次閱讀

    有趣數(shù)組相關(guān)的SystemVerilog約束

    我們?cè)诠ぷ髦谐3?huì)針對(duì)數(shù)組施加各式的約束,下面列舉一下有趣的**Systemverilog數(shù)組
    的頭像 發(fā)表于 05-30 11:13 ?1662次閱讀

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

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

    SystemVerilog的隨機(jī)約束方法

    篇文章《暗藏玄機(jī)的SV隨機(jī)化》介紹了SystemVerilog的各種隨機(jī)化方法,本文將在其基礎(chǔ)上引入SystemVerilog的隨機(jī)約束方法(constraints)。通過(guò)使用隨機(jī)
    的頭像 發(fā)表于 09-24 12:15 ?3961次閱讀
    阳朔县| 高邑县| 响水县| 宣恩县| 偏关县| 沈阳市| 广东省| 彝良县| 衡阳县| 常德市| 大渡口区| 禄丰县| 秦安县| 横山县| 建瓯市| 万盛区| 麻阳| 余江县| 阳泉市| 定远县| 静海县| 霍林郭勒市| 潍坊市| 新丰县| 桂林市| 潼南县| 平凉市| 甘肃省| 阳城县| 龙江县| 隆子县| 阜城县| 宁晋县| 华阴市| 若尔盖县| 卫辉市| 宜丰县| 九寨沟县| 松原市| 兴宁市| 安陆市|