关于FPGA程序合作开发,保密方法
有个在研究所的朋友(做雷达的)有个项目要跟另外一个研究所合作,也就是共同在同一块FPGA上进行开发,各自设计功能模块都很独立,向我询问如何将他的设计安全转移给兄弟所。
给他介绍了两种方法,现在在这里也做简单的介绍:
1、第一种方法是使用增量编译,将自己的设计作为一个子模块或者分区(partition),设计完成以后生成一个QXP文件传递给合作单位。具体的操作方法,有时间可以专门弄一篇介绍增量编译的文章。
2、第二种方法是将自己的设计编译生成VQM网表文件传递给合作单位。具体做法首先在sttings里按照下图选中生成VQM选项,这样我这位朋友的设计就是生成一个叫做*.vqm的网表文件
其次是对于使用网表者,可以把当作一般的子模块来调用,如果是VHDL,则进行component例化以及调用,当然网表提供方要提供网表顶层的管脚定义说明,如果没有,直接打开vqm文件也可以看得到。另外,使用网表文件方还要将网表文件加入到工程。
3,第三种方法跟第二种方法类似,就是通过第三方综合工具生成网表文件,所以工程中对于需要保密的部分就做成黑盒子(black box).第三方综合工具生成的网表文件一般是EDF文件,使用的时候将EDF文件放到工程目录即可,工程中安装第二种方法在设计中调用黑盒子即可.
在QII工程中还应指定产生网表的第三方综合工具,可以在settings->EDA Tool Settings->Design Entry/Synthesis->Specify options for processing input files created other EDA tools中指定Tool name,如下图所示:
写那些自己遇到的问题,然后解决的方式,不断吸取经验,坚持直到看见成功.