SatCat5 开源项目使用指南
1. 项目目录结构及介绍
SatCat5 项目是一个实现低功耗混合媒体以太网交换机的FPGA gateware项目,同时也包括用于帮助微控制器与以太网网络交互的嵌入式软件库。项目的目录结构如下:
- doc: 包含项目文档和相关的图片。
- examples: 针对特定硬件平台的设计示例。
- project: 包含用于特定供应商工具的脚本和项目文件。
- libero: 用于在Libero中构建Microsemi设计。
- modelsim: 用于在ModelSim中运行VHDL仿真。
- vivado: 用于在Vivado中打包IP核心、构建或仿真Xilinx设计。
- yosis: 用于构建Lattice设计。
- sim: 用于设计的仿真和验证。
- cpp: 针对嵌入式软件库的单元测试。
- matlab: 用于生成某些查找表的MATLAB/Octave脚本。
- test: 用于各种单元测试仿真的测试数据。
- vhdl: 针对单独功能块的VHDL单元测试。
- src: 包含SatCat5核心设计的源代码。
- cpp: 针对各种平台的C/C++软件库。
- hal_devices: 针对特定硬件外围设备的抽象层。
- hal_pcap: 用于与PCAP或NPCAP接口的抽象层。
- hal_posix: 针对Linux和Windows PC的抽象层。
- hal_test: 用于仿真和测试的抽象层。
- hal_ublaze: 针对Xilinx Microblaze软CPU的抽象层。
- satcat5: 用于连接和配置以太网网络的跨平台库。
- python: 用于连接原始以太网/以太网-over-UART端口和远程ConfigBus控制的Python库。
- vhdl: 功能块的VHDL实现。
- common: 包含大多数功能块,适用于所有平台。
- lattice: 针对Lattice平台的特定VHDL。
2. 项目的启动文件介绍
项目的启动文件根据不同的硬件平台和开发环境有所不同。以Digilent Arty A7开发板为例,启动文件为Makefile。在项目根目录下运行make arty_35t命令将构建适用于Arty A7开发板的SatCat5设计。
对于其他开发板或自定义设计,需要创建一个新的顶层VHDL文件,并添加以下内容:
- 任意数量的
port_xx块(例如,port_spi、port_uart、port_rgmii等)。 - 至少一个
switch_core块。 - 一个
switch_aux块,提供错误报告、状态LEDs等。 - 时钟生成,根据选择的端口类型查看所需的配置。
3. 项目的配置文件介绍
项目的配置文件主要用于设置和调整项目的各种参数。这些文件通常位于project目录下,根据不同的开发环境和工具进行分类。
在vhdl目录中的common子目录下,可以找到大部分功能块的配置文件,这些文件用于定义硬件设计的参数,如端口类型、速度和其他硬件特性。
对于软件库的配置,可以在cpp、hal_devices、hal_pcap、hal_posix、hal_test、hal_ublaze、satcat5和python目录中找到相关的配置文件,这些文件用于配置软件库的功能和性能。
通过编辑这些配置文件,用户可以根据自己的需求定制和优化SatCat5项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



