次の VHDL 例では、error_handling を delegated に設定した共通ブロックを示しており、IEEE で定義されている activity
条件を使用してシミュレーション中の復号化を禁止しています。AMDでは、これに xilinx_activity
を使用します。
その後、AMD ツール特定のブロックでコンフィギュレーションを非表示にし、変更および暗号化されたロジックのプローブも禁止します。AMD特定の権限では、これら 3 つが最も推奨されます。ツール特定のブロックが共通ブロックより優先され、xilinx_activity
条件を使用してシミュレーション中の復号化を許可します。これらの権限を設定する部分は、次のコードで太字で示しています。
`protect version = 2
`protect begin_commonblock
`protect control error_handling = "delegated"
`protect control decryption = (activity==simulation)? "false" : "true"
`protect end_commonblock
`protect begin_toolblock
`protect rights_digest_method="sha256"
`protect key_keyowner = "Xilinx", key_method = "rsa", key_keyname = "xilinxt_2019_11", key_keyowner
...
`protect control xilinx_configuration_visible = "false"
`protect control xilinx_enable_modification = "false"
`protect control xilinx_enable_probing = "false"
`protect control decryption = (xilinx_activity==simulation)? "false" : "true"
`protect end_toolblock = ""
`protect begin
-- Secure Data Block
-- Protected IP source code is inserted here.
...
...
...
`protect end