微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 如何constraint一个二维动态数组

如何constraint一个二维动态数组

时间:10-02 整理:3721RD 点击:
请问一下,本来想定义一个动态二维数组array,然后两个维度的大小由A和B的结果定义。但是如下的代码会报错。
求解如何破解

  1. rand bit A;
  2. rand bit B;
  3. int array [][];

  4. constraint c_A {A inside {0, 1}}

  5. constraint c_B {B inside {0, 1}}

  6. constraint c_arrary {array.size == A;
  7. foreach (array[i]) array[i].size == B;
  8. }

复制代码

  1. class twoDarray;
  2. rand bit[31:0] array[][];
  3. rand bit[ 7:0] index1;
  4. rand bit[ 7:0] index2;

  5. constraint cons{
  6. index1 == 'h3;
  7. index2 == 'h2;
  8. solve index1 before array;
  9. solve index2 before array;
  10. array.size() == index1;
  11. foreach(array[i])
  12. array[i].size() == index2;
  13. }

  14. endclass

复制代码

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top