CN107688515B - 一种Bufferable模式的验证方法 - Google Patents
一种Bufferable模式的验证方法 Download PDFInfo
- Publication number
- CN107688515B CN107688515B CN201611209210.7A CN201611209210A CN107688515B CN 107688515 B CN107688515 B CN 107688515B CN 201611209210 A CN201611209210 A CN 201611209210A CN 107688515 B CN107688515 B CN 107688515B
- Authority
- CN
- China
- Prior art keywords
- write
- information
- data
- slave
- channel
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06F11/221—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 to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种Bufferable模式的验证方法,包括:将待测设计的写地址通道、写数据通道和写响应通道与验证平台相连;根据验证需求进行参数定义;利用时钟进行采样,保存Master端写请求的信息和Slave端写响应通道上信息;建立响应通道转换模块,并将Slave端保存的信息进行整理后返回给Master端;Master端将信息传递给记分牌中,记分牌以获得返回的时刻点作为数据对比的触发条件,通过地址信息和ID信息进行写请求的数据对应,然后与相同地址下Slave端的数据进行对比,验证数据正确性。本发明具有如下优点:可以对Bufferable模式和Non‑Bufferable模式的写操作进行验证。
Description
技术领域
本发明涉及先进可扩展接口(Advanced eXtensible Interface、AXI)总线技术领域,具体涉及一种Bufferable模式的验证方法。
背景技术
Bufferable模式是高级微控制器总线结构(Advanced Microcontroller BusArchitecture,AMBA)AXI总线协议为提升写操作的效率和性能而提出的一种解决方案,具体为:当一次写请求发生时,将Awcache[3:0]的最低位设置为1,指示该次写请求为Bufferable模式,则系统将允许该次写请求可在任意时刻后完成。在Cache一致性系统的设计中,当发生写请求时,通过使用该方案,可提前将写Response返回,通知写请求发起者该次写操作完成,可进行下一次请求的申请。
随着芯片技术的高速发展,市场上对芯片的性能与速度有了更高的需求,单个芯片上的处理核数量也在不断增加,与Memory单元的交互也愈发频繁,通常情况下,写Memory的过程相对缓慢,所以越来越多的设计者选择在系统中使用Bufferable模式来写Memory,提高写操作的效率;该方法确实能提高整个芯片的性能,但却给验证平台的在数据的校验上带来了困难。
传统的验证平台中,当写操作返回通道获得相应的Response时,即认为该次写操作完成,之后验证平台进行数据对比或发起其他类型的操作。而实际上,该次写操作并未真实得到完成,数据被暂存在总线的Buffer中,若此时进行Memory数据对比,则会出现使用写通道的新数据和Memory中的旧数据进行对比的情况;更有甚者,若一致性系统设计中包含了多个Master的写通道,且Bufferable与Non-Bufferable同时被使用时,在未经处理的情况下,验证平台无法进行正常的数据对比工作。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的目的在于提出一种Bufferable模式的验证方法,使得验证平台更方便进行数据对比。
为了实现上述目的,本发明的实施例公开了一种Bufferable模式的验证方法,包括以下步骤:S1:将待测设计的写地址通道、写数据通道直接与验证平台相连,写响应通道通过转换模块后再与验证平台相连;S2:根据验证需求进行参数定义,并在所述验证平台启动前进行参数初始化;S3:利用时钟进行采样,保存Master端写请求的信息和Slave端写响应通道上的信息;S4:建立响应通道转换模块,并将所述Slave端保存的信息进行整理后返回给Master端;S5:Master端将信息传递给记分牌中,所述记分牌以获得返回的时刻点作为数据对比的触发条件,通过地址信息和ID信息进行写请求的数据对应,然后与相同地址下Slave端的数据进行对比,验证数据正确性。
根据本发明实施例的Bufferable模式的验证方法,通过采样Slave Memory写返回通道的握手信号,组合成一组新的返回信号,并将该组信号进行管理后返回给验证平台,将Bufferable模式下的原返回通道用新通道进行替换,使得验证平台更方便进行数据对比。
另外,根据本发明上述实施例的Bufferable模式的验证方法,还可以具有如下附加的技术特征:
进一步地,步骤S1中,与所述验证平台相连的信号包括:所述写地址通道和所述写数据通道中的所有信号,以及所述写响应通道中的bready信号。
进一步地,根据所述验证需求定义的参数包括:顺序控制参数、延时控制参数、队列中特定ID值选择参数、保存Slave端返回的transaction的ID队列参数、保存Slave端返回的transaction的bresp队列参数和保存Master端发送的transaction的address队列参数。
进一步地,在步骤S4中还包括:将所述Slave端保存的信息进行整理后返回给Master端之后,删除所述Slave端保存的transaction的ID队列信息和所述Slave端返回的transaction的bresp队列信息。
进一步地,根据保存Slave端返回的transaction的ID队列参数索引写请求发出的写数据,根据保存Master端发送的transaction的address队列参数索引所述Slave端中的数据,并将所述写请求发出的写数据和所述Slave端中的数据进行对比,实现写操作数据对比机制。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的Bufferable模式的验证方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在介绍本发明的具体实施方式之前,先对相关技术中对Bufferable模式验证存在的原理性问题进行说明。本申请的发明人通过大量研究之后,发现通过直接监视总线上Master的输入和输出的方法,即使在输出端可以识别出该操作是否为Bufferable模式,但是在输入端监视到的仍是没有真实完成的写Response信号,所以不能解决Bufferable模式的写操作数据对比机制的问题。现有技术存在的关键性问题是没有对待测系统的输入端进行相应的处理,获取真实的写操作完成时刻点,单纯靠监视器是无法实现该功能的。
以下结合附图描述本发明。
图1是本发明一个实施例的Bufferable模式的验证方法的流程图。如图1所示,一种Bufferable模式的验证方法,包括以下步骤:
S1:将待测设计的写地址通道、写数据通道直接与验证平台相连,写响应通道通过转换模块后再与验证平台相连。
具体地,将待测设计(Design under test,DUT)的write address channel(写地址通道)和write data channel(写数据通道)中的所有信号均与验证平台相连,DUT的write response channel(写响应通道)通过转换模块后再与验证平台相连。其中,writeresponse channel(写响应通道)共有四个信号:bvalid,bready,bid和bresp。bready信号与验证平台相连,其余信号不需要接入验证平台中。
S2:根据验证需求进行参数定义,并在所述验证平台启动前进行参数初始化。具体参数包括:
order_bit:指示返回的response是否按顺序进行返回。
tr_id[]:保存Master端发送的transaction的ID队列。
tr_addr[]:保存Master端发送的transaction的address队列。
tr_size[]:保存Master端发送的transaction的数据宽度队列。
tr_len[]:保存Master端发送的transaction的数据长度队列。
tr_type[]:保存Master端发送的transaction的操作类型队列。
tr_wdata[]:保存Master端发送的transaction的写数据队列。
tr_wid[]:保存Master端发送的transaction的写ID队列
tr_wstrb[]:保存Master端发送的transaction的写数据有效位队列。
b_id[]:保存Slave端返回的transaction的ID队列。
b_bresp[]:保存Slave端返回的transaction的bresp队列。
S3:利用时钟进行采样,保存Master端写请求的信息和Slave端写响应通道上的信息。
具体地,以时钟上升沿为触发条件,当awvalid和awready同时为1时,表示地址通道上的写请求被DUT接收,将当前时刻点的address保存到tr_addr[],将ID保存到tr_id[],将size保存到tr_size[],将length保存到tr_len[],将type保存到tr_type[]。当wvalid和wready同时为1时,将wdata保存到tr_wdata[],将wid保存到tr_wid[],将wstrb保存到tr_wstrb[]。写地址通道中各队列元素的数量和顺序时一致的。写数据通道中,tr_wdata[]和tr_wstrb[]的数量和顺序是一致的,tr_wid[]和tr_id[]数量是一致,但tr_wid[]与tr_wdata[]的数量关系与tr_len[]有关,tr_len[]指示了该id时数据的个数。使用SystemVerilog为队列操作提供的函数push_back,即可实现队列保存的功能。
在Slave write response channel加入监控,以时钟上升沿为触发条件,当bvalid和bready同时为1时,表示返回通道的请求被DUT接收,Memory写操作完成,将当前时刻点的ID保存到b_id[]队列中,将bresp保存到b_bresp[]队列中。
S4:建立response channel switch(响应通道转换)模块,并将所述Slave端保存的信息进行整理后返回给Master端。
具体地,新建response channel switch模块,该模块输出端连接验证平台的Master write response channel,共三个信号:bvalid,bid,bresp。输入端连接Slavewrite response channel的监控端。
判断验证平台初始化order_bit的值,若order_bit为1,返回前不需要对队列中的顺序进行重排序,直接按队列的保存顺序,从b_bid[0]开始向验证平台的Master writeresponse channel端进行返回,b_bresp的输出顺序与b_bid的输出顺序保持一致;若order_bit为0,则需要将队列中保存的值进行重排序输出,实现的方法为:首先定义一个新的32bit整型参数send_id,send_id的随机范围为(0,b_id.size-1),每一次输出b_id前,均需要对send_id进行随机,然后将b_bid[sned_id]发送给验证平台。需要注意的是,当使用重排序功能时,需保证b_id.size至少大于等于2,否则输出的结果与正常顺序相同。为保证b_id.size大于等于2,所以在随机send_id之前,需要对b_id.size进行判断,size的大小即为乱序的最大深度。在返回过程中,需同时将bvalid拉高,待与bready握手成功后,再拉低bvalid信号即可完成传输或进入下一次传输过程。在输出b_id之前加入delay_cnt,delay_cnt以时钟进行计数,随机范围可按系统需求进行设定,当满足delay_cnt值时,方可进行返回操作。如delay_cnt为20,则本次b_id将在20个周期之后才被输出到Master writeresponse channel端。
在本发明的一个实施例中,在步骤S4中还包括:在传输完成后,使用SystemVerilog为队列操作提供的函数delete,将使用过的b_id[send_id]和b_bresp[send_id]删除。
S5:Master端将信息传递给记分牌中,所述记分牌以获得返回的时刻点作为数据对比的触发条件,通过地址信息和ID信息进行写请求的数据对应,然后与相同地址下Slave端的数据进行对比,验证数据正确性。
具体地,,验证平台获得写请求的完成信号,并被Master monitor监测到。Scoreboard(记分牌)根据获取到的b_id,找到相对应的tr_id和tr_addr,进行可以找到tr_wstrb和tr_wdata,并将tr_wdata进行有效位匹配,形成对应地址下的tr_data;然后再以tr_addr地址对应Slave memory中的地址,获取相应的slave_data,将tr_data与slave_data进行对比,即可验证数据的正确性。
根据本发明实施例的Bufferable模式的验证方法,不仅可以对Bufferable模式的写操作进行验证,还可以验证Non-Bufferable模式的写操作;能够灵活的控制返回的顺序以及返回的延时,组成特定的测试场景;也能够对其在限定范围内随机,使得验证环境更贴近于真实的测试场景。由此可见,本发明同时具备可控性和随机性,验证的灵活性高。
另外,本发明实施例的Bufferable模式的验证方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (5)
1.一种Bufferable模式的验证方法,其特征在于,包括以下步骤:
S1:将待测设计的写地址通道、写数据通道直接与验证平台相连,写响应通道通过转换模块后再与验证平台相连;
S2:根据验证需求进行参数定义,并在所述验证平台启动前进行参数初始化;
S3:利用时钟进行采样,保存Master端写请求的信息和Slave端写响应通道上的信息;
S4:建立响应通道转换模块,并将所述Slave端保存的信息进行整理后返回给Master端;
S5:Master端将信息传递给记分牌中,所述记分牌获得Master端信息的时刻点,并将所述Master端信息的时刻点作为数据对比的触发条件,通过地址信息和ID信息进行写请求的数据对应,然后与相同地址下Slave端的数据进行对比,验证数据正确性。
2.根据权利要求1所述的Bufferable模式的验证方法,其特征在于,步骤S1中,与所述验证平台相连的信号包括:所述写地址通道和所述写数据通道中的所有信号,以及所述写响应通道中的bready信号。
3.根据权利要求1所述的Bufferable模式的验证方法,其特征在于,根据所述验证需求定义的参数包括:顺序控制参数、延时控制参数、队列中特定ID值选择参数、保存Slave端返回的transaction的ID队列参数、保存Slave端返回的transaction的bresp队列参数和保存Master端发送的transaction的address队列参数。
4.根据权利要求3所述的Bufferable模式的验证方法,其特征在于,在步骤S4中还包括:
将所述Slave端保存的信息进行整理后返回给Master端之后,删除所述Slave端保存的transaction的ID队列信息和所述Slave端返回的transaction的bresp队列信息。
5.根据权利要求3所述的Bufferable模式的验证方法,其特征在于,根据保存Slave端返回的transaction的ID队列参数索引写请求发出的写数据,根据保存Master端发送的transaction的address队列参数索引所述Slave端中的数据,并将所述写请求发出的写数据和所述Slave端中的数据进行对比,实现写操作数据对比机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611209210.7A CN107688515B (zh) | 2016-12-23 | 2016-12-23 | 一种Bufferable模式的验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611209210.7A CN107688515B (zh) | 2016-12-23 | 2016-12-23 | 一种Bufferable模式的验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107688515A CN107688515A (zh) | 2018-02-13 |
CN107688515B true CN107688515B (zh) | 2020-11-03 |
Family
ID=61152299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611209210.7A Active CN107688515B (zh) | 2016-12-23 | 2016-12-23 | 一种Bufferable模式的验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688515B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181739B (zh) * | 2020-09-03 | 2023-08-08 | 博流智能科技(南京)有限公司 | 系统总线测试系统及方法 |
CN116431558B (zh) * | 2023-06-12 | 2023-09-29 | 太初(无锡)电子科技有限公司 | 一种基于axi协议的请求响应方法、装置、系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751311A (zh) * | 2008-12-05 | 2010-06-23 | 富士通株式会社 | 请求处理设备、请求处理系统和存取测试方法 |
CN102129414A (zh) * | 2010-01-15 | 2011-07-20 | 华为技术有限公司 | 一种变频总线适配器、适配方法及系统 |
CN105446841A (zh) * | 2015-11-24 | 2016-03-30 | 无锡江南计算技术研究所 | 缓存一致性测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5224800B2 (ja) * | 2007-12-21 | 2013-07-03 | 株式会社東芝 | 情報処理装置およびデータ復旧方法 |
-
2016
- 2016-12-23 CN CN201611209210.7A patent/CN107688515B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751311A (zh) * | 2008-12-05 | 2010-06-23 | 富士通株式会社 | 请求处理设备、请求处理系统和存取测试方法 |
CN102129414A (zh) * | 2010-01-15 | 2011-07-20 | 华为技术有限公司 | 一种变频总线适配器、适配方法及系统 |
CN105446841A (zh) * | 2015-11-24 | 2016-03-30 | 无锡江南计算技术研究所 | 缓存一致性测试方法 |
Non-Patent Citations (1)
Title |
---|
基于UVM验证方法学的FFTbuffer模块级验证;李前勇,申敏;《广东通信技术》;20151130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107688515A (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0378426B1 (en) | Data transfer using bus address lines | |
US20050060479A1 (en) | High speed and flexible control for bridge controllers | |
JPH02227766A (ja) | デジタル・コンピユータのデータ転送装置 | |
US11113222B2 (en) | NAND switch | |
CN112269752B (zh) | 一种PCIe虚拟通道的数据处理方法及相关装置 | |
CN107688515B (zh) | 一种Bufferable模式的验证方法 | |
CN103631534B (zh) | 数据存储系统以及其管理方法 | |
CN103455419B (zh) | 现场可编程门阵列平台及其调试方法 | |
US20060236001A1 (en) | Direct memory access controller | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN109522194B (zh) | 针对axi协议从设备接口的自动化压力测试系统及方法 | |
CN114265872A (zh) | 一种用于总线的互联装置 | |
CN114443170B (zh) | Fpga动态并行加卸载系统 | |
CN116225992A (zh) | 一种支持虚拟化仿真设备的NVMe验证平台及方法 | |
US8458389B2 (en) | Apparatus and method for converting protocol interface | |
CN106059955A (zh) | 一种基于soc dma的以太网实时抓包方法 | |
CN111143261A (zh) | 一种基于pcie高速数据采集系统 | |
CN116414767B (zh) | 一种对基于axi协议乱序响应的重排序方法及系统 | |
US20230231940A1 (en) | Communication Method and System, Device, and Computer-Readable Storage Medium | |
Peng et al. | A high speed dma transaction method for pci express devices | |
EP4071624A1 (en) | Electronic device comprising a memory accessible via a jtag interface, and corresponding method of accessing a memory | |
CN112835834B (zh) | 数据传输系统 | |
CN115658588A (zh) | 一种axi总线的id压缩装置及方法 | |
CN107870885A (zh) | 通信系统、装置及方法 | |
CN102103885B (zh) | Sd卡清除忙状态的方法及清除忙状态电路 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180920 Address after: 100085 west 4 Street 5, five street, Haidian District, Beijing. Applicant after: Beijing Guorui Zhongshu Technology Co.,Ltd. Applicant after: No. 14 Inst., China Electronic Science & Technology Group Corp. Address before: 100085 Haidian District, Beijing, Shanghai Information Road 5 Street high Li two thousand science and Technology Building 4 story West. Applicant before: Beijing Guorui Zhongshu Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |