Я хочу добавить ограничение на "rand bit [7: 0] addr [10]", чтобы мы генерировали адрес в равномерно возрастающем порядке от 0-го индекса до 5-го и равномерно убывающем от 6-го до последнего индекса. Я новичок в ограничениях SV, может ли кто-нибудь помочь со способами сделать это.

0
chandrashekhar goudar 9 Окт 2020 в 08:30

1 ответ

Лучший ответ
class A;
  rand bit [7:0] addr[10];
  rand int step; // this needs to be an int to catch underflow/overflow
  constraint uniform {
     foreach (addr[index]) {
        index inside {[0:4]} -> addr[index] + step == addr[index+1];
        index inside {[6:8]} -> addr[index] - step == addr[index+1];
     }
     step inside {[1:25]};
  }
endclass
0
dave_59 9 Окт 2020 в 06:16