Vivado® ML Editionで表示されるメッセージについて 【第2回】
今回は、前回ブログの続きで、Vivado® ML Editionで表示されるメッセージについて記載します。
Vivado® ML EditionでSynthesis/Implementationを実行時に表示されるメッセージについて解説します。
このブログは「FPGA設計ブログ一覧」の
3. 論理合成(ツールが言語を回路図化する)の
ひとつです。
目次
はじめに
Synthesis/Implementationは、AMD ザイリンクス社の以下のようなツールとなります。
- Synthesis:
- デバイス用の合成ツール
- Implementation:
- デバイス用の配置配線ツール
Vivado® ML Editionのツール画面に、エラーやワーニング等いろいろなメッセージが表示されます。
デザインによっては、数百または、それ以上の件数が表示されることがあります。
エラーメッセージの内容を確認し、処置後にImplementationを実行すると別のエラーメッセージが表示されることも多々あります。
そのためImplementation完了まで、数回メッセージ確認を繰り返すケースがあります。
Synthesis/Implementationの実行時に表示されるメッセージについて
メッセージは、以下のような意味を含みます。
※重要度の高い順に記載しています。
(前回ブログでも同様に記載しています。)
・ERROR
デザインを使用することができない問題が発生しています。
ユーザー側で修正or変更の必要があります。
・CRITICAL WARNING
制約の一部が適用できない等によりデザインに対して良い結果が得られません。
ユーザー側で修正or変更の必要があります。
・WARNING
制約が意図通りに適用できない可能性があるため、デザイン結果が最適なものにはならない状態を指します。
ユーザー側で修正が可能、また現状維持も可能です。
→メッセージの内容確認必要となります。
・INFO
メッセージIDが含まれており、アンサー レコードを検索して問題について確認することが可能です。
・STATUS
一般的なステータス、デザインに関するユーザー側への通知です。
Synthesis/Implementationのメッセージの重要度は同じです。
メッセージの内容は、ユーザーの設計によって多数ありますので、本ブログでは、表示例として記述します。
Synthesis実行時に表示されるメッセージについて
メッセージの例
このクリティカルワーニングは、RTLソース記述のwire宣言によるメッセージです。
どのような記述かというと、例えば、
です。
連続するassign文として処理され、初期値として処理されません。
ちなみにREG宣言で同様に記述すると
これは、初期値として処理されます。
RTLソースで対応可能です。
このクリティカルワーニングは、複数のRTLファイルに宣言しているモジュール名かつ信号名が同一のため、メッセージが表示されます。
このクリティカルワーニングの解決策として
- 1.
- 複数のRTLファイルでモジュール名(信号名)が使用されていないことを確認する
- 2.
- 使用されていた場合、対象のRTLのモジュール名を変更する
など対応が必要となります。
このクリティカルワーニングは、XDCファイルで与えたクロック制約とClocking Wizard IP で既に制約されている内容と不一致のため、メッセージが表示されています。
そのため、ユーザーで作成しているXDCファイルとClocking Wizard IPの設定の確認を行い、制約内容を見直します。
もしIPの設定に問題あった場合は、改めてClocking Wizard IPで生成しなおします。
このクリティカルワーニングは、Implementation後のデザインでタイミングエラーが発生しているメッセージです。
タイミングサマリーのレポートを確認し、エラー発生の原因解析が必要です。
Vivado® ML EditionのGUI上からも確認できますが、テキスト形式のファイルも生成されています。
フォルダの場所は以下になります。
<プロジェクトフォルダ> / <プロジェクト名>.runs / impl_1
対象ファイル:
<トップファイル名>_timing_summary_routed.rpt
ファイル内の検索キーワードとして” Slack (VIOLATED)”でタイミングエラー発生箇所のレポートにHITします。
タイミングレポートの見方については、別の機会で記載できたらと思います。
付録
UltraScale/UltraScale+ Memory IPでCSVを使用するIPを移動すると問題が発生する場合があります。
これは、新たなプロジェクトに、共通のため、過去のプロジェクトからIPを移動するとCSVが検出されない現象になり、エラーメッセージが表示されます。
回避策として、新たなプロジェクト内で対象のIPを生成しなおすことで問題がなくなります。
おわりに
いかがでしたでしょうか。本ブログは、ここまでとなります。
このようにVivado® ML Editionで表示されるメッセージは、似たような内容もありますが、たくさんあります。
Vivado® ML Editionのバージョンによっても、メッセージ表示内容が異なる場合や、メッセージが表示される場合、表示されない場合がありますので、AMD ザイリンクス社のアンサーレコードを確認しましょう。
最後までご覧いただきありがとうございました。
このブログは「FPGA設計ブログ一覧」の
3. 論理合成(ツールが言語を回路図化する)の
ひとつです。
弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。