恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

AMD/Xilinx 生态中的块级控制协议(Block-Level Control Protocol),以cmac 为例

  • 首页
  • 资讯中心
  • /
  • AMD/Xilinx 生态中的块级控制协议(Block-Level Control Protocol),以cmac 为例

相关资讯

Spring Data JDBC实战:轻量级ORM框架的优势与应用 2026/8/5 7:58:38
基于OpenCV与STM32的视觉伺服系统:从图像处理到电机控制全流程解析 2026/8/2 17:19:55
谁说想看电脑网速和硬件状态,非得打开任务管理器那么麻烦?今天这个宝贝直接让你的任务栏活过来。 2026/8/12 16:56:47

最新资讯

macOS离线会议笔记应用Minute:基于Whisper与llama.cpp的本地AI解决方案
基于LiteLLM与Grafana构建AI应用成本监控仪表盘实战
重磅发布|人工智能拟人化互动服务国家规范及其解读
域渗透入门:拿到域账号后,如何快速摸清家底?
Sol Engine首日加速MiniMax H3:从模型部署到高效推理的工程实践
安哥拉开店频繁断网,还能正常收银开单吗?本地部署 + 云端协同收银怎么选?

今日推荐

青岛煜鹏网站建设公司如何帮助传统企业实现数字化转型破局与增长路径
内蒙古生产建设兵团四师三十四团知青网站:承载岁月记忆与青春荣耀的精神家园
梅州市住房与城乡建设局官网:获取权威建筑信息、政策解读与民生服务的最佳平台入口

本周热门

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁
如何快速生成中国车牌图片:Python开源工具完整指南
当 LLM 遇见大文档:主流开源项目如何处理上下文超限

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

AMD/Xilinx 生态中的块级控制协议(Block-Level Control Protocol),以cmac 为例

