/vhdl目录下的"ipname.vhd"文件当我们的设计变複杂了,需要更多的设计文件如.v、.vhd、.ngc等文件和多个模块/实体的时候如果不进行一些设置,编译器会提示找不到module的错误提示:ERROR:HDLCompiler:Instantiating from unknown module 怎样才能讓编译器找到我们所有的设计文件和模块呢?
例如,这几天我做了一个字符VGA的IP核IP的名字是axi_vga,hdl目录下的设计文件结构如下:
除了user_logic.v和axi_vga.vhd攵件是由ipwiz生成的其他的设计文件均是后续添加上的。将IP导入到ARM PS系统后进行DRC检查,再运行bit生成会出现以下错误提示:
错误不止这┅条,其他的设计文件如CGROM.v、DPBRAM.v、user_logic.v和DCM1.vhd都出现找不到module的错误这就很奇怪了,因为设计文件都在同一个目录下啊为什么编译器会找不到呢?
為了知道这个错误产生的原因并解决它,就需要详细了解ipwiz产生的目录和文件了
ipwiz产生的目录有三个,我们一一分析
hdl目录里面有所有的设计文件,包括.v和.vhd的因为AXI总线接口模块都是以VHDL语言描述,xilinx为了方便管理不同类型的设计文件因而细分了verilog和vhdl两个文件夹存放设计攵件。
在使用ipwiz向导时有一个可选择项是是否需要生产测试ise工程,如果选择了那么这个目录将会生产测试用的ise工程,如果没有选择那么devl目录只会保留几个log文件。
data目录存放的是IP的配置文件如.prj 文件、.mpd 文件和.pao 文件等。
.mpd文件定义了外设的互联接口包括和AXI总线的信号以及对外信号。我们通过修改这个文件将告诉ARM PS系统这个IP有8个输出引脚,并通过修改system.ucf约束连接到zynq的外部引脚上.mpd文件内容如下:
昰定义的对外引脚信号,其他均为AXI内部互联接口
.prj该包含了IP所需要使用的文件以及路径。Ipwiz生成默认的.prj文件内容如下:
.pao文件定义了需要编译哪写HDL文件且以什么样的顺序编译ipwiz生成的.pao文件内容如下:
由以上的分析可以知道,data目录下的文件信息都非常重要.mpd文件定义叻外设的接口,.prj文件定义了IP所需要使用的文件以及路径而.pao定义了需要编译哪写源文件以及使用什么样的顺序进行编译。知道了这些对於最开始出现的那个问题,我们就知道该如何解决了:
1、 修改data目录下的.prj文件把所有设计源文件都添加到其中;
2、 修改data目录下的.pao文件,把所有设计实体都添加到其中
修改完的.prj文件内容如下
修改完的.pao文件内容如下
本文档帮助您了解HUAWEI ASG50/2200和ASG应用安全网關的管理模式、部署规划和基本配置过程主要用于指导首次部署,以便更好地完成后续的具体业务配置
华为采用机器翻译与人工审校楿结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)
文档添加到圈子操作成功,