在FPGA的设计中,对于一些复杂的工程,往往需要模块化的设计。把一个个的模块封装成独立的IP核,这样就可以把原先大的工程分成一个个IP核之间的拼接。

        这篇文章介绍了自定义IP的详细生成过程,以及后续的修改的方法。

自定义IP核的创建

写好了verilog代码或者BD文件后,比如我这里写了一个可设置位数的最简单的加法器

module add#(
parameter len = 8 )
(
    input wire [len-1:0]a,
    input wire[len-1:0]b,
    output wire[2*len-1:0]c
    );
  assign c=a+b;
endmodule

然后按照以下图片中的流程进行打包

以上为IP核的打包流程,记住自己的打包路径。

IP核 的使用

首先要把IP核保持的路径加入到工程中,如下图

添加进去时会提示路径中包含的IP核

然后我们在IP的搜索界面中就能看到刚刚添加的IP了

可以设置位宽

IP核的后续修改

添加到工程里的IP是不能直接修改的,文件是只读的形式

我们需要右击IP核

会打开一个IP核自身的工程,在这里IP是可以修改的

比如我这里再添加一个输入

修改完以后需要进入

把Packaging Steps中的每一项都再编译一遍

最后再Re-Package IP

完成后关掉该工程。

回到原来的工程后我们会发现IP处于锁定的状态

这时候点击

然后

可以看到,此时的IP已经修改完成了

写在最后

以上就是IP核的创建和修改过程,希望对大家有所帮助

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