【教程】vivado加密ip核

一、前言

网上有很多vivado创建ip的教程,但是加密ip的教程很少...这让我很费解...

本文将参考vivado官方文档,尝试梳理加密ip核的详细步骤。

官方文档:https://docs.xilinx.com/r/en-US/ug1118-vivado-creating-packaging-custom-ip/Syntax

(官方文档也一般...)

二、语法

vivado加密ip使用tcl命令,其语法格式为:

encrypt [-key <arg>] -lang <arg> [-quiet] [-verbose] [-ext <arg>] <files>

各参数含义如下:

  • -key:指定包含加密密钥和权限信息的RSA密钥文件;
  • -lang:指定源文件的语言类型
    • 如:vhdlverilogsystemverilog
  • -quiet:加密过程是否打印信息,使用此参数则不打印
  • -verbose:加密过程是否打印详细信息,使用此参数则打印
  • -ext:默认加密将覆盖源文件,使用此参数则在加密前备份一份源文件
  • <files>:想要加密的源文件

三、必要信息

3.1 许可证

vivado 从2016.4开始使用IEEE-1735-2014 V2加密标准(Quartus为IEEE-1735-2014 V1),需申请IEEE-1735-2014 V2许可证,官方申请条件是用户拥有Vivado ML Edition license

申请方法:https://support.xilinx.com/s/article/68071?language=en_US

3.2 密钥

获得许可证后,需要创建一个IEEE-1735-2014 V2标准能够读取的密钥文件,其支持vivado自带密钥或自定义密钥

其中,vivado安装时附带当前使用的密钥,位置在:

vivado安装目录/Vivado/<version>/data/pubkey/

密钥文件格式:

`pragma protect version = 2
`pragma protect encrypt_agent = "XILINX"
`pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2021"
`pragma protect begin_commonblock
`pragma protect control error_handling = "delegated"
`pragma protect control child_visibility = "delegated"
`pragma protect control decryption = (activity==simulation)? "false" :"true"
`pragma protect end_commonblock
`pragma protect begin_toolblock
`pragma protect rights_digest_method="sha256"
`pragma protect key_keyowner = "Xilinx", key_keyname= "xilinxt_2021_01", key_method = "rsa", key_public_key
这里放密钥
`pragma protect control xilinx_configuration_visible = "false"
`pragma protect control xilinx_enable_modification = "false"
`pragma protect control xilinx_enable_probing = "false"
`pragma protect control xilinx_enable_netlist_export = "false"
`pragma protect control xilinx_enable_bitstream = "true"
`pragma protect control decryption = (xilinx_activity==simulation)?"false" : "true"
`pragma protect end_toolblock = ""

将vivado附带密钥放入上方段落中,并保存文件为key.txt

四、简单示例

使用一个简单例子帮助大家理解使用方法

可以在vivado tcl console或vivado tcl shell中执行:

encrypt -lang verilog -ext .vp -key E:/workspace_vivado/ip_work/src/key.txt E:/workspace_vivado/ip_work/src/top.v
posted @ 2023-12-05 20:44  小拳头呀  阅读(856)  评论(0编辑  收藏  举报