Lattice模块打包成黑盒子的方法——转载

一、黑匣子的产生

1、  在使用的工程中,将需要生成黑匣子(ngo文件)的.v文件设置成顶层(这里以scaler_top.v为例)。

2、  将综合工具设置成“Synplify Pro”,如下图。

Lattice模块打包成黑盒子的方法——转载

3、在策略中,将“Disable IO Insertion”设置成“True”

Lattice模块打包成黑盒子的方法——转载

3、  编译,运行Translate Design

Lattice模块打包成黑盒子的方法——转载

4、  在当前工程目录下,打开文件名根工程名一样的文件夹(这里使用的工程名是machxo2_71lvds_mini),找到一个.ngo文件。将这个文件名改成scaler_top.ngo,

Lattice模块打包成黑盒子的方法——转载

Lattice模块打包成黑盒子的方法——转载

5、  新建一个scaler_top_bb.v的文件,文件内容为scaler_top.v文件的端口列表。如下图:

Lattice模块打包成黑盒子的方法——转载

6、  在策略中,将“Disable IO Insertion”改回来,设置成“false”

Lattice模块打包成黑盒子的方法——转载

7、  到这里,生成两个文件,scaler_top_bb.v和scaler_top.ngo,成功产生黑匣子!

二、黑匣子的使用

1、将scaler_top_bb.v文件添加到当前工程。

Lattice模块打包成黑盒子的方法——转载

2、scaler_top.ngo可以放到与当前工程目录下,这样不需要做额外的设置。如果不是,则需要另外指定路径,指定方法如下图:

Lattice模块打包成黑盒子的方法——转载

3、在顶层文件中,调用scaler_top模块。模块名使用scaler_top,(注意不是scaler_top_bb)如下图。

Lattice模块打包成黑盒子的方法——转载

4、编译顶层文件。

http://blog.chinaaet.com/justlxy/p/5100051878