一种以太网芯片的数模混合仿真方法及系统与流程

文档序号:29869059发布日期:2022-04-30 17:14阅读:334来源:国知局
一种以太网芯片的数模混合仿真方法及系统与流程

1.本发明实施例涉及芯片仿真验证技术领域,具体涉及一种以太网芯片的数模混合仿真方法及系统。


背景技术:

2.当下以太网已成为现代高性能计算数据中心服务器间通信的事实标准,随着高性能计算不断增加的带宽需求演进,以太网互连和物理层(physical layer,phy)技术也在不断更新变革。以太网数据帧通过各种通道和介质类型在多个服务器单元之间传输,以太网系统中完整的媒体接入控制器(media access control,mac)和物理层(physical layer,phy)方案则可以缩短设计周期时间并提供差异化的性能,这些部件对于系统芯片性能起到十分重要的作用。
3.从硬件上来说,mac模块为纯数字电路,而phy模块都是模数混合电路,负责接收电、光这类模拟信号,经过解调和a/d转换后通过mii接口(介质独立接口)将信号交给mac进行处理。整体而言,必然包含了数模混合信号soc的设计和应用,进而才能实现完整的系统功能。
4.然而在这样的soc(system on chip,系统级芯片)数模混合设计中依然存在的一些问题和挑战,其中,最大的困难在于如何进行快速有效的验证。由于目前系统设计中数字部分仍然占据着主要部分,常用的soc集成验证大多数采用纯数字逻辑仿真的形式来进行。数字逻辑仿真速度快,无精度要求,可进行大规模集成电路的仿真验证,并且可以进行一些方法学的适用来加强验证的有效性和完备性。而模拟电路的验证则大多采用的是晶体管级的仿真,晶体管级的仿真精度要求高,速度慢,由于仿真效率较低验证的规模往往容易受限。二者之间的差别所带来的矛盾造成了具有数模混合信号ip的soc验证的发展瓶颈。
5.传统的数字和模拟电路部分由于分开设计并且各自具有一定的独立性,在完成对ams ip的soc逻辑集成后,通常采用的方法可以是保留数字部分的rtl代码,同时对模拟的部分进行逻辑上的建模,保留其io端口信号,用逻辑建模反映出模拟部分的特性等,或者对ams ip建立一个整体性的行为描述模型,如完全用verilog/vhdl描述ams ip的逻辑功能和特性,这样的行为模型虽然能便于系统集成后的仿真和验证,但没有统一的验证平台来保证行为级模型与模拟部分的功能一致性,并且这样的方式不能完整反映soc集成后电路特性上的现象和指标,因此传统的验证方法存在一定的局限性。
6.基于此背景,本专利提出一种在switch芯片中联合phy模拟部分进行仿真的方法,能够快速有效地帮助发现数模混合芯片中设计存在的问题。


技术实现要素:

