在工程中,将需要封装的模块(包括子模块)设置为顶层模块,例如top为工程的顶层模块,top调用了A和B,B又调用了C和D,需要将B模块以及下面的模块整体加密,也就是封装为网表,那么需要将B设置为顶层模块。
步骤二:设置综合条件
1、在Flatten hierarchy选择为full。
2、在more options中输入-mode out_of_context
步骤三:综合
在工程中运行综合步骤,在综合完成后,打开综合。
步骤四:生成edf
这里和quartus不一样,这里需要通过输入脚本的方式生成。
假设网表文件中没有调用IP,那么输入如下指令:
write_edif F:/FPGA/abc.edf
如果调用了IP,输入如下指令:
write_edif -security_mode all F:/FPGA/abc.edf
步骤五:生成调用v文件
假设vivado的版本在2017.4以前,输入如下指令:
write_verilog -mode port F:/FPGA/abc_stub.v
2018.1以后:
write_verilog -mode synth_stub F:/FPGA/abc_stub.v
右击要打开的文件选属性,打开方式中的更改,在程序中找,如果没有你要找的程序,选“浏览”在里面寻找你需要的程序,选择后按确定使用就可以了,使用一次之后,系统就会记下了,以后该类型的文件的打开方式中就会多出一个你选择的程序。你是要隐藏代码还是隐藏网表,隐藏代码可以直接提交综合出来的DCP文件给他们(代码功能仿真及测试要通过),隐藏网表就将dcp压缩包中的edf文件还有一个.v文件提取出来给他们。还有一个就是打开open synthesized design后 export 输出保存为一个edn文件或者.v文件 这个方法我没验证对不对,我猜是能用的欢迎分享,转载请注明来源:内存溢出
评论列表(0条)