Verilog 用の良いリンティング ツールは何ですか? LUT、PLL などの特定のベンダー固有のプリミティブを処理または無視するように構成できるものが望ましいです。
私は最近、verilator-3.810 を試しましたが、すぐに使用できるようにするには、プリミティブについて少し助けが必要です。
では、Verilog のそれほど厳密ではない構文を処理するために、どの (リンティング) ツールを使用していますか?
Verilog 用の良いリンティング ツールは何ですか? LUT、PLL などの特定のベンダー固有のプリミティブを処理または無視するように構成できるものが望ましいです。
私は最近、verilator-3.810 を試しましたが、すぐに使用できるようにするには、プリミティブについて少し助けが必要です。
では、Verilog のそれほど厳密ではない構文を処理するために、どの (リンティング) ツールを使用していますか?
あなたが言及したような無料のリンティングツール(ベリレーター)を使用したことはありません。
私の唯一の経験は、(高価な) 商用リンティング ツールを使用したことです。これまでのところ、私が使用したものはすべて、ルールセットをカスタマイズして、重要でないと思われるチェックを除外するために時間を費やす必要がありました. たとえば、既定では、すべてのツールが信号の命名規則に関連する多くの警告を生成します。これらは、RTL がゲートに合成される方法やシミュレーションの問題につながる方法にはまったく影響しないため、無効にすることにしました。
Spyglass ツール (Atrenta) は、最も幅広い機能を備えているようですが、かなりの設定が必要です。私は Hal ツール (Cadence) を気に入っています。なぜなら、すぐに使い始めるのが非常に簡単だからです (ただし、これもセットアップが必要です)。
私もSpyglassを使用しましたが、ツールが示すように、1つのファイルでもチェックするためだけに実行スクリプトを設定する必要があり、デフォルトのチェックでは、配列データ型のアンロードされたビットなどの役に立たないものについて文句を言います。また、Conformal は RTL 警告のかなりの詳細を出力します。Formal Verification がフローの一部である場合は、とにかく特定のモジュールを除外する必要があります。Spyglass と同様に、少し設定が必要です。
これらのツールにアクセスできるにもかかわらず、私はそれらを最後にしか使用しません。コーディングと検証の間、私は lint チェックをオンにして VCS を使用し、Verdi が不平を言うものはすべて修正します。これはかなりキャッチし、構成/スクリプト ファイルを使用する必要はありません。どちらも無料(または安価)ではありません。
私の経験では、それは一般的に価値がありません。私が試したものはすべて、すぐに使える状態ですべてをチェックしようとするため、多くの初期設定が必要です。しかし、各ショップには独自のコーディング基準があるため、リンターを味付けするのに多くの時間を費やします。次に、会社の別のセクション (一般的にはナイス コードの別の考えを持っている) からの IP またはコードを統合しようとすると、リンターは精神的になるため、次のように言うことになります。wire im_happy = Verdi_happy & simulator_happy & synth_happy;
Real Intent の Ascent Lint はかなり良いです。実行速度が速く、セットアップも簡単です。