Утверждение SystemVerilog для примитива - PullRequest
1 голос
/ 12 мая 2019

есть ли способ добавить утверждение для примитива SystemVerilog или только в модуле (ячейке), оборачивающем примитив?простое добавление утверждения не компилирует

   primitive mux (q, d0, d1, s);
   output q;
   input s, d0, d1;

   table
   // d0  d1  s   : q 
      0   ?   0   : 0 ;
      1   ?   0   : 1 ;
      ?   0   1   : 0 ;
      ?   1   1   : 1 ;
      0   0   x   : 0 ;
      1   1   x   : 1 ;
   endtable
   //assert(s != x) else $error("s has value x"); - add this assertion
endprimitive

1 Ответ

5 голосов
/ 12 мая 2019

Единственная конструкция, разрешенная внутри пользовательского примитива (UDP), - это таблица.Вам нужно будет обернуть UDP в модуль, чтобы добавить что-нибудь еще.

...