作者:AndySun,文章来源:亚科鸿禹
随着芯片设计复杂度呈指数级攀升,从几千个晶体管的简单芯片,到如今数十亿门级的SoC、AI处理器,原型验证的难度也随之陡增。工程师们不仅需要让芯片设计在接近真实世界的环境中高速运行,更需要精准捕捉隐藏在复杂逻辑中的细微缺陷——这些缺陷可能是一个信号延迟、一次协议交互异常,也可能是一段逻辑漏洞,一旦进入流片环节,将造成不可逆的损失。而在这场“缺陷追捕战”中,Debugger(调试器)正是工程师手中最锋利的“武器”,它打破了原型验证中“高速运行与深度调试”的矛盾,成为破解验证困境、提升研发效率、加速产品推向市场的核心支撑。
调试之痛
传统上用户大多依赖FPGA原厂提供的调试工具,这些工具应用到原型验证中有种种不足。
1. 存储资源只能依赖于片上RAM,而片上RAM资源对于FPGA来说是有限的,对于用户的设计又是非常宝贵的资源,当用户需要观察大量数据,即需要深度调试时,显得无能为力。
2. 当今的集成电路规模不断增大,需要将设计分割到多片上进行验证,即将多个模块分散在多片FPGA上,这就需要多FPGA的并发深度调试,而FPGA厂商提供的调试工具都是针对单一FPGA进行调试,不能满足多片FPGA的并行触发调试。
3. 当用户需要大容量的波形获取,更高的采样频率,更大的传输带宽,更多的探针插入,即需要高效调试时,传统原厂的调试工具受限于架构、资源和接口带宽,无法满足用户的调试需求。
亚科鸿禹Debugger工具
亚科鸿禹针对原型验证中的调试难题,推出了高效调试工具hsDebugger。工具支持最多16片FPGA的并行调试,即同步抓取16片FPGA中的数据,且16片波形数据在同一窗口中显示,对用户完全透明,可把16片当成一个整系统对待,简化用户调试流程。配备了64GB的DDR4存储,实现深度信号跟踪。每次编译可添加大量探针信号,探针信号最大分成8个通道,每个通道最大4k信号。单次触发最大可添加512bit作为触发条件,并且可灵活设置多种触发条件。采样频率最高达140Mhz。采用PCIE方式传输波形数据到上位机,提高用户调试效率。使用流程集成于我司hsPtCompiler和hsPtRun工具中。

配备外置的触发存储模块(DM80),和原型验证设备之间通过高速GT传输,原型验证设备上只进行DUT(Design Under Test)数据的同步采集,时钟域变换,通过QSFP传输到DM80。这样只需占用原型验证设备上极少的逻辑资源,剩余大量的逻辑资源供用户使用。这样的设计可以兼容不同原型验证平台之间的差异。DM80有16个QSFP通道,可同时支持16片FPGA的同步调试,各片的波形数据汇聚到DM80,在DM80进行波形数据的处理、触发和存储,抓取完毕后存储都在DDR中的数据通过XDMA传输到上位机。目前同一版本的DM80板卡可适配我司的基于VU19P芯片的VeriTiger系列原型验证设备和基于VP1902芯片的PT100S原型验证设备。

性能指标
. 支持片数:16片
. 通道数量:最高8个
. 单通道位宽:最高4096bit
. 采样频率:最高140Mhz
. 存储容量:64GB
. 触发信号数量:8*64bit
. 波形上传方式:PCIE Gen3*8
. 触发方式:单次触发、条件触发、循环触发
. 基本触发事件:==,!=,>,<,≥,≤,上升沿,下降沿
. 组合事件支持:!,&&,||,^
核心优势
. 多片多台大容量调试:DM80支持16片FPGA同步采集,在单一界面同时调试16片FPGA,包括同一原型验证平台的不同设备间的同步调试。用户可以将16片FPGA看成整系统调试。单片最大可追踪18k的探针信号,满足多片FPGA间大量探针信号的同步调试需求。
. 高度集成&高效编译:Debugger调试工具流程集成在我司hsPtCompiler和hsPtRun工具中,从添加探针到bit流生成,再到调试抓取波形,用户无需太多切换就可完成整个流程。一次添加大量的探针信号,每次更换通道抓取信号无需重新编译,缩短用户调试时间。
. 大容量波形存储:波形存储在原型验证设备之外的DM80,共64GB的DDR4存储,原型验证平台自身的存储空间释放给用户使用。64GB的波形存储,可以抓取更长时间的波形数据,满足用户深度调试需求,在1024位宽采集波形数据时,采样深度达512M。
. 高效数据传输:原型验证版和DM80之间采用高速Serdes传输,速率达10Gbps,此带宽可支持DUT数据的采集时钟最高达140Mhz。DM80与上位机之间采用PCIe Gen3*8传输,数据传输更高效,在大容量数据采集时,满足用户高效调试需求。
使用案例
案例基于单台PT100S原型验证设备,以加法器case抓取波形的流程。
. 在hsPtCompiler工具中进行source文件的导入、综合、分析后,在probe阶段进行探针的插入,然后进行后续的P&R、生成pdi文件,操作界面如下图所示:

. 将在hsPtCompiler工具中产生的pdi和探针信息文件导入到hsPtRun工具中,在Resource Management中通过网络连接原型验证设备,如下图所示:

. 在Clock Configuration中进行调试库和DUT的时钟配置,如下图所示:

. 在Bit Download中进行pdi文件的下载,如下图所示:

. 在Debugger中进行触发条件设置、抓取波形,下图在通道3中进行条件,配置触发条件为A信号的低16位为0xXXXX5555,flip信号的上升沿(R),resetn信号的高电平,信号相与,抓取深度配置为8k,触发位置配置为512,如下图所示:

. 抓取波形展示如下:

总结与展望
在芯片研发的发展历程中,从早期的手工调试到如今的高效Debugger工具,调试技术的进步,始终是推动芯片研发效率提升的核心动力。在芯片设计复杂度日益提升、流片成本不断增加的今天,Debugger功能是芯片原型验证中不可或缺的核心组件,是筑牢流片前“最后一道防线”的关键。它不仅能够帮助工程师快速定位缺陷、优化设计,更能够缩短研发周期、降低流片风险。亚科鸿禹始终从用户在原型验证中怎样高效调试为出发点,设计更加高效的调试工具,为芯片研发的成功保驾护航。