Vivado中PLL IP核例化

时间:2024-04-06 06:57:54
在开发PL时一般都会用到分频或倍频,对晶振产生的时钟进行分频或倍频处理,产生系统时钟和复位信号,这是同步时序电路的关键,这时就需要使用到时钟向导IP,下面就介绍一下在vivado中进行PL开发时调用IP的方法。
    首先打开vivado,新建一个RTL项目。
    点击导航窗口上的IP Catalog 选项,如图一所示:
Vivado中PLL IP核例化

图一

     在search处搜索自己想要的IP核的名字,例如输入clock就会找到Clocking Wizard 这个IP核,如图二所示:

Vivado中PLL IP核例化

图二

    双击Clocking Wizard 这个IP核,就能弹出配置窗口,按自己的需要配置好IP核后,点击ok,会出现下面的窗口,如图三所示:

Vivado中PLL IP核例化

图三

    点击Generate,生成IP核,然后在source窗口就会出现一个文件,如下图4所示:

Vivado中PLL IP核例化

图四

    然后我就按照一般的写verilog的方法对这个IP进行例化,就是打开clk_wiz_0.v文件,将里面的端口定义复制到顶层文件当中,然后进行例化,但是这样做始终会报错,在顶层文件中不能识别这个IP,如下图五所示,注意下图红色标记部分,照理说是正确例化了,但是顶层文件那儿始终是问号。

Vivado中PLL IP核例化

图五

    然后我又重新生成了一次IP核,还是不行,经过查阅资料,我终于找到了正确的例化方法,在生成IP核后,在source窗口的下方会出现一个IP source的标签,如下图六所示:

Vivado中PLL IP核例化

图六

    点击这个标签,然后你就会发现你生成的IP核,展开它,然后展开Instantiation Template,你会发现一个*.veo文件,双击打开它,把里面的没被注释的程序复制到顶层文件中,如图七所示:

Vivado中PLL IP核例化

图七

      保存好顶层文件后,你会发现,我们生成的IP核就成了顶层文件的下级文件了,问号也就消失了,IP核成功添加,如图八所示:

Vivado中PLL IP核例化

图八