【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程
2026/6/2 19:02:37
xilinx vivado verilog srio源代码工程,包含维护包、读写和门铃等功能,顶层封装为fifo,操作简单,简单修改即可应用到实际工程中,附含srio使用说明文档和license
SRIO CBB(Common Build Block)可重用模块是基于Xilinx Virtex-5/6 FPGA平台的Serial RapidIO接口解决方案。该模块的核心设计目标是将复杂的SRIOV56 IP核的Local Link接口转换为标准FIFO接口,显著降低SRIO协议的使用难度,使初中级工程师能够快速实现高速串行通信功能。
SRIO CBB 完整架构 ┌─────────────────────────────────────────┐ │ APP LOGIC │ └─────┬─────────────┬─────────────┬───────┘ │ │ │ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │ TCFIFO │ │ TXFIFO │ │ SETID │ │ (控制字) │ │ (发送数据)│ │ (ID配置) │ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ ┌─────▼─────────────▼─────────────▼─────┐ │ SEG 分片模块 │ └─────────────────┬─────────────────────┘ │ ┌─────────────────▼─────────────────────┐ │ TXP 发送模块 │ └─────────────────┬─────────────────────┘ │ ┌─────────────────▼─────────────────────┐ │ CORE (SRIO IP核) │ └─────────────────┬─────────────────────┘ │ ┌─────────────────▼─────────────────────┐ │ RXP 接收模块 │ └─────────────────┬─────────────────────┘ │ ┌─────┬───────────┼───────────┬─────────┐ │ │ │ │ │ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ ┌─▼─┐ │DB │ │RX │ │状态│ │ID │ │时钟│ │FIFO│ │FIFO│ │寄存│ │输出│ │复位│ └───┘ └───┘ └───┘ └───┘ └───┘sriosetiden:设置本地SRIO ID使能sriosetidnum:8位本地SRIO ID信息sriotcfifowr/wdata:发送控制字FIFO(72位)sriotxfifowr/wdata:发送数据FIFO(64位)sriotcfifoafull/txfifo_afull:FIFO将满状态指示sriodbfifowr/wdata:接收门铃信息(16位)sriorxfifowr/waddr/wdata:接收数据FIFOsriorxfifoafull:接收FIFO将满状态srio_devid:当前SRIO ID输出srio_status:32位状态寄存器,包含链路状态、FIFO状态等操作流程:
user_synclk时钟域下操作sriosetiden使能信号sriosetidnum总线上设置目标IDsrio_devid更新为新ID时序特点:ID配置不会立即生效,需要CORE内部寄存器操作完成
控制字格式:
位域分配: 71:36 保留字 (0x0) 35:28 目标设备ID (dest_id) 27:12 门铃信息 (doorbell_info) 11:8 流控制 (0x1 - 优先级1) 7:0 操作码 (0xA0 - 发送门铃)示例:0x1212345a0表示:
sriodbfifowdata直接获取16位门铃信息srio_synclk控制字格式:
71:68 保留字 (0x0) 67:36 目标地址 (dest_addr) 35:28 目标设备ID (dest_id) 27:12 数据长度 (length,单位DW-64bit) 11:8 流控制 (优先级) 7:0 操作码 (0x54 - NWRITE)传输特点:
控制字格式:与NWRITE相同,但操作码为0x55
xilinx vivado verilog srio源代码工程,包含维护包、读写和门铃等功能,顶层封装为fifo,操作简单,简单修改即可应用到实际工程中,附含srio使用说明文档和license
传输特点:
控制字格式:操作码为0x60
传输特点:
接收特性:
sriorxfifowaddr指示lnk_trdy有效后进行ID配置和数据传输sriosetiden、sriotcfifowr、sriotxfifowr必须分时使能*_afull信号,避免FIFO溢出linktrdy/linkrrdy状态SRIO CBB模块特别适用于以下场景:
该模块通过简化的FIFO接口和完整的协议处理,为FPGA设计人员提供了高效、可靠的Serial RapidIO通信解决方案,显著降低了高速串行接口的设计复杂度。