如何在vivado中烧写固件?

问题描述 投票:0回答:1

我是一名逻辑设计师,以前从未编写过固件。最重要的是,我被分配了在 vivado 中开发固件的任务。我确实花了一些时间学习工具,但编写固件或创建框图似乎是一场噩梦。

因此,我将 ZCU102 FPGA 连接到 FMC,连接到电平转换器,连接到 ASIC。 ASIC 包含移位寄存器。现在,我需要从 vivado 开发一个固件,该固件将从软件读取数据并驱动 FPGA 引脚,然后从 FPGA 引脚读取数据并将其发送回固件。

我很困惑,我是否必须编写 verilog 代码和 xdc 文件或创建框图。 SW使用AXI接口。我正在拼命寻求有关设计固件的整体算法的帮助。

我创建了 verilog 代码并通过 xdc 文件将这些信号连接到 FPGA 引脚。

我有,

module shift_register (

input clk,
input reset,
input data_in,
input data_out
);

reg [2333:0] shift_register;

// based on data_in shift value to right at positive edge of clk which is 1MHz

// after 2334 cycles return data_out

为其编写测试平台并进行模拟,创建比特流。

我的印象是 SW 将能够驱动 data_in,但我团队中的某人说,这些信号需要输出而不是输入。

我完全困惑为此开发固件的正确方法是什么?如果你能给出整体算法或伪代码将会有帮助。还不确定在哪里考虑 AXI 接口? petalinux 如何通信?

fpga vivado firmware zynq
1个回答
0
投票

请问这里的固件是什么意思?

FPGA SoC(即现场可编程门阵列片上系统)将 FPGA 的灵活性与传统 SoC 的功能结合在一起。 FPGA 是可以在制造后进行编程和重新配置的半导体器件,允许定制逻辑设计和实现 (PL)。

在 FPGA SoC 中,除了 FPGA 架构 (PL) 之外,通常还有一个处理系统 (PS),其中包括一个或多个 CPU 内核、内存控制器、输入/输出接口和其他外设。这种集成使 FPGA 能够处理通用处理任务和可定制的硬件加速,使 FPGA SoC 非常适合需要在可编程性和硬件加速之间取得平衡的应用,例如信号处理、图像处理、网络等。

回答你的问题,你不能在Vivado上编写固件(如果我理解正确的话)。相反,您可以在 PL 中生成设计的比特流,然后导出到 Vitis SDK 或 Xilinx SDK,并在此处编写 C 代码(固件)。 XDC 文件是 Vivado 中定义的约束文件,用于了解您的设计使用 FPGA 的哪些引脚。 最好的,

© www.soinside.com 2019 - 2024. All rights reserved.