首页 > 技术知识 > 正文

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两行外,其他都加密。

Synopsys VCS对Verilog代码加密-vcs编译仿真指令

打开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编译仿真指令1

猜你喜欢