一种虚拟时钟同步的高效高覆盖率SoC验证平台制造技术

技术编号:17970805 阅读:37 留言:0更新日期:2018-05-16 11:33
本发明专利技术涉及一种虚拟时钟同步的高效高覆盖率SoC验证平台,包括双时钟模块:产生系统所需要的两种时钟信号;待验证模块:执行随机指令,并反馈执行结果;参考模型模块:为系统提供待验证模块的对比结果;初始化模块:提供初始化所需的程序;监视模块:监视待验证模块运行状态;结果对比模块:检查待验证模块执行结果;控制模块:控制整个系统的运行流程;本发明专利技术一种SoC随机指令同步测试平台,能够为SoC验证平台中待验证模块中指令和参考模型中指令难以同步的问题提供一种解决方案,大量节省验证时间,降低工作难度,并提高验证的覆盖率。

【技术实现步骤摘要】
一种虚拟时钟同步的高效高覆盖率SoC验证平台
本专利技术涉及一种虚拟时钟同步的高效高覆盖率SoC验证平台,特别是涉及SoC中微处理器的UVM随机指令测试方法,属于集成电路验证

技术介绍
UVM(通用验证方法学)随机指令测试在SoC(系统级芯片)验证过程中起着重要的作用,随机指令测试能够降低验证测试激励人为因素的干扰,避免人为编写测试激励的倾向性,充分对SoC设计的边角情况进行验证。在UVM随机指令测试中需要使用参考SoC模型的结果来和待验证SoC的执行结果进行对比来确定设计的正确性,待验证的SoC是周期精确的,能够逐个周期地给出待验证设计的确切行为;参考SoC模型通常是数学模型,是指令精确的,指令精确的模型运行速度很快,不考虑处理器的精确时序特性,能够给出每条指令的正确结果。参考SoC模型和待验征SoC设计之间的指令同步问题是UVM随机指令测试平台中经常面临的问题,通常使用的指令同步方案是参考SoC模型和待验征SoC设计基于相同的时钟信号进行指令同步。上述已有方式存在的缺点主要表现在:基于相同时钟信号进行指令同步方案在进行指令精确的参考模型和周期精确的设计模型之间的同步比较复杂,并且对于不同的设计模型需要使用不同的控制逻辑,在待验征SoC设计改动或更换之后需要重新设计指令同步方案。
技术实现思路
本专利技术的目的在于克服现有技术的上述不足,提供指令精确和周期精确交互仿真中虚拟时钟同步系统,该方法能够更好的解决参考SoC模型和待验征SoC设计之间的指令同步问题,在待验征SoC设计改动或更换后不需要重新对UVM随机指令测试平台进行改动,能够大量节省验证时间,降低工作难度,并提高验证的准确性。本专利技术的上述目的是通过如下技术方案予以实现的:提供一种虚拟时钟同步的SoC验证平台,包括双时钟模块、待验证模块、参考模型模块、监视模块、结果对比模块和控制模块;双时钟模块生成监控时钟和系统时钟;参考模型模块接收来自控制模块的随机指令信号并执行,每执行一条随机指令就产生相应的指令参考进度信号和相应的指令参考结果信号,将指令参考进度信号传递给监视模块;接收来自控制模块的结果请求信号,将指令参考结果信号传输给结果对比模块;待验证模块待验证模块,根据系统时钟生成内核时钟,作为时钟信号并传递给控制模块;待验证模块接收来自控制模块的随机指令信号并执行,产生指令执行进度信号、指令执行控制信号和指令执行结果信号,把指令执行进度信号和指令执行控制信号传递给监视模块,指令执行结果信号发送给结果对比模块;结果对比模块将指令执行结果信号和指令参考结果信号的数值进行逐一对比,如果数值不相等则把结果对比错误信号发送给控制模块;监视模块:将监控时钟作为时钟信号;接收来自待验证模块的指令执行控制信号,监视模块每周期根据指令执行控制信号判断是否发生仿真异常,当发生仿真异常时,产生仿真异常信号,并传递给控制模块;接收来自待验证模块的指令执行进度信号和来自参考模型模块的指令参考进度信号,每周期进行一次判断,如果指令执行进度信号的数值和指令参考进度信号数值一致,则把进度一致指令发送信号传递给控制模块;控制模块:将内核时钟信号作为时钟信号,每收到一条进度一致指令后生成一条随机指令信号,并发送给待验证模块和参考模型模块;当接收来自结果对比模块的结果对比错误信号时,终止仿真进程;接收到仿真异常信号后重新开始仿真进程。优选的,还包括初始化模块,接收来自控制模块的初始化启动信号后,对待验证模块和参考模型模块进行初始化;监视模块上电后,启动时刻认为待验证模块和参考模块的指令执行进度一致,把进度一致指令发送信号传递给控制模块;控制模块第一次收到进度一致指令时,向初始化模块发送初始化启动信号,直到初始化程序发送完毕后,停止向初始化模块发送初始化启动信号。优选的,所述监控时钟根据录入监控时钟周期配置参数生成;所述系统时钟根据系统时钟周期配置参数生成。优选的,内核时钟信号周期为监控时钟信号的周期的大于1的整数倍。优选的,所述的参考模型模块使用指令精确的模型;所述待验证模块使用周期精确的模型。优选的,所述的参考模型模块使用SystemC语言模型;所述待验证模块使用硬件语言描述模型。优选的,所述指令参考进度信号为能够代表指令在参考模型中执行进度的信号;指令执行进度信号为能够代表指令在待验证模块中执行进度的信号。优选的,参考模型模块使用SystemC语言模型时,指令参考进度信号选取当前已执行完毕的指令的程序计数值;所述待验证模块使用SoC中微处理器的流水线模型为取址、译码、执行、存储和写回的五级流水线模型,指令执行进度信号选取正处于流水线译码阶段的指令的程序计数值。优选的,指令参考结果信号和指令执行结果信号是相同类型的能够代表指令在参考模型和待验证模型中执行完毕后的结果的信号。优选的,选取参考模型中的所有寄存器的状态值作为指令参考结果信号,选取待验证模块中的所有寄存器的状态值作为指令执行结果信号。优选的,指令执行控制信号是能够指示指令执行发生错误的信号。优选的,所述指令执行控制信号选取待验证模块使用模型中的错误指示信号。本专利技术与现有技术相比具有如下优点:(1)本专利技术提供的虚拟时钟同步的SoC验证平台,能够灵活的配置参考SoC模型和待验征SoC设计之间的指令同步方式,解决指令精确模型和周期精确模型之间的同步问题。(2)本专利技术提供的虚拟时钟同步的SoC验证平台使指令同步操作更加简单,大量节省验证时间,降低工作难度。(3)对于不同的待验证模块,无需重新设计同步方法,仅需配置监控时钟周期配置参数和系统时钟周期配置参数,即可实现同步,通用性好。(4)本专利技术通过设置虚拟的监控时钟和系统时钟,实现了待验证模块、参考模型模块的指令同步,解决了指令精确模型和周期精确模型交互仿真中的时钟难以同步问题。附图说明图1为本专利技术虚拟时钟同步的SoC验证平台组成示意图;图2为本专利技术监视模块流程图;图3为本专利技术UVM控制模块控制流程图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步详细的描述:如图1所示为虚拟时钟同步的SoC验证平台组成示意图,由图可知该平台包括双时钟模块、待验证模块、参考模型模块、监视模块、初始化模块、结果对比模块、UVM控制模块。双时钟模块中录入监控时钟周期配置参数和系统时钟周期配置参数,根据监控时钟周期配置参数和系统时钟周期配置参数生成监控时钟和系统时钟;并将监控时钟传输至监视模块,将系统时钟传输至待验证模块;监控时钟周期配置参数和系统时钟周期配置参数的设置需要保证内核时钟信号周期为监控时钟信号的周期的大于1的整数倍。初始化模块中录入初始化程序,接收来自UVM控制模块的初始化启动信号,初始化程序为一段初始化程序指令,每当接收到UVM控制模块的初始化启动信号之后,就将初始化程序指令传输至待验证模块和参考模型模块,直至所有初始化程序指令发送完毕;参考模型模块中录入参考模型,接收来自初始化模块的初始化程序指令,执行初始化程序指令进行初始化;接收来自UVM控制模块的随机指令信号,执行随机指令信号,每执行一条随机指令产生相应的指令参考进度信号和相应的指令参考结果信号,将指令参考进度信号传递给监视模块;接收来自UVM控制模块的结果请求信号,将指令参考结果信号传输给结果对比模块;待验证模块本文档来自技高网...
一种虚拟时钟同步的高效高覆盖率SoC验证平台

