SatCat5 开源项目使用指南

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_spiport_uartport_rgmii等)。
  • 至少一个switch_core块。
  • 一个switch_aux块,提供错误报告、状态LEDs等。
  • 时钟生成,根据选择的端口类型查看所需的配置。

3. 项目的配置文件介绍

项目的配置文件主要用于设置和调整项目的各种参数。这些文件通常位于project目录下,根据不同的开发环境和工具进行分类。

vhdl目录中的common子目录下,可以找到大部分功能块的配置文件,这些文件用于定义硬件设计的参数,如端口类型、速度和其他硬件特性。

对于软件库的配置,可以在cpphal_deviceshal_pcaphal_posixhal_testhal_ublazesatcat5python目录中找到相关的配置文件,这些文件用于配置软件库的功能和性能。

通过编辑这些配置文件,用户可以根据自己的需求定制和优化SatCat5项目。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值