【精品博文】EDK之路(6)——将ise工程封装成EDK下的IP(文件添加部分)

在上篇,我们给出了EDK下IP创建部分的说明。然而此时IP还只是一个空壳,我们接下来就将把我们的ise工程封进去。

(接上篇)

步骤二:修改及添加相关文件

文件结构图:

在修改以上文件以前,我们需要明白.mpd文件,led_flash_edk.vhd,user_logic.v,以及.v源文件之间的关系,才更能明白修改的要求与含义:

文件修改与添加:

1,.mpd文件,led_flash_edk.vhd,user_logic.v,的修改

这三个文件是固定的,不受上面提到的两种情况的影响,在这先修改这3个文件。

(1)user_logic.v的修改

(2)led_flash_edk.vhd

(3).mpd文件的修改

这里就涉及到前面所提到的两种情况了,这里将分情况讨论

情况一:只添加系统的wrapper文件,及其.ngc文件

(1)wrapp文件的添加:

将顶层文件(led_top.v)复制到verilog文件夹中,并修改该文件,只保留端口信息:

(2).ngc文件的添加

首先先创建一个netlist文件夹,位置在文件结构图中有描述。

因为.v源文件只有一个顶层模块,此时顶层模块就是一个“黑盒”了,这就需要把顶层模块的.ngc文件添加到netlist。

注意:还需要把fifo, rom等自带IP的ngc文件也添加到netlist文件夹。ngc文件在相应IP的文件夹下。

(3).pao文件的修改

 .pao文件即描述了IP所包含的源文件,由于刚添加了led_top.v,因此添加信息如下:

(4).bbd文件的创建

.bbd则描述了IP所包含的.ngc文件,该文件不存在,需自己创建一个“IP名.bbd”的文件。

这里创建一个“led_flash_edk_v2_1_0.bbd”的文件,里面加入信息如下:

情况二:添加所有.v文件

(1).v源文件的添加

把所有的.v文件(包括用到的fifo的.v文件)放到verilog文件夹中。verilog此时应包含如下文件:

user_logic.v

led_top.v

led_flash.v

clk_gen.v

led_fifo.v (fifo的.v文件,在生成的ip核目录下)

(2).ngc文件的添加

这里“黑盒”就不再是led_top了,因此不需要加入led_top的.ngc文件。现在黑盒是“led_fifo”,因此只需要加入led_fifo的.ngc文件

(3).pao文件的修改

    

(4).bbd文件的创建

3,语法检查

本操作可以检查hdl文件夹下的文件是否存在语法错误,不过对其余文件无能为力。其余文件只能通过xps来判断是否存在错误了。

打开devl->projnav下的ise工程,把verilog下的文件添加到工程里,然后检查语法,看是否发生错误

以上,文件的添加及修改完毕。点击xps工具栏project->rescan user repositories,使改变生效,如果相关文件存在错误,控制台会给出信息(如果工程较大,则给出信息的时间会较久)。

最后如果出现下面的错误,这就是前面所说的bug,就需要把上面提到的.ngc文件放到EDK工程目录下的implementation文件夹下。

补充说明:如果遇到上述问题,在.mpd文件中加入如下语句也可解决

    

到了这步,IP就创建成功了,可以成功产生相关硬件文件了(有时edk会出现文件没更新的情况,这时候就需要看文件的更改时间来判断改变是否生效了)

(0)

相关推荐

  • DASH简介及使用方法(FFmpeg, MP4Box)

    引入XXXX后,(对照竞品)网页端的视频观看体验存在以下问题: 1. 切换画质(1080P/高清/标清)时,播放器会黑屏,并回退到关键帧重新播放. 2. 不能根据网络状况自适应调整码率(YouTube ...

  • 怎么选择室内LED显示屏?

    上一篇说了如何选择购买led户外显示屏?,这一篇来说一下如何选择室内LED显示屏.室内和户外的环境截然不同,户外环境光亮.高温.低温.高盐.风暴.沙尘.大雪等等,而室内环境相对较暗.相对恒温.相对干净 ...

  • ffmpeg 之 dash

    ffmpeg 之 dash

  • 两台电脑怎么传文件(图文)

    当身边没有移动硬盘,但又需要和同事的电脑相互传送很大的文件的时候,该怎么办呢?别担心,接下来就教大家一个非常简单的办法来快速传送大文件. 首先文件传输的前提是用网线连接两台电脑.然后找到电脑里需要传送 ...

  • 【精品博文】EDK之路(5)——将ise工程封装成EDK下的IP(IP创建部分)

    工程目的 在很多稍大点的工程当中,都需要ise和EDK的联合开发.本文章就介绍一下将ise工程作为IP挂载到EDK的流程.为了更简单的理解整个流程,本次所挂载的ise工程采用流水灯工程,且为了更全面的 ...

  • 【精品博文】EDK之路(4)——自定义IP(SDK部分)

    SDK部分(BSP的创建) 由于我们存在一个自定义IP,这导致在建立BSP时,会增加一点操作.如果我们什么都不做,直接建立BSP,那么该BSP将不会包括自定义IP的驱动.其实,不用该驱动也行,我们直接 ...

  • 【精品博文】EDK之路(3)——自定义IP(XPS部分)

    工程目的 本工程目的是自定义一个IP,用于对OV2643摄像头的进行配置.重点有3个: (1) 需要在定制板上建立系统(即我们使用的不是现有的开发板,无官方的板级支持包): (2) 自定义IP: (3 ...

  • 【精品博文】EDK之路(2)——GPIO之SDK篇

    在上篇文章中,说明了一下一个简单的GPIO工程的XPS部分.XPS部分的建立说明我们的硬件平台已经搭好,类似已经做好单片机了.接下来就是在这个"单片机"中运行我们的软件程序,即SD ...

  • 【精品博文】EDK之路(1)——GPIO之XPS篇

    说明 EDK在现在已经略显过时了,毕竟vivado才是续集的主角.但不排除现在还有许多工程用着EDK,且EDK和vivado还是有很多操作是共通的.所以还是把之前写的EDK之路系列搬移至此. 工程目的 ...

  • 【精品博文】干货|一个工科生的职业规划(转)

    我今年39岁了,25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路,有一些经验和教训.现在开一个小公司,赚的钱刚够养家糊口的.看看这些刚毕业的学生,对前景也很迷茫,想抛砖引玉,谈谈自己的看法 ...

  • 【精品博文】一种借助EBR实现数据延时的方法

    数据延时线(Delay Line)在数字信号处理中具有广泛的应用,例如FIR滤波器设计中就会需要用到数据延时线.实际上,在绝大部分的Pipeline设计中都会需要用到数据延时.本文介绍一种基于EBR( ...

  • 【精品博文】PWM蜂鸣器驱动之引脚分配

    【精品博文】PWM蜂鸣器驱动之引脚分配

  • 【精品博文】聊一聊数字电路中时钟抖动

    随着通信系统中的时钟速率迈入GHz级,抖动这个在模拟设计中十分关键的因素,也开始在数字设计领域中日益得到人们的重视.在高速系统中,时钟或振荡器波形的时序误差会限制一个数字I/O接口的最大速率.不仅如此 ...