FPGA 新一代调试验证工具

FPGA 新一代调试验证工具

作为全自主开发的系列国产EDA软件之一,只有最基础的“自动化”功能。为工程师打辅助,在可预见的较长时间范围内,所谓真正的智能,暂时尚属碳基主人的“脑波”象限。

作为FPGA应用设计长链条上的后端工具,快速为用户在数字逻辑世界(源码/综合后网表的设计前端),与芯片物理真实世界(布局布线后网表/位流的设计)之间,搭建高效“沟通”的桥梁,有效减少人工经验成本支出。

壹滴水也是微生物的大宇宙,01二进制数据作为人类将宇宙被数字化后的逻辑起点,可以画的饼太大,一口简直吃不下:

日常应用开发,能找设计bug;高级安全审计,可查硬件木马。

系列位流级别EDA软件,充分借鉴云计算领域先进的微服务模式,将复杂系统分而治之,只聚焦一个特定的业务功能和业务需求。在硬件加速一切的异构计算时代,为用户提供经济易用的全新解决方案


FPGA 硬件在线调试、故障注入测试所需的硬件底层技术实现,包括厂商技术文档支持等诸多繁琐细节,我们已经将其整合创新、工程重构,并以位流级别的创新EDA 工具方式呈现,forgedaX 软件正是其中的代表之一。

作为位流级别的先进EDA 软件,我们致力于使之成为您日常工作中必备的生产力工具:轻量便捷、易于使用,正版且花费不多,服务硬件设计的在线调试(Debugging),以及面向功能安全、任务安全行业用户所需的硬件故障注入测试,以硬件速度进行高效验证。

三大功能特点

在真实硬件环境下的在线调试,提供100%的信号可见性;

目标信号与RTL 源码进行精准关联,降低人工经验成本;

以硬件速度进行测试,效率是传统数字仿真1000 倍以上;

用户对FPGA设计的状态机(FSM)、关键寄存器(Key Registers)故障注入测试,从此告别传统仅依赖慢速数字仿真工作模式,直接对位流数据进行0/1改写,进入眼见为实的新阶段,没有硬件重编译过程:所见即所得,所改即所需!

本文将帮助您在设计开发阶段,尽早发现潜在设计缺陷,从而交付更好的产品。将大量重复且低效的工作,用EDA 工具算力,拓展工程师的能力,快速优化设计,从而更好地释放创新活力。

作为位流级别的EDA软件,我们致力于使之成为您日常工作中必备的生产力工具:轻量便捷、易于使用,正版且花费不多,服务硬件设计的在线调试(Debugging),以及面向功能安全、任务安全行业用户所需的硬件故障注入测试,以硬件速度进行高效验证。

三大功能特点:

在真实硬件环境下的在线调试,提供100%的信号可见性;

自动将目标信号与RTL源码精准关联,降低人工经验成本;

以硬件速度对状态机(FSM)、关键寄存器(Key Registers)进行故障注入测试,验证效率是传统数字仿真的1000倍以上。

本使用指南,将帮助您在设计开发阶段,尽早发现潜在设计缺陷,从而交付更好的产品。我们致力于用EDA工具算力,辅助工程师高效完成那些大量重复且低效的工作,拓展工程师的能力,快速优化设计,从而更好地释放创新活力。

本文内容架构包括forgedaX软件概览;三大核心功能;产品亮点及“少数派”的高级功能;

附录1是集成时间断点的counter样例说明;附录2是集成事件断点的UART样例说明;

1. forgedaX软件概览

forgedaX软件与FPGA芯片型号绑定使用,并以其作为软件产品具体型号的命名规则。以本指南使用的forgedaX-325T型软件产品为例,可支持两大类别、共51款Xilinx 7K325T FPGA芯片的调试验证。

以此类推,如您使用的是forgedaX-690T软件,可支持赛灵思公司第七代的所有Virtex 690T芯片,共32款型号:通用型24款,高等级芯片8款;

如您使用的是forgedaX-060软件,则支持的是赛灵思更先进工艺(UltraScale)的全部KU060芯片,包括通用性XCKU(18)、高等级XQ(4)和宇航级XQR(1),共23款。20nm工艺的FPGA,事后看只是赛灵思的“过渡代”产品,国产厂商大多以过顶传球的方式,直接追更先进的1Xnm工艺,如复旦微电的13P、安路科技的PH2A等

如您使用的是forgedaX-13P软件,则支持AMD的16nm工艺UltraScale+器件、所有VU13P FPGA的调试验证。

!!! 特别提示

