使用DC和XCELIUM给RTL代码加密

EDA软件 0 7453 团子精英 收藏

最近经常发现有人有rtl代码加密的需求,于是写一下之前用过的两种方式

一、Synopsys

工具:Design_Compiler,现在叫syn

命令:synenc

使用方法:

synenc test.v

具体路径:

dc安装目录下

amd64/syn/bin/synenc

****这个路径要注意,并不是dc安装目录下的bin下,这也是很多人找不到命令的原因****

二、Cadence

工具:Xcelium

命令:ncprotect

使用方法:

ncprotect -autoprotect test.v

具体路径:

xcelium安装路径下

tools/bin/ncprotect


三、简便用法

写个脚本去执行就好。

synenc:

find . -name \*.v | xargs synenc

ncprotect:

find . -name \*.v | xargs ncprotect -autoprotect


补充:关于模拟的网表的加密(来自谭晓强)

工具:

Synopsys xa

Synopsys hspice

Synopsys finesim

命令:

metaencrypt

使用案例:

metaencrypt -i opamp.va -o opamp_spi.inc  -t  randkey


补充:VCS加密(2025年7月补充,来自不知名网友X)

VCS提供以下四种加密Verilog代码的方法,适用于不同安全需求和场景


# 方法1:全模块加密

vcs -full64 -autoprotect128 design.v

# 方法2:部分加密(保留接口)

vcs -auto2protect128 -f filelist.f

# 方法3:标记加密(需预先在代码中添加保护标记)

vcs -protect128 -sverilog design.sv

# 方法4:生成综合工具不可读的加密文件

vcs -gen_ip design.v -o encrypted.v.e

相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码