一种网络处理器的微码高效仿真方法技术

技术编号:35823190 阅读:18 留言:0更新日期:2022-12-03 13:49
本发明专利技术涉及一种网络处理器的微码高效仿真方法,属于网络处理器领域。本发明专利技术开发一个网络处理器仿真模型;用户可以通过仿真波形,看到每条指令、每个变量的运行情况,包括指令延时和变量的变化过程;用户可以在仿真过程中随时暂停仿真,便于升级网络处理器的指令(后续统称微码)和编辑收发数据包(这些数据包是从以太网口接收并送给处理器处理的报文,以及处理器处理之后送给以太网网口进行发送的报文)的内容,大大提升仿真和代码迭代效率。大大提升仿真和代码迭代效率。大大提升仿真和代码迭代效率。

【技术实现步骤摘要】
一种网络处理器的微码高效仿真方法


[0001]本专利技术属于网络处理器领域,具体涉及一种网络处理器的微码高效仿真方法。

技术介绍

[0002]网络发展迅速,网络带宽越来越高,网络协议越来越复杂,网络协议处理需要可编程处理,即报文需要由可编程的处理器核来处理。半导体技术进入后摩尔时代,芯片工艺提升速度放慢,处理器的频率提升幅度越来越小,由于功耗限制,处理器的频率也不能运行太高,所以靠单核提升性能越来越难,多核架构、多发射架构应运而生。
[0003]多核架构、多发射架构下的网络处理器,几乎都是由数据包、timer事件、Doorbell事件唤醒各个处理器做事件处理的。各个处理器之间需要考虑如何并行、保序处理各类事件。需要精确计算个条指令的延时,才能最大限度提升处理器的IPC,属于并行编程模式。网络处理器的并行编程难度远远大于通用处理器的串行编程。
[0004]所以,目前的现状是:
[0005]1、网络处理器的并行编程的高难度大大提升了网络处理器供应商的技术支持成本。
[0006]2、用户基于网络处理器的灵活架构,学习和熟悉并行编程的成本高。

技术实现思路

[0007](一)要解决的技术问题
[0008]本专利技术要解决的技术问题是如何提供一种网络处理器的微码高效仿真方法,以解决网络处理器的并行编程的高难度大大提升了网络处理器供应商的技术支持成本,用户基于网络处理器的灵活架构,学习和熟悉并行编程的成本高的问题。
[0009](二)技术方案
[0010]为了解决上述技术问题,本专利技术提出一种网络处理器的微码高效仿真方法,该方法包括如下步骤:
[0011]S1:仿真人员编译验证环境,包括验证平台代码TB和设计代码rtl,生成编译库;
[0012]S2:仿真人员启动仿真器执行仿真过程;TB通过下发寄存器配置命令对待测逻辑dut进行寄存器配置,完成rtl的初始化;
[0013]S3:TB自动将要送给网络处理器进行处理的数据报文从文件读取,添加到TB的发送队列,等待从以太网口发送给dut的以太网报文接收模块;
[0014]S4:TB通过下发寄存器配置命令的方式分别给多核的网络处理器NP加载需要运行的微码;
[0015]S5:TB将S3待发送的报文从以太网口送给dut的以太网报文接收模块;
[0016]S6:TB将所有本次要处理的数据报文全部发给dut;
[0017]S7:dut的以太网报文接收模块将本次要处理的报文全部送给网络处理器进行处理,待处理完毕完成本轮仿真,仿真人员暂停仿真进程;
[0018]S80:仿真人员通过检查仿真运行生成的日志文件和波形文件,判断仿真结果否符合设计要求,决定要不要重新修改网络处理器的微码,要不要修改发送给dut的数据报文;
[0019]S81:仿真人员暂时中断仿真器的仿真过程,但不退出,再根据S80的结果,决定修改相应的多核网络处理器的某个NP核或者多个NP的微码;
[0020]S82:仿真人员查看仿真结果,决定重新修改发送给dut的数据报文;
[0021]S83:仿真人员在微码的调试环境里修改相应的多核网络处理器的某个NP或者多个NP的微码,完成编译之后生成TB能加载的hex文件,并将微码放入指定路径;
[0022]S84:仿真人员在报文生成环境里重新构造新的数据报文,并放在TB能读取的位置,待TB将新报文读入TB的发送队列;
[0023]S85:仿真人员启动仿真器的仿真进程,并在命令行启动TB里发送报文给dut的task,仿真器执行完该task的所有内容后暂时停止仿真,继续等待命令行输入新的仿真命令;
[0024]S86:判断是否需要重新加载微码,如果需要,则仿真人员在命令行调用TB加载微码的函数,将对应网络处理器的微码加载到网络处理器中,仿真器运行该task之后暂时停止仿真,继续等待命令行输入新的仿真命令;
[0025]S9:重复S5~S86多轮迭代之后,仿真人员通过查看仿真结果满足设计要求,则准备结束仿真;
[0026]S10:仿真人员在命令行输入exit退出本次仿真。
[0027]进一步地,所述步骤S1中,对设计代码进行加密。
[0028]进一步地,所述步骤S2中,dut为包含一系列rtl代码模块的逻辑。
[0029]进一步地,所述步骤S2中,dut为包含多核网络处理器NP和其它配合处理器工作的一系列的逻辑代码。
[0030]进一步地,所述步骤S81中,仿真人员在仿真界面里输入CTRL+C暂时中断仿真器的仿真过程。
[0031]进一步地,所述步骤S86中,如果不需要,则在新的报文添加在发送队列之后直接启动S5步骤开始数据报文的发送和处理。
[0032]进一步地,所述步骤S80中,将网络处理器内部模块的关键信号抽取出来,并将这些信号在TB中采用一定的逻辑处理之后生成新的信号放入interface中,微码仿真人员通过波形查看interface的信号的方式检查仿真运行的结果。
[0033]进一步地,所述步骤S85中,仿真器的仿真环境包括由systemverilog编写的sv函数和仿真过程中命令行的tcl调用。
[0034]进一步地,由systemverilog编写的函数sv_task在仿真运行起来之后一直挂起,等待仿真过程中由命令行里传入的参数触发该函数往下执行,该sv_task不会退出,只会一直处于等待触发条件的状态,满足条件则往下执行,执行完之后继续回到等待新的触发的状态。
[0035]进一步地,仿真过程中命令行的tcl调用为:由sv编写的函数,通过一定的处理,注册到tcl中,获得sv_task_register_in_tcl函数,仿真运行起来之后,这类函数不会自动运行,而是需要在仿真过程中先暂停仿真,然后再以函数调用的方式在命令行中显示调用该函数,该类函数运行完成之后仿真暂时退出,命令行显示待输入新的命令。
[0036](三)有益效果
[0037]本专利技术提出一种网络处理器的微码高效仿真方法,与现有技术相比,本专利技术提出的技术方案可以实现动态加载网络处理器微码。实现在仿真不停的状态下,根据每次运行结果,修改对应的网络处理器的微码并进行动态加载,加载完之后重新发包,采用新的微码对数据报文进行处理并查看结果,再根据需要,多次进行微码的修改,加载和调试。大大提高了微码的开发效率,实现快速迭代。
附图说明
[0038]图1为本专利技术仿真处理流程图;
[0039]图2为SV task与命令行TCL交互示意图;
[0040]图3为波形检查示意图;
[0041]图4为抽取rtl中的关键信号到inerface示意图。
具体实施方式
[0042]为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。
[0043]本专利技术的目的就是要降低网络处理器并行编程的难度。
...

