跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用

**参考文档:** 《PG185》《UG580》 一、介绍 简述 **Xilinx System Management Wizard** 是 Vivado 和 Vitis 工具中的一个图形化配置工具,主要用于为 FPGA 设计生成与系统监控和管理相关的 IP 核。这个工具帮助用户配置和集成诸如**温度监控、电压监控**、时钟监控、外部模拟输入等功能到 FPGA 设计中。**它支持 AXI4-Lit…

MqEngine发布于 2026/4/6更新于 2026/7/2539K 浏览
基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用

参考文档: 《PG185》《UG580》

一、介绍
简述

Xilinx System Management Wizard 是 Vivado 和 Vitis 工具中的一个图形化配置工具,主要用于为 FPGA 设计生成与系统监控和管理相关的 IP 核。这个工具帮助用户配置和集成诸如温度监控、电压监控、时钟监控、外部模拟输入等功能到 FPGA 设计中。它支持 AXI4-Lite 与 DRP 接口。

主要功能
  • 温度和电压监测:
    • 内建传感器:支持 FPGA 内部温度、VCCINT(核心电压)、VCCAUX(辅助电压)、VCCBRAM(BRAM 电压)等电压和温度监测。通过 SYSMON 进行实时数据采集。
    • 外部模拟输入:可通过 XADC 和 SYSMON 配置外部传感器的数据采集,支持多通道模拟输入,进行温度、电压、压力等数据监测。
  • 警报系统:
    • 设置不同的警报阈值(如温度、电压等)以确保系统在出现异常时触发警报。
    • 支持对温度、电压等信号设置高低阈值,并在超出预定阈值时触发警报(如 Over Temperature Alarm 和 User Temperature Alarm)。
最大时钟频率

文章配图

二、原理
(1)架构框图
1. System Management Wizard(启用 AXI Lite 接口时)

此模块框图展示了AXI-Lite 接口 与 控制管理模块 与 SYSMON 硬件核心模块(含 ADC)。SYSMON 硬件宏(Hard Macro)是指在硬件设计中,特别是在 FPGA 或 ASIC 设计中,作为一个已实现的、封装好的功能模块,通常是经过优化的硬件单元或模块。

文章配图

2. SYSMON 架构框图
  • 模拟输入源 与 MUX
  • ADC 功能模块 与 VREF
  • 寄存器空间 含 measurement data
  • DRP 接口

文章配图

3. SYSMON Register Space
  • DRP 允许访问多达 256 个 16 位寄存器(DADDR[7:0] = 00h 至 FFh)。
  • 接入位置 DADDR[7:0] = 00h 至 3Fh 和 DADDR[7:0] = 80h 至 FFh 为只读位置,包含 ADC 测量数据,这些寄存器是状态寄存器。
  • 控制寄存器位于地址 40h 至 7Fh,可通过 DRP 读取或写入。

文章配图

(2)端口说明

文章配图

1. 控制和状态通道(Control and Status Channels)
  • s_axi_aclk:AXI 时钟信号,用于同步所有 AXI 操作。
  • s_axi_aresetn:异步复位信号,通常是低有效信号。
2. AXI 写操作通道(Write Channel)
  • s_axi_awaddr[12:0]:写操作的地址信号,指示要写入的寄存器地址。
  • s_axi_awvalid:指示写地址是否有效。
  • s_axi_awready:响应信号,表示写地址是否准备好。
  • s_axi_wdata[31:0]:写数据信号,包含待写入的 32 位数据。
  • s_axi_wstrb[3:0]:字节使能信号,指示哪些字节有效。
  • s_axi_wvalid:写数据有效信号,指示写数据是否有效。
  • s_axi_wready:响应信号,表示写数据是否准备好。
  • s_axi_bresp[1:0]:写响应信号,指示写操作的结果,如成功或失败。
    • 它可以指示成功(例如 OKAY)或错误状态(例如 SLVERR)。
  • s_axi_bvalid:写响应有效信号,指示写响应是否有效。
  • s_axi_bready:从设备准备好接收写响应信号。
3. AXI 读操作通道(Read Channel)
  • s_axi_araddr[12:0]:读操作的地址信号,指示要读取的寄存器地址。
  • s_axi_arvalid:读地址有效信号,指示读地址是否有效。
  • s_axi_arready:响应信号,表示读地址是否准备好。
  • s_axi_rdata[31:0]:读数据通道,返回读取的数据。
  • s_axi_rresp[1:0]:读响应信号,指示读取操作的结果。
  • s_axi_rvalid:读数据有效信号,指示读数据是否有效。
  • s_axi_rready:从设备准备好接收读数据的信号。
