数字产品的仿真信号查看方法及系统技术方案

技术编号:23288615 阅读:25 留言:0更新日期:2020-02-08 18:32
本发明专利技术公开了一种数字产品的仿真信号查看方法及仿真系统,所述方法包括:对数字产品进行FPGA仿真时,实时读取数字产品所有外部端口的状态数据并记录,同时,每间隔一段时间读取一次数字产品全部内部状态数据并记录;仿真完成后,当需要回溯查看数字产品的某个时钟周期的数据时,在记录的仿真数据中,读取此时钟周期前的最后一个时间点存储的数字产品的内部状态数据和所述时间点的外部端口状态数据,并将读取的数据作为FPGA的初始运行状态数据,启动FPGA并运行到需要查看的时钟周期之前的一个时钟周期,然后逐个时钟读取数字产品的全部内部状态数据,直到运行到需要查看的时钟周期。采用本发明专利技术的技术方案,可以快速回溯查看任一时钟周期的全部仿真数据。

The method and system to check the simulation signal of digital products

【技术实现步骤摘要】
数字产品的仿真信号查看方法及系统
本专利技术涉及数字逻辑产品仿真领域,尤其涉及一种数字产品的仿真信号查看方法及系统。
技术介绍
在数字逻辑产品的设计过程中,需要采用仿真验证的方式来测试验证设计的正确性,一般来说,这个环节是采用软件仿真器(Simulator)来完成的。软件仿真器的工作原理是:在仿真器中运行待测设计(RTL代码或者门级网表)和测试向量(HVL代码或者不可综合SystemVerilog程序),通过待测设计和测试向量的接口信号互动,完成测试向量中定义的验证流程。开发人员可以通过检查任意测试向量的值,查看待测设计任意端口或者内部信号的值,或者多个时钟周期组成的波形,来确认设计是否正确,以及Debug。然而,受限于软件处理能力,软件仿真器的性能是很有限的。一般来说,验证一个SoC的完整设计,可能运行速度只有几十Hz。因此为了加快速度,设计师倾向于尽快的把设计移植到FPGA中进行验证,这种验证方法一般称为FPGA原型验证(FPGAPrototypingVerification),FPGA原型验证可以达到几十MHz甚至更高的运行速度,可以实现更快速的验证。但是,FPGA原型验证很难探测到待测设计的信号值,一般的方法只能靠把需要的信号通过布线引到端口上,再连接到逻辑分析仪来触发或显示,这种探测方法称为静态探针,静态探针只能看到非常有限的信号,每次要看新的信号,还需要重新进行FPGA布线,需要漫长的准备时间。并且,这个过程中,由于信号或者环境的变化,可能导致原来发生的错误或者事件,又难以复现了。所以FPGA的可调试性非常差。考虑到软件仿真器和FPGA原型验证各自具有的明显优劣点,业界倾向于一种解决方案,让仿真验证过程具有软件仿真器的信号全可视性,又有FPGA原型验证的快速。这种方案业界称为硬件仿真器(Emulator)。硬件仿真器具有两个重要特性:性能:相比软件仿真器,硬件仿真器具有明显的性能优势。一般来说,硬件仿真器具有MHz级别的运行速度。信号可探测性:相比FPGA原型验证,硬件仿真器具有方便的信号可探测性,可以不需要重新运行或者重新配置,即可看到待测设计的所有内部和端口信号。专业术语称为信号全可视(FullVisibility)。为了实现硬件仿真器,技术上有几种方案:采用分布式专用处理器阵列,相当于具有超大规模的处理器集群,以并行运行软件仿真器;采用定制FPGA组成阵列,通过附加的信号通道和附加的布线资源,把信号全部存储到外部存储器;采用通用FPGA组成阵列,通过克隆影子资源并存储和转存到外部存储器。或者用FPGA提供的扫描链读出写入能力,把信号读出存储到外部存储器。专用处理器阵列的优势是信号可探测能力非常强大,但缺点是运行速度很慢,功耗非常大,并且需要投入专用处理器ASIC开发,升级成本非常大。定制FPGA阵列的优势是运行速度快,缺点是需要投入开发定制FPGA,升级成本不菲。通用FPGA阵列的优势是速度快,成本低,缺点是信号可探测能力较弱。在通用FPGA阵列的方案中,实现信号全可视,一般有两种方法:克隆影子资源:通过对待测信号的所有触发器信号,都输出到一个影子寄存器,再通过专用逻辑逐个转存到外部存储器中。组合信号通过软件后期,由触发器信号推算出来。这种方法基本不降低待测设计的运行速度,需要消耗大量的影子逻辑,导致待测逻辑可用的FPGA资源非常低(低至<30%)。同时,在运行后需要显示信号时,由于需要重新推算组合逻辑,因此显示信号的准备时间非常漫长。FPGA扫描链读出/写入资源:FPGA厂家都有提供内部资源的读出/写入通道,可以在普通的逻辑资源网络之外的额外通道对寄存器(DFF),逻辑资源(LUT),内置SRAM(BRAM)等逻辑进行直接的读出或者写入,(可以理解为一个上帝视角的信号通道)例如,XILINX称这个功能为ConfigurationReadbackCapture。这个通道一般是用于FPGA的配置用的,但硬件仿真器也可以利用这个通道来实现读取到任意内部信号。这种方法称为动态探针探测方法,动态探针探测方法不消耗FPGA资源,但是,由于读取通道采用扫描链串行读取方式,速度极慢,如采用此通道读取,运行速度低至Hz级别。所以,常见的硬件仿真器只是用动态探针来取单次的信号值,当用来连续取信号的时候,运行速度会降低到极低水平。
技术实现思路
本专利技术的目的是针对上述现有技术中通用FPGA实现信号全可视速度慢耗时长的技术问题,提供一种可以快速的回溯查看任一个时钟周期的全部仿真数据的数字产品的仿真信号查看方法及系统。本专利技术实施例中,提供了一种数字产品的仿真信号查看方法,其包括:对数字产品进行FPGA仿真时,实时读取数字产品的所有外部端口的状态数据并记录,同时,每间隔一段时间读取一次数字产品的全部内部状态数据并记录;仿真完成后,当需要回溯查看数字产品的某个时钟周期的数据时,在记录的仿真数据中,读取此时钟周期前的最后一个时间点存储的数字产品的内部状态数据和所述时间点的外部端口状态数据;将数字产品载入到FPGA中,并把所述时间点记录的外部端口状态数据和内部状态数据设置为数字产品的初始状态数据,启动FPGA并运行到需要查看的时钟周期之前的一个时钟周期,然后逐个时钟读取数字产品的全部内部状态数据,直到运行到需要查看的时钟周期。本专利技术实施例中,对数字产品的外部端口状态数据和内部状态数据进行记录时,将数字产品的外部端口数据和内部状态数据以时钟周期序号作为时间戳保存为有序的结构化数据。本专利技术实施例中,采用静态探针探测方法读取数字产品的所有的外部端口状态数据。本专利技术实施例中,采用动态探针探测方法读取数字产品的全部内部状态数据。本专利技术实施例中,每间隔一段时间读取一次数字产品的全部内部状态数据时,每次的间隔时间相同。本专利技术实施例中,每次的间隔时间为1百万个时钟周期。本专利技术实施例中,每间隔一段时间读取一次数字产品的全部内部状态数据时,每次的间隔时间不同。本专利技术实施例中,还提供了一种数字产品的仿真系统,其包括FPGA、控制器和存储设备,所述FPGA,用于装载数字产品并进行仿真验证;所述控制器,用于在所述数字产品进行FPGA仿真时,实时读取数字产品的所有外部端口的状态数据,并且每间隔一段时间读取一次数字产品的全部内部状态数据;所述存储设备,用于存储控制器读取的仿真数据;在仿真完成后,当需要回溯查看数字产品的某个时钟周期的数据时,所述控制器在所述存储设备记录的仿真数据中,读取此时钟周期前的最后一个时间点记录的数字产品的内部状态数据和所述时间点的外部端口状态数据,然后将数字产品载入到FPGA中,并把所述时间点记录的外部端口状态数据和内部状态数据设置为数字产品的初始状态数据,启动FPGA并运行到需要查看的时钟周期之前的一个时钟周期,然后逐个时钟读取数字产品的全部内部状态数据,直到运行到需要查看的时钟周期。本专利技术实施例中,所述控制器读取数字产品的外部端口状态数据本文档来自技高网
...

【技术保护点】
1.一种数字产品的仿真信号查看方法,其特征在于,包括/n对数字产品进行FPGA仿真时,实时读取数字产品的所有外部端口的状态数据并记录,同时,每间隔一段时间读取一次数字产品的全部内部状态数据并记录;/n仿真完成后,当需要回溯查看数字产品的某个时钟周期的数据时,在记录的仿真数据中,读取此时钟周期前的最后一个时间点存储的数字产品的内部状态数据和所述时间点的外部端口状态数据;/n将数字产品载入到FPGA中,并把所述时间点记录的外部端口状态数据和内部状态数据设置为数字产品的初始状态数据,启动FPGA并运行到需要查看的时钟周期之前的一个时钟周期,然后逐个时钟读取数字产品的全部内部状态数据,直到运行到需要查看的时钟周期。/n

【技术特征摘要】
1.一种数字产品的仿真信号查看方法,其特征在于,包括
对数字产品进行FPGA仿真时,实时读取数字产品的所有外部端口的状态数据并记录,同时,每间隔一段时间读取一次数字产品的全部内部状态数据并记录;
仿真完成后,当需要回溯查看数字产品的某个时钟周期的数据时,在记录的仿真数据中,读取此时钟周期前的最后一个时间点存储的数字产品的内部状态数据和所述时间点的外部端口状态数据;
将数字产品载入到FPGA中,并把所述时间点记录的外部端口状态数据和内部状态数据设置为数字产品的初始状态数据,启动FPGA并运行到需要查看的时钟周期之前的一个时钟周期,然后逐个时钟读取数字产品的全部内部状态数据,直到运行到需要查看的时钟周期。


2.如权利要求1所述的数字产品的仿真信号查看方法,其特征在于,对数字产品的外部端口状态数据和内部状态数据进行记录时,将数字产品的外部端口数据和内部状态数据以时钟周期序号作为时间戳保存为有序的结构化数据。


3.如权利要求1所述的数字产品的仿真信号查看方法,其特征在于,采用静态探针探测方法读取数字产品的所有的外部端口状态数据。


4.如权利要求1所述的数字产品的仿真信号查看方法,其特征在于,采用动态探针探测方法读取数字产品的全部内部状态数据。


5.如权利要求1所述的数字产品的仿真信号查看方法,其特征在于,每间隔一段时间读取一次数字产品的全部内部状态数据时,每次的间隔时间相同。


6.如权利要求5所述的数字产品的仿真信号查看方法,其特征在于,每次的间隔时间为1百万个时钟周...

【专利技术属性】
技术研发人员:林铠鹏李艳荣王宇成
申请(专利权)人:国微集团深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1