【技术保护点】
一种虚拟时钟同步的SoC验证平台,其特征在于:包括双时钟模块、待验证模块、参考模型模块、监视模块、结果对比模块和控制模块;双时钟模块生成监控时钟和系统时钟;参考模型模块接收来自控制模块的随机指令信号并执行,每执行一条随机指令就产生相应的指令参考进度信号和相应的指令参考结果信号,将指令参考进度信号传递给监视模块;接收来自控制模块的结果请求信号,将指令参考结果信号传输给结果对比模块;待验证模块待验证模块,根据系统时钟生成内核时钟,作为时钟信号并传递给控制模块;待验证模块接收来自控制模块的随机指令信号并执行,产生指令执行进度信号、指令执行控制信号和指令执行结果信号,把指令执行进度信号和指令执行控制信号传递给监视模块,指令执行结果信号发送给结果对比模块;结果对比模块将指令执行结果信号和指令参考结果信号的数值进行逐一对比,如果数值不相等则把结果对比错误信号发送给控制模块;监视模块:将监控时钟作为时钟信号;接收来自待验证模块的指令执行控制信号,监视模块每周期根据指令执行控制信号判断是否发生仿真异常,当发生仿真异常时,产生仿真异常信号,并传递给控制模块;接收来自待验证模块的指令执行进度信号和来自参考模型模块的指令参考进度信号,每周期进行一次判断,如果指令执行进度信号的数值和指令参考进度信号数值一致,则把进度一致指令发送信号传递给控制模块;控制模块:将内核时钟信号作为时钟信号,每收到一条进度一致指令后生成一条随机指令信号,并发送给待验证模块和参考模型模块;当接收来自结果对比模块的结果对比错误信号时,终止仿真进程;接收到仿真异常信号后重新开始仿真进程。...

