CN102377655A - 软件仿真asic转发的系统和方法 - Google Patents
软件仿真asic转发的系统和方法 Download PDFInfo
- Publication number
- CN102377655A CN102377655A CN2010102575397A CN201010257539A CN102377655A CN 102377655 A CN102377655 A CN 102377655A CN 2010102575397 A CN2010102575397 A CN 2010102575397A CN 201010257539 A CN201010257539 A CN 201010257539A CN 102377655 A CN102377655 A CN 102377655A
- Authority
- CN
- China
- Prior art keywords
- asic
- subsystem
- module
- emulation
- software
- 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
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种软件仿真ASIC转发的系统,包括硬件系统和软件系统,其中硬件系统包括ASIC子系统和CPU子系统;其特征在于:软件系统读取来自ASIC子系统中的数据并仿真ASIC子系统对数据包的转发处理流程,软件系统包括用户接口模块、数据提取模块、ASIC仿真模块、ASIC驱动模块。本发明通过软件系统中的所有模块增强了以太网交换机系统的调试和分析能力。
Description
技术领域
本发明涉及本发明涉及网络通讯系统,尤其涉及基于以太网芯片的以太网交换机系统上的调试和分析系统。
背景技术
以太网交换机一般都含有专门用于处理数据包转发的ASIC(Application specific Integrated Circuit,专用集成电路)芯片,通用CPU理论上可以实现任何网络功能,但是性能低下,ASIC技术提供的是在转发数据时利用专用芯片而不是由CPU来处理,因此转发速度可以做到非常快,提升了网络的性能。
随着数据通讯网络的发展,以太网交换机开始承担越来越重要的角色。为了提高以太网交换机的转发性能,需要将数据包处理集成到专用芯片(ASIC)中。随着数据网络支持的协议越来越复杂,以太网芯片的处理流程也越来越复杂,出现问题后调试和分析越来越困难。基于ASIC的以太网芯片有集成度高,数据包处理能力强等优点;但同时又有调试手段缺乏,出现问题难以分析的缺点。在基于以太网芯片的以太网交换机系统上,无法跟踪数据包在芯片中的处理过程,也无法查看数据包处理的中间结果,所以当出现问题的时候,很难进行调试和分析。
发明内容
有鉴于此,本发明目的是在于提供一种软件仿真ASIC转发的系统和方法,用以改善增强以太网交换机系统的调试和分析能力。
为了实现前述发明目的,本发明提供了一种软件仿真ASIC转发的系统,包括硬件系统和软件系统,其中硬件系统包括ASIC子系统和CPU子系统;软件系统读取来自ASIC子系统中的数据并仿真ASIC子系统对数据包的转发处理流程,软件系统包括用户接口模块、数据提取模块、ASIC仿真模块、ASIC驱动模块。
进一步地,所述CPU子系统运行系统软件,并提供与ASIC子系统的读写接口和用于传送数据包的以太网接口,ASIC子系统实现对数据包的处理,对于ASIC无法处理的数据包,可通过ASIC子系统与CPU子系统间的以太网接口,将报文复制到CPU子系统,ASIC子系统支持将端口收到的数据包不做修改地转发到CPU子系统功能。
进一步地,所述用户接口模块接受用户配置,以打开或关闭软件仿真模式,并把仿真数据包处理的结果显示给用户。
进一步地,所述数据提取模块用于负责从CPU子系统与ASIC子系统的以太网接口上获取数据包。
进一步地,所述ASIC仿真模块的处理流程与ASIC子系统保持一致,ASIC仿真模块包括解析子模块、匹配子模块、转发子模块、编辑子模块。解析子模块负责解析包的头部,以识别包的类型等信息;匹配子模块根据包的类型信息去匹配ASIC子系统中配置信息,获得对该包的处理方法;转发子模块根据处理方法将包转发到相应的出口;编辑子模块根据处理方法对包进行编辑,并从出口发送出去。
进一步地,所述ASIC驱动模块是ASIC仿真模块的支持模块,实现CPU子系统对ASIC寄存器的读、写、以及查询接口。
为了实现前述发明目的,本发明提供了一种软件仿真ASIC转发的方法,包括提供具有ASIC子系统和CPU子系统的硬件系统,还包括提供可读取来自ASIC子系统中的数据并仿真ASIC子系统对数据包的转发处理流程的软件系统,该软件系统包括用户接口模块、数据提取模块、ASIC仿真模块、ASIC驱动模块。
相较于现有技术,本发明通过软件系统读取来自ASIC子系统中的数据,基于这些数据,软件系统仿真ASIC子系统对数据包的转发处理流程,由于软件具有很方便的调试手段,数据包转发流程能很方便的调试,从而大大改善了基于以太网芯片的以太网交换机的调试和分析能力,增强了系统的透明度,提高了解决问题的效率,缩短了产品的研发周期。
附图说明
图1为本发明实施例中软件仿真ASIC转发的系统的示意图。
图2为本发明实施例中ASIC仿真模块的处理流程示意图。
附图标记说明如下:
1:ASIC子系统
2:CPU子系统
3:ASIC驱动模块
4:数据提取模块
5:ASIC仿真模块
6:用户接口模块
具体实施方式
请参考图1,软件仿真ASIC转发的系统包括硬件系统和软件系统。其中硬件系统包括ASIC子系统1和CPU子系统2;软件系统包括用户接口模块6、数据提取模块4、ASIC仿真模块5、ASIC驱动模块3。
ASIC子系统实现对数据包的处理,对于ASIC子系统无法处理的数据包,可以通过ASIC子系统与CPU子系统间的以太网接口,将报文复制到CPU子系统。ASIC子系统支持将端口收到的数据包不做修改地转发到CPU子系统功能。
CPU子系统运行系统软件,并提供与ASIC子系统的读写接口和用于传送数据包的以太网接口。
用户接口模块接受用户配置,如将某个端口打开或关闭软件仿真模式,并把软件仿真数据包处理的结果显示给用户。
数据提取模块负责从CPU子系统与ASIC子系统的以太网接口上获取数据包。该接口上可能有正常的数据包和需要软件仿真的数据包,可以通过数据包的源端口是否打开了软件仿真模式来区分。
ASIC仿真模块的处理流程必须与ASIC子系统保持一致,否则,软件仿真ASIC转发流程就会不准确。ASIC仿真模块是由软件实现的ASIC子系统的逻辑处理流程,从处理上应该遵从于ASIC的设计,但对于ASIC的性能和复杂的调度算法可以不仿真。因此,仿真模块的具体实现与被仿真的ASIC子系统是相关的。但总的来说,ASIC仿真模块可以划分为解析子模块、匹配子模块、转发子模块、编辑子模块。解析子模块负责解析包的头部,以识别包的类型等信息;匹配子模块根据包的类型信息去匹配ASIC子系统中配置信息,获得对该包的处理方法;转发子模块根据处理方法将包转发到相应的出口;编辑子模块根据处理方法对包进行编辑,并从出口发送出去。
ASIC驱动模块是ASIC仿真模块的支持模块,实现CPU子系统对ASIC子系统的读、写、以及查询接口。
软件系统仿真ASIC子系统转发的方法是通过软件系统读取来自ASIC子系统中的数据,基于这些数据,软件系统仿真ASIC子系统对数据包的转发处理流程。由于软件系统具有很方便的调试手段(如打印语句或单步跟踪等),所以数据包转发流程能很方便的调试。
在以上方案中,数据包来源于ASIC子系统的端口上采集的数据包。其他实施例中,数据包可以不是来自ASIC子系统,而是通过用户接口由用户虚构的数据包。
本发明仅需要以太网芯片<ASIC>支持将数据包送到CPU,只需要修改软件系统,就可以增强以太网交换机系统的调试和分析能力。修改仿真软件,譬如将处理的一些中间变量打印出来,或可以用调试器单步跟踪调试,这些在ASIC子系统中是无法做到的。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,利用上述揭示的方法内容对本发明技术方案做出许多可能的变动和修饰,均属于权利要求书保护的范围。
Claims (10)
1.一种软件仿真ASIC转发的系统,包括硬件系统和软件系统,其中硬件系统包括ASIC子系统和CPU子系统;其特征在于:软件系统读取来自ASIC子系统中的数据并仿真ASIC子系统对数据包的转发处理流程,软件系统包括用户接口模块、数据提取模块、ASIC仿真模块、ASIC驱动模块。
2.如权利要求1所述的软件仿真ASIC转发的系统,其特征在于,所述CPU子系统运行系统软件,并提供与ASIC子系统的读写接口和用于传送数据包的以太网接口,ASIC子系统实现对数据包的处理,对于ASIC无法处理的数据包,可通过ASIC子系统与CPU子系统间的以太网接口,将报文复制到CPU子系统,ASIC子系统支持将端口收到的数据包不做修改地转发到CPU子系统功能。
3.如权利要求1所述的软件仿真ASIC转发的系统,其特征在于,所述用户接口模块接受用户配置,以打开或关闭软件仿真模式,并把仿真数据包处理的结果显示给用户。
4.如权利要求1所述的软件仿真ASIC转发的系统,其特征在于,所述数据提取模块用于负责从CPU子系统与ASIC子系统的以太网接口上获取数据包。
5.如权利要求1所述的软件仿真ASIC转发的系统,其特征在于,所述ASIC仿真模块的处理流程与ASIC子系统保持一致,ASIC仿真模块包括解析子模块、匹配子模块、转发子模块、编辑子模块。解析子模块负责解析包的头部,以识别包的类型等信息;匹配子模块根据包的类型信息去匹配ASIC子系统中配置信息,获得对该包的处理方法;转发子模块根据处理方法将包转发到相应的出口;编辑子模块根据处理方法对包进行编辑,并从出口发送出去。
6.如权利要求1所述的软件仿真ASIC转发的系统,其特征在于,所述ASIC驱动模块是ASIC仿真模块的支持模块,实现CPU子系统对ASIC寄存器的读、写、以及查询接口。
7.一种软件仿真ASIC转发的方法,包括提供具有ASIC子系统和CPU子系统的硬件系统,其特征在于,还包括提供可读取来自ASIC子系统中的数据并仿真ASIC子系统对数据包的转发处理流程的软件系统,该软件系统包括用户接口模块、数据提取模块、ASIC仿真模块、ASIC驱动模块。
8.如权利要求7所述的软件仿真ASIC转发的方法,其特征在于,所述ASIC子系统实现对数据包的处理,对于ASIC子系统无法处理的数据包,通过ASIC子系统与CPU子系统间的以太网接口,将报文复制到CPU子系统;CPU子系统运行系统软件,提供与ASIC子系统的读写接口和用于传送数据包的以太网接口;数据提取模块从CPU子系统与ASIC子系统的以太网接口上获取数据包。
9.如权利要求8所述的软件仿真ASIC转发的方法,其特征在于,所述ASIC驱动模块是ASIC仿真模块的支持模块,实现CPU子系统对ASIC寄存器的读、写、以及查询接口,所述ASIC仿真模块的处理流程与ASIC子系统保持一致,ASIC仿真模块包括解析子模块、匹配子模块、转发子模块、编辑子模块。解析子模块负责解析包的头部,以识别包的类型等信息;匹配子模块根据包的类型信息去匹配ASIC子系统中配置信息,获得对该包的处理方法;转发子模块根据处理方法将包转发到相应的出口;编辑子模块根据处理方法对包进行编辑,并从出口发送出去。
10.如权利要求9所述的软件仿真ASIC转发的方法,其特征在于,所述用户接口模块接受用户配置,以打开或关闭软件仿真模式,并把仿真数据包处理的结果显示给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102575397A CN102377655A (zh) | 2010-08-19 | 2010-08-19 | 软件仿真asic转发的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102575397A CN102377655A (zh) | 2010-08-19 | 2010-08-19 | 软件仿真asic转发的系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102377655A true CN102377655A (zh) | 2012-03-14 |
Family
ID=45795654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102575397A Pending CN102377655A (zh) | 2010-08-19 | 2010-08-19 | 软件仿真asic转发的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102377655A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506463A (zh) * | 2015-01-04 | 2015-04-08 | 盛科网络(苏州)有限公司 | 提供交换机报文芯片在线流程调试信息的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1349630A (zh) * | 1999-07-16 | 2002-05-15 | 阿塔迈尔公司 | 提供现场可编程系统级装置的软件工具 |
CN1372193A (zh) * | 2001-02-27 | 2002-10-02 | 韩国科学技术院 | 利用高级编程语言的电路内仿真的设备和方法 |
CN1797411A (zh) * | 2004-12-28 | 2006-07-05 | 北京六合万通微电子技术有限公司 | 实现数模混合型集成电路验证的方法及装置 |
-
2010
- 2010-08-19 CN CN2010102575397A patent/CN102377655A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1349630A (zh) * | 1999-07-16 | 2002-05-15 | 阿塔迈尔公司 | 提供现场可编程系统级装置的软件工具 |
CN1372193A (zh) * | 2001-02-27 | 2002-10-02 | 韩国科学技术院 | 利用高级编程语言的电路内仿真的设备和方法 |
CN1797411A (zh) * | 2004-12-28 | 2006-07-05 | 北京六合万通微电子技术有限公司 | 实现数模混合型集成电路验证的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506463A (zh) * | 2015-01-04 | 2015-04-08 | 盛科网络(苏州)有限公司 | 提供交换机报文芯片在线流程调试信息的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104823167B (zh) | 现场错误恢复 | |
CN105793715B (zh) | 互连重定时器增强 | |
US9509312B2 (en) | Boolean logic in a state machine lattice | |
US7710969B2 (en) | Rapid I/O traffic system | |
US20130326280A1 (en) | Debugging method, chip, board, and system | |
CN108874470B (zh) | 一种信息处理方法及服务器、计算机存储介质 | |
US10592450B2 (en) | Custom compute cores in integrated circuit devices | |
US7496801B2 (en) | Method, apparatus and system for facilitating debug for link interconnects | |
CN104412565B (zh) | 用于涉及承载无关协议的套接字管理的方法 | |
CN104063319A (zh) | 一种嵌入式系统的调试方法及其装置 | |
CN107078850A (zh) | 边带奇偶校验处理 | |
CN105094910A (zh) | 一种驱动函数用户态调试系统和方法 | |
CN113760748A (zh) | 一种fpga原型验证装置及方法 | |
CN105488399A (zh) | 一种基于程序关键字调用序列的脚本病毒检测方法及系统 | |
CN102377655A (zh) | 软件仿真asic转发的系统和方法 | |
CN105335156B (zh) | 一种java对象序列化的方法以及系统 | |
CN100474266C (zh) | 一种用于数字信号处理器的调试系统及其调试方法 | |
CN101206613A (zh) | 高速基本输入/输出系统调试卡 | |
US20060282719A1 (en) | Unique Addressable Memory Data Path | |
CN104572515A (zh) | 跟踪模块、方法、系统和片上系统芯片 | |
US20060256877A1 (en) | Rapid I/O Compliant Message Mapper | |
CN102789400B (zh) | 一种中断不响应的检测方法及系统 | |
Tang et al. | Internet of things security: Principles and practice | |
Blanco et al. | One firmware to monitor’em all | |
US20060256878A1 (en) | Out of Order Message Completion Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120314 |