正式使用软件之前,请先确认vivado所需环境变量已正确设置,并且将forgedaX加入白名单,以免出现核心工作组件被误删除后不能正常工作等异常情况。

软件所需的运行环境为Win10及以上;vivado版本为2018.2及以上,您应当确保已设置了相应的环境变量;并且把软件加入白名单,避免操作系统自带的安全管家或安装的杀毒软件,造成阻止或影响forgedaX软件的正常运行和使用。

Vivado环境变量的检查及快速设置方法:

启动Windows命令行终端,运行vivado -version命令,检查当前使用的Vivado版本。

如命令行终端提示“Vivado 不是内部或外部命令,或者可执行的程序或批处理文件”,表明未正确设置vivado所需的环境变量,可通过3个步骤快速完成:

① 进入Vivado安装目录 cd /d C:\Xilinx\Vivado

② 设置环境变量 settings64.bat

③ 启动vivado vivado

下图是AMD工程师为用户提供环境变量正确设置的通用解决方法:

如果在第二个步骤中,settings64.bat未能以批处理方式完成预期的环境变量设置工作,您可以在自己的vivado安装目录,用如下方式进行手动添加完成:

AMD(赛灵思)的Vivado软件集成了很多Tcl命令,或者说其本身就是Tcl脚本的合集,为用户提供了诸多先进的自动化处理能力。

这也是代表FPGA最先进验证技术的EDA硬件辅助验证行业,对IC设计进行硅前调试验证时,硬件仿真平台(Emulation)和高性能原型验证系统(Prototyping)这两大行业工具,与FPGA芯片进行底层数据交互的通用技术。

当您确认自己的Vivado环境变量已经设置正确,就可以顺利使用forgedaX软件。

启动之后,将显示软件的全景界面:

(1)主菜单栏

包括【项目】、【分析】、【配置】、【帮助】等功能,您可通过选择相应的菜单,完成所需的操作:

【项目】用于调试验证项目的创建、导入、关闭以及软件退出操作。

【分析】对FPGA位流数据进行自动分析,包括“分析启动”和“中止进程”功能。

【配置】包含“位流载入设置”和“启动调试”操作。

在数据分析结束之后,先设置位流下载相关参数,即可进入调试界面,查看信号数据和进行硬件故障注入测试等操作。

【帮助】用于打开联机帮助文件、显示当前软件版本信息

(2)工具栏

显示快捷工具图标,执行以下常用操作:

(3)当前项目信息显示区域

显示当前调试验证项目名称、工作目录,目标FPGA型号,以及用户输入的逻辑位置文件(.LL File)。

(4)全局信号列表

在数据分析结束后,加载应用设计中的所有寄存器信号列表,显示平铺的全景网表视图(Full Netlists View)

(5)控制台消息输出窗口

数据分析过程启动后,用于实时显示处理过程的输出信息和状态提示消息

(6)进度条窗口

在数据分析过程中,如在保持左右来回移动,则表示“程序正处于运行状态”

(7)状态栏

显示当前项目的状态描述信息

2. 新建调试验证项目

数据可见,设计生产力看得见!

forgedaX软件拥有强大的信号数据分析功能,为FPGA板级的在线调试,提供了100%的信号可见性(Full Visibility),从FPGA芯片中总规模为数千万、甚至数亿个0/1二进制数据集合中,智能筛查用户应用设计中包含的全部信号数据,100%全覆盖。

不额外占用任何硬件资源,直接对原样设计进行全自动分析,不影响其既有的时序性能。以获得的全部寄存器列表为基础,为用户自动构建在线调试验证的“信号数据库(Runtime Database)”。

本章将以时钟计数器为样例,介绍如何快速创建您的第一个调试验证项目。

设计源码详见附录1,该样例以1/4秒为周期,由时钟计数器驱动LED显示,所有文件位于<forgedaX软件安装目录>/demo/LED-Counter/vivado_led子目录。

正式使用forgedaX软件前,请事先创建该项目专用的空白文件夹,用于保存和记录在调试验证过程中,产生的信号数据和日志文件等。

例如,本样例将创建名为counter的空白目录。

请注意目录命名规范,不含中文字符、空格符等,以免影响顺畅的使用体验或导致软件任务报错。

2.1 新建项目

启动forgedaX软件后,在主界面工具栏选择“创建新项目”。在软件的“项目参数设置”对话框中,输入以下信息:

(1) 命名“项目名称”,例如,本样例将led-demo作为项目名称

(2) 选择项目专用工作目录(即事先已准备好的counter空白文件夹);

