几周前,我们考察了Cologne Chip的 GateMate FPGA 。在本博客中,我们将探索 GateMate FPGA 工具链以及如何启动并运行初始的 hello world 应用程序。

该工具链使用 Yosys 和 OpenFPGALoader 等开源工具,并与 Cologne Chip 合作开发实施和比特流生成工具。在设计输入方面,工程师可以使用 Verilog、VHDL(通过 Yosys HDL 插件)以及对 AmaranthHDL、SpinalHDL 和 Silice 的支持。

为了获得创建 myGateMate 帐户所需的工具,一旦授予访问权限,我们就可以下载支持 Windows 和 Linux 操作系统的软件。与许多 FPGA 工具链相比,下载量很小,约为 25 MB。

在下载的压缩文件中,您将找到一个包含所有二进制文件的二进制区域和一个包含多个示例项目的工作区。这些项目包括经典的眨眼和乘数示例。

连同示例和二进制文件一起,这是一个非常有用的入门指南。
您可能已经假设该工具链使用命令行来控制综合、实现和编程。
检查参考项目之一将为我们如何创建项目提供一个很好的示例。有用的是,这些示例以 Verilog 和 VHDL 格式提供,可以演示这两种流程。

在此工作区的顶层,您将看到一个名为config.mk的文件,该文件包含二进制文件夹中可执行文件的位置。同时定义工具链目标、JTAG、源和仿真目标。使用此配置文件,我们可以将其用作工作区中 make 文件的参考,这使得创建和使用新项目变得容易。
如果您使用的是基于 Windows 的系统,您将在每个项目目录中找到一个 run.bat 文件,它提供与 Linux 系统上的 make 文件类似的功能。
每个项目都有一个简单的结构,有几个目录,用于存储项目的元素,从日志到网表、仿真结果和源文件。

在 SRC 目录中,您将找到用于演示的示例 Verilog 和 VHDL 文件以及 CCF 文件。CCF 文件是 GateMate FPGA 流程中使用的约束,提供的示例文件概述了 IO 布局和有效选项的所有必要命令。

命令行流程的好处之一是我们可以轻松地将其集成到 VSCode 中。

要构建 VHDL 示例,我们可以非常快速地使用命令 run.bat Synth_vhdl, 我们将看到综合结果出现在 log 文件夹中,并且生成的 Verilog 网表位于 net 文件夹下。打开日志文件夹将显示综合结果。

要创建实现,我们可以运行命令run.bat impl一旦运行此命令,您将看到在项目目录的顶层创建了几个新文件。这些文件将包括比特流、报告和有关设计实施的其他信息。
实施过程还为开发人员提供了 Verilog 网表和关联的 SDF,以实现实施后仿真。
实现完成后,我们还可以使用 OpenFPGALoader 对 GateMate FPGA 开发板进行编程。

这应该会导致板上的 FPGA 闪烁,并且编程的 LED 会显示加载成功。我们还可以使用此加载程序来刷新板上的非易失性 SPI 设备,使其成为从 SPI 启动时的默认程序。
我喜欢这个板及其工具链,它感觉非常好且易于使用和使用。
我还有一些事情需要调查,例如设计的时序等。但是,我可以看到一些可用于该设备的应用程序,尤其是系统监视和控制等。
原文链接:https://www.adiuvoengineering.com/post/gatemate-fpga-tool-chain