将自定义 IP (HDL)添加到 Vivado 模块设计(Block Design)

绪论

        使用Vivado Block Design设计解决了项目继承性问题,但是还有个问题,不知道大家有没有遇到,就是新设计的自定义 RTL 文件无法快速的添加到Block Design中,一种方式是通过自定义IP,但是一旦设计的文件有问题就需要重新修改,同时需要控制接口时候还需要在AXI总线模板基础上进行修改,再同时繁琐的步骤也让人“望而却步”。下面介绍一种简单的方式。

        我目前使用的是 Vivado 2019.1、2020.2,但据我所知,此功能几乎适用于 Vivado 的所有版本(如果不正确,请随时在后台更正)。

创建 Vivado 项目

        为了开始这个例子,我创建了一个基于 Zynq 的新 Vivado 项目(这只是我的例子,但这个项目的内容并不特定于任何特定的 FPGA 开发板),同时这个项目中包括一个通过AXI-Lite控制的自定义RTL。

添加设计文件并编写自定义 RTL

        不用于仿真目的的自定义 RTL(即测试文件)都被视为 Vivado 中的设计源。使用 Flow Navigator 中的Add Sources选项并选择Add or create design sources ,然后单击 Next。

        我们创建一个名为D_flipflop的新文件并添加了以下逻辑:

module D_flipflop(
    input clk,
    input reset,
    input d_in,
    output reg q_out
    );
    
    always @ (posedge clk)
        begin
            if (reset == 1'b1)
                begin
                    q_out <= 1'b0;
                end
            else 
                begin
                    q_out <= d_in;
                end
        end
endmodule

创建Block Design

        使用 Flow Navigator 窗口中的Create Block Design选项,将新的Block Design添加到项目中。

        将 Zynq 处理系统 IP 块添加到设计中,并运行自动设置或者自动连线。

将 RTL 模块添加到Block Design

        要添加我们在上一步中创建的 D 触发器的 RTL 模块,右键单击 Diagram 窗口空白处的任意位置,然后选择Add Module...选项。

        Vivado 将自动显示它在当前项目中找到的所有有效 RTL 模块。由于写入或导入到当前项目中的模块是我们刚刚设计的 D 触发器,因此它是本例中的唯一选项。

        为了给触发器提供源,我添加了一个 AXI GPIO IP ,其中第一个通道作为输出,第二个通道作为输入。自动连接即可。

        为 AXI GPIO 模块运行自动连接后,将输出 GPIO 通道连接到触发器的 d_in,将触发器的 q_out 连接到输入 GPIO 通道。

        全部连接好后,点击那个勾勾进行验证。

        Block Design完成后,为Block Design生成顶层文件。

        完成后可以看下整个项目的文件层次结构。

        就是这样,OVER~

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
AD7606是一款高速、多通道ADC(模数转换器),可以通过IP核的方式加入到Vivado。下面是将AD7606 IP加入Vivado的步骤: 1. 首先,打开Vivado软件,并创建一个新的Vivado工程。 2. 在“Project Manager”面板中,右键点击“IP Integrator”并选择“Create Block Design”,然后给设计命名,并点击“OK”。 3. 在“Diagram”视图中,右键点击空白区域,选择“Add IP”。 4. 在“Add IP”对话框中,输入“AD7606”并点击“Enter”。然后,在搜索结果中,选择AD7606 IP,并点击“OK”。 5. 在“Diagram”视图中,拖动AD7606 IP到想要的位置,并将其连接到其他的IP或信号。 6. 使用默认的IP配置或根据实际需求进行配置,比如选择ADC通道数、时钟频率等等。 7. 完成配置后,点击“Run Connection Automation”来进行连接自动化,确保所有的输入和输出信号正确连接。 8. 点击顶部工具栏中的“Run Block Automation”按钮,进行IP的自动化实例化。 9. 在“Sources”面板中找到设计顶层文件,并右键点击“Create HDL Wrapper”,生成顶层模块。 10. 在“Flow Navigator”面板中,点击“Generate Bitstream”来生成比特流文件。 11. 生成比特流文件后,可以将其下载到目标设备进行测试和验证。 以上就是将AD7606 IP加入Vivado的步骤,通过这些步骤,你就可以在Vivado中使用AD7606来进行模拟信号的采集和转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值