(3) 选择设计所用的FPGA芯片型号,以及速度等级、管脚封装等参数信息;

(4) 选择设计文件,即项目在Generate Bitstream阶段输出的led_test.ll文件。

导航到forgedaX软件提供的LED-Counter样例目录,选择vivado_led项目在Generate Bitstream阶段输出的led_test.ll,上述.LL文件位于demo/LED-Counter/ vivado_led/vivado_led.runs/impl_1 目录,如图:

!!!重要提示!!!

如您是使用自己的设计项目,则是在Vivado环境下通过“Bitstream Setting”,选择输出logi

Read more

Google AI Studio 全指南:从入门到精通 Gemini 开发

在生成式 AI 的浪潮中,Google 凭借 Gemini 模型系列强势反击。而对于开发者来说,想要体验、调试并集成 Gemini 模型,最佳的入口并不是 Google Cloud Vertex AI(那是企业级的),而是 Google AI Studio。 Google AI Studio 是一个基于 Web 的快速原型设计环境,它允许开发者极速测试 Gemini 模型,并将测试好的 Prompt(提示词)一键转换为代码。本文将带你从零开始,掌握这款强大的工具。 一、 什么是 Google AI Studio? Google AI Studio 是 Google 为开发者提供的免费(或低成本)AI

【AI】学习大语言模型原理必看的 10 篇论文

【AI】学习大语言模型原理必看的 10 篇论文

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《AI》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、Transformer * 二、GPT-3 * 三、InstructGPT * 四、Sparrow * 五、RLHF * 六、TATAMER * 七、PPO * 八、In-Context Learning * 8.1 Why Can GPT Learn In-Context * 8.2 What learning algorithm is in-context learning * 九、Prompt * 总结 前言 从 Transformer

人工智能:多模态大模型原理与跨模态应用实战

人工智能:多模态大模型原理与跨模态应用实战

人工智能:多模态大模型原理与跨模态应用实战 1.1 本章学习目标与重点 💡 学习目标:掌握多模态大模型的核心原理、跨模态特征融合方法,以及基于多模态模型的图文生成与理解任务实战流程。 💡 学习重点:理解多模态模型的架构设计,学会使用 Hugging Face 生态工具调用 CLIP 与 BLIP-2 模型,完成图文检索与图像描述生成任务。 1.2 多模态大模型的核心概念与发展背景 1.2.1 什么是多模态大模型 💡 多模态大模型是指能够同时处理文本、图像、音频、视频等多种不同类型数据的人工智能模型。它打破了传统单模态模型的信息壁垒,实现了跨模态的理解与生成。 多模态大模型的核心能力体现在两个方面: * 跨模态理解:实现不同模态数据之间的关联分析,例如根据文本描述查找对应图像、根据图像内容生成文字摘要。 * 跨模态生成:以一种模态数据为输入,生成另一种模态的数据,例如文本生成图像、图像生成文本、语音生成视频等。 与单模态大模型相比,多模态大模型更贴近人类的认知方式。人类在认识世界的过程中,本身就是通过视觉、听觉、语言等多种感官渠道接收和处理信息的。

临床智能体AI与环境感知AI的融合:基于python的医疗自然语言处理深度分析

临床智能体AI与环境感知AI的融合:基于python的医疗自然语言处理深度分析

引言 医疗领域的数智化进程正以前所未有的速度推进,人工智能技术的应用尤为显著。随着大型语言模型(LLMs)的迅猛发展,医疗AI已从简单的辅助工具升级为复杂的智能体系统。临床智能体AI与环境感知AI的融合代表了医疗AI的最新发展方向,为重塑医疗运营自然语言处理提供了全新视角。 本研究聚焦于临床智能体AI与环境感知AI的融合技术,深入探讨其在医疗运营自然语言处理中的应用。我们将详细分析spaCy、BERT-Med、Whisper、Kaldi、Drools、AWS Lex、PySyft和Intel SGX等先进工具在这一领域的应用,并提供完整的Python代码实现。 临床智能体AI与环境感知AI的基本概念 临床智能体AI的定义与特征 临床智能体AI(Clinical AI Agents)是指在临床环境中运行,能够感知医疗场景、理解患者需求、做出诊断决策并执行医疗相关任务的人工智能系统。这类智能体具备以下核心特征: 1. 感知能力:能够通过多种传感器和数据源获取医疗相关信息 2. 理解能力:能够理解复杂的医学知识和患者需求 3. 决策能力:能够基于医学知识和患者数据做出合理