首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
调试复杂的 RISC-V 处理器
文摘
2024-11-14 07:00
重庆
RISC-V 处理器正迅速成为主流。开放标准意味着许多开发人员的自由,但成功取决于围绕 RISC-V 的支持生态系统的发展。行业合作使 RISC-V 的广泛采用成为可能,一个例子就是引入 RISC-V 内核的有效跟踪。
调试和分析包含数十或数百个内核并每秒处理数十亿条指令的 RISC-V 处理器可能具有挑战性。
软件是否按预期运行?验证团队是否看到与固件工程师或应用程序开发人员相同的行为?所有内存块是否都得到了有效利用?是什么导致了系统中的硬件和软件死锁?如何优化指令?如何追踪间歇性发生的随机长尾问题?
软件工具可以提供一些答案,但它们通常会使用影响应用程序运行方式的系统资源,这可能会导致不规则的软件行为或需要大量仪器来捕获识别问题根本原因所需的信息。SoC 开发团队越来越要求任何 RISC-V 核心都包含处理器硬件跟踪解决方案,当设备中发生感兴趣的事件时,他们可以使用该解决方案重建准确的指令执行序列。
硬件和软件
虽然软件工具和流程仍然是调试和分析任务的支柱,但它们需要与系统组件紧密集成的硬件模块捕获的关键数据来确定问题的根本原因(图 1)。
硬件和软件工具共同提供确定性解决方案,可以捕获准确而可靠的数据,有时需要数周或数月的时间,同时避免在验证、应用程序开发和测试期间引入额外的错误。
可以在芯片上或芯片外实时调查关键问题,硬件捕获的数据可以存储在芯片外以供进一步分析、性能优化和代码覆盖率审查。
图 1 – 处理器跟踪让您可以实时监控 CPU 的程序执行情况。
高效的处理器跟踪
处理器跟踪是一种非侵入式调试技术,它使用硬件模块捕获、编码并向片外发送已执行处理器指令的记录,软件可以重建程序的精确执行顺序。RISC-V 高效跟踪 (E-Trace) 标准不是捕获所有可能的指令,而是使用处理器分支跟踪,该跟踪报告程序二进制文件 (ELF 文件) 中的已知起始地址,然后捕获分支(跳转、调用、返回、中断或异常)以及是否执行分支。假定分支指令之间存在的所有指令按顺序执行,无需报告它们。处理器分支跟踪可以实现非常高的压缩率,从而可以捕获更多跟踪数据并同时跟踪多个内核。具有最高压缩率的最高效跟踪编码器也意味着对片外接口的要求更少,因此可以使用不太复杂的接口 IP。
西门子 RISC-V 增强型跟踪编码器(图 2)支持 RISC-V 高效跟踪 (E-Trace) 标准中的所有强制和可选功能,以及尚未成为标准一部分的功能:周期精确跟踪,报告连续退出指令的周期数,以及没有退出指令的周期数。
图 2 – 功能齐全的 RISC-V 跟踪解决方案。
提供附加功能
调试处理器不仅仅是处理器跟踪。硬件分析子系统可以包括通过消息结构实时相互通信的附加模块。例如,当发生感兴趣的事务或事件时,管理来自主机软件的函数调用(例如停止、启动和断点)的处理器模块可以触发跟踪编码器输出跟踪数据并指示直接内存访问 (DMA) 模块读取系统内存值。相同的硬件 DMA 模块还可用于显著减少上传可执行和可链接格式 (ELF) 文件以及运行新的软件迭代或启用重置寄存器所需的时间。
硬件计数器提供了一种极其有效的方法来捕获有用的数据,例如执行指令或调用函数的次数。printf 等软件函数可以被嵌入在 ELF 文件中的硬件宏替换,这些宏需要几个周期才能捕获并输出到主机工具,以便使用静态仪表模块进行解码和分析。这些计数器和宏可用于提供广泛的分析信息和性能指标,对应用程序行为的影响极小或没有影响。
总结
在 RISC-V 设计中添加硬件模块以支持软件调试工具至关重要,尤其是对于复杂的设计。虽然需要在设计阶段早期考虑额外的面积成本和验证要求,但嵌入式软件工程师的收益是巨大的。硬件捕获的数据可以为工程师提供他们所需的信息,以了解他们的应用程序在最严格的实际操作条件下如何在设备上运行。
硬件和软件工具的组合可以缩短开发时间,提高处理器和应用程序的性能,提高代码覆盖率并缩短关键的上市时间。
http://mp.weixin.qq.com/s?__biz=MzIxODAzMDA0Mg==&mid=2650946337&idx=1&sn=2a85ee49a8b8a11ad125fa7ff51fbf2e
软硬件协同设计 HW-SW Co-Design
欢迎后台留言,AI 客服全天在线。脱离物理硬件,开发测试和调试软件。基于虚拟原型的软硬件协同设计,提前一年实现产品上市创收,降低一半开发时间。
最新文章
Debug 调试:SoC 计划表的杀手
调试嵌入式应用程序 Debugging
谁负责处理器验证?
如何优化处理器?
一种用于多级 IP/SOC 设计的快速 SystemC 仿真方法
使用 IP-XACT 元数据进行 TLM 建模流程
追踪并优化 SoC 性能
利用 NoC 创新加速 SoC 演进,使用 NoC 平铺实现 AI 和机器学习
BMW 和 Qualcomm 构建云端 ADAS 平台
汽车 ECU 的全面验证策略:MIL、SIL 和 HIL
调试复杂的 RISC-V 处理器
使用自定义 RISC-V ISA 指令创建领域特定处理器
开始使用 IP-XACT 进行 IP 设计
使用 IP-XACT 的 SoC 设计流程
IP-XACT 介绍
UVM 寄存器模型
成本节约和产品质量提升:软件测试的左移
左移?如何加速汽车芯片开发流程 ?
早期验证和软件启动的混合方法
汽车网络的艺术(系列 1):VC3,新 E/E 架构评估系统
汽车网络的艺术(系列 2):PCIe 走向汽车
汽车网络的艺术(系列 3):虚拟化的力量
管理现代 SoC 设计中的性能
复杂 SoC 的准确高效功率估算流程
新硬件架构软件开发面临的五大挑战
计算机模拟:基础、术语、级别
在 Simulink 中生成 SystemC TLM 虚拟原型
MCU 故障模式:发生的原因以及如何预防
汽车行业对 Chiplet 和 UCIe 的需求
虚拟平台 Virtual Platform 技术
SystemC 中的系统级建模
优化 ISA 实现软硬件的和谐:自定义指令和 RISC-V 扩展
带有 RISC 主机和可配置微处理器的 SoC 的软硬件分区方法
SoC 设计中的系统架构是什么?
CPU 是最佳 AI 推理处理器的五大理由
通过改变抽象级别, 来加速 SoC 仿真
系统仿真、架构探索、电源管理、性能分析
汽车芯片团队研发岗位招聘
使用 TLM 虚拟系统原型, 进行汽车芯片的硬件和软件验证
芯片 Bring Up 正在发生变化
虚拟平台, 让汽车软件开发和系统架构验证提前开始
自动驾驶汽车中的软件架构演进
CI/CD :汽车软件交付性能的驱动因素
测试自动化,如何改善汽车软件交付
CARIAD 和 STMicroelectronics 联合开发汽车芯片
原型车试驾:Vision EQXX 突破界限,仅用 18 个月开发
软件定义汽车,推动下一代联网电动汽车的发展
梅赛德斯奔驰的工程效率:VISION EQXX 原型开发的 18 个月历程
拥抱汽车 DevOps:DevOps 工程师的驱动力
如何利用 NVIDIA 微服务 for Jetson 进行无线 (OTA) 更新
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