7.为此,本发明实施例提供一种以太网芯片的数模混合仿真方法及系统,以解决现有技术中无法快速、有效地发现数模混合芯片设计中存在缺陷的技术问题。
8.为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,本技术实施例提供了一种以太网芯片的数模混合仿真方法,所述方法包括:构建仿真验证平台,形成仿真验证框架;在所述仿真验证平台中修改文件列表和例化物理层部分,将模拟模型集成至所述仿真验证平台中,所述模拟模型包括:第一行为模型和第二行为模型;逐步按照目标测试计划,构造针对性激励,覆盖各个功能场景的检查;基于针对性激励,调用所述第一行为模型,运行第一阶段仿真验证;所述第一阶段仿真验证运行完成后,判断第一阶段仿真验证是否通过;若第一阶段仿真验证结果通过,调用所述第二行为模型,运行第二阶段仿真验证;输出最终的仿真验证结果。
9.进一步地,构建仿真验证平台,形成仿真验证框架,包括:根据以太网业务协议构建uvm验证环境;在所述uvm验证环境中嵌入待测设计代码以及针对软、硬件接口的配置通路;所述配置通路用于实现软、硬件协同的全流程处理。
10.进一步地,所述仿真验证框架包括:发包器,用于向驱动器和计分板发送第一验证数据;驱动器,用于将接收到的第一验证数据发送至待验证设计,并激励模拟模型,利用所述第一验证数据对待验证设计运行仿真验证;监视器,用于在待验证设计仿真验证最终端口处监测、接收第二验证数据,并将接收到的第二验证数据转发至计分板;计分板,用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;如果所述第一验证数据和所述第二验证数据的收发报文内容一致,则仿真验证通过;如果所述第一验证数据和所述第二验证数据的收发报文内容不一致,则仿真验证不通过;固件,用于加载固件版本;调用接口,用于在不同程序语言间实现方法的调用;断言检查器,用于检查接口和设计内部的一些关键时序的检查。
11.作为本技术的一优选实施例,利用所述第一验证数据对待验证设计运行仿真验证,包括:所述待验证设计包括物理层部分、媒体接入控制器部分、多路转换器、交换核心部分;所述物理层部分包括至少一个物理层单元,所述媒体接入控制器部分包括至少一个媒体接入控制器;所述物理层单元和所述媒体接入控制器的数量相同,并通过多路转换器一一对应双向交互接通;所述交换核心部分分布在媒体接入控制器部分侧端;基于所述配置通路,在物理层部分和媒体接入控制器部分之间进行第一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合。
12.进一步地,基于所述配置通路,在物理层部分和媒体接入控制器部分之间进行第
一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合,包括:由所述驱动器将原始的第一验证数据输入信号经所述多路转换器激励输入物理层单元;在所述物理层单元侧端,通过第一环回将所述第一验证数据由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口;将从物理层单元接收端口接收到的第一验证数据经所述多路转换器传输至与该物理层单元相对应的媒体接入控制器;在媒体接入控制器侧端,通过第二环回将所述第一验证数据经所述交换核心部分后再次回传至该媒体接入控制器;将回传至所述媒体接入控制器的第一验证数据经所述多路转换器回传至与该媒体接入控制器相对应的物理层单元;在所述物理层单元侧端,将回传至所述物理层单元的所述第一验证数据,通过第一环回由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口,进行下一轮的验证数据环回传输;直到将验证数据的传输路径覆盖所有的物理层单元和媒体接入控制器,完成验证数据环回传输。
13.进一步地,基于针对性激励,调用所述第一行为模型,运行第一阶段仿真验证,包括:利用eda(electronic design automation,电子设计自动化)仿真工具调用所述第一行为模型;在环境顶层中完成物理层部分的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分、交换核心部分以及整体流程上的控制固件版本、交换核心部分的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第一阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第一阶段仿真验证运行结束,得到第一阶段仿真验证结果;其中,所述第一阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。
14.进一步地,调用所述第二行为模型,运行第二阶段仿真验证,包括:在所述仿真验证平台中调用所述第二行为模型;完成各个模拟选项和连接模组的调试;在所述驱动器和所述待验证设计之间定义电源激励产生模块,修改电源信号的例化,保持信号传递的有效性;
根据模拟要求进行初始化处理,在预设时间内将电源信号的拉高,使各个电源信号和接地信号固定在预设的电压初始值;在环境顶层中完成物理层部分的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分、交换核心部分以及整体流程上的控制固件版本、交换核心部分的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第二阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第二阶段仿真验证运行结束,得到第二阶段仿真验证结果;其中,所述第二阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。
15.进一步地,所述第一行为模型和所述第二行为模型的内容中包括模拟电路部分的整体,以网表的形式给出各个元件的功能建模,并封装了模拟各个局部功能模块。
16.根据本发明实施例的第二方面,本技术实施例提供了一种以太网芯片的数模混合仿真系统,所述系统包括:仿真验证平台构建模块,用于构建仿真验证平台,形成仿真验证框架;模拟模型集成模块,用于在所述仿真验证平台中修改文件列表和例化物理层部分,将模拟模型集成至所述仿真验证平台中,所述模拟模型包括:第一行为模型和第二行为模型;激励生成模块,用于逐步按照目标测试计划,构造针对性激励,覆盖各个功能场景的检查;第一行为模型调用模块,用于基于针对性激励,调用所述第一行为模型,运行第一阶段仿真验证;第二行为模型调用模块,用于所述第一阶段仿真验证运行完成后,判断第一阶段仿真验证是否通过;若第一阶段仿真验证结果通过,调用所述第二行为模型,运行第二阶段仿真验证;仿真验证结果输出模块,用于输出最终的仿真验证结果。
17.进一步地,构建仿真验证平台,形成仿真验证框架,包括:根据以太网业务协议构建uvm验证环境;在所述uvm验证环境中嵌入待测设计代码以及针对软、硬件接口的配置通路;所述配置通路用于实现软、硬件协同的全流程处理。
18.进一步地,所述仿真验证框架包括:发包器,用于向驱动器和计分板发送第一验证数据;驱动器,用于将接收到的第一验证数据发送至待验证设计,并激励模拟模型,利用所述第一验证数据对待验证设计运行仿真验证;
监视器,用于在待验证设计仿真验证最终端口处监测、接收第二验证数据,并将接收到的第二验证数据转发至计分板;计分板,用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;如果所述第一验证数据和所述第二验证数据的收发报文内容一致,则仿真验证通过;如果所述第一验证数据和所述第二验证数据的收发报文内容不一致,则仿真验证不通过。
19.固件,用于加载固件版本;调用接口,用于在不同程序语言间实现方法的调用;断言检查器,用于检查接口和设计内部的一些关键时序的检查。
20.作为本技术的一优选实施例,利用所述第一验证数据对待验证设计运行仿真验证,包括:所述待验证设计包括物理层部分、媒体接入控制器部分、多路转换器、交换核心部分;所述物理层部分包括至少一个物理层单元,所述媒体接入控制器部分包括至少一个媒体接入控制器;所述物理层单元和所述媒体接入控制器的数量相同,并通过多路转换器一一对应双向交互接通;所述交换核心部分分布在媒体接入控制器部分侧端;基于所述配置通路,在物理层部分和媒体接入控制器部分之间进行第一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合。
21.进一步地,基于所述配置通路,在物理层部分和媒体接入控制器部分之间进行第一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合,包括:由所述驱动器将原始的第一验证数据输入信号经所述多路转换器激励输入物理层单元;在所述物理层单元侧端,通过第一环回将所述第一验证数据由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口;将从物理层单元接收端口接收到的第一验证数据经所述多路转换器传输至与该物理层单元相对应的媒体接入控制器;在媒体接入控制器侧端,通过第二环回将所述第一验证数据经所述交换核心部分后再次回传至该媒体接入控制器;将回传至所述媒体接入控制器的第一验证数据经所述多路转换器回传至与该媒体接入控制器相对应的物理层单元;在所述物理层单元侧端,将回传至所述物理层单元的所述第一验证数据,通过第一环回由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口,进行下一轮的验证数据环回传输;直到将验证数据的传输路径覆盖所有的物理层单元和媒体接入控制器,完成验证数据环回传输。
22.进一步地,基于针对性激励,调用所述第一行为模型,运行第一阶段仿真验证,包
括:利用eda仿真工具调用所述第一行为模型;在环境顶层中完成物理层部分的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分、交换核心部分以及整体流程上的控制固件版本、交换核心部分的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第一阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第一阶段仿真验证运行结束,得到第一阶段仿真验证结果;其中,所述第一阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。
23.进一步地,调用所述第二行为模型,运行第二阶段仿真验证,包括:在所述仿真验证平台中调用所述第二行为模型;完成各个模拟选项和连接模组的调试;在所述驱动器和所述待验证设计之间定义电源激励产生模块,修改电源信号的例化,保持信号传递的有效性;根据模拟要求进行初始化处理,在预设时间内将电源信号的拉高,使各个电源信号和接地信号固定在预设的电压初始值;在环境顶层中完成物理层部分的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分、交换核心部分以及整体流程上的控制固件版本、交换核心部分的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第二阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第二阶段仿真验证运行结束,得到第二阶段仿真验证结果;其中,所述第二阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。
24.进一步地,所述第一行为模型和所述第二行为模型的内容中包括模拟电路部分的整体,以网表的形式给出各个元件的功能建模,并封装了模拟各个局部功能模块。
25.与现有技术相比,本技术实施例提供的一种以太网芯片的数模混合仿真方法及系统,通过构建仿真验证平台形成仿真验证框架,并将模拟模型集成至仿真验证平台中,依次
调用第一行为模型和第二行为模型实现数模混合仿真验证,不仅能够有效检查数模接口以及数模之间的连接,还能在软硬件协同工作的基础上覆盖数字电路和模拟电路部分的配合交互,快速有效地帮助发现芯片设计上存在的问题,确认数模混合芯片整体设计是否满足要求。
附图说明
26.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
27.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
28.图1为本发明实施例提供的一种以太网芯片的数模混合仿真系统的结构示意图;图2为本发明实施例提供的仿真验证框架的示意图;图3为本发明实施例提供的一种以太网芯片的数模混合仿真方法的流程示意图;图4为本发明实施例提供的利用所述第一验证数据对待验证设计运行仿真验证的一个测试场景示意图。
具体实施方式
29.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.一般而言,交换芯片涉及到的phy和mac部分是分开设计开发的,而且phy也有其数字电路部分以及模拟电路部分,虽然各自在phy以及另一侧都有自己的仿真验证环节,但接口部分很多连线是手工实现的,有些问题在局部仿真是很难发现的,尤其是涉及到一些完整场景下的配合,只有通过全流程的仿真才能覆盖完全。
31.本发明实施例主要目的在于:在switch芯片中联合phy模拟部分进行仿真,能够快速有效地帮助发现数模混合芯片中设计存在的问题。
32.为了解决上述技术问题,如图1所示,本技术实施例提供了一种以太网芯片的数模混合仿真系统,所述系统包括:仿真验证平台构建模块1、模拟模型集成模块2、激励生成模块3、第一行为模型调用模块41、第二行为模型调用模块42、仿真验证结果输出模块5。
33.具体地,仿真验证平台构建模块1用于构建仿真验证平台,形成仿真验证框架;模拟模型集成模块2用于在仿真验证平台中修改文件列表和例化物理层部分,将模拟模型15集成至仿真验证平台中,所述模拟模型包括:第一行为模型和第二行为模型;激励生成模块3用于逐步按照目标测试计划,构造针对性激励,覆盖各个功能场景的检查;第一行为模型调用模块41用于基于针对性激励,调用第一行为模型,运行第一阶段仿真验证;第二行为模
型调用模块42用于第一阶段仿真验证运行完成后,判断第一阶段仿真验证是否通过;若第一阶段仿真验证结果通过,调用第二行为模型,运行第二阶段仿真验证;仿真验证结果输出模块5用于输出最终的仿真验证结果。
34.参考图2,进一步地,仿真验证框架包括:发包器7、驱动器8、监视器9、计分板10、固件11、调用接口12、断言检查器13。
35.具体地,发包器7用于向驱动器8和计分板9发送第一验证数据;驱动器8用于将接收到的第一验证数据发送至待验证设计14,并激励模拟模型15,利用第一验证数据对待验证设计14运行仿真验证;监视器9用于在待验证设计14仿真验证最终端口处监测、接收第二验证数据,并将接收到的第二验证数据转发至计分板10;计分板10用于针对同一验证数据流对比第一验证数据和第二验证数据的收发报文内容;用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;如果所述第一验证数据和所述第二验证数据的收发报文内容一致,则仿真验证通过;如果所述第一验证数据和所述第二验证数据的收发报文内容不一致,则仿真验证不通过。固件11用于加载固件版本;调用接口12用于在不同程序语言间实现方法的调用;断言检查器13用于检查接口和设计内部的一些关键时序的检查。
36.与现有技术相比,本技术实施例提供的一种以太网芯片的数模混合仿真系统,通过构建仿真验证平台形成仿真验证框架,并将模拟模型集成至仿真验证平台中,依次调用第一行为模型和第二行为模型实现数模混合仿真验证。不仅能够有效检查数模接口以及数模之间的连接,还能在软硬件协同工作的基础上覆盖数字电路和模拟电路部分的配合交互,快速有效地帮助发现芯片设计上存在的问题,确认数模混合芯片整体设计是否满足要求。
37.与上述公开的一种以太网芯片的数模混合仿真系统相对应,本发明实施例还公开了一种以太网芯片的数模混合仿真方法。以下结合上述描述的一种以太网芯片的数模混合仿真系统详细介绍本发明实施例中公开的一种以太网芯片的数模混合仿真方法。
38.如图3所示,以下对本技术实施例提供的一种以太网芯片的数模混合仿真方法具体步骤进行详细描述。
39.步骤s11:通过仿真验证平台构建模块1构建仿真验证平台,形成仿真验证框架。本发明实施例提出的数模混合仿真验证流程,首先需要完成一个基本的数字部分的仿真验证平台。上述步骤s11具体包括:根据以太网业务协议构建uvm验证环境;在所述uvm验证环境中嵌入待测设计代码以及针对软、硬件接口的配置通路;所述配置通路用于实现软、硬件协同的全流程处理。
40.如上所述,参考图2,仿真验证框架进一步包括:发包器7、驱动器8、监视器9、计分板10、固件11、调用接口12、断言检查器13。
41.具体地,在本发明实施例中,通过发包器7向驱动器8和计分板9发送第一验证数据;通过驱动器8将接收到的第一验证数据发送至待验证设计14,并激励模拟模型15,利用第一验证数据对待验证设计14运行仿真验证;通过监视器9在待验证设计14仿真验证最终端口处监测、接收第二验证数据,并将接收到的第二验证数据转发至计分板10;通过计分板10针对同一验证数据流对比第一验证数据和第二验证数据的收发报文内容;用于针对同一验证数据流对比所述第一验证数据和所述第二验证数据的收发报文内容;如果所述第一验
证数据和所述第二验证数据的收发报文内容一致,则仿真验证通过;如果所述第一验证数据和所述第二验证数据的收发报文内容不一致,则仿真验证不通过。通过固件11加载固件版本;通过调用接口12在不同程序语言间实现方法的调用;通过断言检查器13收发报文主要用于检查接口和设计内部的一些关键时序的检查。
42.参考图4,进一步地,利用所述第一验证数据对待验证设计运行仿真验证,包括:待验证设计14包括物理层部分141、媒体接入控制器部分142、多路转换器143、交换核心部分144;物理层部分141包括至少一个物理层单元,媒体接入控制器部分142包括至少一个媒体接入控制器;物理层单元和媒体接入控制器的数量相同,并通过多路转换器143一一对应双向交互接通;交换核心部分144分布在媒体接入控制器部分142侧端;基于所述配置通路,在物理层部分141和媒体接入控制器部分142之间进行第一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合。
43.更进一步地,参考图4,假设一个实施例中,物理层部分141包括八个物理层单元,八个物理层单元分别为:第一物理层单元1411、第二物理层单元1412、第三物理层单元1413、第四物理层单元1414、第五物理层单元1415、第六物理层单元1416、第七物理层单元1417、第八物理层单元1418。媒体接入控制器部分142包括八个媒体接入控制器,八个媒体接入控制器分别为:第一媒体接入控制器1421、第二媒体接入控制器1422、第三媒体接入控制器1423、第四媒体接入控制器1424、第五媒体接入控制器1425、第六媒体接入控制器1426、第七媒体接入控制器1427、第八媒体接入控制器1428。基于所述配置通路,在物理层部分141和媒体接入控制器部分142之间进行第一验证数据环回传输,使第一验证数据的传输路径覆盖所有的数字电路部分和模拟电路部分交互配合,具体包括:由驱动器8将原始的第一验证数据输入信号经多路转换器143激励输入物理层单元;在所述物理层单元侧端,通过第一环回将所述第一验证数据由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口;将从物理层单元接收端口接收到的第一验证数据经所述多路转换器143传输至与该物理层单元相对应的媒体接入控制器;在媒体接入控制器侧端,通过第二环回将所述第一验证数据经所述交换核心部分144后再次回传至该媒体接入控制器;将回传至所述媒体接入控制器的第一验证数据经所述多路转换器143回传至与该媒体接入控制器相对应的物理层单元;在所述物理层单元侧端,将回传至所述物理层单元的所述第一验证数据,通过第一环回由该物理层单元的信号发射端口转送至下一个物理层单元的信号接收端口,进行下一轮的验证数据环回传输;直到将验证数据的传输路径覆盖所有的物理层单元和媒体接入控制器,完成验证数据环回传输。
44.步骤s12:通过模拟模型集成模块2在仿真验证平台中修改文件列表(filelist)和例化物理层部分,将模拟模型15集成至仿真验证平台中,所述模拟模型包括:第一行为模型和第二行为模型。其中,所述第一行为模型和所述第二行为模型的内容中包括模拟电路部分的整体,第一行为模型和所述第二行为模型通常是一个vams文件,以网表的形式给出各个元件的功能建模,并封装了模拟各个局部功能模块。
45.步骤s13:通过激励生成模块3逐步按照目标测试计划,构造针对性激励,覆盖各个功能场景的检查。
46.步骤s14:通过第一行为模型调用模块41基于针对性激励,调用第一行为模型,运行第一阶段仿真验证。
47.第一阶段仿真验证采用的第一行为模型相对比较简略,但是仿真的效率较高,依然采用传统的数字仿真的方法来进行。具体地,上述步骤s14具体包括:利用eda仿真工具调用所述第一行为模型;在环境顶层(harness)中完成物理层部分141的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分141、交换核心部分144以及整体流程上的控制固件版本、交换核心部分144的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分141状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第一阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第一阶段仿真验证运行结束,得到第一阶段仿真验证结果;其中,所述第一阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。其中,端口链路状态有link up和link down两种,仿真控制会在只有等到link up状态后才启动switch core和mac的配置,随后开始发包打流。
48.步骤s15:通过第二行为模型调用模块42第一阶段仿真验证运行完成后,判断第一阶段仿真验证是否通过。
49.步骤s16:若第一阶段仿真验证结果通过,通过第二行为模型调用模块42调用第二行为模型,运行第二阶段仿真验证。若第一阶段仿真验证结果未通过,则向仿真验证结果输出模块5输出最终的仿真验证失败的结果。
50.在第二阶段仿真验证, ic验证工程师需要借助于专业的eda工具,根据模拟设计的电路文件可以抽取出一个自带的仿真环境,其中以网表的形式包含了整个模拟部分的建模设计,随着仿真环境的一些仿真选项,以及connection rules的指定,会支持根据信号类型来自动插入connect module,完成信号类型的转换,因此,对于第二行为模型,则必须使用特殊的仿真器调用。
51.为了实现信号类型的兼容,可能会需要去进行一些信号类型的修改,比如在vams文件中,将相应电源信号的定义由inout改为input wreal,在其他的多个层次中,将电源信号由inout avdd改为input real avdd等。
52.对于第二行为模型来说,功能建模的精细程度变高了,里面涉及到的变量类型很多都是input real,里面涉及到一些电压信号的门限判断,外围的电源相关信号无法直接传递进来,本发明实施例中可以通过在外面定义电源信号产生模块的方式来解决。
53.在代码的顶层以及相关的模拟hierarchy中需要将电源信号由inout avdd定义为input real avdd,同时将模拟的model里的相关电源信号由inout定义成input wreal,即可实现电源信号的自动传递赋值,同时可以考虑在仿真验证平台中另行定义电源信号产生模块,其中例化后的模块实例与待验证设计进行显示信号连接,比如:asic_deliever dut (
ꢀꢀꢀꢀ
.avddh_r
ꢀꢀꢀꢀꢀ
( tmp_avddh_r ),
ꢀꢀꢀ
.avddh_l
ꢀꢀꢀꢀꢀ
( tmp_avddh_l ),
ꢀꢀꢀꢀ
.avddhpll
ꢀꢀꢀꢀ
( tmp_avddhpll ),
ꢀꢀꢀꢀ
.v33in
ꢀꢀꢀꢀꢀꢀꢀ
( tmp_v33in ),
ꢀꢀꢀꢀ
.avddl
ꢀꢀꢀꢀꢀꢀꢀ
( tmp_avddl ),
ꢀꢀꢀꢀ
.vdd_core
ꢀꢀꢀꢀꢀ
( tmp_vdd_core ),
ꢀꢀꢀꢀ
.dvdd_pst
ꢀꢀꢀꢀꢀ
( tmp_dvdd_pst ))ams_pwr_genwd_pwr (
ꢀꢀꢀꢀ
.avddh_r
ꢀꢀꢀꢀꢀ
( tmp_avddh_r ),
ꢀꢀꢀꢀ
.avddh_l
ꢀꢀꢀꢀꢀ
( tmp_avddh_l ),
ꢀꢀꢀꢀ
.avddhpll
ꢀꢀꢀꢀꢀ
( tmp_avddhpll ),
ꢀꢀꢀꢀ
.v33in
ꢀꢀꢀꢀꢀꢀ
( tmp_v33in ),
ꢀꢀꢀꢀ
.avddl
ꢀꢀꢀꢀꢀꢀꢀ
( tmp_avddl ),
ꢀꢀꢀꢀ
.vdd_core
ꢀꢀꢀꢀꢀ
( tmp_vdd_core ),
ꢀꢀꢀꢀ
.dvdd_pst
ꢀꢀꢀꢀꢀ
( tmp_dvdd_pst ))经过仿真验证平台以及待验证设计内部自行保证相关的电源信号传递的完整性与正确性,对于电源信号产生模块来说,内部除了产生初始的电压、地等电源类信号,还要保证电源信号能够正确传递到各个子模块的内部,这样各个部分才能正常工作。
54.进一步地,调用所述第二行为模型,运行第二阶段仿真验证,具体包括:在所述仿真验证平台中调用所述第二行为模型;完成各个模拟选项和连接模组的调试;在驱动器8和待验证设计14之间定义电源激励产生模块,修改电源信号的例化,保持信号传递的有效性;根据模拟要求进行初始化处理,在预设时间内将电源信号的拉高,使各个电源信号和接地信号固定在预设的电压初始值;在环境顶层(harness)中完成物理层部分的初始激励和初始化环节处理;加入待测试的时钟抖动,以便针对频率偏移场景下产生的结果进行验证;对待关注部分设置结点监控检查,以便针对待关注部分在各个场景下产生的结果进行验证;加载固件版本,所述固件版本包括:针对物理层部分141、交换核心部分144以及整体流程上的控制固件版本、交换核心部分144的初始化固件版本、媒体接入控制器和多路转换器的配置固件;等待各个链路的物理层部分141状态就绪以及数字电路逻辑部分的初始化配置阶段完成后,启动第二阶段仿真验证运行;基于所述仿真验证框架,实现多端口验证数据的收发、检查以及比对;等待第二阶段仿真验证运行结束,得到第二阶段仿真验证结果;其中,所述第二阶段仿真验证结果包括:中间的眼图结果、端口链路状态结果以及最终的端口收到的报文内容比对和各项设计内部统计检查结果。其中,端口链路状态有link up和link down两种,仿真控制会在只有等到link up状态后才启动switch core和mac的配置,随后开始发包打流。
55.步骤s17:通过仿真验证结果输出模块5输出最终的仿真验证结果。
56.与现有技术相比,本技术实施例提供的一种以太网芯片的数模混合仿真方法,通过构建仿真验证平台形成仿真验证框架,并将模拟模型集成至仿真验证平台中,依次调用第一行为模型和第二行为模型实现数模混合仿真验证。不仅能够有效检查数模接口以及数模之间的连接,还能在软硬件协同工作的基础上覆盖数字电路和模拟电路部分的配合交互,快速有效地帮助发现芯片设计上存在的问题,确认数模混合芯片整体设计是否满足要求。
57.本发明实施例很大程度上解决了数模之间的接口以及数模相关配合之间难以进行验证的问题,能够在功能层面对完整的系统进行仿真。不仅包括了数字电路部分和模拟电路部分,还分别包含了各个局部的固件(firmware)的运行,在eda层面最大限度实现了最接近真实场景下的仿真。
58.在实际项目进展中,到了需要做系统的混合仿真时已到了项目后期,模拟团队也需要一个由粗到细的并行开发过程,因此并没有办法在很早就给出一个很精细的模型,而且搭建平台和建立仿真流程也需要一定时间,按照本发明实施例的上述方式,ic验证工程师在中间阶段就可以针对模拟电路部分给出的简化版的模型进行仿真调试,可以支撑验证大部分的基础功能,与此同时第二行为模型方案的环境调试工作也可以提前准备起来,一旦精确模型交付就可以尽早仿真起来,排除场景理解的问题、固件的问题、模拟模型的问题、硬件连线或者逻辑设计出错的问题等,确认各方面的风险点,从而增强投片信心。
59.虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1