在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8975|回复: 3

[求助] 关于vcs加密verilog

[复制链接]
发表于 2015-11-3 12:51:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在vcs中使用protect等选项,可以对verilog文件的指定部分进行加密。
现在希望只提供一个加密后的vp文件给他人,以供仿真。

如果有一个顶层模块top.v,内部调用了位于subblock.v文件中的子模块subblock。
这种情况下,如果给top.v加密,则加密完成的vp文件中依然是实例化的subblock,而非将subblock中的内容也放到top中进行加密。
如此,在仿真时,除了提供加密后的top.vp外还要提供subblock.v。

可以将subblock中的内容直接全部写到top.v中,这样,提供给别人进行仿真,就只需要top.vp即可。

是否有什么办法,可以在对top.v进行加密时,自动将所用到的子模块的内容也添加到top.v中进行加密?
发表于 2016-8-18 12:12:48 | 显示全部楼层
who know it ??!
发表于 2016-8-18 14:53:33 | 显示全部楼层
你可以写一个很简单的makefile如:

encrypt:   cat subblock.v top.v >> new_top.v
                  vcs new_top.v  +protect
保存即可敲指令: make encrypt 就完成打包和加密。
 楼主| 发表于 2017-4-26 19:39:06 | 显示全部楼层
结合3楼的方法,能够在仅提供一个文件时,仅显示module名和端口,其他信息加密。

具体做法如下:
1. 采用3楼的方法,将几个.v文件合并成一个design.v,其中最顶层的.v紧跟cat命令,以使合并之后的文件中,首先是最顶层的.v的内容;

2. 在design.v中添加`protect和`endprotect;
具体的,可在design.v中最顶层的端口声明之后,加`protect,在design.v文件的最后加`endprotect。
这样除了顶层module名和端口声明,其余部分都加密。
虽然其他子模块的module、endmodule之类的关键字都被加密了,但不影响仿真。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 18:33 , Processed in 0.019811 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表