调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

在上一篇的文章中:https://blog.csdn.net/weixin_44502554/article/details/126228405?spm=1001.2014.3001.5502

        讲述了如何去自定义ip核,本文主要讲述如何去调用ip核,同时针对已经调用官方设计的ip核之后,当新的工程需要旧的工程的ip核时,由于ip核使用数量较多且参数设置比较复杂,不想重新调用、设置的情况,讲述如何去移植/复制已经设计好的ip核(ip core)。

        首先我们需要有两个工程,为了方便讲述我们标号为工程A和工程B,一个是旧工程,一个是新工程。我们想要做什么呢?就是把A(旧)工程的ip核,连同参数一起移植/复制到新(B)工程当中。

接下来开始操作:

1,简单的新建A工程作为示例,在A工程中选中IP catalog,然后搜索DSP,会出现如图所示的ip核,我们选中DSP48 Macro,这是一个乘法器ip核,具体是怎么使用,后面有必要我会增加一篇讲解文章。

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第1张图片

 2,选中双击打开DSP48核的参数配置界面,为了方便看到移植效果,这里我们就简单设置一下,跟初始设置不同就行,首先是设置实现两个数相乘A*B

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第2张图片

         中间的Pipeline Oplemntation(并行流水寄存器配置)不管,然后选中Iplementation设置两个乘数的位宽为8位,其他的不管,然后点击ok,点击generate,生成ip核。

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第3张图片

 3,接下来就是移植了,进行移植就需要找到A工程中ip核的配置文件,这个文件一般在你的A工程目录下\*.srcs\sources_1\ip    当中,我这里就是

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第4张图片

         然后将这个xbip_dsp48_macro_0整个文件夹复制到B工程同样的文件路径当中,如果B工程中的sources_1文件夹下没有ip这个文件夹,大家可以新建一个然后放入当中。

 4,移植的准备工作完成了,接下来在B工程中开始移植调用操作,首先打开B工程,点击增加sources,

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第5张图片

        然后选择 Add or create design sources(新建或者添加设计文件)

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第6张图片

        接着点击Add Directories,在弹出的文件浏览中选择我们之前放在B工程目录当中ip文件夹下的 xbip_dsp48_macro_0 文件夹。

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第7张图片

 接着会看到添加出来了乘法器ip核,点击finish就能出现在B工程当中,正常调用,完成了。

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第8张图片

         一般情况下就大功告成了,ip的移植就结束了,可以进行你自己的开发工作了,但是特殊的可能还会出现以下情况;

         阿偶,我们的ip核被加了一个红色的锁,锁住了,表示不能用了,为什么呢?导致这种情况出现的原因有很多种,我这里是由于A工程和B工程选择的芯片系列和型号不同导致,有的同学还可能会出现vivado版本不一样导致出现被锁住。

        怎么解决呢,其实很简单,我们直接选中这个ip核然后右键选择upgrade IP(更新ip核),点击ok,点击generate,即可

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第9张图片

         然后被锁住情况就解决了,接下来打开ip核看一下参数跟我们A工程设置的参数对比没有问题,就可以继续我们的开发工作了。

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第10张图片

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)_第11张图片

你可能感兴趣的:(FPGA开发,fpga开发,ip)