一种基于RISC_V的嵌入式FLASH编程模块的验证方法技术

技术编号:21431860 阅读:26 留言:0更新日期:2019-06-22 11:49
本发明专利技术涉及软件验证方法领域,尤其是涉及一种基于RISC_V的嵌入式FLASH编程模块的验证方法。该一种基于RISC_V的嵌入式FLASH编程模块的验证方法,构建实施芯片验证平台,并通过Virtual_sequencer分层把共性的sequence功能集中在相应的sequencer中,把经常需要修改的testcase、不同FLASH的命令强耦合的ReferenceModule集中在UART验证模块的不同文件中,通过调用由各种sequence组成的taskuart_flash_command完成各种FLASH编程验证。其有益效果是:提供了一种可重用性,扩展性强的通过UART对嵌入式FLASH进行编程的芯片功能模块的芯片验证平台,给用户的软件正常升级和使用带来极大的便利。

【技术实现步骤摘要】
一种基于RISC_V的嵌入式FLASH编程模块的验证方法
本专利技术涉及软件验证方法领域,尤其是涉及一种基于RISC_V的嵌入式FLASH编程模块的验证方法。
技术介绍
现有技术中,常用基于RISV_V的SOC芯片都有使用嵌入式FLASH,对于这种含有嵌入式FLASH的SOC芯片,通常FLASH作为软件IMAGE的存储设备而存在;那么在产品的生产期间就需要对SOC内部的FLASH进行编程,另外当系统软件需要更新时,也需要对FLASH进行二次编程,传统UART验证模块来实现的通过UART对内嵌FLASH编程的验证方案均以UART的ReferenceModule模块和FLASH支持的编程指令强耦合,芯片使用不同厂家的内嵌式FLASH用于嵌入式FLASH的编程时,这些厂家的FLASH支持不同的编程指令,这时需要对UART验证模块的ReferenceModule模块做很大的修改,而且如果在一颗芯片中需要几个功能不同的UART接口验证模块的话,采用现有的UART验证模块要写几组不同的UART验证模块的代码,存放在不同的目录下,如果有通用的功能修改的话要同时改几个目录中的代码,这样代码的维护很不方便。提供一种可重用性,扩展性强的通过UART对嵌入式FLASH进行编程的芯片功能模块的验证方法成为现有技术中的迫切需求。
技术实现思路
本专利技术的目的在于提供一种基于RISC_V的嵌入式FLASH编程模块的验证方法,本专利技术采用的技术方案是:构建实施芯片验证平台,并通过Virtual_sequencer分层把共性的sequence功能集中在相应的sequencer中,把经常需要修改的testcase、不同FLASH的命令强耦合的ReferenceModule集中在UART验证模块的不同文件中,通过调用由各种sequence组成的taskuart_flash_command完成各种FLASH编程验证;其中,实施芯片验证平台以下模块构成:模块1--test_case;模块2--待测设计USB_PD_DUT;模块3--Virtual_sequencer,虚拟定序器;模块4--FLASH_ENV;模块5--FLASH_ENV的Reference_Module;模块6--FLASH_ENV的Scoreboard;模块7--UART_ENV;模块8--UART_ENV的发送agent;模块9--UART_ENV发送agent的sequence;模块10--UART_ENV发送agent的drive;模块11--UART_ENV的接收agen;模块12--UART_ENV的接收agent的监控模块MONITOR;模块13--Sequence库;验证步骤为:步骤1.test_case从sequence库中选取本次测试需要用到的sequence组成一个virtual_sequence并且把它发送给virtual_sequencer;步骤2.vritual_sequencer按相关顺序把这些sequence发送给UART_Sequencer。然后UART_Sequencer把接收到的sequence送给相连的UART_driver;步骤3.UART_driver产生符合UART协议的激励把数据发送给DUT;步骤4.UART_driver在把数据发送给DUT的同时把同样的数据发送给FLASH_RM;步骤5.FLASH_RM在接收到UART_driver送来的数据后根据FLASH指令定义产生期望的反馈值,并把这些反馈值发送给FLASH_Scoreboard;步骤6.是指DUT在收到UART_driver发来的指令和数据后根据FLASH指令定义产生反馈值;步骤7.是指DUT并通过UART接口把反馈值发送给UART_monitor;步骤8.UART_monitor把从DUT接收到的反馈值发送给FLASH_Scoreboard。最后期望数据和实际数据在FLASH_Scoreboard模块进行比对。具体的,实施芯片的内嵌FLASH编程功能验证能随机并且自动化的产生符合FLASH指令定义和UART协议要求的数据并施加给芯片;具体的,所述方法实施芯片的内嵌FLASH编程功能验证能自动产生正确的芯片反馈期望数据。具体的,所述方法实施芯片的内嵌FLASH编程功能验证能自动化的采集芯片发出的各种数据,并自动化的和验证环境产生的正确的期望数据进行比对。本专利技术具有的有益效果是:提供了一种可重用性,扩展性强的通过UART对嵌入式FLASH进行编程的芯片功能模块的芯片验证平台,给用户的软件正常升级和使用带来极大的便利。附图说明图1为本专利技术的系统结构框图;其中,模块1-测试用例层test;模块3-Virtual_sequencer;模块4-FLASH_ENV;模块5-FLASH_RM;模块6-FLASH_SCB,模块7-UART_ENV;模块9-UART_SEQUENCER,模块10-UART_DRIVER,模块12-UART_MONITOR,模块13-Sequence库。具体实施方式下面将结合附图和实施例对本专利技术作进一步的说明。本专利技术的一种基于RISC_V的嵌入式FLASH编程模块的验证方法,构建实施芯片验证平台,并通过Virtual_sequencer分层把共性的sequence功能集中在相应的sequencer中,把经常需要修改的testcase、不同FLASH的命令强耦合的ReferenceModule集中在UART验证模块的不同文件中,通过调用由各种sequence组成的taskuart_flash_command完成各种FLASH编程验证;其中,实施芯片验证平台以下模块构成:模块1--test_case;模块2--待测设计USB_PD_DUT;模块3--Virtual_sequencer,虚拟定序器;模块4--FLASH_ENV;模块5--FLASH_ENV的Reference_Module;模块6--FLASH_ENV的Scoreboard;模块7--UART_ENV;模块8--UART_ENV的发送agent;模块9--UART_ENV发送agent的sequence;模块10--UART_ENV发送agent的drive;模块11--UART_ENV的接收agen;模块12--UART_ENV的接收agent的监控模块MONITOR;模块13--Sequence库;验证步骤为:步骤1.test_case从sequence库中选取本次测试需要用到的sequence组成一个virtual_sequence并且把它发送给virtual_sequencer;步骤2.vritual_sequencer按相关顺序把这些sequence发送给UART_Sequencer。然后UART_Sequencer把接收到的sequence送给相连的UART_driver;步骤3.UART_driver产生符合UART协议的激励把数据发送给DUT;步骤4.UART_driver在把数据发送给DUT的同时把同样的数据发送给FLASH_RM;步骤5.FLASH_RM在接收到UART_driver送来的数据后根据FLASH指令定义产生期望的反馈值,并把这些反馈值发送给FLASH_Sc本文档来自技高网...

【技术保护点】
1.一种基于RISC_V的嵌入式FLASH编程模块的验证方法,其特征在于:构建实施芯片验证平台,并通过Virtual_sequencer分层把共性的sequence功能集中在相应的sequencer中,把经常需要修改的testcase、不同FLASH的命令强耦合的ReferenceModule集中在UART验证模块的不同文件中,通过调用由各种sequence组成的taskuart_flash_command完成各种FLASH编程验证;其中,实施芯片验证平台以下模块构成:模块1‑‑test_case;模块2‑‑待测设计USB_PD_DUT;模块3‑‑Virtual_sequencer,虚拟定序器;模块4‑‑ FLASH_ENV;模块5‑‑FLASH_ENV的Reference_Module;模块6‑‑FLASH_ENV的Scoreboard;模块7‑‑UART_ENV;模块8‑‑UART_ENV的发送agent;模块9‑‑UART_ENV发送agent的sequence;模块10‑‑UART_ENV发送agent的drive;模块11‑‑UART_ENV的接收agen;模块12‑‑UART_ENV的接收agent的监控模块MONITOR;模块13‑‑ Sequence库;验证步骤为:步骤1.test_case从sequence库中选取本次测试需要用到的sequence组成一个virtual_sequence并且把它发送给virtual_sequencer;步骤2.vritual_sequencer按相关顺序把这些sequence发送给UART_Sequencer,然后UART_Sequencer把接收到的sequence送给相连的UART_driver;步骤3. UART_driver产生符合UART协议的激励把数据发送给DUT;步骤4.UART_driver在把数据发送给DUT的同时把同样的数据发送给FLASH_RM;步骤5.FLASH_RM在接收到UART_driver送来的数据后根据FLASH指令定义产生期望的反馈值,并把这些反馈值发送给FLASH_Scoreboard;步骤6.是指DUT在收到UART_driver发来的指令和数据后根据FLASH指令定义产生反馈值;步骤7.是指DUT并通过UART接口把反馈值发送给UART_monitor;步骤8.UART_monitor把从DUT接收到的反馈值发送给FLASH_Scoreboard,最后期望数据和实际数据在FLASH_Scoreboard模块进行比对。...

【技术特征摘要】
1.一种基于RISC_V的嵌入式FLASH编程模块的验证方法,其特征在于:构建实施芯片验证平台,并通过Virtual_sequencer分层把共性的sequence功能集中在相应的sequencer中,把经常需要修改的testcase、不同FLASH的命令强耦合的ReferenceModule集中在UART验证模块的不同文件中,通过调用由各种sequence组成的taskuart_flash_command完成各种FLASH编程验证;其中,实施芯片验证平台以下模块构成:模块1--test_case;模块2--待测设计USB_PD_DUT;模块3--Virtual_sequencer,虚拟定序器;模块4--FLASH_ENV;模块5--FLASH_ENV的Reference_Module;模块6--FLASH_ENV的Scoreboard;模块7--UART_ENV;模块8--UART_ENV的发送agent;模块9--UART_ENV发送agent的sequence;模块10--UART_ENV发送agent的drive;模块11--UART_ENV的接收agen;模块12--UART_ENV的接收agent的监控模块MONITOR;模块13--Sequence库;验证步骤为:步骤1.test_case从sequence库中选取本次测试需要用到的sequence组成一个virtual_sequence并且把它发送给virtual_sequencer;步骤2.vritual_sequencer按相关顺序把这些sequence发送给UART_Sequenc...

【专利技术属性】
技术研发人员:付冲饶勇吴海龙孔宪青
申请(专利权)人:威海优微科技有限公司
类型:发明
国别省市:山东,37

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

1