请问LATTICE FPGA软年diamond怎么把自己写的code封装成类似IP的文件?comehope5年前发布1342如题,请教LATTICE FPGA软年diamond怎么把自己写的code封装成类似IP的文件? FPGAlattice
给客户做项目,封成黑盒子还有必要的。+1
【转载】lattice 黑盒子的生成和使用(Creating Your Own Black Box Modules)
很多客户,特别是外包项目,需要做黑盒子,防止他人看到源码,那么这就需要对相关的源码打包加封了。diamond help 说的也是模糊模糊的,这次给出实际验证过的流程。
1.先将要加封的模块间一个工程,建好工程,写好代码之后,模块名字叫做crosslink(这个使用黑盒子的时候要用),代码如下:
然后做把disable io insertion设置成true,如下截图
再然后,进可以点击综合translate design按钮生成黑子盒子了,如下截图
黑盒子的名字叫做bb_impl1.ngo(前缀视你自己的命名而定,后缀不变),为了使用它,我们先去把他找出来
接下来就是如何使用的问题了
一样先建立工程,但是需要注意,选的器件型号一定要和黑盒子的选的型号一致,不然跑不起来。工程建好之后先建一个顶层去包我们的黑盒子,代码如下
那么我现在的工程怎么去识别我的黑盒子呢?接下来要做的事情需要特别注意,说起来也挺搞笑的,尼玛,我是试出来的。
把之前生成的bb_impl1.ngo,改成黑盒子的源码的模块名,即crosslink.ngo(因为软件是按名字去识别模块的,不然会跑不起来或者编译报错)
然后放到你想放到的地方,然后指定你放到的地方的路径(这个是为了让软件能找到你的黑盒子.ngo),如下图
然后愉快的生成下载文件,下载到板子去测试吧