发布时间:2026/8/14 22:54:45
AMD/Xilinx 生态中的块级控制协议(Block-Level Control Protocol),以cmac 为例 ap_ctrl_none是 AMD/Xilinx Vitis/Vivado HLS 生态中的块级控制协议Block-Level Control Protocol表示该硬件模块为**“自由运行”Free-Running**模式——一旦 FPGA 加载完成模块即刻自主运转无需 Host CPU 通过ap_start/ap_done等握手信号来逐次调度。一、三种块级控制协议对比在 Vitis HLS 或 RTL Kernel 中块级协议决定整个 IP 核的执行生命周期何时启动、何时算完成、何时空闲与端口级的 AXI4-Stream/AXI4-Lite 等数据接口是不同层面的概念 协议控制信号执行模式典型场景ap_ctrl_hsap_start,ap_done,ap_idle,ap_ready控制驱动单次执行Host 发令 → 核执行 → 核报告完成传统加速器如 FFT、矩阵乘ap_ctrl_chain上述信号 ap_continue控制驱动支持流水线级联下游可反压上游多核链式数据流ap_ctrl_none无握手信号或被优化为高电平常有效数据驱动持续运行网络包转发、视频流、自由运行 RTL Kernel二、ap_ctrl_none 的核心语义1. 无生命周期握手模块不暴露ap_start/ap_done/ap_idle/ap_ready给 Host。对 Host 软件XRT/OpenCL而言无法通过clEnqueueTask来启动一次任务也无法查询这次任务是否做完 。2. 数据驱动Data-Driven模块的运行节奏完全由数据流可用性决定输入端口如S_AXIS有数据 → 模块处理输入为空 → 模块自动阻塞stall等待输出端口如M_AXIS被下游反压 → 模块自动挂起。这相当于硬件层面的while(1)循环 。3. 上电即运行在 RTL Kernel 语境下一旦xclbin加载到 FPGAap_ctrl_none的内核立即开始工作不需要 Host 下发启动命令 。三、为什么 CMAC Kernel 使用 ap_ctrl_none结合 CMAC Kernel 文档该设计选择ap_ctrl_none的原因非常明确设计特征与 ap_ctrl_none 的契合点网络子系统100G 以太网 MAC/PCS 是持续收发的流水线没有一次任务的概念AXIS 数据流通过S_AXIS/M_AXIS与上下游交互天然适合数据驱动控制与数据分离数据面512-bit AXIS持续跑控制面AXI4-Lite 寄存器旁路配置互不影响无需 Host 调度Host 不需要说发一个包——包来了硬件自动处理换句话说CMAC 是一个**“永远在线的 I/O 引擎**而非被 Host 反复调用的函数”。四、使用 ap_ctrl_none 的约束与注意事项根据 AMD 官方文档采用该协议需满足特定条件否则 C/RTL 协同仿真会报错 必须是流式/流水线设计接口推荐使用hls::stream或axis避免使用m_axi内存映射作为数据主通路不能有循环内的 dataflow 区域ap_ctrl_none区域若嵌套在for循环内部会导致父级 FSM 永远等不到ap_done而死锁父级模块也需为 ap_ctrl_none若上层还有非自由运行模块等待该核的完成信号系统会挂起AXI4-Lite 仍可用虽然数据面无控制握手但寄存器配置接口S_AXILITE仍可独立存在用于状态查询和参数配置。五、总结ap_ctrl_none拉闸即运转数据来则动数据尽则停Host 不干预生命周期。对 CMAC 这类 100G 网络硬核而言它是自由运行内核的标准签名确保网卡从 FPGA 加载完成后即刻进入线速转发状态无需 CPU 逐包调度。六、cmac 概述CMAC 内核本文档提供 cmac 内核的概述。cmac 内核cmac内核是一个 RTL 自由运行内核它封装了 UltraScale 集成 100G 以太网子系统。该内核使用ap_ctrl_none作为硬件控制协议。该内核根据传递给 make 的INTERFACE、DEVICE和PADDING_MODE参数进行配置。它向用户逻辑暴露两个 512 位 AXI4-Stream 接口S_AXIS 和 M_AXIS这些接口以内核相同的频率运行内核内部集成了 CDC时钟域跨越逻辑用于将内核时钟转换为 100G 以太网子系统时钟。它还提供一个 AXI4-Lite 接口用于查看 UltraScale 集成 100G 以太网子系统的寄存器映射。UltraScale 集成 100G 以太网子系统100G 以太网子系统提供了一个集成的 100 千兆比特每秒Gbps以太网媒体访问控制器MAC、物理编码子层PCS、IEEE 802.3bj 里德-所罗门前向纠错RS-FEC以及 100GE 自动协商/链路训练AN/LTIP以支持 KR4、CR4、SR4、CWDM4、PSM4 或 ER4f 等高性能应用方案。注意自动协商/链路训练在此内核中未启用。cmac_sync该 IP 实现了 PG203 中描述的内核启动序列。frame_padding该 IP 实现可选的帧填充至 60 或 64 字节。填充模式在编译时通过PADDING_MODE参数设置具体如下模式0表示不填充模式1默认填充至 60 字节模式2填充至 64 字节。时钟域跨越UltraScale 集成 100G 以太网子系统中的 Rx 和 Tx AXI4-Stream 接口工作在 322.265625 MHz。为了适应设计中其余部分的不同频率在 Tx 路径acc_kernel_tx_cdc 和 fifo_cmac_tx和 Rx 路径fifo_cmac_rx_cdc中均包含了跨时钟域逻辑。寄存器映射UltraScale 集成 100G 以太网子系统的寄存器映射详见 PG203可通过 AXI4-Lite 接口访问。其中许多寄存器已通过 template.xml 文件方便地映射为内核参数。如果您希望访问未映射的寄存器可以使用 pynq MMIO 的读写方法。例如# 读取 CONFIGURATION_AN_ABILITY 寄存器cmac.read(0xA8)# 在 CONFIGURATION_AN_ABILITY 寄存器中设置 ctl_an_ability_1000base_kxcmac.write(0xA8,0x1)您也可以修改 template.xml 文件以添加更多寄存器。修改此文件时需谨慎确保 id 正确更改。一旦修改了 template.xml 文件您必须重新构建设计以便将这些更改包含到 xclbin 中。修改 template.xml 后请删除此文件夹中的所有 *.xo 文件。接口名称描述ap_clk主时钟ap_rst_n主低电平复位clk_gt_freerun自由运行内核时钟gt_ref_clkGT 参考时钟gt_serial_portGT 串行通道S_AXILITEAXI4-Lite 从属控制接口S_AXIS512 位 AXI4-Stream 发送接口M_AXIS512 位 AXI4-Stream 接收接口多路 100 GbE 接口与 Alveo 卡为了支持多路 100 GbE 接口和 Alveo 卡会生成略有不同的内核其内部结构和接口保持不变。但 UltraScale 集成 100G 以太网子系统的配置会根据每个接口和 Alveo 卡进行调整。这些配置详见 此处。许可证要生成使用 UltraScale 集成 100G 以太网子系统 的 xclbin 文件您需要有效的许可证。您可以按照这些步骤生成免费许可证。注意要启用自动协商/链路训练您需要单独的许可证。更多信息请参阅相关文档。修改 RS-FECRS-FEC 在 CMAC 实例中默认启用。在运行时RS-FEC 默认处于关闭状态可以通过调用 Pynq 和 C 驱动程序中的相应函数来激活。激活后RS-FEC 设置为子模式 1纠错和指示均启用。更多详情请参阅 UltraScale 集成 100G 以太网子系统 文档。注意RS-FEC 激活后会增加延迟。Copyright© 2022 Xilinx

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号