Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

【转】Lattice Diamond软件 生成和使用黑匣子文件(ngo)的方法

3
阅读(6403)


一、黑匣子的产生

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

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

image.png

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

image.png

3、  编译,运行Translate Design

image.png

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

image.png

image.png

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

image.png

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

image.png

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

二、黑匣子的使用

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

image.png

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

image.png

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

image.png

4、编译顶层文件。


注:原文作者为 兰进城 Jim.lan@dragonipt.com