2.2 基于ultrascale 架构FPGA的system manager wizard使用(温压监测)

2.2 基于ultrascale 架构FPGA的system manager wizard使用(温压监测)

Reference: 《PG185》《UG580》

部分文案源于网友博客,AIGC和个人理解,如有雷同纯属抄袭

一、介绍

简述:

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

主要功能:
  • 温度和电压监测
    • 内建传感器:支持 FPGA 内部温度、VCCINT(核心电压)、VCCAUX(辅助电压)、VCCBRAM(BRAM 电压)等电压和温度监测。通过 SYSMON 进行实时数据采集。
    • 外部模拟输入:可通过 XADCSYSMON 配置外部传感器的数据采集,支持多通道模拟输入,进行温度、电压、压力等数据监测。
  • 警报系统
    • 设置不同的警报阈值(如温度、电压等)以确保系统在出现异常时触发警报。
    • 支持对温度、电压等信号设置高低阈值,并在超出预定阈值时触发警报(如 Over Temperature AlarmUser 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)
  • vpvn:外部模拟信号输入,通常与 XADC 或 SYSMON 模块结合使用,读取模拟传感器数据。
  • user_temp_alarm_outvcint_alarm_outvccaux_alarm_out 等:报警信号输出端口,指示温度、电压等传感器的警报状态。
  • eoc_outalarm_outeos_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)选取(SYSMONE1)
    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

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

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

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

Read more

AIGC带来数据革命:R语言如何成为数据科学家的秘密武器?

AIGC带来数据革命:R语言如何成为数据科学家的秘密武器?

文章目录 * 一、R语言的基础特性 * 1.1 R语言的起源与发展 * 1.2 R语言的核心优势 * 二、R语言在AIGC中的应用场景 * 2.1 数据预处理与清洗 * 2.2 文本分析与生成 * 2.3 机器学习与模型构建 * 2.4 数据可视化与报告生成 * 三、R语言在AIGC中的具体案例 * 3.1 金融数据分析与预测 * 3.2 医疗数据分析与建模 * 3.3 社交媒体数据分析与情感分析 * 四、R语言在AIGC中的未来展望 * 4.1 与深度学习框架的集成 * 4.2 与云计算平台的集成 * 4.3 与自动化工具的集成 * 《R语言统计分析与可视化从入门到精通宣传文案》 * 亮点 * 内容简介 * 作者简介 * 目录

深度解析 GitHub Copilot Agent Skills:如何打造可跨项目的 AI 专属“工具箱”

前言 随着 GitHub Copilot 从单纯的“代码补全”工具向 Copilot Agent(AI 代理) 进化,开发者们迎来了更高的定制化需求。我们不仅希望 AI 能写代码,更希望它能理解团队的特殊规范、掌握内部工具的使用方法,甚至在不同的项目中复用这些经验。 Agent Skills(代理技能) 正是解决这一痛点的核心机制。本文将深入解析 Copilot Skills 的工作原理,并分享如何通过软链接(Symbolic Link)与自动化工作流,构建一套高效的个人及团队知识库。 一、 什么是 Agent Skills? 如果说 Copilot 是一个通用的“AI 程序员”,那么 Skill(技能) 就是你为它配备的专用工具箱。 它不仅仅是一段简单的提示词(Prompt),而是一个包含元数据、指令和执行资源的标准文件夹结构。当

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言:AIGC 的崛起与挑战 在过去几年中,人工智能生成内容(AIGC)技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域,并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创作者所推崇,但随着时间的推移,人工智能的出现使得创作的边界变得更加模糊。 然而,尽管人工智能技术取得了巨大进展,如何高效地将 AI 模型与计算平台结合,以便为 AIGC 提供更加高效、智能的支持,仍然是一个关键问题。蓝耘智算与通义万相 2.1 的结合为解决这一问题提供了新的方向。这种创新的技术融合使得 AIGC 可以不仅仅依赖于数据处理的能力,还可以实现智能化的生成和创作,推动内容创作的未来。 2. 蓝耘智算:为 AIGC 提供智能支持 2.1 蓝耘智算简介 蓝耘智算是一种综合性计算平台,专注于为大规模人工智能应用提供优化计算资源。在过去几年中,蓝耘智算不断发展壮大,已成为许多行业中的顶尖计算平台之一,广泛应用于机器学习、

llama.cpp Vulkan后端在AMD显卡上的完整部署指南:从问题诊断到性能优化

llama.cpp Vulkan后端在AMD显卡上的完整部署指南:从问题诊断到性能优化 【免费下载链接】llama.cppPort of Facebook's LLaMA model in C/C++ 项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp 想要在AMD显卡上流畅运行llama.cpp却频频遭遇Vulkan初始化失败?本指南将带你系统解决兼容性问题,实现高效的大语言模型本地化部署。llama.cpp作为C/C++实现的高性能大语言模型推理框架,通过Vulkan后端可以显著提升GPU加速效果,但在AMD平台上的特殊配置需求往往让新手望而却步。 问题快速诊断方法 常见故障症状识别 当你遇到以下任一情况时,很可能遇到了AMD显卡与Vulkan后端的兼容性问题: * 启动崩溃:程序启动时立即崩溃,日志显示"vkCreateInstance failed" * 加载卡顿:模型加载进度卡在"Initializing