CN116432593A - 一种基于uvm的芯片外设模块验证方法 - Google Patents
一种基于uvm的芯片外设模块验证方法 Download PDFInfo
- Publication number
- CN116432593A CN116432593A CN202310375102.0A CN202310375102A CN116432593A CN 116432593 A CN116432593 A CN 116432593A CN 202310375102 A CN202310375102 A CN 202310375102A CN 116432593 A CN116432593 A CN 116432593A
- Authority
- CN
- China
- Prior art keywords
- dut
- data
- agt
- uart
- apb
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 32
- 238000012360 testing method Methods 0.000 claims abstract description 45
- 230000005284 excitation Effects 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 claims 1
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012827 research and development Methods 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
- 239000003990 capacitor Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开了一种基于UVM的芯片外设模块验证方法,以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;所述验证平台中包括TOP层、test层;其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;该验证平台使用基于SystemVerilog的UVM验证方法学,支持随机化激励的创建,相较于传统用verilog构建激励,能节省大量编写激励的时间,且使验证工作更具完备性;另外该平台具有可重性高的特点,方便在类似项目进行复用,节省芯片开发周期。
Description
技术领域
本发明涉及芯片验证技术领域,具体是一种基于UVM的芯片外设模块验证方法。
背景技术
集成电路是指将数百万个电子元器件(如晶体管、电容、电阻等)集成在一个芯片上,形成一个完整的电路系统,由于集成电路中的元器件不断增加,一般18个月翻一倍,因此现如今的集成电路中的集成度和复杂度呈指数上升,导致芯片验证的难度增加,且花费时间增加;
芯片在生产和研发时,需要对其进行验证,以确保芯片能够按照设计要求正常工作;芯片验证通常包括功能验证、性能验证、功耗验证、可靠性验证等方面的测试;验证过程中需要使用各种测试工具和方法,如仿真、验证板、测试程序等;芯片验证是芯片设计过程中非常重要的一环,能够有效降低芯片设计的风险和成本。
传统的芯片验证是用verilog语言搭建testbench,创建简单激励,这种方式低效繁琐,且受限于verilog语言极不灵活的特点,对于复杂功能的验证需要大量代码才能完成,同时现有的芯片验证方法,可重用极低,一旦设计中有部分功能代码变动,或者在其他项目中存在类似模块,验证工作就得重新开始。
因此,针对上述问题提出一种基于UVM的芯片外设模块验证方法。
发明内容
为了弥补现有技术的不足,解决上述至少一个的问题,本发明提出的一种基于UVM的芯片外设模块验证方法。
一种基于UVM的芯片外设模块验证方法,以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;
所述验证平台中包括TOP层、test层;
其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;
根据DUT需要验证的功能点编写不同的Test,tset层用于建立和配置验证环境,每个test层中包含组件peripheral_env和peripheralconfig;
其中,Peripheral_env中包含:apb_env、uart_env、i2c_env和spi_env,且env中分别封装有不同的Agent,包括apb_env中封装有APB发送端口,即apb_mst_agt、APB接收端口,即apb_slave_agt;uart_env中封装有UART发送端口,即uart_tx_agt、UART接收端口,即uart_rx_agt;SPI端口,即spi_agt、i2c发送端口,即i2c_tx_agt、I2C接收端口,即i2c_rx_agt;Peripheralcongfig包含peripheralenv中的apb_env、uart_env、i2c_env和spi_env组件的配置信息,使用UVM将配置信息从test层传给apb_env、uart_env、i2c_env和spi_env,使平台的传输协议模式与DUT保持一致,再进行数据对比。
优选的,所述验证平台还包括五个scoreboard组件,即Scb;所述Scb用于进行数据的比对工作;所述Scb的数据来源包括两部分,第一部分为apb_agt采集到的寄存器读写数据信息,第二部分为对应的agent采集到的数据信息,包括uart、i2c或spi接收和发送的数据;Sequencer负责产生不同的测试激励。
优选的,各个所述agent中均包含有monitor、driver和sequencer;Monitor负责监控收集DUT端口的信号,并将这些信号打包成事务发给Scb;Sequencer负责产生不同的测试激励,而driver负责把测试激励驱动到DUT;其中uart、i2c和spi的rx_monitor和tx_scb中设有checker,用来检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致。
优选的,所述验证平台中还包括寄存器模型,即RegisterModel,采用三级结构实现了对DUT中寄存器的建模,通过field、reg、block结构对寄存器的地址、属性信息进行描写。
优选的,所述验证平台中还包括Adapter,其作用是实现寄存器模型与总线的桥接,其内部实现两部分内容,包括Reg2bus将RegisterModel转换成driver/sequence能识别的事务,即transaction;Bus2reg将transaction转换成RegisterModel的读写行为。
优选的,所述验证平台中还包括VirtualSequencer,其作用是链接各个agent的sequencer,用于实例化其他序列器并启动虚拟序列,起路由作用。
优选的,所述验证平台验证DUT发送数据,DUT使用uart协议发送数据,验证平台接收数据,具体包括以下步骤:
S1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
S2:在激励中apb_mst_agt使用前门访问读写寄存器模型,DUT则会按照寄存器的配置发送数据;
S3:uart_rx_scb收集apb_mst_agt的待发送数据以及uart_rx_agt收集的数据,二者进行传输数据比对;
S4:uart_rx_agt的monitor中的checker会将DUT输出与Peripheral congfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c发送数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是接收端需要用对应的i2c_rx_agt或spi_agt,数据比对要在对应的rx_scoreboard中进行,DUT的传输协议检查在对应的rx_agt的monitor中进行。
优选的,所述验证平台验证DUT接收数据,验证平台使用uart协议发送数据,DUT接收数据,具体包括以下步骤:
A1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
A2:在激励sequence中先让apb_mst_agt使用前门访问读写寄存器模型,配置DUT来接收数据;然后uart_tx_agt发送激励给DUT,apb_slave_agt收集DUT的端口信号;
A3:uart_tx_scb收集uart_tx_agt的待发送数据以及apb_slave_agt收集的数据,二者进行传输数据比对;在DUT接收数据的流程中,checker设置在scoreboard中,会将DUT输出与Peripheralcongfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c接收数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是需要用对应的i2c_tx_agen或spi_agent发送激励,数据比对要在对应的tx_scoreboard中进行,DUT的传输协议检查也在对应的tx_scoreboard中进行。
本发明的有益之处在于:
1.该验证平台使用基于SystemVerilog的UVM验证方法学,支持随机化激励的创建,相较于传统用verilog构建激励,能节省大量编写激励的时间,且使验证工作更具完备性;另外该平台具有可重性高的特点,方便在类似项目进行复用,节省芯片开发周期;
2.在该验证平台中的peripheral_env中同时集成uart_env、i2c_env和spi_env,这使得验证平台同时支持三种协议传输数据的验证,且验证平台的scoreboard可以验证DUT传输数据是否一致,不同地方(tx_scb和rx_monitor)的设置的checker还可以进行通信协议正确性的检查。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明一种实施例中验证平台的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,一种基于UVM的芯片外设模块验证方法,以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;
所述验证平台中包括TOP层、test层;
其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;其中附图1中,未显示interface,箭头仅代表信号或事务传输方向;
根据DUT需要验证的功能点编写不同的Test,tset层用于建立和配置验证环境,每个test层中包含组件peripheral_env和peripheralconfig;
其中,Peripheral_env中包含:apb_env、uart_env、i2c_env和spi_env,且env中分别封装有不同的Agent,包括apb_env中封装有APB发送端口,即apb_mst_agt、APB接收端口,即apb_slave_agt;uart_env中封装有UART发送端口,即uart_tx_agt、UART接收端口,即uart_rx_agt;SPI端口,即spi_agt、i2c发送端口,即i2c_tx_agt、I2C接收端口,即i2c_rx_agt;Peripheralcongfig包含peripheralenv中的apb_env、uart_env、i2c_env和spi_env组件的配置信息,使用UVM将配置信息从test层传给apb_env、uart_env、i2c_env和spi_env,使平台的传输协议模式与DUT保持一致,再进行数据对比;
具体的,由于传统的芯片验证是用verilog语言搭建testbench,创建简单激励,这种方式低效繁琐,且受限于verilog语言极不灵活的特点,对于复杂功能的验证需要大量代码才能完成,同时现有的芯片验证方法,可重用极低,一旦设计中有部分功能代码变动,或者在其他项目中存在类似模块,验证工作就得重新开始,因此迫切需要在功能验证方面有通用的方法学和技术去缩短整个验证周期,进而缩短芯片开发周期,并保证芯片功能不发生潜在的故障;
该方法中,采用业界普遍使用的通用验证方法(UniversalVerificationMethodology,UVM)来搭建验证平台,UVM具有以SystemVerilog为基础的标准类库,可以使验证工程师能够搭建层次化的验证平台,其phase机制可以把仿真过程分为不同阶段,在不同阶段进行不同操作,而且UVM给验证工作提供了约束和指导,提高了平台的可重用性。根据搭建的平台编写不同激励来进行随机验证或定向验证,之后进行结果比对、覆盖率收集,这种方式可以应对绝大多数场景;芯片内部一般都会集成外设(peripheral)模块,且APB(advancedperipheralbus)协议为AMBA总线协议的一种,具备低功耗、互联信号简单的特点,适用于低性能外设模块,因此在外设模块中APB负责控制外设接口(UART、SPI和I2C接口)以不同的配置来传输数据,目前对于外设模块的验证是采用Verilog搭建平台,并创建定向测试激励,对模块功能逐一验证,或者使用FPGA进行硬件测试;
基于UVM方法学搭建验证平台,可以同时验证APB-uart、APB-i2c和APB-spi,可重用性高,且验证效率高,能够缩减芯片的验证时间,进而缩短芯片的研发周期,同时能够保证外设模块功能验证的完备性。
作为本发明的一种实施方式,所述验证平台还包括五个scoreboard组件,即Scb;所述Scb用于进行数据的比对工作;所述Scb的数据来源包括两部分,第一部分为apb_agt采集到的寄存器读写数据信息,第二部分为对应的agent采集到的数据信息,包括uart、i2c或spi接收和发送的数据;Sequencer负责产生不同的测试激励;
作为本发明的一种实施方式,各个所述agent中均包含有monitor、driver和sequencer;于附图1中未显示,Monitor负责监控收集DUT端口的信号,并将这些信号打包成事务发给Scb;Sequencer负责产生不同的测试激励,而driver负责把测试激励驱动到DUT;其中uart、i2c和spi的rx_monitor和tx_scb中设有checker,用来检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;其中,该验证平台的scoreboard可以验证DUT传输数据是否一致,不同地方(tx_scb和rx_monitor)的设置的checker还可以进行通信协议正确性的检查;各个monitor中的覆盖率模块,用于收集仿真过程中的功能覆盖率信息;通过覆盖率信息,可以明确spi模块的验证过程已经进行到什么进度,哪些功能已经完成验证,哪些功能还没有完成验证。
作为本发明的一种实施方式,所述验证平台中还包括寄存器模型,即RegisterModel,采用三级结构实现了对DUT中寄存器的建模,通过field、reg、block结构对寄存器的地址、属性信息进行描写;其中,使用寄存器模型,节省了编写apb读写寄存器的sequence的时间,可以直接用前门访问从而简化代码,减轻了工作量,同时,寄存器模型还添加了各个寄存器的硬件访问路径,为寄存器后门访问提供了基础。
作为本发明的一种实施方式,所述验证平台中还包括Adapter,其作用是实现寄存器模型与总线的桥接,其内部实现两部分内容,包括Reg2bus将RegisterModel转换成driver/sequence能识别的事务,即transaction;Bus2reg将transaction转换成RegisterModel的读写行为。
作为本发明的一种实施方式,所述验证平台中还包括VirtualSequencer,其作用是链接各个agent的sequencer,用于实例化其他序列器并启动虚拟序列,起路由作用。
作为本发明的一种实施方式,所述验证平台验证DUT发送数据,DUT使用uart协议发送数据,验证平台接收数据,具体包括以下步骤:
S1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
S2:在激励(sequence)中apb_mst_agt使用前门访问读写寄存器模型,DUT则会按照寄存器的配置发送数据;
S3:uart_rx_scb收集apb_mst_agt的待发送数据以及uart_rx_agt收集的数据,二者进行传输数据比对;
S4:uart_rx_agt的monitor中的checker会将DUT输出与Peripheral congfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c发送数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是接收端需要用对应的i2c_rx_agt或spi_agt,数据比对要在对应的rx_scoreboard中进行,DUT的传输协议检查在对应的rx_agt的monitor中进行;所述S3中,apb_mst_agt的待发送数据指代apb_mst_agt的monitor发来的事务;而uart_rx_agt收集的数据指代uart_rx_agt的monitor发来的事务。
作为本发明的一种实施方式,所述验证平台验证DUT接收数据,验证平台使用uart协议发送数据,DUT接收数据,具体包括以下步骤:
A1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
A2:在激励sequence中先让apb_mst_agt使用前门访问读写寄存器模型,配置DUT来接收数据;然后uart_tx_agt发送激励给DUT,apb_slave_agt收集DUT的端口信号;
A3:uart_tx_scb收集uart_tx_agt的待发送数据以及apb_slave_agt收集的数据,二者进行传输数据比对;在DUT接收数据的流程中,checker设置在scoreboard中,会将DUT输出与Peripheralcongfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c接收数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是需要用对应的i2c_tx_agen或spi_agent发送激励,数据比对要在对应的tx_scoreboard中进行,DUT的传输协议检查也在对应的tx_scoreboard中进行;所述S3中,uart_tx_agt的待发送数据指代uart_tx_agt的monitor发来的事务,而apb_slave_agt收集的数据指代apb_slave_agt的monitor发来的事务。
该验证平台使用基于SystemVerilog的UVM验证方法学,支持随机化激励的创建,相较于传统用verilog构建激励,能节省大量编写激励的时间,且使验证工作更具完备性;另外该平台具有可重性高的特点,方便在类似项目进行复用,节省芯片开发周期,在该验证平台中的peripheral_env中同时集成uart_env、i2c_env和spi_env,这使得验证平台同时支持三种协议传输数据的验证,且验证平台的scoreboard可以验证DUT传输数据是否一致,不同地方(tx_scb和rx_monitor)的设置的checker还可以进行通信协议正确性的检查;各个monitor中的覆盖率模块,用于收集仿真过程中的功能覆盖率信息。通过覆盖率信息,可以明确SPI模块的验证过程已经进行到什么进度,哪些功能已经完成验证,哪些功能还没有完成验证;以及使用寄存器模型,节省了编写apb读写寄存器的sequence的时间,可以直接用前门访问从而简化代码,减轻了工作量。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (8)
1.一种基于UVM的芯片外设模块验证方法,其特征在于:以UVM方法学搭建验证平台,验证DUT发送数据与DUT接收数据,包括验证奇偶校验位、波特率设置的一致性;
所述验证平台中包括TOP层、test层;
其中,Top层负责产生系统的复位信号以及时钟信号,例化DUT,用interface组件连接DUT和验证平台;
根据DUT需要验证的功能点编写不同的Test,tset层用于建立和配置验证环境,每个test层中包含组件peripheral_env和peripheralconfig;
其中,Peripheral_env中包含:apb_env、uart_env、i2c_env和spi_env,且env中分别封装有不同的Agent,包括apb_env中封装有APB发送端口,即apb_mst_agt、APB接收端口,即apb_slave_agt;uart_env中封装有UART发送端口,即uart_tx_agt、UART接收端口,即uart_rx_agt;SPI端口,即spi_agt、i2c发送端口,即i2c_tx_agt、I2C接收端口,即i2c_rx_agt;Peripheralcongfig包含peripheralenv中的apb_env、uart_env、i2c_env和spi_env组件的配置信息,使用UVM将配置信息从test层传给apb_env、uart_env、i2c_env和spi_env,使平台的传输协议模式与DUT保持一致,再进行数据对比。
2.根据权利要求1所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台还包括五个scoreboard组件,即Scb;所述Scb用于进行数据的比对工作;所述Scb的数据来源包括两部分,第一部分为apb_agt采集到的寄存器读写数据信息,第二部分为对应的agent采集到的数据信息,包括uart、i2c或spi接收和发送的数据;Sequencer负责产生不同的测试激励。
3.根据权利要求2所述的一种基于UVM的芯片外设模块验证方法,其特征在于:各个所述agent中均包含有monitor、driver和sequencer;Monitor负责监控收集DUT端口的信号,并将这些信号打包成事务发给Scb;Sequencer负责产生不同的测试激励,而driver负责把测试激励驱动到DUT;其中uart、i2c和spi的rx_monitor和tx_scb中设有checker,用来检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致。
4.根据权利要求3所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台中还包括寄存器模型,即RegisterModel,采用三级结构实现了对DUT中寄存器的建模,通过field、reg、block结构对寄存器的地址、属性信息进行描写。
5.根据权利要求4所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台中还包括Adapter,其作用是实现寄存器模型与总线的桥接,其内部实现两部分内容,包括Reg2bus将RegisterModel转换成driver/sequence能识别的事务,即transaction;Bus2reg将transaction转换成RegisterModel的读写行为。
6.根据权利要求5所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台中还包括VirtualSequencer,其作用是链接各个agent的sequencer,用于实例化其他序列器并启动虚拟序列,起路由作用。
7.根据权利要求6所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台验证DUT发送数据,DUT使用uart协议发送数据,验证平台接收数据,具体包括以下步骤:
S1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
S2:在激励中apb_mst_agt使用前门访问读写寄存器模型,DUT则会按照寄存器的配置发送数据;
S3:uart_rx_scb收集apb_mst_agt的待发送数据以及uart_rx_agt收集的数据,二者进行传输数据比对;
S4:uart_rx_agt的monitor中的checker会将DUT输出与Peripheral congfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c发送数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是接收端需要用对应的i2c_rx_agt或spi_agt,数据比对要在对应的rx_scoreboard中进行,DUT的传输协议检查在对应的rx_agt的monitor中进行。
8.根据权利要求7所述的一种基于UVM的芯片外设模块验证方法,其特征在于:所述验证平台验证DUT接收数据,验证平台使用uart协议发送数据,DUT接收数据,具体包括以下步骤:
A1:首先根据DUT需要验证的功能测试点在test层设置Peripheral congfig,将其发送给验证平台进行平台的配置;
A2:在激励sequence中先让apb_mst_agt使用前门访问读写寄存器模型,配置DUT来接收数据;然后uart_tx_agt发送激励给DUT,apb_slave_agt收集DUT的端口信号;
A3:uart_tx_scb收集uart_tx_agt的待发送数据以及apb_slave_agt收集的数据,二者进行传输数据比对;在DUT接收数据的流程中,checker设置在scoreboard中,会将DUT输出与Peripheralcongfig进行比对,检查DUT是否按照Peripheralcongfig的配置来进行传输,包括检查奇偶校验位、波特率设置是否一致;
其中,用spi或i2c接收数据的流程与uart一样,都是用apb_mst_agt配置DUT,区别是需要用对应的i2c_tx_agen或spi_agent发送激励,数据比对要在对应的tx_scoreboard中进行,DUT的传输协议检查也在对应的tx_scoreboard中进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375102.0A CN116432593A (zh) | 2023-04-10 | 2023-04-10 | 一种基于uvm的芯片外设模块验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375102.0A CN116432593A (zh) | 2023-04-10 | 2023-04-10 | 一种基于uvm的芯片外设模块验证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116432593A true CN116432593A (zh) | 2023-07-14 |
Family
ID=87081000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310375102.0A Pending CN116432593A (zh) | 2023-04-10 | 2023-04-10 | 一种基于uvm的芯片外设模块验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116432593A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709046A (zh) * | 2023-07-24 | 2024-03-15 | 无锡摩芯半导体有限公司 | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 |
-
2023
- 2023-04-10 CN CN202310375102.0A patent/CN116432593A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117709046A (zh) * | 2023-07-24 | 2024-03-15 | 无锡摩芯半导体有限公司 | 一种基于uvm的APB_bridge子系统级的验证平台的搭建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5909450A (en) | Tool to reconfigure pin connections between a dut and a tester | |
JP2007529813A (ja) | PCIExpressエンドポイントのシミュレーション回路及びPCIExpressスイッチ用ダウンストリームポート | |
CN116432593A (zh) | 一种基于uvm的芯片外设模块验证方法 | |
CN114444420A (zh) | 一种基于芯片验证的验证ip集成方法及系统 | |
US8255853B2 (en) | Circuit emulation systems and methods | |
US7212961B2 (en) | Interface for rapid prototyping system | |
Vineeth et al. | Uvm based testbench architecture for coverage driven functional verification of spi protocol | |
CN112597719A (zh) | 数据网络设计验证方法、装置以及验证设备 | |
CN111914501A (zh) | 一种基于UVM验证方法学的FeRAM接口验证平台的实现方法 | |
CN117591413A (zh) | 一种基于uvm的总线接口模块的验证系统及验证方法 | |
CN111913840A (zh) | 一种基于uvm的apb-uart模块的验证方法 | |
Melikyan et al. | Uvm verification ip for axi | |
CN117057286B (zh) | 一种基于UVM和VIP的SMBus模块级验证系统 | |
EP1530766A2 (en) | Object-oriented design method for the time-effective and cost-effective development of production-grade embedded systems based on a standardized system architecture | |
Klingauf | Systematic transaction level modeling of embedded systems with SystemC | |
CN116340150A (zh) | 一种基于uvm的可重用的寄存器性能交互验证系统及其应用 | |
CN109379262B (zh) | 一种PCIe接口的双冗余CAN 总线通讯卡及方法 | |
CN116776785A (zh) | 一种集成芯片的被动模式验证方法及系统 | |
Mahale et al. | Architecture Analysis and Verification of I3C Protocol | |
Nangia et al. | Functional verification of I2C core using SystemVerilog | |
Wiecha et al. | Architecture and design of a Bluetooth low energy controller | |
Guo et al. | A SPI interface module verification method based on UVM | |
CN114780143A (zh) | 基于uvm的can控制器激励序列生成方法、装置和验证平台 | |
CN113113074A (zh) | 伪静态随机存储器psram验证装置及其方法 | |
CN105068908B (zh) | 一种用于kvm asic的功能验证平台的搭建方法 |
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 |