【技术实现步骤摘要】
一种验证方法、芯片、系统、电子设备及可读存储介质
[0001]本专利技术涉及计算机
,尤其涉及一种验证方法
、
芯片
、
系统
、
电子设备及可读存储介质
。
技术介绍
[0002]在相关技术中,对于高层次综合(
High
‑
Level Synthesis
,
HLS
)设计的验证,通常是采用软件仿真的验证方式,与
FPGA
原型验证
、FPGA
仿真等硬件仿真方法相比,基于硬件的仿真通常以数十或数百兆赫兹的速度运行,而软件仿真的速度往往较慢,以数十或数百千赫兹为单位,且波形转储或调试信息显示等调试选项会使得仿真速度进一步降低,整体验证效率较低
。
技术实现思路
[0003]本专利技术实施例提供一种验证方法
、
芯片
、
系统
、
电子设备及可读存储介质,可以解决相关技术中硬件设计验证效率较低的问题
。< ...
【技术保护点】
【技术特征摘要】
1.
一种验证方法,其特征在于,应用于可编程逻辑芯片,所述可编程逻辑芯片的可编程逻辑区域中包括设计模块
、
仿真模块和板载模块,所述设计模块包括硬件设计和所述硬件设计对应的功能单元;所述仿真模块包括所述设计模块和中断模块;所述板载模块包括所述仿真模块和验证模块;所述可编程逻辑芯片的处理系统中运行有所述硬件设计对应的软件设计,所述软件设计用于实现与所述硬件设计相同的功能;所述方法包括:所述硬件设计在运行过程中将第一运行数据写入硬件缓冲区,所述软件设计在运行过程中将第二运行数据写入软件缓冲区;所述验证模块从所述硬件缓冲区中读取所述第一运行数据,从所述软件缓冲区中读取所述第二运行数据,并对所述第一运行数据和所述第二运行数据进行比对;在所述第一运行数据和所述第二运行数据不匹配的情况下,所述验证模块中断所述硬件设计和所述软件设计的运行,并对所述可编程逻辑芯片进行硬件快照,以保存所述可编程逻辑芯片的状态信息;所述验证模块将所述状态信息导入到仿真软件中进行仿真,以对所述硬件设计进行调试
。2.
根据权利要求1所述的方法,其特征在于,所述硬件设计在运行过程中将第一运行数据写入硬件缓冲区,包括:所述硬件设计在同一个迭代运算中的结果信号全部生成的情况下,将第一运行数据写入硬件缓冲区中;所述第一运行数据包括所述迭代运算中所有的结果信号
。3.
根据权利要求1所述的方法,其特征在于,所述方法还包括:所述中断模块确定第一信号的采样条件;所述第一信号为所述硬件设计中的任一信号;在所述第一信号满足所述采样条件的情况下,所述中断模块向所述硬件设计发送中断信号,以中断所述硬件设计的运行;所述中断模块对所述设计模块进行硬件快照,以保存所述设计模块的状态信息
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:所述中断模块确定第二信号的断点逻辑;所述第二信号的正确值为目标区间中的任意值,所述断点逻辑用于指示所述第二信号对应的目标区间;在所述第二信号的当前值不符合所述断点逻辑的情况下,所述中断模块中断所述硬件设计和所述软件设计的运行,并对所述可编程逻辑芯片进行硬件快照,以保存所述可编程逻辑芯片的状态信息
。5.
根据权利要求1所述的方法,其特征在于,所述所述硬件设计在运行过程中将第一运行数据写入硬件缓冲区,所述软件设计在运行过程中将第二运行数据写入软件缓冲区,包括:在所述硬件设计的第一运行结果的数据量大于或等于预设阈值,和
/
或所述软件设计的第二运行结果的数据量大于或等于预设阈值的情况下,所述硬件设计对所述第一运行结果进行压缩处理,得到第一运行数据,并将所述第一运行数据写入所述硬件缓冲区中;所述软件设计对所述第二运行结果进行压缩处理,得到第二运行数据,并将所述第二运行数据写入软件缓冲区中
。6.
根据权利要求1所述的方法,其特征在于,所述方法还包括:
在满足中断条件的情况下,所述中断模块中断所述硬件设计的运行;其中,所述中断条件包括以下至少一项:所述硬件设计运行至预设断点;所述硬件设计的运行结果出错;所述硬件设计的硬件缓冲区已满;所述软件设计的软件缓冲区为空
。7.
根据权利要求1所述的方法,其特征在于,所述可编程逻辑芯片还搭载有外部设备;所述硬件设计在运行过程中,通过片上总线与所述外部设备
、
所述功能单元
、
所述中断模块和所述验证模块中的任一项进行交互
。8.
根据权利要求1所述的方法,其特征在于,所述功能单元包括数据存储器,所述数据存储器用于存储所述硬件设计对应的输入数据,所述硬件设计在运行过程中从所述数据存储器中读取输入数据,并对所述运行数据进行处理
。9.
一种可编程逻辑芯...
【专利技术属性】
技术研发人员:石侃,徐烁翔,张子卿,韩英明,翁伟杰,包云岗,
申请(专利权)人:北京开源芯片研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。