该存储库包含与 Arduino Vidor 系列产品兼容的 FPGA IP 块,面向已经熟悉 FPGA 开发流程的用户。尽管鼓励使用本机工具进行 FPGA 开发,但 Arduino 并不支持,因为它相当复杂且难以支持。如果您觉得这个挑战适合您,请知道我们只能提供非常有限的支持,因为我们的主要努力将旨在通过预编译库和网络工具在 Arduino IDE 和 Arduino Create 中提供流畅的体验,这将提供一种简单的方法组装IP块。
目录结构总结如下表:
目录 | 内容 |
---|---|
ip | IP块的源代码 |
项目 | 各种板的示例项目文件 |
限制条件 | 各种板的约束文件。包括引脚排列和时序 |
再次强调,该存储库仅适用于已经熟悉 FPGA 编程的人员。目前的主要目的是公开 IP 块功能并展示我们创建的基础设施,以便潜在的贡献者可以开始评估它。截至今天,该存储库不包含编译已发布库所需的完整源代码,因为其中一部分需要在代码和许可方面(在某些情况下来自第三方)进行更多打磨。工作 FPGA 的完整示例以及创建库和访问 FPGA 的说明将在此处发布,但不一定反映我们正在发布的官方图像。
编译 MKRVIDOR4000 板 FPGA 映像的先决条件是 Quartus II 18.0 Lite 或 Standard,可以从 Altera/Intel 网站下载。安装 Quartus 后,您可以在项目目录下打开一个项目并使用 Quartus 进行编译。
Quartus 将在项目文件夹中的 output_files 目录下生成一组文件。为了将 FPGA 合并到 Arduino 代码中,您需要创建一个库并预处理 Quartus 生成的 ttf 文件,以便它包含软件基础设施所需的适当标头。一旦流量稳定,该过程的细节将立即披露。
可以通过多种方式对 FPGA 进行编程:
将图像与 Arduino 代码一起闪烁,创建一个包含 ttf 文件的库
通过 USB Blaster 将映像编程到 RAM 中(这需要安装 FPGA JTAG 接头)。仅当 SAM D21 处于引导加载程序模式时才能安全地完成此操作,因为在其他条件下它可能会访问 JTAG 并导致争用
通过 SAM D21 通过模拟 USB Blaster 对 RAM 中的图像进行编程(该组件待发布)