一种芯片验证系统及验证方法与流程

文档序号:26845008发布日期:2021-10-09 00:11阅读:335来源:国知局
一种芯片验证系统及验证方法与流程

1.本技术涉及集成电路技术领域,尤其涉及一种芯片验证系统及验证方法。


背景技术:

2.框式交换机一般包括多个流量转发(traffic management,tm)芯片和多个交换(switch,sw)芯片,tm芯片负责报文的转发、队列管理、流量管理等业务,而sw芯片负责信元的转发,tm芯片和sw芯片同属一个解决方案,协作完成了大规模数据报文的处理。而tm芯片和sw芯片属于大规模集成电路设计,为了完成超大规模集成电路的设计,需要在芯片的预研阶段建立芯片的仿真验证模型,也即需要对tm芯片和sw芯片进行验证,即,在较高的抽象层次对芯片的架构、算法、功能进行验证,同时不陷入繁杂的门级、rtl级硬件描述,以保证后续tm芯片和sw芯片的正常投入使用。
3.目前在对芯片进行验证时,一般通过建立的systemc验证模型来验证,systemc是一款由open systemc initiative(osic)负责支持、维护的系统建模语言,是建立在c++基础上开发的一组库。通过systemc建立验证模型,可以对交换芯片解决方案的报文转发、队列管理、qos、路由策略等功能及相关算法进行验证和性能评估,作为后续硬件开发的参考。但是现有的基于systemc的建模方案,一般是对单一的芯片架构进行描述。通过使用systemc提供的模块(module)及对应的方法(method)和线程(thread),描述芯片内部子系统的时序逻辑或组合逻辑,通过端口(port)描述子系统的输入、输出信号,通过信号(signal)连接子系统间的端口,并定义时钟信号作为各模块的触发信号,从而建立整个芯片的模型。然而该方法仅满足单一芯片的验证需求,无法满足框式交换机解决方案下对tm芯片和sw芯片同时验证的需求。而且无法适用框式交换机内包括多个tm芯片和多个sw芯片时各种结构变化的场景。
4.因此,如何对tm芯片和sw芯片进行同时验证是值得考虑的技术问题之一。


技术实现要素:

