首先打开vivado,新建一个RTL项目。
点击导航窗口上的IP Catalog 选项,如图一所示:
图一
在search处搜索自己想要的IP核的名字,例如输入clock就会找到Clocking
Wizard 这个IP核,如图二所示:
图二
双击Clocking Wizard 这个IP核,就能弹出配置窗口,按自己的需要配置好IP核后,点击ok,会出现下面的窗口,如图三所示:
图三
点击Generate,生成IP核,然后在source窗口就会出现一个文件,如下图4所示:
图四
然后我就按照一般的写verilog的方法对这个IP进行例化,就是打开clk_wiz_0.v文件,将里面的端口定义复制到顶层文件当中,然后进行例化,但是这样做始终会报错,在顶层文件中不能识别这个IP,如下图五所示,注意下图红色标记部分,照理说是正确例化了,但是顶层文件那儿始终是问号。
图五
然后我又重新生成了一次IP核,还是不行,经过查阅资料,我终于找到了正确的例化方法,在生成IP核后,在source窗口的下方会出现一个IP
source的标签,如下图六所示:
图六
点击这个标签,然后你就会发现你生成的IP核,展开它,然后展开Instantiation
Template,你会发现一个*.veo文件,双击打开它,把里面的没被注释的程序复制到顶层文件中,如图七所示:
图七
保存好顶层文件后,你会发现,我们生成的IP核就成了顶层文件的下级文件了,问号也就消失了,IP核成功添加,如图八所示:
图八