4. 其他 flag 信号(External Signals and Inputs)
  • vp、vn:外部模拟信号输入,通常与 XADC 或 SYSMON 模块结合使用,读取模拟传感器数据。
  • user_temp_alarm_out、vcint_alarm_out、vccaux_alarm_out 等:报警信号输出端口,指示温度、电压等传感器的警报状态。
  • eoc_out、alarm_out、eos_out:系统监控信号,指示 ADC 转换结束、报警状态或序列结束等。
  • busy_out:忙碌信号,指示系统是否正在进行数据采集或处理。

详见 PG185 table 2-1

文章配图

  • channel_out:单通道或外部多路复用器工作模式下,表示所选 ADC 输入通道

详见 UG580 table 3-6

文章配图

(3)地址寄存器
1. AXI4-Lite address(13 bits)映射至 SYSMON(8 bits):

文章配图

SYSMON 寄存器地址左移 2 位,地址值放大了 4 倍(PG185 table 2-3)

文章配图

2. SYSMON Registers Address

文章配图

(4)读时序图

文章配图

三、IP 核配置(例:监测温度电压 AXI4lite 输出)
(1)Basic

文章配图

1. Startup Channel Selection
  • Single Channel:如果您只需要监测单个通道的模拟输入,可以选择这个选项。适合简单的应用,例如只监测芯片的温度或者单一电压。
  • Channel Sequencer:如果您需要同时监测多个通道,并按顺序采样,可以选择这个选项。对于更复杂的应用,如监测多个电压或传感器的数据,使用 Channel Sequencer 会更合适。

选择 Channel Sequencer,按顺序采样不同通道

2. Sequencer Mode
  • Continuous:如果您希望 ADC 连续不断地进行采样(例如,在监测过程中不断更新数据),可以选择 Continuous 模式。这适合于实时数据监测应用。
  • Event:如果您只希望在特定的事件发生时采样数据,可以选择 Event 模式。这适用于事件驱动的应用,采样仅在特定事件发生时才会启动。

选择 Continuous

3. Channel Averaging
  • None:如果不需要对采样结果进行平均,可以选择 None。这种配置将每次采样的值直接输出。
  • Averaging:如果您希望减少噪声并提高测量的稳定性,可以启用通道平均功能。这对于高噪声环境中的信号采集很有用。

建议开启,可选择 16(内部存在寄存器表示采样数量 UG580)

文章配图

4. DRP Timing Options
  • DCLK Frequency:设置动态时钟频率,这个值控制数据转换的时钟频率,影响 ADC 的响应速度。您可以选择 100 MHz,或者根据您的需求调整。
  • ADC Conversion Rate (KSPS):设置 ADC 的转换速率,单位是千样本每秒 (KSPS)。200 KSPS 是一个适中的值,适合许多应用。
  • Acquisition Time (CLK):这是每个采样周期的时钟周期数,可以根据您的采样精度要求来调整。值为 4 表示每次采样需要 4 个时钟周期。

默认即可

(2)片上模拟信号源选取(系统),及警报阈值配置

文章配图

1. Reference Used by SYSMON 基准电压选取
  • Internal 选择 FPGA 内部的参考电源。
  • External 选择 外部电压源作为参考。

选择 Internal 即可!注:该基准电压的选择会影响 ADC 测算的性能精度,详见 UG580 - Reference Inputs (VREFP and VREFN)

2. 温度警报的 Trigger 和 Reset
  • Trigger 是温度达到或超过指定阈值时激活警报。
  • Reset 是温度降低到一定水平时警报被重置或关闭。
3. 电压的警报阈值配置
  • Lower:低于该值时会触发警报。
  • Upper:超过该值时会触发警报。
(3)片上模拟信号源选取(用户)

配置方式类似于(2)此页不做额外配置

文章配图

(4)外部通道功能选择
  • External Multiplexer:如果需要从外部模拟源获取信号,可以启用此项,并选择 VP VN 或其他外部输入信号作为通道。
  • Channel Enable:根据需要启用相应的通道。如果只需要采集 vp/vn,则启用对应的通道。
  • Average Enable:如果需要对采样值进行平均,启用此选项。如果不需要平滑数据,则不启用。
  • Bipolar:仅在您需要采集正负电压信号时启用该选项。
  • Acquisition Time:设置适当的采样时间,根据您的应用需求选择合适的时钟周期。

默认即可

文章配图

(5)仿真设置

不详,暂不配置使用

文章配图

四、输出数据处理
(1)数据精度:
1. SYSMON 数据寄存器输出

ADC 转换结果以16bits 精度存储于寄存器中

文章配图

2. 数据输出映射 32 bits DRP 寄存器

由于这些寄存器宽 16 位,但处理器数据总线宽 32 位,因此硬宏寄存器数据驻留在 32 位数据总线的较低 16 位上。

