-2
property clk_req_check;
@(posedge upbm_clk) disable iff (~upbm_reset_n)

//@(posedge upbm_clk);
 case (sb_adrc)
   2'b00 : 1'b1 |-> (clk_req[0] == 1'b1) [*] (sb_adrc != 2'b00);
   2'b01 : 1'b1 |-> (clk_req[1] == 1'b1) [*] (sb_adrc != 2'b01);
   2'b10 : 1'b1 |-> (clk_req[2] == 1'b1) [*] (sb_adrc != 2'b10);
   2'b11 : 1'b1 |-> (clk_req[3] == 1'b1) [*] (sb_adrc != 2'b11);
   default : 1'b0;
  endcase
endproperty: clk_req_check

** エラー: (vlog-13069) cad_property.sv(5): 「ケース」付近: 構文エラー、予期しないケース。

disable_iff なし ** エラー: (vlog-13069) cad_property.sv(3): "case" の近く: 構文エラー、予期しないケース、無効化が必要です。

4

2 に答える 2

0

case/endcaseアサーション内の Questa のバージョンではサポートされていない可能性があります。

于 2015-09-14T21:31:18.200 に答える
0

興味深いことに、同時アサーション内に case ステートメントを記述しようとしたことはありません。それが許可されているかどうかはわかりません。ただし、考えてみると、sb_adrc同時アサーション (すべてで常に実行されるupbm_clk) で の 4 つの値すべてを同時にチェックする必要があるため、4 つの個別の同時アサーションが必要であると私には感じられます。それぞれ次のようになります。

property clk_req_check;
  @(posedge upbm_clk) disable iff (~upbm_reset_n)
    sb_adrc == 2'b00 |-> (clk_req[0] == 1'b1) ##1 (sb_adrc != 2'b00)
endproperty
于 2015-09-18T15:48:37.147 に答える