跳转到主要内容

PCIE项目中AXI4 IP核例化详解

本工程实现PCIE的8通道速率2.2GBps通信,并验证数据的正确性。

本工程里已经把PCIE部分做成一个封装的模块,对外提供的是fifo_wr(数据发送fifo)接口和fufi_rd(数据接收的fifo接口),用户只要操作fifo接口,无需关心PCIE的内部驱动。为了便于读者更加明白,可以深入了解PCIE,我们将会制作一个PCIE的连载系列。

今天,首先说一下自定义AXI4的IP核,至于AXI4和PCIE之间有什么联系,敬请关注我们的连载系列文章。

在本篇文章中暂时先不讲解AXI4协议,先来分享例化AXI4的自定义IP核详细步骤。

<strong>一、 新建工程</strong>

为了节省篇幅,新建工程部分就不详细讲解,以下为我们新建好的工程:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276076-1.png…; alt=""></center>

<strong>二、 创建自定义IP</strong>

点击"Tools"菜单下的"Create and Package New IP",如下图所示:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276077-2.png…; alt=""></center>

按照指引,点击"next":
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276078-3.png…; alt=""></center>

选择AXI4的IP核:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276080-4.png…; alt=""></center>

输入IP核的名称:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276082-5.png…; alt=""></center>

点击"next":
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276084-6.png…; alt=""></center>

创建和使用AXI4的IP核
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276086-7.png…; alt=""></center>

<strong>三、 生成BD文件</strong>

创建AXI4完毕之后系统会自动生成一个bd文件,如下图所示:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276087-8.png…; alt=""></center>

<strong>四、 修改IP</strong>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276088-9.png…; alt=""></center>

<strong>五、 修改需求</strong>

在修改IP核之后系统会自定的给我们打开另一个工程,我修改为我们自己的需求,打开的工程如下所示:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276089-10.pn…; alt=""></center>

修改自己的逻辑,添加自己的逻辑端口:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276090-11.pn…; alt=""></center>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276091-12.pn…; alt=""></center>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276092-13.pn…; alt=""></center>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276093-14.pn…; alt=""></center>

<strong>六、 封装IP</strong>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276094-15.pn…; alt=""></center>

<strong>七、 验证IP</strong>

在bd文件空白的地方右键验证IP:
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276095-16.pn…; alt=""></center>

<strong>八、 编译程 </strong>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276096-17.pn…; alt=""></center>

<strong>九、 调用自定义IP</strong>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276097-18.pn…; alt=""></center>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276098-19.pn…; alt=""></center>
<center><img src="https://cdn.eetrend.com/files/2022-10/wen_zhang_/100565127-276099-20.pn…; alt=""></center>

以上就是我们自行定义IP和调用IP的全过。