5.有鉴于此,本技术提供一种芯片验证系统及验证方法,用以实现对tm芯片和sw芯片的同时验证。
6.具体地,本技术是通过如下技术方案实现的:
7.根据本技术的第一方面,提供一种芯片验证系统,包括至少一个流量管理tm芯片和至少一个交换sw芯片,每个tm芯片与每个sw芯片之间具有至少一条串行通信链路,每个tm芯片和每个sw芯片为分别采用系统建模语言systemc建模得到的,每个tm芯片设置有与所述串行通信链路相对应的通信服务进程,每个sw芯片设置有与所述串行通信链路相对应的通信服务进程,其中:
8.每个tm芯片利用其内的通信服务进程将第一数据通过对应的串行通信链路发送给sw芯片,以使该sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述第一数据;
9.每个sw芯片利用其内的通信服务进程将第二数据通过对应的串行信链路发送给tm芯片,以使该tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述第二数据。
10.根据本技术的第二方面,提供一种芯片验证方法,应用于芯片验证系统中的流量管理tm芯片中,所述芯片验证系统还包括交换sw芯片,所述tm芯片与所述sw芯片之间具有至少一条串行通信链路,所述tm芯片和所述sw芯片为分别采用系统建模语言systemc建模得到的,所述tm芯片设置有与所述串行通信链路相对应的通信服务进程,所述sw芯片设置有与所述串行通信链路相对应的通信服务进程;所述方法,包括:
11.所述tm芯片利用其内的通信服务进程将第一数据通过对应的串行通信链路发送给所述sw芯片,以使所述sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述第一数据并执行对应验证操作;
12.所述tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述sw芯片发送的第二数据并执行对应验证操作。
13.根据本技术的第三方面,提供一种芯片验证方法,应用于芯片验证系统中的交换sw芯片中,所述芯片验证系统还包括流量管理tm芯片,所述sw芯片与所述tm芯片之间具有至少一条串行通信链路,所述sw芯片和所述tm芯片为分别采用系统建模语言systemc建模得到的,所述sw芯片设置有与所述串行通信链路相对应的通信服务进程,所述tm芯片设置有与所述串行通信链路相对应的通信服务进程;所述方法,包括:
14.所述sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述tm芯片发送的第一数据,并利用所述第一数据执行对应验证操作;
15.所述sw芯片利用其内的通信服务进程将第二数据通过对应的串行信链路发送给tm芯片,以使该tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述第二数据并执行对应验证操作。
16.本技术实施例的有益效果:
17.通过本实施例提供的芯片验证系统,tm芯片和sw芯片可以通过两芯片之间的串行通信链路进行数据传输,即,tm芯片和sw芯片可以通过各自的通信服务进程进行数据交互,从而也就可以完成tm芯片和sw芯片的数据传输功能的验证,同时结合tm芯片和sw芯片自身功能(除涉及数据交互功能的验证之外的功能)的验证,从而也就可以实现了每个tm芯片和每个sw芯片的同时验证,从而也就解决了现有技术中仅能实现单一芯片验证所带来的验证效率及组网灵活性差的问题。
附图说明
18.图1是本技术实施例提供的一种芯片验证系统的结构示意图;
19.图2是本技术实施例提供的另一种芯片验证系统的结构示意图;
20.图3是本技术实施例提供的一种tm芯片1与tm芯片2之间的链路示意图;
21.图4是本技术实施例提供的一种芯片验证方法的流程示意图;
22.图5是本技术实施例提供的另一种芯片验证方法的流程示意图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如本技术的一些方面相一致的装置和方法的例子。
24.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
25.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
26.下面对本技术提供的芯片验证系统进行详细地说明。
27.参见图1,图1是本技术提供的一种芯片验证系统的结构示意图,该芯片验证系统包括至少一个tm芯片和至少一个sw芯片,每个tm芯片与每个sw芯片之间具有至少一条串行通信链路,每个tm芯片和每个sw芯片为分别采用系统建模语言systemc建模得到的,每个tm芯片设置有与所述串行通信链路相对应的通信服务进程,每个sw芯片设置有与所述串行通信链路相对应的通信服务进程,其中:
28.每个tm芯片利用其内的通信服务进程将第一数据通过对应的串行通信链路发送给sw芯片,以使该sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述第一数据;
29.每个sw芯片利用其内的通信服务进程将第二数据通过对应的串行信链路发送给tm芯片,以使该tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述第二数据。
30.具体地,每个tm芯片和每个sw芯片均是独立的systemc模型,可以运行在不同ip地址的主机上,以实现对每个tm芯片和每个sw芯片的验证。需要说明的是,不同数量的tm芯片和不同数量的sw芯片构成在交换机结构不同,但不同结构的交换机中tm芯片和sw芯片的验证都可以采用本技术提供的芯片验证系统。在利用本实施例提供的芯片验证系统进行验证时,tm芯片和sw芯片自身的功能可以通过对自身模块之间的交互来验证。例如,tm芯片验证时,所需要验证的功能可以但不限于为调度算法的验证、流量整型功能的验证、分配流比例功能的验证和队列调度功能的验证等等;而sw芯片进行验证时,所需要验证的功能可以但不限于包括报文转发功能的验证,而报文转发的功能会涉及查表、转发等功能。而tm芯片和sw之间涉及的交互功能的验证,则可以通过两个芯片内的通信服务进程通过两个芯片之间的串行通信链路进行数据交互,以完成相关功能的验证。
31.上述第一数据可以为测试数据,如测试报文等等,上述第二数据可以但不限于为第一数据的响应数据,例如响应报文等等。需要说明的是,tm芯片和sw芯片的验证过程中,涉及两个芯片之间交互的数据都可以通过tm芯片与sw芯片之间的串行通信链路进行交互,
但芯片的具体验证流程请参考目前提供的验证方法,此处不再一一详细说明。为了方便理解,此处给出一个简单示例来描述tm芯片和sw芯片的相关功能的测试过程。例如,tm芯片需要测试流量调度能力时,则可以将tm芯片内需要调度的第一数据通过其内的通信服务进程传输至该通信服务进程对应的串行通信链路上,然后sm芯片中与该串行通信链路对应的通信服务进程就可以从该串行通信链路上读取上述第一数据,然后sw芯片通过查路由表、转发表等,可以找到该第一数据的目的地址,并将第一数据转发给该目的地址对应的网络设备,若成功转发,则可以表明sw芯片的转发功能正常,同时可以确认tm芯片的流量调度能力也正常。
32.需要说明的是,本实施例提供的芯片验证系统中包括的tm芯片和sw芯片的数量可以根据实际组网环境来定,可以根据实际组网环境中芯片的数量进行变更,能够适应组网的灵活变化。
33.通过本实施例提供的芯片验证系统,tm芯片和sw芯片可以通过两芯片之间的串行通信链路进行数据传输,即,tm芯片和sw芯片可以通过各自的通信服务进程进行数据交互,从而也就可以完成tm芯片和sw芯片的数据传输功能的验证,同时结合tm芯片和sw芯片自身功能(除涉及数据交互功能的验证之外的功能)的验证,从而也就可以实现了每个tm芯片和每个sw芯片的同时验证,从而也就解决了现有技术中仅能实现单一芯片验证所带来的验证效率及组网灵活性差的问题。
34.可选地,每条串行通信链路对应的通信服务进程包括客户端进程和服务端进程;则每个tm芯片利用其内的客户端进程将第一数据通过对应的串行通信链路发送给sw芯片,以使该sw芯片利用其内的服务端进程从对应的串行通信链路读取所述第一数据;每个sw芯片利用其内的客户端进程将第二数据通过对应的串行信链路发送给tm芯片,以使该tm芯片利用其内的服务端进程从对应的串行通信链路读取所述第二数据。
35.具体地,本技术提供的串行通信链路为双向串行通信链路,在此基础上,每个tm芯片设置有与串行通信链路相对应的通信服务进程包括客户端进程和服务端进程,同理,每个sw芯片设置有与串行通信链路相对应的通信服务进程包括客户端进程和服务端进程。在此基础上,本实施例中的一条双向串行通信链路,包括tm芯片指向sw芯片方向的单向通信链路及sw芯片指向tm芯片方向的单向通信链路。为了实现tm芯片与sw芯片之间的串行通信链路,在tm芯片侧需要设置一个客户端进程和一个服务端进程,同理在sw芯片侧也需要设置一个客户端进程和一个服务端进程,也就是说,一条串行通信链路在tm芯片侧对应一个客户端进程和一个服务端进程,在sw芯片侧对应一个客户端进程和一个服务端进程。然后tm芯片侧的客户端进程和sw芯片侧的服务端进程模拟构成tm芯片指向sw芯片方向的单向通信链路,而sw芯片侧的客户端进程和tm芯片侧的服务端进程模拟构成sw芯片指向tm芯片方向的单向通信链路,由此即可构成tm芯片与sw芯片之间的串行通信链路,而一个客户端进程和一个服务端进程构成一对客户端进程和服务端进程,可称作一对通信服务进程,由此一来,一条串行通信链路需要2对客户端进程和服务端进程构成,也即2对通信服务进程;而当tm芯片与sw芯片之间包括多条串行通信链路时,则tm芯片和sw芯片内均设置多对通信服务进程。
36.进一步地,每对通信服务进程中客户端进程用于进行发送数据操作,服务端进程用于执行读数据操作。即,tm芯片在发送第一数据时,可以调用tm芯片中的客户端进程将第
一数据发送到该客户端进行对应的串行通信链路上,这样,sw芯片中与该串行通信链路相对应的服务端进程就可以从该串行通信链路中读取第一数据并执行相关验证操作。同理,当sw芯片向tm芯片发送第二数据时,sw芯片可以调用其内的客户端进程将第二数据发送至对应的串行通信链路上,然后tm芯片中的服务端进程就可以调用其上的服务端进程从该串行通信链路上读取该第二数据,然后执行相关验证操作。
37.可选地,本实施例提供的串行通信链路可以为serdes链路(双向serdes链路),每条serdes链路由分别位于tm芯片和sw芯片的通信服务进程模拟,例如位于tm芯片中的客户端进程与位于sw芯片中的服务端进程模拟一条tm芯片指向sw芯片的单向serdes链路,同理,位于sw芯片中的客户端进程与位于tm芯片中的服务端进程模拟一条sw芯片指向tm芯片的单向serdes链路,这两条单向serdes链路构成上述双向的serdes链路。相应地,本技术上述任一实施例中的通信服务进程可以但不限于为socket进程,在此基础上,一条serdes链路对应的socket进程包括2个socket客户端进程和2个socket服务端进程,也即2对socket进程,其中1个socket客户端进程和1个socket服务端进程设置在tm芯片中,1个socket客户端进程和1个socket服务端进程设置在sw芯片中。
38.为了更好地理解本实施例提供的芯片验证系统,以图2所示的包括2个tm芯片和2个sw芯片的芯片验证系统为例进行说明。图2中每一个芯片(tm芯片、sw芯片)均是一个独立的systemc模型,然后使用2对socket进程模拟tm芯片与sw芯片间的一条双向的serdes链路以支持全双工的工作模式。每个芯片(tm芯片、sw芯片)的systemc模型维护了多个socket进程,对于每一个tm芯片和sw芯片,芯片内的每个socket进程只处理发送数据或读取数据中的一种操作,例如,图2中的tm芯片(tm芯片1和tm芯片2)包括多个socket进程,sw芯片(sw芯片1和sw芯片2)包括多个socket进程,且tm芯片(tm芯片1和tm芯片2)中的socket ai为socket客户端进程,socket bi为服务端进程,sw芯片(sw芯片1和sw芯片2)中的socket ci为socket客户端进程,socket di为服务端进程,即图2中tm芯片1中的socket a1与sw芯片1中的socket d1构成一条tm芯片指向sw芯片的单向serdes链路,且sw芯片1中的socket c1与tm芯片1中的socket b1构成一条sw芯片指向tm芯片的单向serdes链路,以此类推。在此基础之上,tm芯片只使用socket ai进行发送操作,只使用socket bi进行读取操作;相应地,sw芯片中只使用socket ci进行发送操作,只使用socket di进行读取操作。
39.在此基础上,当tm芯片1与sw芯片1进行交互时,tm芯片1可以利用其内的socket a1将第一数据发送至socket a1对应的serdes链路上,而该serdes链路在sw芯片1一侧由socket d1连接,则sw芯片1可以利用socket d1可以从该serdes链路上读取tm芯片1发送的第一数据。同理,当sw芯片1需要向tm芯片1发送第二数据时,sw芯片1可以利用其内的socket c1将第二数据发送至socket c1对应的serdes链路上,而socket c1对应的serdes链路在tm芯片1一侧由socket b1连接,则tm芯片1可以利用socket b1从该serdes链路读取第二数据,由此即可实现tm芯片1与sw芯片1之间相关交换功能的验证。
40.基于上述任一实施例,每个tm芯片和每个sw芯片分别包括用于维护所述通信服务进程的接口模块。
41.具体地,还以图2进行说明,每个芯片(tm芯片或sw芯片)的systemc模型的接口模块负责维护socket进程并处理socket事件,包括发送数据、接收数据和socket监听。例如负责发送数据的socket进程采用socket客户端进程实现,而负责读取数据的socket进程采用
socket服务端进程实现。为了方便理解,请参考图3所示,在一个芯片(tm芯片或sw芯片)的systemc模型的接口模块中通过分别维护一个socket服务端进程和一个socket客户端进程来模拟一条serdes链路,图3中tm芯片1与sw芯片1间由socket服务端进程和socket客户端模拟了2条全双工的serdes链路,分别为serdes链路1和serdes链路2,具体为:serdes链路1由tm芯片1中的socket客户端进程1(记为client1)和sw芯片1中的socket服务端进程1(记为server1)构成的一条tm芯片1指向sw芯片1的单向serdes链路,和,sw芯片1中的socket客户端进程2(记为client2)和tm芯片1中的socket服务端进程2(记为server2)构成的一条sw芯片1指向tm芯片1的单向serdes链路构成;而serdes链路2由tm芯片1中的socket客户端进程3(记为client3)和sw芯片1中的socket服务端进程3(记为server3)构成的一条tm芯片1指向sw芯片1的单向serdes链路,和,sw芯片1中的socket客户端进程4(记为client4)和tm芯片1中的socket服务端进程4(记为server4)构成的一条sw芯片1指向tm芯片1的单向serdes链路构成。基于图3所示的serdes链路即可进行tm芯片1与sw芯片1之间的数据交互,进而同时实现tm芯片1与sw芯片1的芯片验证。
42.实际环境中,对于多芯片的建模,一般假设芯片间的serdes链路不丢包,对于一个芯片的systemc模型,在socket客户端进程侧,socket客户端进程每个时钟周期将需要发送的报文发送到对应的服务端进程,而在socket服务端侧,socket服务端进程接收的是该systemc模型(芯片)外部的数据,因此,在每一个时钟周期内,需要处理的socket事件数量是不一定的(包括接收数据和在socket连接关闭后重新开启监听端口),但处理不同socket事件的耗时在仿真中应当是不同的(如接收数据的耗时应当小于socket连接关闭后重新开启监听端口的耗时),因此,要将读取数据的操作与监听事件进行解耦。具体地,本技术提出通过systemc tlm的全局量子时间quantum keeper来执行上述解耦操作。
43.在此基础上,上述接口模块基于设置的全局量子时间调节计数器,以控制本周期内所述通信服务进程读取数据的操作次数与所述通信服务进程建立通信连接的操作次数。
44.具体来说,针对每个芯片(tm芯片和sw芯片),上述全局量子时间可以根据仿真周期进行配置,以将芯片推进到下一仿真时钟周期,也即上述全局量子时间为用于推进仿真进入下一仿真时钟周期的时间。具体可以在初始化阶段利用set_global_quantum配置全局量子时间。需要说明的是,上述仿真时钟周期应与芯片的时钟周期相同。然后在接口模块中为通信服务进程设置计数器,通过调整该计数器的值以控制每个仿真时钟周期内通信服务进程读取数据的操作次数与所述通信服务进程建立通信连接的操作次数,从而控制该通信服务进程进入下一仿真时钟周期的时间。
45.可选地,每个芯片(tm芯片和sw芯片)中的接口模块所维护的通信服务进程为服务端进程,则该接口模块可以判断服务端进程是否断开;若断开,则将所述计数器调整到第一数值;若未断开,则将所述服务端进程调整到第二数值;然后接口模块判断所述计数器的数值是否不小于所述全局量子时间;若不小于,则对所述服务端进程进行监听;并继续执行所述判断服务端进程是否断开的步骤。
46.具体地,接口模块可以判断服务端进程所建立的通信连接是否断开,如果连接已断开则表明发生了断开事件,则将计数器调整到第一数值;如果未断开则利用服务端进程继续读取数据,并继续对该服务端进程进行监听,同时将该计数器调整到第二数值;然后接口模块判断计数器的数值是否不小于设置的全局量子时间,如果小于,则表明本仿真周期
还未结束,则需要继续对服务端进程进行监听,即服务端进程继续执行读取数据的操作;如果计数器的数值小于全局量子时间,表明本次仿真时钟周期结束,需要推进到下一仿真时钟周期。
47.需要说明的是,本实施例中的计数器的数值用于表征在本仿真时钟周期内接口模块的仿真进度。
48.需要说明的是,当判断服务端进程所建立的通信连接已断开时,则继续对该服务端进行监听,因为服务端进程可能会随时重新建立通信连接,然后继续执行上述判断服务端进程所建立的通信连接是否断开的步骤。
49.需要说明的是,接口模块在执行上述计数器的数值调整后,可以通过调用keeper的inc方法推进计数器的数值,然后将计数器的数值与全局量子时间进行比较,根据不同的socket事件赋给计数器不同的值,可不同程度地推进仿真时间,直至到达全局量子时间,此时调用keeper的sync进行同步,然后跳出接口模块的进程,进入下一仿真时钟周期。
50.值得注意的是,在执行上述判断服务端进程是否断开步骤之前,接口模块可以全局量子时间进行初始化,然后创建服务端进程,在创建完服务端进程后,将该服务端进程与端口port进行绑定,以使该服务端进程通过绑定的端口port建立通信连接,该服务端进程创建的通信连接与对端芯片中的客户端进程建立的通信连接构成上述单向的串行通信连接。然后接口模块就可以对上述绑定的端口port进行监听,然后再执行上述判断服务端进程是否断开的步骤。
51.为了更好地理解上述过程,以服务端进程为socket服务端进程(记为socket server进程)并结合下述实例进行说明,上述第一数值可以但不限于为10,第二数值可以但不限于为4,以描述接口模块对服务端进程的监控:
52.step 1:初始化全局量子时间,本例中配置为20;
53.step 2:创建socket server进程;
54.step 3:socket server进程绑定端口port;
55.step 4:socket server进程监听上述绑定的端口port;
56.step 5:调用socket的select函数,触发socket监听事件;
57.step 6:判断socket server进程所建立的socket连接是否关闭,若socket连接已关闭,跳到step 7,若未关闭,则跳到step 10;
58.step 7:计数器的数值向前推进10,即计数器的数值加10;
59.step 8:将计数器的数值与设置的全局量子时间进行比较,若不小于全局量子时间,则跳到step 9,若小于全局量子时间,则跳到step 5;
60.step 9:执行keeper同步,仿真进入下一周期,跳到step 5;
61.step 10:利用socket server进程读取数据;
62.step 11:计数器的数值向前推进4;
63.step 12:将计数器的数值与设置的全局量子时间进行比较,若不小于全局量子时间,跳到step 13,若小于全局量子时间,则跳到step 5;
64.step 13:执行keeper同步,仿真进入下一周期,跳到step 5;
65.通过实施本技术提供的芯片验证系统,构建了原本难以用单一systemc模型构建的多芯片的分布式仿真模型,由于使用了socket进程模拟芯片(tm芯片与sw芯片)间的
serdes链路,使芯片网络具有良好的可扩展性,提升了开发效率。通过keeper将socket处理与模型时钟解耦,对不同socket事件的处理可以不同程度地推进模拟时间,更精准地模拟了硬件的时序逻辑。
66.基于同一发明构思,本技术还提供了一种芯片验证方法,应用于芯片验证系统中的流量管理tm芯片中,上述芯片验证系统还包括交换sw芯片,上述tm芯片与上述sw芯片之间具有至少一条串行通信链路,上述tm芯片和上述sw芯片为分别采用系统建模语言systemc建模得到的,上述tm芯片设置有与上述串行通信链路相对应的通信服务进程,上述sw芯片设置有与上述串行通信链路相对应的通信服务进程;上述tm芯片实施上述芯片验证方法时,可以按照图4所示的流程实施:
67.s401、tm芯片利用其内的通信服务进程将第一数据通过对应的串行通信链路发送给所述sw芯片,以使所述sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述第一数据并执行对应验证操作。
68.s402、tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述sw芯片发送的第二数据并执行对应验证操作。
69.需要说明的是,步骤s401~s402的实施可以参考上述芯片验证系统中关于tm芯片的相关描述,此处不再一一详细列举。
70.采用上述芯片验证方法,tm芯片和sw芯片可以通过两芯片之间的串行通信链路进行数据传输,即,tm芯片和sw芯片可以通过各自的通信服务进程进行数据交互,从而也就可以完成tm芯片和sw芯片的数据传输功能的验证,同时结合tm芯片和sw芯片自身功能(除涉及数据交互功能的验证之外的功能)的验证,从而也就可以实现了每个tm芯片和每个sw芯片的同时验证,从而也就解决了现有技术中仅能实现单一芯片验证所带来的验证效率及组网灵活性差的问题。
71.可选地,上述每条串行通信链路对应的通信服务进程包括客户端进程和服务端进程;在此基础上,可以按照下述过程执行步骤s401:利用其内的客户端进程将第一数据通过对应的串行通信链路发送给sw芯片。在此基础上,可以按照下述方法执行步骤s402:利用其内的服务端进程从对应的串行通信链路读取所述sw芯片发送的第二数据。
72.具体地,上述过程的实施可以参考上述tm芯片对客户端进程和服务端进程的相关描述,此处不再一一详细列举。
73.可选地,上述tm芯片包括用于维护所述通信服务进程的接口模块;本实施例提供的芯片验证方法,还包括:
74.上述tm芯片利用所述接口模块通过设置的全局量子时间调节计数器,以控制本周期内所述通信服务进程读取数据的操作次数与所述通信服务进程建立通信连接的操作次数。
75.具体地,上述过程的实施可以参考芯片验证系统中关于接口模块的相关描述,此处不再一一详细列举。
76.基于同一发明构思,本技术还提供了一种芯片验证方法,应用于芯片验证系统中的交换sw芯片中,该芯片验证系统还包括流量管理tm芯片,上述sw芯片与上述tm芯片之间具有至少一条串行通信链路,上述sw芯片和上述tm芯片为分别采用系统建模语言systemc建模得到的,上述sw芯片设置有与上述串行通信链路相对应的通信服务进程,上述tm芯片
设置有与上述串行通信链路相对应的通信服务进程;上述sw实施上述芯片验证方法时,可按照图5所示的过程实施:
77.s501、sw芯片利用其内的通信服务进程从对应的串行通信链路读取所述tm芯片发送的第一数据,并利用所述第一数据执行对应验证操作。
78.s502、sw芯片利用其内的通信服务进程将第二数据通过对应的串行信链路发送给tm芯片,以使该tm芯片利用其内的通信服务进程从对应的串行通信链路读取所述第二数据并执行对应验证操作。
79.需要说明的是,步骤s501~s502的实施可以参考上述芯片验证系统中关于sw芯片的相关描述,此处不再一一详细列举。
80.采用上述芯片验证方法,tm芯片和sw芯片可以通过两芯片之间的串行通信链路进行数据传输,即,tm芯片和sw芯片可以通过各自的通信服务进程进行数据交互,从而也就可以完成tm芯片和sw芯片的数据传输功能的验证,同时结合tm芯片和sw芯片自身功能(除涉及数据交互功能的验证之外的功能)的验证,从而也就可以实现了每个tm芯片和每个sw芯片的同时验证,从而也就解决了现有技术中仅能实现单一芯片验证所带来的验证效率及组网灵活性差的问题。
81.可选地,每条串行通信链路对应的通信服务进程包括客户端进程和服务端进程;则可以按照下述过程执行步骤s501:利用其内的服务端进程从对应的串行通信链路读取所述tm芯片发送的第一数据;可以按照下述过程执行步骤s502:利用其内的客户端进程将第二数据通过对应的串行信链路发送给tm芯片。
82.具体地,上述过程的实施可以参考上述sw芯片对客户端进程和服务端进程的相关描述,此处不再一一详细列举。
83.可选地,上述sw芯片包括用于维护所述通信服务进程的接口模块;在此基础上,本实施例提供的芯片验证方法,还包括:sw芯片利用所述接口模块通过设置的全局量子时间调节计数器,以控制本周期内所述通信服务进程读取数据的操作次数与所述通信服务进程建立通信连接的操作次数。
84.具体地,上述过程的实施可以参考芯片验证系统中关于接口模块的相关描述,此处不再一一详细列举。
85.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
86.上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
87.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是
或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
88.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1