CN117709046A - 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 - Google Patents
一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 Download PDFInfo
- Publication number
- CN117709046A CN117709046A CN202310906305.8A CN202310906305A CN117709046A CN 117709046 A CN117709046 A CN 117709046A CN 202310906305 A CN202310906305 A CN 202310906305A CN 117709046 A CN117709046 A CN 117709046A
- Authority
- CN
- China
- Prior art keywords
- uvm
- matlab
- apb
- verification
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012795 verification Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004088 simulation Methods 0.000 claims abstract description 19
- 238000013461 design Methods 0.000 claims abstract description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 22
- 230000005284 excitation Effects 0.000 claims description 17
- 238000013515 script Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000007639 printing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 20
- 230000009471 action Effects 0.000 abstract description 5
- 238000010168 coupling process Methods 0.000 abstract description 4
- 238000005859 coupling reaction Methods 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 3
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 230000008878 coupling Effects 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2868—Complete testing stations; systems; procedures; software aspects
- G01R31/287—Procedures; Software aspects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/316—Testing of analog circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Environmental & Geological Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及芯片验证技术领域,且公开了一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,包括如何对apb子系统模块进行验证;如何搭建验证平台;参考模型设计;如何实现自对比以及时序监控。通过不同类中agent组件驱动对应interface,来完成对dut的输出驱动,能够准确、低耦合地将各个信号驱动到设计当中,也能监控用例的行为,实现参考模型和dut的输入同步,通过Matlab提供的转换方式,可以将M函数“无损”地转换为C函数,降低仿真对于联合仿真的多语言之间的同步要求和性能损耗,将原本需要的UVM‑C‑Matlab的语言同步接口问题简化,更加便于调试,在env中例化了两个都派生至reg_block的寄存器模型,实现用例和参考模型驱动的同步动作,保证寄存器模型值的正确性。
Description
技术领域
本发明涉及芯片验证技术领域,具体为一种基于uvm的APB_bridge子系统级的验证平台的搭建方法。
背景技术
UVM验证方法是芯片验证业界最新研发的一种验证方法学,工程师用它可创建坚实、可重用、具互操作性的验证组件和验证平台,UVM提供基于SystemVerilog语言开发的一套库函数,工程师通过调用库可以省去自己从零开始开发验证环境的麻烦,此套方法已经在芯片开发的行业得到较广泛应用,它的受控随机数产生机制能大大提高验证效率,对于算法实现类的模块的验证尤其适用。
目前,芯片设计模块的验证环境通常是根据systemverilog语言或者基于systemverilog语言的UVM和虚拟机监控器(VirtualMachineMonitor,简称VMM),按照语法要求,按层次搭建。通常每一个设计IP模块就需要一个单独的验证环境,根据芯片设计IP模块的不同接口时序和需求搭建不同的验证环境,然后在顶层top.v中连接环境env与芯片设计模块,当环境搭建好之后可以采用软件、图形界面或者脚本的形式将验证环境应用到相同接口的RTL中,然后通过脚本或者图形界面操作验证环境,当一个新的芯片设计模块需要验证环境时,需要重新编写验证环境。
由于systemverilog(针对UVM或VMM环境)语言的特性为面向对象语言,语法的学习和初期的使用会占用验证工程师大部分的时间,时间成本高,在使用脚本之前也需要搭建一个完整的环境,才可以分情况用脚本调用,使用脚本搭建的验证环境不够灵活,不能够适用于大部分的芯片设计模块,后期修改又会浪费大量时间,并且生成的环境单一固定,不易修改重用,不能体现出面向对象语言的优越性,也影响了开发验证环境的进度。
验证环境为了应对越来越复杂的设计,也从原来简单的环境变成可重用、面向对象的复杂环境,由于验证环境越来越复杂,即使专业的验证人员搭建完整的验证环境也需要2周以上的时间,并且市面上32位SOC芯片在子系统总线的选择上大多采用AMBA架构,通过APB_Bridge将各种低速且低功率消耗的外围设备和内部模块挂载到子系统上,来实现总线和子系统之间的数据通信,为了降低了验证人员搭建要求和开发难度,缩短了搭建APB子系统级UVM验证平台所需要的周期,本申请提出一种基于uvm的APB_bridge子系统级的验证平台的搭建方法以解决上述问题。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,该基于uvm的APB_bridge子系统级的验证平台的搭建方法分别对验证平台中的寄存器模型、参考模型和驱动方式进行了优化和改良,保证了验证平台的可靠性和低消耗性的同时,进行大大降低了验证人员搭建要求和开发难度,缩短了搭建APB子系统级UVM验证平台所需要的周期。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,包括以下步骤:
S1、验证人员将整个dig_top例化到tb_top当中,此时对APB子系统模块的验证环境进行搭建,通过AMBA_VIP,采用AMBA--AHBToAPBBridge的连接挂载方式,与apb从机模块进行通信,最后将monitor采样端口连接;
S2、除了将apb_bridge的总线接口连接到ahb_vip,还需要将DUT的输入输出连接到环境,针对不同的接口信号时序,要定义不同类型agent组件,每个agent中需要定义符合dut要求的driver和sequencer,将每种不同输入时序接口的配置封装为sequence,并加入base_test;
S3、在ref_mode里嵌入Matlab模型,当UVM验证平台产生激励数据包并发送给RTL代码被测对象,同时将此数据记录下来,发送给ref_mode,经过模型将信号作同步处理后发送到scoreboard,RTL代码被测对象再输出数据信号给scoreboard,scoreboard会对两组数据流进行比较,判断是否正确;
S4、时序检测:通过ref_mode完成对功能的模拟和确认之后,验证工程师还需要对设计的时序进行确实和检测;
S5、计分板scoreboard的实现:积分板通过TLM端口接受报文,保存在内置缓存队列,报文来自ref-mode输出的期望值和DUT输出的实际值,它们通过先进先出的方式实现对比,加入大量打印报文,来输出仿真对比报告;
S6、uvm环境和用例:根据接口的个数及类型,分别配置构成对应agent组件,它们共同集成在一颗env树,整个子系统的多个模块可以产生多棵env树共同生长在一个uvm_test_top上,在同一个验证环境中可以针对多种接口进行验证,UVM组件可以通过脚本调用vcs的自动生成指令来完成,并定制符合模型需要的子系统环境,用例则根据需求调用vip和自定义sequence,将通用激励集成为sequence集合。
优选的,所述步骤S1中,需要例化svt_ahb_if到tb_top,将时钟和复位信号以及ahb相关信号连接到interface当中,并通过uvm_config_db::set将例化对象配置到相应uvm组件中,其次在env中将svt_ahb_system_env,svt_ahb_system_configuration例化,配置相应的ahb参数。
优选的,所述DUT的输入输出连接到环境的步骤如下:
首先需要定义不同类型的信号接口,将dut总线外的输入输出输入信号组合在接口中,输入通过forcehdl的方式在tb_top连接,输出将hdl通过assign连接到对应的接口,每个不同类型的接口也需要通过uvm_config_db机制将其句柄配置到相应的组件当中去。
优选的,输入agent需要使能driver,并用输入时序去驱动输入信号到对应的interface,从而实现对DUT的驱动激励;输出agent只需要moniter监控dut的输出,将监控数据传输到scoreboard。
优选的,所述UVM验证平台里嵌入Matlab模型的具体过程如下:
首先实现SystemVerilog与Matlab的协同,两者的协同通过一个C程序的头文件来实现,即:通过Matlab自带的C函数库实现对Matlab的控制,调用Matlab的启动、关闭、输入输出;SystemVerilog的动态程序接口DPI直接导入和导出上述C函数库中的函数,从而实现通过SystemVerilog调用C程序然后控制Matlab,实现把Matlab模型嵌入UVM验证平台。
优选的,所述时序检测通过assertion来完成对dut各个信号时序功能的检测,需要在验证环境或者接口中集成assert,或者通过单独的sva文件来进行bind,针对不同的时序功能行为需要单独检测。
(三)有益效果
与现有技术相比,本发明提供了一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,具备以下有益效果:
1、采用接口激励封装,通过不同类中agent组件驱动对应interface,来完成对dut的输出驱动,这样的设计在能够准确、低耦合地将各个信号驱动到设计当中的同时,也能监控用例的行为,实现对参考模型的操作,实现参考模型和dut的输入同步;
2、采用融合参考模型,通过将sv、c和matlab三种语言和方式结合,形成一个高效的、准确性高的、低消耗的参考模型,通过Matlab提供的转换方式,可以将M函数“无损”地转换为C函数,降低仿真对于联合仿真的多语言之间的同步要求和性能损耗,将原本需要的UVM-C-Matlab的语言同步接口问题简化为UVM-C的典型DPI-C问题,更加便于调试;
3、采用双寄存器模型,在env中例化了两个都派生至reg_block的寄存器模型,实现用例和参考模型驱动的同步动作,保证寄存器模型值的正确性。
附图说明
图1为本发明的在ref_mode里嵌入Matlab模型的流程示意图;
图2为本发明的仿真环境图。
具体实施方式
下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提出一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,通过利用UVM验证平台产生激励,将激励同时发送给RTL代码被测对象以及参考模型,比较两者输出的一致性来,来确认RTL代码的正确性,有效的利用UVM验证方法的优点,来验证算法实现电路的功能,能极大提高带有各种复杂算法的芯片验证的效率,缩短芯片开发周期,实用性强,易于推广,主要针对在系统级的层次上对IP模块进行验证,搭建一个低耦合性,统一完善,支持芯片多阶段人员共同操作的一个验证环境,对于验证工程师来说,可以提供系统级和模块级的不同验证方式,也能对前端RTL和后端网表进行统一仿真。
一般来说一个SOC项目只会有一个testbench,验证人员会将整个dig_top例化到tb_top当中,此时对APB子系统模块的验证环境进行搭建,用到AMBA_VIP,例如此子系统用到了AMBA--AHBToAPBBridge的连接挂载方式,与apb从机模块进行通信,需要例化svt_ahb_if到tb_top,将时钟和复位信号以及ahb相关信号连接到interface当中,并通过uvm_config_db::set将例化对象配置到相应uvm组件中,其次在env中将svt_ahb_system_env,svt_ahb_system_configuration例化,配置相应的ahb参数,最后需要将monitor采样端口连接。
除了将apb_bridge的总线接口连接到ahb_vip,还需要将DUT的输入输出连接到环境,DUT的输入输出连接到环境的步骤如下:
首先需要定义不同类型的信号接口,将dut总线外的输入输出输入信号组合在接口中,输入通过forcehdl的方式在tb_top连接,输出将hdl通过assign连接到对应的接口,每个不同类型的接口也需要通过uvm_config_db机制将其句柄配置到相应的组件当中去。
针对不同的接口信号时序,要定义不同类型agent组件,每个agent中需要定义符合dut要求的driver和sequencer,其中输入agent需要使能driver,并用输入时序去驱动输入信号到对应的interface,从而实现对DUT的驱动激励;输出agent只需要moniter监控dut的输出,将监控数据传输到scoreboard。
为了方便后期用例的编写,尽可能将每种不同输入时序接口的配置封装为sequence,并加入base_test,需要说明的是,在模块级的验证当中,验证工程师不仅需要关注IP端口上的信号,有时候还需要实时监控IP内部的功能信号,比如计数器,中断,标志位等信号,所以也需要将其封装为对应agent去实施监控。
ref_mode参考模型在子系统级验证和模块验证中十分重要,Ref_mode主要是模拟dut的时序以及功能,产生理想输出信号到scoreboard与实际输出信号进行对比,这种自对比方式可以大大节约验证工程师的check时间并保证仿真的准确性,防止目视check产生的疏漏,还能方便在代码版本迭代中回归check,Ref_mode主要的实现方式有C语言模型、Matlab模型、SV语言模型等。
本发明将上述三种模型融合,构建一种通过SystemVerilog的动态程序接口DPI连接UVM验证平台与Matlab模型的参考模型,具体的,在ref_mode里嵌入Matlab模型,当UVM验证平台产生激励数据包并发送给RTL代码被测对象,同时将此数据记录下来,发送给ref_mode,经过模型将信号作同步处理后发送到scoreboard,RTL代码被测对象再输出数据信号给scoreboard,scoreboard会对两组数据流进行比较,判断是否正确,UVM验证平台里嵌入Matlab模型的具体过程为:
首先实现SystemVerilog与Matlab的协同,两者的协同通过一个C程序的头文件来实现,即:通过Matlab自带的C函数库实现对Matlab的控制,调用Matlab的启动、关闭、输入输出;SystemVerilog的动态程序接口DPI直接导入和导出上述C函数库中的函数,从而实现通过SystemVerilog调用C程序然后控制Matlab,实现把Matlab模型嵌入UVM验证平台。
应当理解是,通常情况下对于Matlab算法模型的验证对于Matlab工具的依赖性并没有那么多,模型在Matlab环境开发的时候就已经稳定了,所以将它们代入到C环境继而到UVM环境中时,不再需要做额外的只有Matlab才能提供的数据处理动作,简而言之就是,让Matlab算法模型先转化为C模型,继而在UVM中通过DPI-C直接对C模型进行调用,最后再将C模型的运算结果交给UVM,作为参考数据,用以后来与RTL模型输出数据的比对,这样操作的优势在于可以减少联合仿真之间的同步要求和性能损耗,更加便于调试和仿真,具体的流程可参考图1。
对于时序检测,通过ref_mode完成对功能的模拟和确认之后,验证工程师还需要对设计的时序进行确实和检测,通常有两种方式对设计时序进行检测:
A、通过在ref_mode中直接加入时序检测,将功能和时序同时在scoreboard中进行对比;
B、通过断言assertion来完成对时序的实时检测。
第一种方式,时序的引入会将参考模型由抽象的事物级描述,变为比较具体的时序级表述,准确性上有提升,但正确性上会打折扣,所以带时序的参考模型比较复杂,不好调试,不易适配RTL的改动,本发明主要也是通过assertion来完成对dut各个信号时序功能的检测,需要在验证环境或者接口中集成assert,或者通过单独的sva文件来进行bind,针对不同的时序功能行为需要单独检测。
对于计分板scoreboard的实现,在本发明中,积分板通过TLM端口接受报文,保存在内置缓存队列,报文来自ref-mode输出的期望值和DUT输出的实际值,它们通过先进先出的方式实现对比,加入大量打印报文,来输出仿真对比报告。
对于uvm环境和用例,整个UVM环境由顶层tb_top、环境顶层uvm_test_top、驱动器driver、检测器moniter、序列器sequencer、仿真模式ref_model、记分板scoreboard、寄存器模型等组成。
本发明根据接口的个数及类型,分别配置构成对应agent组件,它们共同集成在一颗env树,整个子系统的多个模块可以产生多棵env树共同生长在一个uvm_test_top上,在同一个验证环境中可以针对多种接口进行验证,UVM组件可以通过脚本调用vcs的自动生成指令来完成,并定制符合模型需要的子系统环境,用例则根据需求调用vip和自定义sequence,通常情况下,会将通用激励集成为sequence集合,方便顶层用例的调用,大大方便验证人员对case的编写。
整个的仿真环境如图2,在本发明的仿真环境中,巧妙实现了两个寄存器模型,regr为验证人员进行寄存器读写操作,保证case用例的动作正确性,regm也是派生于reg_block,是专门来映射regr的读写行为,将读写激励映射到参考模型,来实现参考模型的寄存器读写,这样做的好处是防止参考模型操作寄存器模型,导致寄存器模型的混乱,此外,接口都通过对应agent来驱动,时钟和复位会直接集成在base_test中,通过uvm_phase机制在芯片启动阶段自动产生,其余的接口信号,可以直接调用对应类型的sequence和sequencer来驱动。
本发明的有益效果是:
1、采用接口激励封装,通过不同类中agent组件驱动对应interface,来完成对dut的输出驱动,这样的设计在能够准确、低耦合地将各个信号驱动到设计当中的同时,也能监控用例的行为,实现对参考模型的操作,实现参考模型和dut的输入同步;
2、采用融合参考模型,通过将sv、c和matlab三种语言和方式结合,形成一个高效的、准确性高的、低消耗的参考模型,通过Matlab提供的转换方式,可以将M函数“无损”地转换为C函数,降低仿真对于联合仿真的多语言之间的同步要求和性能损耗,将原本需要的UVM-C-Matlab的语言同步接口问题简化为UVM-C的典型DPI-C问题,更加便于调试;
3、采用双寄存器模型,在env中例化了两个都派生至reg_block的寄存器模型,实现用例和参考模型驱动的同步动作,保证寄存器模型值的正确性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,包括以下步骤:
S1、验证人员将整个dig_top例化到tb_top当中,此时对APB子系统模块的验证环境进行搭建,通过AMBA_VIP,采用AMBA--AHBToAPBBridge的连接挂载方式,与apb从机模块进行通信,最后将monitor采样端口连接;
S2、除了将apb_bridge的总线接口连接到ahb_vip,还需要将DUT的输入输出连接到环境,针对不同的接口信号时序,要定义不同类型agent组件,每个agent中需要定义符合dut要求的driver和sequencer,将每种不同输入时序接口的配置封装为sequence,并加入base_test;
S3、在ref_mode里嵌入Matlab模型,当UVM验证平台产生激励数据包并发送给RTL代码被测对象,同时将此数据记录下来,发送给ref_mode,经过模型将信号作同步处理后发送到scoreboard,RTL代码被测对象再输出数据信号给scoreboard,scoreboard会对两组数据流进行比较,判断是否正确;
S4、时序检测:通过ref_mode完成对功能的模拟和确认之后,验证工程师还需要对设计的时序进行确实和检测;
S5、计分板scoreboard的实现:积分板通过TLM端口接受报文,保存在内置缓存队列,报文来自ref-mode输出的期望值和DUT输出的实际值,它们通过先进先出的方式实现对比,加入大量打印报文,来输出仿真对比报告;
S6、uvm环境和用例:根据接口的个数及类型,分别配置构成对应agent组件,它们共同集成在一颗env树,整个子系统的多个模块可以产生多棵env树共同生长在一个uvm_test_top上,在同一个验证环境中可以针对多种接口进行验证,UVM组件可以通过脚本调用vcs的自动生成指令来完成,并定制符合模型需要的子系统环境,用例则根据需求调用vip和自定义sequence,将通用激励集成为sequence集合。
2.根据权利要求1所述的一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,所述步骤S1中,需要例化svt_ahb_if到tb_top,将时钟和复位信号以及ahb相关信号连接到interface当中,并通过uvm_config_db::set将例化对象配置到相应uvm组件中,其次在env中将svt_ahb_system_env,svt_ahb_system_configuration例化,配置相应的ahb参数。
3.根据权利要求1所述的一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,所述DUT的输入输出连接到环境的步骤如下:
首先需要定义不同类型的信号接口,将dut总线外的输入输出输入信号组合在接口中,输入通过forcehdl的方式在tb_top连接,输出将hdl通过assign连接到对应的接口,每个不同类型的接口也需要通过uvm_config_db机制将其句柄配置到相应的组件当中去。
4.根据权利要求3所述的一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,输入agent需要使能driver,并用输入时序去驱动输入信号到对应的interface,从而实现对DUT的驱动激励;输出agent只需要moniter监控dut的输出,将监控数据传输到scoreboard。
5.根据权利要求1所述的一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,所述UVM验证平台里嵌入Matlab模型的具体过程如下:
首先实现SystemVerilog与Matlab的协同,两者的协同通过一个C程序的头文件来实现,即:通过Matlab自带的C函数库实现对Matlab的控制,调用Matlab的启动、关闭、输入输出;SystemVerilog的动态程序接口DPI直接导入和导出上述C函数库中的函数,从而实现通过SystemVerilog调用C程序然后控制Matlab,实现把Matlab模型嵌入UVM验证平台。
6.根据权利要求1所述的一种基于uvm的APB_bridge子系统级的验证平台的搭建方法,其特征在于,所述时序检测通过assertion来完成对dut各个信号时序功能的检测,需要在验证环境或者接口中集成assert,或者通过单独的sva文件来进行bind,针对不同的时序功能行为需要单独检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906305.8A CN117709046B (zh) | 2023-07-24 | 2023-07-24 | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906305.8A CN117709046B (zh) | 2023-07-24 | 2023-07-24 | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117709046A true CN117709046A (zh) | 2024-03-15 |
CN117709046B CN117709046B (zh) | 2024-06-25 |
Family
ID=90148618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310906305.8A Active CN117709046B (zh) | 2023-07-24 | 2023-07-24 | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117709046B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095161A (zh) * | 2024-04-26 | 2024-05-28 | 北京中科昊芯科技有限公司 | 一种用于验证adc控制器的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913840A (zh) * | 2020-04-30 | 2020-11-10 | 电子科技大学 | 一种基于uvm的apb-uart模块的验证方法 |
CN115543797A (zh) * | 2022-09-28 | 2022-12-30 | 山东工商学院 | 基于uvm的总线转换桥验证方法、装置、设备及存储介质 |
US20230101972A1 (en) * | 2021-09-29 | 2023-03-30 | Arteris, Inc. | SYSTEM AND METHOD FOR AREA AND TIMING ASSESSMENT OF A NETWORK-ON-CHIP (NoC) IMPLEMENTATION |
CN116432593A (zh) * | 2023-04-10 | 2023-07-14 | 北京泽石科技有限公司 | 一种基于uvm的芯片外设模块验证方法 |
-
2023
- 2023-07-24 CN CN202310906305.8A patent/CN117709046B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913840A (zh) * | 2020-04-30 | 2020-11-10 | 电子科技大学 | 一种基于uvm的apb-uart模块的验证方法 |
US20230101972A1 (en) * | 2021-09-29 | 2023-03-30 | Arteris, Inc. | SYSTEM AND METHOD FOR AREA AND TIMING ASSESSMENT OF A NETWORK-ON-CHIP (NoC) IMPLEMENTATION |
CN115543797A (zh) * | 2022-09-28 | 2022-12-30 | 山东工商学院 | 基于uvm的总线转换桥验证方法、装置、设备及存储介质 |
CN116432593A (zh) * | 2023-04-10 | 2023-07-14 | 北京泽石科技有限公司 | 一种基于uvm的芯片外设模块验证方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095161A (zh) * | 2024-04-26 | 2024-05-28 | 北京中科昊芯科技有限公司 | 一种用于验证adc控制器的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117709046B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684681B (zh) | 应用uvm验证平台的高层次化验证方法 | |
US5953519A (en) | Method and system for generating electronic hardware simulation models | |
CN108038294B (zh) | Uvm环境搭建方法和系统 | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
CN102480467B (zh) | 一种基于网络通讯协议的soc软硬件协同仿真验证方法 | |
CN113342583B (zh) | 芯片验证系统、方法、装置、设备和存储介质 | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN117709046B (zh) | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 | |
CN115688676B (zh) | 基于tlm的gpu联合仿真系统 | |
CN115686655B (zh) | 用于gpu ip验证的联合仿真系统 | |
CN115719047B (zh) | 基于波形gpu联合仿真系统 | |
CN114036013A (zh) | 一种基于uvm的应答器芯片多模块同步验证平台和验证方法 | |
CN115496034B (zh) | 多模式gpu联合仿真系统 | |
CN114757135B (zh) | 一种基于需求驱动验证的可编程逻辑器件验证方法及系统 | |
CN111913840A (zh) | 一种基于uvm的apb-uart模块的验证方法 | |
CN115618800B (zh) | 基于dpi的gpu联合仿真系统 | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
CN111460759A (zh) | 一种基于Python语言的EDA验证平台及其使用方法 | |
CN116776785A (zh) | 一种集成芯片的被动模式验证方法及系统 | |
CN116451617A (zh) | 芯片仿真中基于仿真波形的信息处理方法、装置及应用 | |
CN113204929B (zh) | 基于sv和uvm实现ahb vip的方法、电子装置及存储介质 | |
CN115629928A (zh) | 一种面向类脑处理器的软硬协同验证方法及系统 | |
CN112329369B (zh) | 一种在芯片仿真模型上进行软件调试的方法 | |
Guo et al. | A SPI interface module verification method based on UVM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |