网络芯片逻辑验证方法及系统的制作方法

文档序号:7933368阅读:209来源:国知局
专利名称:网络芯片逻辑验证方法及系统的制作方法
技术领域
本发明涉及以太网技术领域,尤其涉及一种网络芯片逻辑验证方法及系统。
背景技术
由于集成电路技术和网络通信技术的不断发展,使得网络芯片实现了越来越复杂的功能。当这些复杂的功能集成在一个芯片中,如何能保证这些功能实现的正确性,以及各种功能不会互相影响和冲突,对芯片设计人员和验证人员都是一个挑战。由于芯片实现功能的增多,整个芯片的研发周期必定增加,而如何能够尽可能的缩短研发时间,也是我们面临的重要课题。现有的对网络芯片的验证多是采用硬件仿真,可是硬件仿真平台的研发周期本身也比较长,能够提供给验证人员的调试方法也比较复杂,不利于验证人员快速定位到错误,单从验证芯片的逻辑功能的角度,软件仿真体现了自己的优势。有鉴于此,有必要提出了一种新的网络芯片逻辑验证方法及系统。

发明内容
本发明的目的在于提供一种网络芯片逻辑验证方法及系统,其方便有效,可快速地对芯片的设计进行验证,保证芯片逻辑功能实现的正确性和可靠性。本发明的一种网络芯片逻辑验证方法,所述网络芯片逻辑验证方法包括以下步骤
S1、配置网络芯片软件仿真平台。S2、网络测试仪发送报文给网络芯片软件仿真平台;
53、网络芯片软件仿真平台接收到报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文;
54、网络测试仪接收到返回的报文,与期望结果进行测试结果分析。作为本发明的进一步改进,所述“仿真处理动作”具体为
对存储器和寄存器的模拟,包括申请多块指定大小的内存,所述内存用于存放表和控制寄存器相关数据。对网络芯片端口和接收、发送报文模块的模拟,包括接收网络测试仪发送的报文,并识别是从何端口收到,在对报文处理完后从指定端口发送出报文。对芯片逻辑处理流程的模拟,包括对报文进行解析,根据报文特征和相关配置查找对应的转发表,并且对报文进行编辑。若丢弃报文,则记录丢弃的原因。作为本发明的进一步改进,所述存储器包括静态存储器、动态存储器及内容寻址存储器。作为本发明的进一步改进,在所述SI步骤前还包括
启动网络测试仪和网络芯片软件仿真平台,并建立网络测试仪和网络芯片软件仿真平台之间的通信。
作为本发明的进一步改进,所述“测试结果分析”包括
分析是否从正确的端口接收到报文;
报文个数是否正确;
报文的每个字段是否与期望的值相等;
若有报文丢弃,检查丢弃原因是否与期望的原因相同。相应地,一种网络芯片逻辑验证系统,其特征在于,所述网络芯片逻辑验证系统包括网络测试仪和网络芯片软件仿真平台,其中
所述网络测试仪用于发送和接收报文,并对接收的报文与期望结果进行测试结果分
析;
所述网络芯片软件仿真平台用于接收网络测试仪发送的报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文。作为本发明的进一步改进,所述网络芯片软件仿真平台包括
内存模型模块用于对芯片中存储器和寄存器的模拟,包括申请多块指定大小的内存,所述内存用于存放表和控制寄存器相关数据;` 驱动程序模块用于操作模拟芯片中表和控制寄存器,包括注册表和控制寄存器的结构,维护表和控制寄存器的信息,包括内存地址、最大条目数,以及提供对表和控制寄存器的读写操作的接口;
逻辑功能模块用于对芯片逻辑处理流程和网络芯片端口的模拟,包括接收报文后对报文的解析,根据报文特征和相关配置查找对应的转发表,得到报文转发出端口,对报文的编辑后将报文发送给网络测试仪。用户配置接口模块用于提供测试人员配置表和控制寄存器的友好界面。作为本发明的进一步改进,所述存储器包括静态存储器、动态存储器及内容寻址存储器。作为本发明的进一步改进,所述网络测试仪和网络芯片软件仿真平台之间建立有通信。作为本发明的进一步改进,所述网络测试仪还用于
分析是否从正确的端口接收到报文;
报文个数是否正确;
报文的每个字段是否与期望的值相等;
若有报文丢弃,检查丢弃原因是否与期望的原因相同。本发明的有益效果是本发明提供的网络芯片逻辑验证方法及系统实现方法简单,开发周期短,可以与芯片的设计同步进行,缩短了整个芯片的研发时间。


图1为本发明一实施方式中网络芯片逻辑验证方法的流程图。图2为本发明一实施方式中网络芯片逻辑验证系统的示意图。图3为图2中网络芯片软件仿真平台的示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。参图1所示,本发明一实施方式中的一种网络芯片逻辑验证方法,该网络芯片逻辑验证方法包括以下步骤
S1、配置网络芯片软件仿真平台。验证人员根据需要验证的功能,编写脚本语言,使用网络芯片软件仿真平台提供的用户友好界面,对模拟芯片中的表和控制寄存器进行配置。S2、网络测试仪发送报文给网络芯片软件仿真平台。验证人员按照不同的待测的逻辑功能,编写脚本语言,控制网络测试仪发送不同类型和特征的报文给网络芯片软件仿真平台的某个模拟端口;
53、网络芯片软件仿真平台接收到报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文。网络芯片软件仿真平台从某端口接收到报文,对报文进行一系列分析、查找和编辑,同时计算出出端口,最终将处理后报文从这个出端口送回给网络测试仪,或者丢掉报文,并记录丢弃的原因;
54、网络测试仪接收到返回的报文,与期望结果进行测试结果分析。网络测试仪根据脚本提供的期望结果进行测试结果分析,分析是否从正确的端口接收到报文,报文个数是否正确,报文的每个字段是否与期望的值相等,若有报文丢弃,检查丢弃原因是否与期望的原因相同。从而判断芯片设计的逻辑功能是否正确。在S3步骤中,所述“仿真处理动作”具体为
对芯片中存储器和寄存器的模拟,包括申请多块指定大小的内存,所述内存用于存放表和控制寄存器等相关数据;
对网络芯片端口和接收、发送报文模块的模拟,包括接收到网络测试仪发送的报文,并识别是从何端口收到,在报文处理完后从指定端口发送出报文。对芯片逻辑处理流程的模拟,包括对报文进行解析,根据报文特征和相关配置查找对应的转发表,并且对报文进行编辑。若丢弃报文,则记录丢弃的原因。其中
所述“仿真处理动作”对动态和静态存储器的模拟具体为模拟其能够存储和读取数据的特点;
所述“仿真处理处理”对内容寻址存储器的模拟具体为模拟其能够存储和读取数据以及可以按内容寻址的特点,所述之按内容寻址即可以根据要查找的数据,返回数据被存储的地址。所述“仿真处理动作”网络芯片端口的模拟中,模拟端口除了需要模拟实际芯片端口,还需要模拟CPU接口,每个模拟端口都能接收和发送报文。进一步地,在所述SI步骤前还包括
启动网络测试仪和网络芯片软件仿真平台,并建立两者之间的通信,同时要建立报文传输端口的连接和管理端口的连接,这个步骤可以通过编写脚本语言来实现。在本实施方式中,网络测试仪也是通过软件仿真。另外,在所述S4步骤后还包括
重复上述S1-S4步骤,直至完成整个芯片逻辑功能的验证。
参图2所示,本发明一实施方式中的一种网络芯片逻辑验证系统,该系统通过用C语言实现,包括
网络测试仪10,用于发送和接收报文,并对接收的报文与期望结果进行测试结果分析。验证人员按照不同的待测的逻辑功能,编写脚本语言,控制网络测试仪发送不同类型和特征的报文给网络芯片软件仿真平台的某个模拟端口,另外,网络测试仪根据脚本提供的期望结果进行测试结果分析,分析是否从正确的端口接收到报文,报文个数是否正确,报文的每个字段是否与期望的值相等,若有报文丢弃,检查丢弃原因是否与期望的原因相同。从而判断芯片设计的逻辑功能是否正确;
网络芯片软件仿真平台20 :用于接收网络测试仪发送的报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文。网络芯片软件仿真平台从某端口接收到报文,对报文进行一系列分析、查找和编辑,同时计算出出端口,最终将处理后报文从这个出端口送回给网络测试仪,或者丢掉报文,并记录丢弃的原因。参图3所示,网络芯片软件仿真平台包括
内存模型模块21 :用于对芯片中存储器和寄存器的模拟,所述存储器包括静态存储器、动态存储器及内容寻址存储器等;
驱动程序模块22 :用于操作模拟芯片中表和控制寄存器,包括注册表和控制寄存器的结构,维护表和控制寄存器的信息,如内存地址、最大条目数等,以及提供对表和控制寄存器的读写操作的接口;
逻辑功能模块23 :用于对芯片逻辑处理流程和网络芯片端口的模拟,包括接收报文后对报文的解析,根据报文特征和相关配置查找对应的转发表,得到报文转发出端口,对报文的编辑后将报文发送给网络测试仪。用户配置接口模块24 :用于提供测试人员配置表和控制寄存器的友好界面。其中
内存模型模块对动态存储器的模拟具体为模拟其能够存储数据的特点,可以按地址索引到内容;
内存模型模块对内容寻址存储器的模拟具体为模拟其进行按内容索引的特点,即可以根据要查找的内容,找到对应的条目,并返回条目索引值的模拟。逻辑功能模块对网络芯片端口的模拟中,模拟端口除了需要模拟实际芯片端口,还需要模拟CPU接口,每个模拟端口都能接收和发送报文。进一步地,网络测试仪和网络芯片软件仿真平台之间建立有通信。启动网络测试仪和网络芯片软件仿真平台,并建立两者之间的通信,同时要建立报文传输端口的连接和管理端口的连接,这个步骤可以通过编写脚本语言来实现。在本实施方式中,网络测试仪也是通过软件仿真。本发明中的网络芯片逻辑验证方法,能够在芯片的设计阶段,快速帮助检查芯片的逻辑功能的正确性,保证芯片的质量。特别是实现了复杂功能的网络芯片,在软件仿真平台上的验证工作,就显得尤为重要,是整个芯片研发周期中必不可少的一环。该方法及系统实现方法简单,开发周期短,可以与芯片的设计同步进行,缩短了整个芯片的研发时间。同时,本发明中的网络芯片逻辑验证系统对芯片的大部分功能做了模拟,可以在功能实现上模拟出一个网络芯片的行为,因此该系统可以作为模拟芯片,参与架构在芯片之上的上层软件开发,并提供给上层软件一个调试功能,同样能够节省上层软件的开发时间。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的 远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
权利要求
1.一种网络芯片逻辑验证方法,其特征在于,所述网络芯片逻辑验证方法包括以下步骤 51、配置网络芯片软件仿真平台; 52、网络测试仪发送报文给网络芯片软件仿真平台; 53、网络芯片软件仿真平台接收到报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文; 54、网络测试仪接收到返回的报文,与期望结果进行测试结果分析。
2.根据权利要求1所述的方法,其特征在于,所述“仿真处理动作”具体为 对存储器和寄存器的模拟,包括申请多块指定大小的内存,所述内存用于存放表和控制寄存器相关数据; 对网络芯片端口和接收、发送报文模块的模拟,包括接收网络测试仪发送的报文,并识别是从何端口收到,在对报文处理完后从指定端口发送出报文; 对芯片逻辑处理流程的模拟,包括对报文进行解析,根据报文特征和相关配置查找对应的转发表,并且对报文进行编辑,若丢弃报文,则记录丢弃的原因。
3.根据权利要求2所述的方法,其特征在于,所述存储器包括静态存储器、动态存储器及内容寻址存储器。
4.根据权利要求1所述的方法,其特征在于,在所述SI步骤前还包括 启动网络测试仪和网络芯片软件仿真平台,并建立网络测试仪和网络芯片软件仿真平台之间的通信。
5.根据权利要求1所述的方法,其特征在于,所述“测试结果分析”包括 分析是否从正确的端口接收到报文; 报文个数是否正确; 报文的每个字段是否与期望的值相等; 若有报文丢弃,检查丢弃原因是否与期望的原因相同。
6.一种网络芯片逻辑验证系统,其特征在于,所述网络芯片逻辑验证系统包括网络测试仪和网络芯片软件仿真平台,其中 所述网络测试仪用于发送和接收报文,并对接收的报文与期望结果进行测试结果分析; 所述网络芯片软件仿真平台用于接收网络测试仪发送的报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文。
7.根据权利要求6所述的系统,其特征在于,所述网络芯片软件仿真平台包括 内存模型模块用于对芯片中存储器和寄存器的模拟,包括申请多块指定大小的内存,所述内存用于存放表和控制寄存器相关数据; 驱动程序模块用于对操作模拟芯片中的表和控制寄存器,包括注册表和控制寄存器的结构,维护表和控制寄存器的信息,包括内存地址、最大条目数,以及提供对表和控制寄存器的读写操作的接口; 逻辑功能模块用于对芯片逻辑处理流程和网络芯片端口的模拟,包括接收报文后对报文的解析,根据报文特征和相关配置查找对应的转发表,得到报文转发出端口,对报文的编辑后将报文发送给网络测试仪;用户配置接口模块用于提供测试人员配置表和控制寄存器的友好界面。
8.根据权利要求7所述的系统,其特征在于,所述存储器包括静态存储器、动态存储器及内容寻址存储器。
9.根据权利要求6所述的系统,其特征在于,所述网络测试仪和网络芯片软件仿真平台之间建立有通信。
10.根据权利要求6所述的系统,其特征在于,所述网络测试仪还用于 分析是否从正确的端口接收到报文; 报文个数是否正确; 报文的每个字段是否与期望的值相等; 若有报文丢弃,检查丢弃原因是否与期望的原因相同。
全文摘要
本发明提供一种网络芯片逻辑验证方法,所述网络芯片逻辑验证方法包括以下步骤S1、配置网络芯片软件仿真平台;S2、网络测试仪发送报文给网络芯片软件仿真平台;S3、网络芯片软件仿真平台接收到报文,对报文进行仿真处理动作后,将报文发回给网络测试仪或者丢弃报文;S4、网络测试仪接收到返回的报文,与期望结果进行测试结果分析。本发明提供的网络芯片逻辑验证方法及系统实现方法简单,开发周期短,可以与芯片的设计同步进行,缩短了整个芯片的研发时间。
文档编号H04L12/26GK103036734SQ201110304400
公开日2013年4月10日 申请日期2011年10月10日 优先权日2011年10月10日
发明者周伟, 姜生枝 申请人:盛科网络(苏州)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1