DONT_TOUCH - 2023.2 日本語

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

Document ID
UG901
Release Date
2023-11-01
Version
2023.2 日本語

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

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

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

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

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

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