DONT_TOUCH - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: 合成 (UG901)

Document ID
UG901
Release Date
2022-06-06
Version
2022.1 日本語

KEEP または KEEP_HIERARCHY の代わりに DONT_TOUCH 属性を使用してください。 DONT_TOUCH 属性は KEEP または KEEP_HIERARCHY 属性と同じように機能しますが、 KEEP および KEEP_HIERARCHY とは異なり配置配線にフォワード アノテートされるので、ロジック最適化で削除されることはありません。

\

注意: KEEP および KEEP_HIERARCHY 属性と同様に、 DONT_TOUCH を使用する際には注意が必要です。ほかの属性が DONT_TOUCH 属性と競合する場合、 DONT_TOUCH 属性が優先されます。

DONT_TOUCH 属性に有効な値は、 TRUE/FALSE または yes/no です。この属性は信号、モジュール、エンティティ、コンポーネントに設定できます。

注記: モジュールまたはエンティティのポートには設定できません。特定のポートを保持する必要がある場合は、 -flatten_hierarchy none を使用するか、モジュールまたはエンティティ自体に DONT_TOUCH を設定します。

通常は、 DONT_TOUCH 属性は RTL にのみ設定する必要があります。XDC ファイルが読み込まれる前に、保持する必要のある信号が最適化で削除されてしまうことがあります。この属性を RTL で設定しておけば、必ず適用されます。ただし、 DONT_TOUCH が XDC ファイルに設定した方がいいユース ケースが 1 つあります。これは、 DONT_TOUCH が RTL で yes で、RTL を変更せずに取り除く必要がある場合です。この場合、XDC で DONT_TOUCH no に設定し、RTL で同じ信号の DONT_TOUCH yes に設定すると、RTL を変更しなくてもその属性を削除できます。

注記: XDC を使用して RTL で設定された DONT_TOUCH を削除した場合、インプリメンテーション フローで同じ XDC が読み込まれても、該当の信号が削除されているので、合成後に警告メッセージが表示されることがあります。これらの警告は無視しても問題はありません。ただし、合成のみとマークされた XDC に DONT_TOUCH 属性を指定すると、それらをバイパスできます。