高云云源软件对源代码模块的加密

高云云源软件对源代码模块的加密

前言:

在[FPGA]实际的开发中,官方提供的IP并不是适用于所有的情况,需要根据实际修改,或者是在自己设计的IP时,需要再次调用时,我们可以将之前的设计封装成自定义IP,然后在之后的设计中继续使用此IP。

有时想把自己设计的IP文件分享给别人使用,但是又不想分享给其源代码,那么我们就需要把源代码封装成IP的模式,供他人调用。保护了自己的知识产权有推动了技术的分享进步。

因此本次详细介绍使用高云的云源软件来制作IP,并使用IP创建工程。

一,

在设计好自己的工程后,根据需要可以对使用得层级模块进行原地阿妈的封装。

在高云软件中有介绍:

在打开工程的情况下,当用户需要对 FPGA 设计中全部源文件或者部分

源文件进行加密操作时,可以在 Hierarchy 窗口中右击所要加密的 module,

通过右键菜单中的“Pack User Design”生成综合后的加密文件。“Pack User

Design”对话框如图 所示。

在这里插入图片描述

Pack User Design 对话框各项配置含义如下:

 Create In:生成加密文件的目标路径,仅支持绝对路径的形式,默认为

工程路径\src<topmodule_name>_pack;

 Synthesis Tool:指定综合工具;

 Language:选择硬件语言,下拉列表支持 Verilog 和 VHDL,默认选择

Verilog;

 Target Top Module:想要进行加密的 top module。默认为在 Hierarchy

窗口选择的 module,允许用户进行修改;

 Source Files:列出 Hierarchy 窗口选择的 module 及其 sub module 所在

的源文件;

 Add File:添加待加密的设计文件;

 Remove File:移除无需加密的设计文件;

 Output 窗口:执行信息窗口;

 Pack:执行加密;

 Stop:终止加密。

二,

开始加密及加密成功后会在 Output 窗口打印相关信息,如图 3-5 所示。

加密过程中如果有 error 信息,会把 error 信息显示到 Output 窗口,同时会

打印加密失败的信息,如图 3-6 所示。

3-5 Pack User Design 对话框打印信息

在这里插入图片描述
在这里插入图片描述

三,

加密完成后会在目标路径下生成两个文件,如果 Language 选择的是

Verilog,则生成的文件为<topmodule_name>_gowin.vp 和

<topmodule_name>_sim.v,如果 Language 选择的是 VHDL,则生成的文

件为<topmodule_name>_gowin.vhdp 和<topmodule_name>_sim.v。

<topmodule_name>_gowin.vp 和<topmodule_name>_gowin.vhdp 是用于

保密的加密文件,可以提供给他人使用。<topmodule_name>_sim.v 是打平

的综合后明文网表文件,可以用于加密模块的功能仿真。

注!

如果工程中有多个 module 都实例化了同一个 sub module,分别 pack 这几个 module

后产生的文件中都会有该 sub module 的定义,如果将产生的这几个文件用于同一个工

程,会报出 sub module 被重复定义的错误,该使用方式需要规避。

猜你喜欢

转载自blog.csdn.net/bxlover007/article/details/131869466
今日推荐