【技术保护点】

【技术特征摘要】
1.一种网络处理器的微码高效仿真方法,其特征在于,该方法包括如下步骤:S1:仿真人员编译验证环境,包括验证平台代码TB和设计代码rtl,生成编译库;S2:仿真人员启动仿真器执行仿真过程;TB通过下发寄存器配置命令对待测逻辑dut进行寄存器配置,完成rtl的初始化;S3:TB自动将要送给网络处理器进行处理的数据报文从文件读取,添加到TB的发送队列,等待从以太网口发送给dut的以太网报文接收模块;S4:TB通过下发寄存器配置命令的方式分别给多核的网络处理器NP加载需要运行的微码;S5:TB将S3待发送的报文从以太网口送给dut的以太网报文接收模块;S6:TB将所有本次要处理的数据报文全部发给dut;S7:dut的以太网报文接收模块将本次要处理的报文全部送给网络处理器进行处理,待处理完毕完成本轮仿真,仿真人员暂停仿真进程;S80:仿真人员通过检查仿真运行生成的日志文件和波形文件,判断仿真结果否符合设计要求,决定要不要重新修改网络处理器的微码,要不要修改发送给dut的数据报文;S81:仿真人员暂时中断仿真器的仿真过程,但不退出,再根据S80的结果,决定修改相应的多核网络处理器的某个NP核或者多个NP的微码;S82:仿真人员查看仿真结果,决定重新修改发送给dut的数据报文;S83:仿真人员在微码的调试环境里修改相应的多核网络处理器的某个NP或者多个NP的微码,完成编译之后生成TB能加载的hex文件,并将微码放入指定路径;S84:仿真人员在报文生成环境里重新构造新的数据报文,并放在TB能读取的位置,待TB将新报文读入TB的发送队列;S85:仿真人员启动仿真器的仿真进程,并在命令行启动TB里发送报文给dut的task,仿真器执行完该task的所有内容后暂时停止仿真,继续等待命令行输入新的仿真命令;S86:判断是否需要重新加载微码,如果需要,则仿真人员在命令行调用TB加载微码的函数,将对应网络处理器的微码加载到网络处理器中,仿真器运行该task之后暂时停止仿真,继续等待命令行输入新的仿真命令;S9:重复S5~S86多轮迭代之后,仿真人员通过查看仿真结果满足设计要求,则准备结束仿真;S10:仿真人员在命令行输入exit退出本次仿真。2.如权利要求1所述的网...

【专利技术属性】
技术研发人员:飞晓玲杨成勇王万财
申请(专利权)人:成都北中网芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1