###として記述された遅延を持つSystemVerilogコードを合成したいが、シンセサイザは遅延が合成不可能であるためシンタックスエラーを返す。私は合成される遅れを与えることができる方法はあるのか知りたいですか? たとえば、これは遅延のあるコードのSystemVerilogアサーションですVerilogで合成可能な遅延
アサーションプロパティ(req1 == 0)## 1(req1 == 1)## 1!(req2 == 1)||(gnt1 == 0));
どのようにして動作を失うことなく合成できますか?
です。はい、コード内のプロパティはSystemVerilogアサーションを使用して指定されています。私は実際にハードウェア記述コードを正式に検証可能なコードに変換しようとしています。そのため、アサーションを使用してプロパティを指定し、シンセサイザに渡して検証のために変換します。シンセサイザは、使用される遅延シンタックス、すなわち、## 1のプロパティを受け入れないだけである。上記は、シンセサイザーの遅延をモデル化する唯一の方法ですか? – mii9
プロパティを合成することはできません。正式な検証がどのように機能するかはわかりません。私の(限定的な)正式な検証では、正式なツールはインプリメンテーションを1つの入力として、HDLのプロパティを別のものとして取り込みます。したがって、特性は合成されず、通常の方法で書き込むことができます。おそらく、使用しているツールとそれをどのように使用しようとしているかについて、より多くの情報を提供する別の質問をする必要があります。 – Hida