【技术特征摘要】
1.一种虚拟时钟同步的SoC验证平台,其特征在于:包括双时钟模块、待验证模块、参考模型模块、监视模块、结果对比模块和控制模块;双时钟模块生成监控时钟和系统时钟;参考模型模块接收来自控制模块的随机指令信号并执行,每执行一条随机指令就产生相应的指令参考进度信号和相应的指令参考结果信号,将指令参考进度信号传递给监视模块;接收来自控制模块的结果请求信号,将指令参考结果信号传输给结果对比模块;待验证模块待验证模块,根据系统时钟生成内核时钟,作为时钟信号并传递给控制模块;待验证模块接收来自控制模块的随机指令信号并执行,产生指令执行进度信号、指令执行控制信号和指令执行结果信号,把指令执行进度信号和指令执行控制信号传递给监视模块,指令执行结果信号发送给结果对比模块;结果对比模块将指令执行结果信号和指令参考结果信号的数值进行逐一对比,如果数值不相等则把结果对比错误信号发送给控制模块;监视模块:将监控时钟作为时钟信号;接收来自待验证模块的指令执行控制信号,监视模块每周期根据指令执行控制信号判断是否发生仿真异常,当发生仿真异常时,产生仿真异常信号,并传递给控制模块;接收来自待验证模块的指令执行进度信号和来自参考模型模块的指令参考进度信号,每周期进行一次判断,如果指令执行进度信号的数值和指令参考进度信号数值一致,则把进度一致指令发送信号传递给控制模块;控制模块:将内核时钟信号作为时钟信号,每收到一条进度一致指令后生成一条随机指令信号,并发送给待验证模块和参考模型模块;当接收来自结果对比模块的结果对比错误信号时,终止仿真进程;接收到仿真异常信号后重新开始仿真进程。2.如权利要求1所述的虚拟时钟同步的SoC验证平台,其特征在于,还包括初始化模块,接收来自控制模块的初始化启动信号后,对待验证模块和参考模型模块进行初始化;监视模块上电后,启动时刻认为待验证模块和参考模块的指令执行进度一致,把进度一致指令发送信号传递给控制模块;控制模块第一次收到进度一致指令时,向初始化模块发送初始化启动信号,直到初始化程序发送完毕后,停止...

【专利技术属性】
技术研发人员:张世远陈雷于立新庄伟彭和平倪玮琳秦智勇
申请(专利权)人:北京时代民芯科技有限公司北京微电子技术研究所
类型:发明
国别省市:北京,11

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

1