1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. Vivado® ML Editionで表示されるメッセージについて 【第1回】

TECHブログ

Vivado® ML Editionで表示されるメッセージについて 【第1回】

Vivado® ML Editionで表示されるメッセージについて 【第1回】

はじめに

Synthesis/Implementationは、AMD ザイリンクス社の以下のようなツールとなります。

Synthesis:
デバイス用の合成ツール
Implementation:
デバイス用の配置配線ツール

Synthesis/Implementationの実行時に表示されるメッセージについて

メッセージは、以下のような意味を含みます。
※重要度の高い順に記載しています。

ERROR

デザインを使用することができない問題が発生しています。
ユーザー側で修正or変更の必要があります。

CRITICAL WARNING

制約の一部が適用できない等によりデザインに対して良い結果が得られません。
ユーザー側で修正or変更の必要があります。

WARNING

制約が意図通りに適用できない可能性があるため、デザイン結果が最適なものにはならない状態を指します。
ユーザー側で修正が可能、また現状維持も可能です。
→メッセージの内容確認必要となります。

INFO

メッセージIDが含まれており、アンサー レコードを検索して問題について確認することが可能です。

STATUS

一般的なステータス、デザインに関するユーザー側への通知です。


Synthesis/Implementationのメッセージの重要度は同じです。
メッセージの内容は、ユーザーの設計によって多数ありますので、本ブログでは、表示例として記述します。
今回は、Synthesis実行時に表示されるメッセージについて記載します。

Synthesis実行時に表示されるメッセージについて

XDCファイルに関するメッセージ例1

WARNING: [Vivado 12-180] No cells matched ' <セル名> '. ["<XDCファイル名>.xdc":<行数>]
WARNING: [Vivado 12-584] No ports matched ' <ポート名> '. ["<XDCファイル名>.xdc":<行数>]
WARNING: [Vivado 12-508] No pins matched ' <ピン名> '. ["<XDCファイル名>.xdc":<行数>]
WARNING: [Vivado 12-507] No nets matched ' <ネット名> '. ["<XDCファイル名>.xdc":<行数>]
WARNING: [Vivado 12-627] No clocks matched ' <クロック名> '. ["<XDCファイル名>.xdc":<行数>]

制約のセル/ポート/ピン/ネットが見つからないというメッセージです。
対応するオブジェクトがRTLに存在していますが、名前が異なっているためメッセージが表示されています。
オブジェクト名は合成中に変更されることがあるため、同じオブジェクトでも名前が異なる可能性がありますので、レポートの確認が必要です。

メッセージの回避策として、XDC制約でget_nets の代わりに get_cells/get_pins の構文を使用すると良いです。
ネット名は、セル名やピン名よりもよく変更されるためです。

合成後に制約が機能するため、メッセージを無視しても問題ないですが、ワーニングでもユーザーで確認いただいたほうが良いと思います。

XDCファイルに関するメッセージ例2

CRITICAL WARNING: [Designutils 20-1280] Could not find module '<モジュール名>'. The XDC file <XDCファイル名> will not be read for this module.

このクリティカルワーニングは、XDCファイル内で制約を与えているモジュール名の不一致が原因のため、制約が適用できないことを示しています。
※プロジェクトにXDCファイルがない場合、IPコアの一部となっている可能性があります。

IPコアに含まれるXDCファイルの確認として、以下のコマンドを使用します。

report_compile_order

で検出されます。

XDCファイルに関するメッセージ例3

[Common 17-69] Command failed: The design mode of 'sources_1' must be PinPlanning

XDCファイルで次のとおり制約している場合に表示されます。

set_property DIRECTION IN [get_ports {<信号名>[0]}]

通常、RTLデザインでは、TOPファイルに信号の方向定義を行っているため、このコマンドは適用されません。
XDCファイルから対象のコマンドを削除することでメッセージ表示されなくなります。

XDCファイルに関するメッセージ例4

Critical Warning: [Common 17-161] Invalid option value '#' specified for 'objects'. [<XDCファイル名>.xdc:<行数>]

このクリティカルワーニングは、XDC制約に必要な文字列でないことが原因です。
この構文エラーが原因で制約が適用にならないことを示しています。

XDCファイルの記述では、

set_property PACKAGE_PIN E19 [get_ports CLKIN_P]

正しくは、

set_property PACKAGE_PIN E19 [get_ports CLKIN_P] ;
set_property PACKAGE_PIN E19 [get_ports CLKIN_P] ↑ セミコロンが必要

となります。

構文内の”セミコロン”の有無によりクリティカルワーニングが発生しています。

XDCファイルに関するメッセージ例5

Critical Warning:[Common 17-163] Missing value for option 'xxx', please type '<command> -help' for usage info. [<XDCファイル名>.xdc:<行数>]

このクリティカルワーニングは、XDC制約に必要な文字列でないことが原因です。
この構文エラーが原因で制約が適用にならないことを示しています。

XDCファイルの記述では、

set_property LOC GTXE2_CHANNEL_X1Y11[get_cells XXX/XXX]

正しくは、

set_property LOC GTXE2_CHANNEL_X1Y11 [get_cells XXX/XXX]
set_property LOC GTXE2_CHANNEL_X1Y11↑ スペースが必要

となります。

構文内のスペースの有無によりクリティカルワーニングが発生しています。

おわりに

XDCファイルの記述に注意しましょう。見直しをお勧めします。
ワーニングについては無視する/しないはユーザーで判断が必要です。

次回は、Implementationで表示されるメッセージについて記載する予定です。

最後までご覧いただきありがとうございました。


弊社ではFPGA設計や回路図設計、レイアウト設計、ソフトウェア設計、筐体設計などを受託開発しています。サービス内容をWEBサイトに掲載していますので、ぜひご覧ください。


詳細はこちら

このブログのシリーズ

関連ブログ