本篇内容主要讲解“RTL加密方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“RTL加密方法是什么”吧!
一些IP vendor 为了自我保护,或一些公司为了防抢防盗防AE 经常需要对RTL 进行加密,各家EDA 公司为了满足客户这一需求,都提供有适配于自家工具的加密方式,除此之外还有如下两种加密机制,IEEE1800 跟IEEE 1735, 貌似目前业界用得更多的是IEEE 1735 而且这也是IEEE 推荐的加密机制—— IEEE Std 1735™-2014: "IEEE Recommended Practice for Encryption and Management of Electronic Design Intellectual Property (IP)"
The standard mechanism IEEE1800, which lets you protect Verilog files using the IEEE Verilog standard and VHDL files using the IEEE VHDL standard.
The new mechanism IEEE 1735, which provides versioning for the encryption of pragma definitions and use models.
对于IP Vendor 或公司内部会使用多家EDA 工具,强烈建议使用1735 来加密,否则需要给每家都加一套,有版本对不齐的风险。1735 的好处是,既可以用用户定义的密钥加密也可以用三家EDA 公司公开的密钥加密,三家EDA 的公开密钥是:命令:
vcom +protect=r.vhdlp r.vhd
将左侧带有C 家公开密钥的RTL 加密成右侧内容:同样可以用C 的工具加密,用M 的工具去读取:
除了用公开密钥外,还可以用用户自定义密钥,以C 家工具为例:
- 生成私钥,默认的密钥长度是512 bits, 密钥长度可以定义为256 ~ 4096 bits. 密钥越长安全性越高,执行如下命令会生成两个文件:key.pub 跟key.prv.xmprotect -messages -rsakeygenerate -keylength 512 -keyname <name>
- 密钥格式转换,用UNIX 命令uuencode 将二进制密钥转换成base 64 格式:uuencode -m key.pub <file>
- 配置加密参数,将第二步转换后的密钥赋给key_public_key, 推荐的data_method 是AES128-CBC 和AES256-CBC. <AES: Advanced Encryption Standard, CBC: Cipher Block Chaining >.`protect version = 1
`protect data_method = "AES128-CBC"
`protect key_keyowner = "Cadence Design Systems.", key_method = "rsa", key_keyname = "cds_rsa_key", key_public_key = <generated base 64 key>
将加密后的RTL 跟key.prv 一起提供给用户。
用户将key.prv 所在路径指给环境变量NCPROTECT_KEYDB 即可。
至于每家EDA 公司各自的加密方式都比较简单,也不需要密钥,如C 家用如下命令即可:ncprotect -autoprotect -synthesis output_netlist:cleartext -synthesis viewers:debugall
- T cl, SimVision, and programming interfaces, including PLI/VPI, VHPI, and C interface.
- Schematic generators or state machine extraction.
- Warning and error messages from protected regions are either suppressed or generic messages are issued.
对于数字实现端而言,elaborate 之后就是GTECH, 如果工程师想要debug 只能去抠扒GTECH 了,综合之后的netlist 不要加密,应该到目前为止P&R 工具都不支持加密的netlist. 另外,有些IP Vendor 懒得加密,直接丢一个GTECH 给用户,强烈建议,如果非此不可请为每家EDA 公司都提供一套配套的GTECH, 否则一定会有驴头马嘴的事情发生,不是驴头得错也不是马嘴得过,纯粹是焦仲卿他妈的锅。到此,相信大家对“RTL加密方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!