文章配图

(2)转换公式选取:
1. Temperature ADC
  1. 确定 FPGA 架构(ultrascale)选取(SYSMON1)
  2. 确定 ADC 的参考电压源为 external OR on-chip(IP 配置过程选择)
  3. 根据 ADC 输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中 2^bits
  4. 选取转换公式 2-7

文章配图

2. Voltage ADC
  1. 确定所测电压衰减系数为 3,(衰减系数为 6 时为特殊情况,详见下文)
  2. 确定 ADC 输出数据精度 10 位精度 OR 16 位精度 >> 确定公式中 2^bits
  3. 选取转换公式 2-15

文章配图

五、仿真

配置完 IP 后,即可右键 IP 打开示例工程,直接进行仿真查看选定通道的 ADC 转换结果依次输出

文章配图

六、Debug
(1)dashboard

Xilinx 官方自带 sys_mon 系统监测功能无需下板,连接设备后,右键选择器件启动 dashboard,即可实时查看芯片内部数据可将处理后的输出数据与此对照检测

文章配图

(2)上板验证 ILA 抓取温度数据

输入读地址通道为 'h0400 温度寄存器地址待复位完毕后,读出 valid 时刻数据经转换公式结果计算得温度为 26.94°C 与 dashboard 结果几乎一致

文章配图

目录

  1. 一、介绍
  2. 简述
  3. 主要功能
  4. 最大时钟频率
  5. 二、原理
  6. (1)架构框图
  7. 1. System Management Wizard(启用 AXI Lite 接口时)
  8. 2. SYSMON 架构框图
  9. 3. SYSMON Register Space
  10. (2)端口说明
  11. 1. 控制和状态通道(Control and Status Channels)
  12. 2. AXI 写操作通道(Write Channel)
  13. 3. AXI 读操作通道(Read Channel)
  14. 4. 其他 flag 信号(External Signals and Inputs)
  15. (3)地址寄存器
  16. 1. AXI4-Lite address(13 bits)映射至 SYSMON(8 bits):
  17. 2. SYSMON Registers Address
  18. (4)读时序图
  19. 三、IP 核配置(例:监测温度电压 AXI4lite 输出)
  20. (1)Basic
  21. 1. Startup Channel Selection
  22. 2. Sequencer Mode
  23. 3. Channel Averaging
  24. 4. DRP Timing Options
  25. (2)片上模拟信号源选取(系统),及警报阈值配置
  26. 1. Reference Used by SYSMON 基准电压选取
  27. 2. 温度警报的 Trigger 和 Reset
  28. 3. 电压的警报阈值配置
  29. (3)片上模拟信号源选取(用户)
  30. (4)外部通道功能选择
  31. (5)仿真设置
  32. 四、输出数据处理
  33. (1)数据精度:
  34. 1. SYSMON 数据寄存器输出
  35. 2. 数据输出映射 32 bits DRP 寄存器
  36. (2)转换公式选取:
  37. 1. Temperature ADC
  38. 2. Voltage ADC
  39. 五、仿真
  40. 六、Debug
  41. (1)dashboard
  42. (2)上板验证 ILA 抓取温度数据
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 OpenClaw 搭建飞书 AI 办公机器人:本地模型接入与技能自动化
  • STM32 单片机 OV7725/OV2640 摄像头颜色识别检测方案
  • 在OrangePi-5 Plus/5 Ultra上实时运行yolo26进行无人机检测,fps超50!
  • Python 程序打包:使用 Inno Setup Compiler 制作安装包
  • IntelliJ IDEA 中 Java 文件图标显示为咖啡杯的解决方法
  • VS Code 配置 Claude Code 解决 Git Bash 路径错误
  • 前端地图开发:地理编码与逆地理编码实战
  • Python AI 大模型部署实战:本地运行、API 服务与 Docker 封装
  • ProcessHacker 系统事件监控与日志分析技巧
  • Ubuntu 24.04 安装 PostgreSQL
  • OpenCode 环境变量配置:AI 密钥设置与性能调优
  • 主流 AI 编程工具横向评测:TRAE、Qoder、Cursor 与 Copilot 选型指南
  • ESP32 小智 AI 机器人入门:原理与云端部署
  • OpenClaw 配置与 QQ 机器人接入指南
  • Windows 配置 Claude Desktop 与 MCP 实现本地文件读写
  • OpenClaw 联网工具配置与使用指南
  • 3D Max VR 渲染器局部渲染设置教程
  • 基于 Open-AutoGLM 的手机自动化部署与实战指南
  • VSCode Copilot 登录失败常见原因与高效解决方案
  • Claude Code 安装与使用实录

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online