VCS采用AES128加密算法,AES128算法前面文章有写,加密后VCS依然可以仿真,但不能综合。老办法:vcs -h,查得如下四种加密等级。
级别1:
+autoprotect[]
Creates a protected source file; all modules are encrypted.
输入命令:
vcs -full64 -autoprotect128 apb_subsystem.v
如下图,apb_subsystem.vp生成,除了module
/endmodule两行外,其他都加密。
打开apb_subsystem.vp代码:
module apb_subsystem `protected128 PL*DK)D+%M(C=VRDBAF\1(4E=4X PK!%OH2^0T/D.1)JXMD!8RI*H0C(3/ D3@C36?@A*CH9G#Q,/&” T]6)KH)ZQ0BJ P:7K76G4″(N4KDH#IKXJWJ:7&QAE*#P_.^IA3CN”<$9K%52U U108>T P/N5-9Q;J+#RU>6(]#P1ZX@98;I,*UGR1,P `endprotected128 endmodule级别2:
+auto2protect[]
Create a protected source file that does not encrypt the portconnection list in the module header; all modules are encrypted.
执行命令:vcs -full64 -auto2protect128 apb_subsystem.v
生成代码除了端口申明,其他代码部分都加密了。
级别3:
+auto3protect[]
Creates a protected source file that does not encrypt the portconnection list in the module header or any parameter declarations that precede the first port declaration; all modules are encrypted.
执行命令:vcs -full64 -auto3protect128 apb_subsystem.v
生成代码除了端口申明、第一个端口申明前的parameter申明外,其他代码部分都加密了。
级别4
:
需要手动在需要加密代码部分前后写入protect128/endprotect128:+protect[]
Creates a protected source file; only encrypting protect/endprotect regions.
执行命令:vcs -full64 -protect128 apb_subsystem.v
生成代码只加密了protect128/endprotect128中间部分。
此外,默认情况下,源代码和.vp在同一目录下,可用-putprotect128命令指定目录存储.vp代码。
+putprotect128+
Specifies the target directory for protected files.
执行命令:vcs -full64 -protect128 apb_subsystem.v -putprotect128 ggg,可以看到vp代码生成到ggg目录下去了。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:Synopsys VCS对Verilog代码加密-vcs编译仿真指令 https://www.yhzz.com.cn/a/9668.html