CN114416460A - 分析基带性能的方法和仿真系统 - Google Patents
分析基带性能的方法和仿真系统 Download PDFInfo
- Publication number
- CN114416460A CN114416460A CN202210056871.XA CN202210056871A CN114416460A CN 114416460 A CN114416460 A CN 114416460A CN 202210056871 A CN202210056871 A CN 202210056871A CN 114416460 A CN114416460 A CN 114416460A
- Authority
- CN
- China
- Prior art keywords
- module
- chip
- baseband
- simulation
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种分析基带性能的方法和仿真系统。所述方法包括:向基带芯片的仿真架构输入测试用例,得到测试数据,其中所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;根据所述测试数据对所述基带芯片的性能进行分析。本申请提出的分析基带性能的方法,能够对基带芯片实现快速、精准的性能评估,缩短基带芯片的开发周期。
Description
技术领域
本申请涉及基带性能分析的领域,并且更为具体地,涉及一种分析基带性能的方法和仿真系统。
背景技术
大多数的基带芯片设计会基于先前经过验证的芯片架构,只对特殊模块进行优化。也就是说,直接使用已有的寄存器传输级(register transfer level,RTL)模型,节省了通过硬件语言描述的过程,可以缩短芯片的开发时间,保证芯片质量。但是,对于全新架构的基带芯片来说,已有的RTL模型是不可用的。而重新通过RTL级模型存在建模周期长,过程复杂的问题,可能无法满足基带芯片开发周期的要求。因此,需要一种基带芯片性能分析的方法,该方法能够对一个全新的基带芯片架构实现快速、精准的性能分析和评估,从而缩短基带芯片的开发周期。
发明内容
本申请提供一种分析基带性能的方法和仿真系统,能够快速、精确地完成对基带芯片的性能分析和评估。
第一方面,提供一种分析基带性能的方法,包括:向基带芯片的仿真架构输入测试用例,得到测试数据,其中所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;根据所述测试数据对所述基带芯片的性能进行分析。
可选地,所述基带芯片的仿真架构包括物理层处理模块、数据面搬移模块以及外部存储模块,所述物理层模块用于执行物理层操作,所述数据面搬移模块用于将所述物理层模块输出的基带数据搬移至所述外部存储模块中。
可选地,所述基带芯片的仿真架构还包括CPU模块,所述CPU模块、所述物理层处理模块、所述数据面搬移模块以及所述外部存储模块通过片上网络相连,所述数据面搬移模块以DMA的方式将所述基带数据搬移至所述外部存储模块中。
可选地,所述CPU模块和所述数据面搬移模块内设置有用于对所述片上网络的流量进行跟踪调试的模块。
可选地,作为一种实现方式,所述物理层处理模块包括以下模块中的一种或多种:DSP核、微处理器核、片上存储器、HARQ模块、任务驱动模块,所述任务驱动模块与所述片上网络进行通信,以通过所述片上网络执行物理层相关的任务。
第二方面,提供一种仿真系统,所述仿真系统上运行着基带芯片的仿真架构,所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块,所述仿真系统包括:存储器,用于存储数据;处理器,用于执行所述存储器中存储的数据,以执行以下操作:向所述基带芯片的仿真架构输入测试用例,得到测试数据;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;根据所述测试数据对所述基带芯片的性能进行分析。
可选地,所述基带芯片的仿真架构包括物理层处理模块、数据面搬移模块以及外部存储模块,所述物理层模块用于执行物理层操作,所述数据面搬移模块用于将所述物理层模块输出的基带数据搬移至所述外部存储模块中。
可选地,所述基带芯片的仿真架构还包括CPU模块,所述CPU模块、所述物理层处理模块、所述数据面搬移模块以及所述外部存储模块通过片上网络相连,所述数据面搬移模块以DMA的方式将所述基带数据搬移至所述外部存储模块中。
可选地,所述CPU模块和所述数据面搬移模块内设置有用于对所述片上网络的流量进行跟踪调试的模块。
可选地,所述物理层处理模块包括以下模块中的一种或多种:DSP核、微处理器核、片上存储器、HARQ模块、任务驱动模块,所述任务驱动模块与所述片上网络进行通信,以通过所述片上网络执行物理层相关的任务。
第三方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
第四方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
本申请实施例提出的分析基带芯片性能的方法,通过事务级模型来搭建基带芯片的仿真架构,并基于System C语言完成该仿真架构中各模块的建模。本申请实施例所涉及的仿真架构相比于传统的基于RTL级模型的仿真架构来说,具有仿真速度快,获取信息更加精确的优点,从而实现快速、精确地完成对基带芯片的性能分析。
附图说明
图1为本申请实施例提供的一基带芯片的结构示例图。
图2为本申请实施例提供的一分析基带性能的方法的示意图。
图3为本申请实施例提供的一基带芯片的仿真架构的模型的示例图。
图4为图3中LPDDR读/写模型的示例图。
图5为图3中流量跟踪模块的模型的示例图。
图6为本申请实施例提供的一基带芯片的仿真架构的实现组件的示例图。
图7为本申请实施例提供一基带芯片性能分析的工作流程示例图。
图8为本申请实施例提供的一仿真系统的结构示意图。
具体实施方式
为了便于理解,先对本申请实施例中涉及的一些相关概念进行介绍。
基带芯片是一种集成度非常复杂的片上系统(system on chip,SOC),目前大部分基带芯片的基本结构是微处理器(micro processor unit,MPU)和数字信号处理器(digital signal processor,DSP)。MPU是整个芯片的控制中心,会运行一个实时嵌入式操作系统。DSP子系统是基带处理的重点,其包含了许多硬件加速器和基带专用处理模块,完成所有物理层功能。
例如,智能手机中的基带芯片就是一个结构复杂的SOC芯片,这种芯片具有多种功能,各个功能的正常工作是通过微处理器进行配置与协调的。即以微处理器为中心,通过MPU的专用总线来控制和配置MPU周围的各个外设功能模块,这些功能模块例如可以是全球移动通信系统(global system for mobile communications,GSM)、Wi-Fi(即无线网络系统)、全球定位系统(Global Positioning System,GSP)、蓝牙、DSP和内存等,每个功能模块都有独立的内存和地址空间,在功能是相互独立的。
知识产权(intellectual property,IP)核是构成SOC的基本单元。IP是满足特定的规范和要求,并且能够在设计中反复进行复用的功能模型。图1为本申请实施例提供的一个SOC的结构示例图,如图1所示,一个SOC可以包含许多模块或IP,例如处理器、内存、接口等。这些IP通过总线相互连接,实现数据交换和通讯控制等功能,形成一个完整的计算机系统。
随着SOC设计技术的迅速发展,事务级建模(transaction level modeling,TLM)在SOC领域中的系统建模、仿真验证与协同设计等多方面得到了广泛的应用。事务是指系统模型中两个单元之间的数据或事件的交换过程,例如可以是两个IP之间的数据交互。事务可以将低层次的信息传输组合成较高层次的传输,简化系统交互行为,也能将传输中涉及到的信息分类作为整体表示,而不牵扯具体的信号。
目前,电子产品的市场竞争越来越大,人们对产品的需求迫切,设计者需要尽可能地提高产品的开发效率,在尽可能短的时间内完成芯片的设计。对于大多数芯片来说,设计者通常采用IP复用技术,即通过在系统中预设一些经过验证的模块,这些模块是可以反复使用。作为一个示例,这些IP模块一般都基于RTL级建模实现的。这样,设计者不需要从头设计,继而进行系统整合与验证的模式,可以直接使用预先设计并验证的集成电路模块,即IP核,就可以实现芯片的设计。这样,既提高了芯片的开发效率,缩短了开发周期,也能保证芯片的质量。
换句话说,在SOC设计中,对于已经成熟的芯片来说,设计者会基于先前经过验证的芯片,只会对特殊模块进行优化。也就是说,已有的RTL模型是可以直接使用的,从而省去了使用硬件语言进行RTL级建模的过程。RTL级建模是一个时间周期非常长过程,占据SOC开发周期中很大一部分时间,因此,该方法可以大大缩短SOC的开发周期。但是,对于一个全新架构的基带芯片来说,是没有可以直接用的RTL模型,就需要重新编写RTL代码进行建模和仿真。
另一方面,在基带芯片领域,如何设计功能强大、性能优越并具有高度灵活性的基带芯片一直是基带芯片设计所面临的一大挑战。基带芯片一般采用定制的专用集成电路(ASIP)实现,它将多个电路模块集成在一起,不同电路实现不同的通信功能。针对固定的电路模块功能,在设计ASIP时可以对芯片资源和运行速度进行优化,实现优越的性能。但是,定制的芯片缺乏灵活性,一旦需要增加新的功能,需要重新设计,耗费大量的人力、物力。此外,随着无线通信技术的发展,新的通信标准不断推出及标准的兼容性问题,对基带芯片的灵活性及可扩展性提出了越来越高的要求。
基带芯片的架构日益复杂,设计者面临很多全新的基带芯片架构,为了满足芯片的上市时间和性能(如可以包括功率、性能、面积)的设计目标,设计者很难依据经验对一个全新的基带架构进行准确的设计和评估。在设计之初,会有多个替代的解决方案,一旦选择了不合适的系统架构和片上资源,将会使设计出来的芯片无法满足预期的性能要求。因此,在芯片设计初期,需要有一套可靠完善的仿真平台,来对基带芯片架构进行性能评估,从而保证所选择的芯片架构及芯片资源的配置满足功能及性能要求。另外,对基带芯片的性能评估也为后期基带芯片的软/硬件的实施奠定了坚实的基础。
基带芯片设计周期中存在多种的仿真。作为一个示例,前期基带算法的建模与仿真,该仿真可以实现对通信链路状态及参数进行评估。但是,该仿真只是针对通信链路和算法,不能对基带设计方案进行评估。作为另一个示例,也可利用现场可编程逻辑门阵列(field programmable gate array,FPGA)系统对基带芯片性能进行仿真,从而产生精确的时序信息并进行评估。但是,在使用该仿真方法时,芯片结构设计已经确定,一旦性能不满足要求,对芯片进行设计修改会造成成本增加及设计周期的延长。显然,依赖基带芯片设计流程中现有的模型或仿真手段无法达到快速对基带芯片架构评估的目的。因此,需要建立独立的仿真平台,能够在设计初期对芯片架构进行性能分析和评估,从而降低设计成本、缩短设计周期。
针对上述问题,本申请提供了一种新的、有效的分析基带芯片性能的方法,该方法可以通过基带芯片的仿真架构来实现,该仿真架构基于抽象级别更高的事务级模型架构,该仿真架构中的各模块通过System C语言建模而成的,能够实现对基带芯片快速、精确的性能分析。
本申请所提出的性能分析方法,能够在基带芯片的设计之初,对系统架构的进行性能分析,形成一个可信任的模型,通过模型与芯片之间的行为校准,对模型进行调整优化,提高模型的可信度。这样,在进行下一代芯片的设计时,只需要对模型进行相关优化就能实现对一个全新架构的基带芯片的性能分析。
同时,本申请所还提出一种面向基带芯片的仿真系统,能够在基带芯片的设计初期,对其整体架构进行仿真、评估及优化,利用仿真系统对基带芯片进行了架构建模及设计探索,对基带芯片的设计有很强的参考意义。本申请所提出的仿真系统能够从零基础来定义系统架构,简化性能分析模型的复杂度,缩减了评估的工作量,同时也可以以高精度获取到足够的信息来选出基带芯片的较优解决方案。
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
图2为本申请实施例提供的一分析基带性能的方法的示意图,下面结合图2对本申请提供的分析基带芯片性能的方法进行详细的描述。
步骤S210,向基带芯片的仿真架构输入测试用例,得到测试数据,其中所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数。
本实施例中分析基带芯片性能的方法,可以通过基带芯片的仿真架构来实现。该基带芯片的仿真架构相比于传统的仿真架构来说是基于抽象级别更高的TLM模型的架构。设计者根据基带芯片的需求可以将仿真架构划分为多个模块,其中,每个模块都是基于System C语言建模实现的,例如可以采用符合标准的System C TLM 2.0,该模型独立于供应商,具有免许可、能够完全自主开发、维护和拥有本等特点。TLM2.0规范规定了系统中各个组件之间进行通信时所必须遵守的规范,提高各模块之间的接口的统一。
可选地,对基带芯片的性能评估可以包括对基带芯片的吞吐量和空口性能等的评估,因此,测试数据可相应地包括基带芯片的最大吞吐量和空口下行配置参数。作为一个示例,测试数据中可包括,例如,下行sub6GHz的最大吞吐量,配置为3个连续载波,下行速率为7.0Gbps。测试数据可进一步包括基带芯片在其他工作场合下的性能数据。
如前面所述,对于全新的基带架构,已有的RTL模型是不可用。如果使用RTL级模型重新进行建模和仿真,由于RTL级建模的抽象级别较低,需要清楚底层的实现细节,建模速度慢,对于有上市时间限制的基带芯片来说,会严重影响开发周期。因此,需要通过提高抽象级别来提高建模和仿真的速度。
TLM模型是系统硬件组件在更高级别上的抽象,TLM级建模将运算功能和通信功能分开,在高层次捕获并通过函数调用来进行通信,而非具体的信号,减少了事件和信息的处理。相比于RTL模型,TLM模型中减少了很多细节信息,例如,单独的时钟周期等,大大降低信息和事件的处理频率,且对代码的需要较少,因此建模和仿真速度更快,且能够根据系统设计的具体需求提供不同类型的、足够的设计精度。作为一个示例,事务级模型的仿真速度一般比RTL级模型仿真速度快十几倍,甚至上百倍,显然,TLM模型能够大大提高系统的仿真速度。因此,相比于RTL模型,TLM能够实现更快速的系统建模和仿真,缩短了基带芯片的设计开发周期短。
System C能够快速实现事务级模型的建立,简化了TLM模型的开发。可选地,该基带芯片的仿真架构中的一些模块可以采用已有的建模工具进行建模,以此来进一步提高建模速度和精确度。例如,可以从FlexNoC Explorer生成FlexNoC拓扑,从而基于NTTP协议来实现进周期精确建模。FlexNoc是基于SystemC的事务级建模,仿真速度快。作为一个示例,FlexNoc对于通常一个测试用例的仿真时间为几十分钟。可以大大提高基带芯片的仿真速度,缩短基带芯片的开发周期。
可选地,仿真架构对实时性是有所要求的,需要对基带架构的实时性是进行控制。本实施例涉及的仿真架构可以完全自主建立参数文件,配置准确率目标。准确率目标的大小会影响仿真架构的性能。如果准确率配置的太高,需要花费的代价越大;准确率配置的太小,模型的可信度就越低。例如,可以将仿真架构的准确率目标设置为大于85%。
步骤S220,根据所述测试数据对所述基带芯片的性能进行分析。
如前面所述,在完成仿真架构的创建后,该仿真架构可以实现对基带芯片的性能分析。具体地,向该仿真架构中输入测试用例,该仿真架构会生成测试数据。例如,可以将最终的测试结果输出为日志文件,可以界面中查看。本实施例中的仿真架构能够直接生成可视化、可阅读的分析报告,例如,可以通过相对应的按钮来获取吞吐量、延时、背压统计等的日志文件信息,便于设计者进行直观阅读和分析。
设计者对基带芯片的性能测试数据进行分析,并与系统性能指标相比较,判断是否符合预期,给出性能反馈报告。若实际测试的性能与系统的性能指标之间有差距,则需要根据测试结果对仿真架构中相应的模块进行修改和优化。经过反复修改、测试的迭代过程,直到系统性能能够符合预期标准,满足各项指标,达到较优的结果。
可选地,本实施中的仿真架构中的模型可以提前进行验证。例如可以使用FlexNoC进行NOC深度检测,从而进一步提高仿真时间;也可以采用已有模型的检测结果与本实施例中模型的仿真结果进行对比,对本实施例中的模型进行优化,提高仿真架构的准确度。
图3为本申请实施例提供的一基带芯片的仿真架构的模型的示例图,下面结合图3对本申请所提出的基带芯片的仿真架构进行相关介绍。
如图3所示,该基带芯片的仿真架构300可以包括五个模块,分别为物理层模块310、数据面搬移模块320、外部存储模块330、CPU模块340和片上网络(network-on-chip,NOC)350。下面参照图3对各模块所执行的操作进行说明。
作为一个实施例,物理层模块310、数据面搬移模块320、外部存储模块330、CPU模块340通过片上网络350相连,进行数据的交互。
物理层模块310用于执行物理层操作,例如可以是对数据的解码、解调等操作。物理层模块310接收到数据后,对数据进行解调等处理后,生成计算机可以识别的二进制的数据信号形式。然后,物理层模块310将处理后的数据发送给片上网络510,片上网络510根据会根据性能的要求,将数据写入到外部存储模块330上进行保存。
外部存储模块330,例如可以是LPDDR。作为一个示例,LPDDR的模型可以由第三方提供,该LPDDR具有先进先出(first input first output,FIFO)架构、命令放置算法、符合JEDEC标准的LPDDR延迟等能力,能够在选定的交互模式上校准到15%的准确度。另外,该LPDDR模型是可以基于System C进行配置的。
作为一个实施例,物理层处理模块310可以包括以下模块中的一种或多种:片上存储器311、DSP核312、微处理器核313、HARQ模块314、任务驱动模块315。
具体地,DSP核312,例如可以是定制的专用指令集处理器(application specificinstruction Set Processor,ASIP)DSP核,是物理层模块315的核心模块,可以通过权衡速度、功耗、成本、灵活性等多个方面的设计约束,来达到较好的平衡点。
片上存储器311,例如可以是静态随机存取存储器(static random-accessmemory,SRAM)由于SRAM的成本比较高,因而对于SRAM的优化是仿真架构300优化的重点,如包括对SRAM的大小、位置等的设置都会影响系统的延时。因此,SRAM需要可配置的开销,能够对其延迟和吞吐量进行控制。
作为一个实施例,任务驱动模块315与片上网络350进行通信,以通过片上网络350来执行物理层模块310相关的任务。
具体地,任务驱动模块315将分解出来的任务发送至片上网络350,并告知哪个任务由哪个模块进行处理,物理层模块310将这些数据存储到外部存储模块330中。当物理层模块310将数据写入外部存储模块330时,其写入数据的速度会根据片上网络模块350的优先级、吞吐量、延时以及与外部存储模块330之间的带宽所决定的。图4为一LPDDR读/写模型的示例图。如图4所示,片上网络350向LPDDR发送请求后,LPDDR将响应于对片上网络350的请求,包括延时信息。如果系统要求物理层模块310在规定的时间颗粒度之内完成对LPDDR中数据的写/读,而数据写/读的处理时间超过系统所规定时间颗粒度,则说明该基带芯片架构不是较优的,需要对其进行修改和优化。
作为一个实施例,数据面搬移模块320用于将所述物理层模块310输出的基带数据搬移至所述外部存储模块中。可选地,数据面搬移模块320以直接存储器访问(DirectMemory Access,DMA)的方式将基带数据搬移至所述外部存储模块330中,例如,数据面模块320中可以包括DMA模块322。可选地,物理层模块310只需要负责对数据进行梳理,数据的搬移由数据面模块320负责。
具体地,在物理层模块310的数据量很大的时候,不能按照系统规定的时间完成数据的写入,此时需要对仿真架构300进行优化。例如,可以通过调整外部存储模块330的优先级,来调整各模块之间数据写入的优先级顺序,将数据分时地读/写到外部存储模块330中。数据面模块320就是专门进行优化而设计的,数据面模块320主要负责对物理层模块310处理后的数据进行数据搬移的操作。作为一个示例,可以通过DMA的方式实现数据搬移,DMA模块322可以实现不同速度的硬件装置进行交互,而不需要依赖于CPU模块340来控制传输,提供一个直接传送数据的通道,大大提高了CPU模块340的效率。
作为另一个实施例,CPU模块340和所述数据面搬移模块320内设置有用于对片上网络350的流量进行跟踪调试的模块。
如前面所述,数据搬移模块320需要将物理层模块310处理后的数据搬移到外部存储模块330上,因为CPU模块340和数据面搬移模块320对于系统时延的要求不是很高,因而可以设置一个用于对片上网络350的流量进行跟踪调试的模块流量跟踪模块321。作为一个示例,将流量跟踪模块321设计在对时延要求不高的CPU模块340和数据面模块320中,对时延要求较高的物理层模块310不需要设置流量跟踪模块321,而将实时性要求高的模块设置在物理层模块310中。
流量跟踪模块321可以对任务驱动模块315执行任务过程进行标记,例如可以对执行任务过程中的时间戳进行标记。图5为流量跟踪模块321的模型的示例图。流量跟踪模块321对片上网络350的流量进行细粒度控制,例如可以对传输的数据流进行打标签的方式,来跟踪数据流的流向。流量跟踪模块321与片上网络350的之间交互的信息包括目标地址、突发大小、序列ID、事务间延时、截止日期等,这些信息是可配置。如所图5所示,当向片上网络350上发送数据量过于大的时候,会造成片上网络350的拥堵,这时,需要减少发送数据量的大小。另外,流量跟踪模块321可以用于对任务驱动模块315进行事后分析,并支持从其他平台提取和转换痕迹。
可选地,本实施例提供的仿真架构300可以对分解后的测试用例进行分析评估。例如,可以通过对目标设备最大吞吐量验证、实时任务的延迟分析、关键任务的截止时间分析,普通任务的带宽分析、多核-缓存延迟分析、固件时序分析等进行评估,根据评估结果与系统性能指标的对比,从而实现对仿真架构300的进一步优化。为了实现更好的性能分析,例如可以对NOC微架构进行验证,作为一个示例,可以包括Artersi FlexNoC优化、缓存区尺寸、仲裁、服务质量等几个方面的优化。
图6为本申请实施例提供的一基带芯片的仿真架构的实现组件的示例图。如图6所示,该基带芯片的仿真架构的实现组件中包括可视化工具包,主要用于生成可视化、可阅读的性能分析报;数据处理工具包,主要用于对数据进行分析和处理;架构和工作流程,主要用于模型建立和仿真过程的实现;仿真管理工具包,主要用于用例管理和结构探索管理。
作为一个实施例,对于基带芯片的性能分析,还需要有一个合理的工作流程,从而能够更加精确的捕获架构资源的功能和特性,进一步缩短基带芯片的开发周期。本申请在上述分析基带性能方法的基础上,提出一种基于基带SOC整体性能分析的工作流程。
图7为本申请实施例提供一基带SOC性能分析的工作流程图,下面参照如图7,对基带SOC性能分析的过程进行介绍。
如图7所示,基带SOC的性能分析工作分为硅前710和硅后720两部分。硅前710,也可称为硅前验证,是在基带SOC方案确定后,芯片回片之前需要完成的相关验证工作。硅后720,也称为硅后验证,是在基带SOC芯片回片后进行的相关验证工作。
步骤S711,编写测试用。设计人员根据产品的系统需求,进行测试用例的编写,并根据功能需求来进行软/硬件模块以及功能模块的划分。
步骤S712,模型建立。在完成模块划分后,基于事务级模型,采用System C语言来实现对各个模块的模型建立工作。
步骤S713,调试与分析。在完成建模型后,设计人员要完成对基带SOC的实现,并对实现过程中的RTL代码的正确性进行校验。
步骤S721,探索与优化。在确认RTL代码无误后,设计人员会通过硬件描述语言将RTL代码转换为逻辑电路;然后,完成芯片的回片;在芯片回片后,需要对芯片进行验证。例如可以采用模块级验证,即对芯片中每个模块验证其功能和性能是否满足要求。
步骤S722,校验。对基带芯片进行整体的验证,所有模块之间互联的功能和性能与模型做比较,从而对模块中的部件特征和微架构进行相关优化,提高模型的精确度。
上述步骤构成了基带SOC性能分析的一个闭环的工作流程。该工作流程配合基带性能分析方法能够获取到更精确的信息,从而完成对仿真架构的优化,提高仿真架构的可信度和准确度。
作为架构探索过程的一部分,本申请实施例提出了一种新的、有效的基带芯片的性能分析方法。该方法基于使用事务级System C的建模技术,具有非常抽象的功能规范和详细的架构行为覆盖范围。该方法能够在基带芯片设计的最初阶段,提供对基带芯片架构非常快速和精确的评估。同时,该方法可以将每个架构资源的基带芯片功能和性能分析捕获为跟踪原语序列,这些原语在模拟运行时被转换为事务,为实现基带芯片的架构决策提供指导和方向。
另外,本申请所提出的基带芯片的仿真方法具有高水平的流程自动化,能够自动记录架构探索过程,跟踪信息流上的修订控制标签,并且具有完全修订控制可重现的结果,即能够精确复制,同时还具有提供免费试用和使用开源库在内部开发的特点。
上文结合图2至图7,详细描述了本申请的方法实施例,下面结合图8,对本申请的所提出的仿真系统的实施例进行介绍。应理解,该部分实施例的描述与方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8为本申请实施例提供的一仿真系统的结构示意图。图8中的仿真系统上运行这基带芯片的仿真架构,该仿真架构例如可以是前文提及的仿真架构300。仿真架构300为基于事务级模型的架构,且所述仿真架构300包括基于System C语言建模而成的至少一个模块。
如图8所示,仿真系统800包括存储器810和处理器820。存储器810,用于存储数据;处理器820,用于执行存储器810中存储的数据,以执行以下操作:向所述基带芯片的仿真架构输入测试用例,得到测试数据;其中,测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;根据所述测试数据对所述基带芯片的性能进行分析。
可选地,基带芯片的仿真架构包括物理层处理模块、数据面搬移模块以及外部存储模块,物理层模块用于执行物理层操作,数据面搬移模块用于将物理层模块输出的基带数据搬移至外部存储模块中。
可选地,基带芯片的仿真架构还包括CPU模块,CPU模块、物理层处理模块、数据面搬移模块以及外部存储模块通过片上网络相连,数据面搬移模块以DMA的方式将基带数据搬移至外部存储模块中。
可选地,CPU模块和数据面搬移模块内设置有用于对片上网络的流量进行跟踪调试的模块。
可选地,物理层处理模块包括以下模块中的一种或多种:DSP核、微处理器核、片上存储器、HARQ模块、任务驱动模块,任务驱动模块与片上网络进行通信,以通过片上网络执行物理层相关的任务。
作为一个实施例,本申请涉及的仿真架构300还可以与系统验证相关联,来对仿真架构300进行校准,使其达到更优。例如可以控制流量的入口,采用辅助函数来定义简单的测试用例,采用Perl模块使编写更复杂的测试模式,对象类有助于构建复杂的用例,混合和匹配定义的子用例,隔离运行子组件以进行调试。
作为一个实施例,DMA模块322可以基于Excel的流程配置工具,可以将无关信息抽象,例如,DMA模块322的关键参数可以包括发起者名称、源内存、目标内存、块大小、突发大小、峰值吞吐量、起始时间偏移、重复间隔、截止时间、NOC序列ID等。
作为一个实施例,仿真架构300的运行模拟可以通过自动化流程实现脚本管理,能够提供测试用例名称和所需的任何调整参数。脚本启动回归系统,将管理模拟流程、数据后处理、可视化和报告生成步骤。当长时间运行的测试完成并且结果可用时,可以向给用户发送电子邮件。
作为一个实施例,本申请提供的基带性能分析方法所提供的性能分析报告可以自动生成PDF。具有易于访问的标准化模板(在项目之间重复使用,抽象NOC和DDR实现细节)和明确的时间点。同时,报告中可以捕获版本历史记录(可再现性)。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种分析基带性能的方法,其特征在于,包括:
向基带芯片的仿真架构输入测试用例,得到测试数据,其中所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;
根据所述测试数据对所述基带芯片的性能进行分析。
2.根据权利要求1所述的方法,其特征在于,所述基带芯片的仿真架构包括物理层处理模块、数据面搬移模块以及外部存储模块,所述物理层模块用于执行物理层操作,所述数据面搬移模块用于将所述物理层模块输出的基带数据搬移至所述外部存储模块中。
3.根据权利要求2所述的方法,其特征在于,所述基带芯片的仿真架构还包括CPU模块,所述CPU模块、所述物理层处理模块、所述数据面搬移模块以及所述外部存储模块通过片上网络相连,所述数据面搬移模块以DMA的方式将所述基带数据搬移至所述外部存储模块中。
4.根据权利要求3所述的方法,其特征在于,所述CPU模块和所述数据面搬移模块内设置有用于对所述片上网络的流量进行跟踪调试的模块。
5.根据权利要求3所述的方法,其特征在于,所述物理层处理模块包括以下模块中的一种或多种:DSP核、微处理器核、片上存储器、HARQ模块、任务驱动模块,所述任务驱动模块与所述片上网络进行通信,以通过所述片上网络执行物理层相关的任务。
6.一种仿真系统,其特征在于,所述仿真系统上运行着基带芯片的仿真架构,所述仿真架构为基于事务级模型的架构,且所述仿真架构包括基于System C语言建模而成的至少一个模块,
所述仿真系统包括:
存储器,用于存储数据;
处理器,用于执行所述存储器中存储的数据,以执行以下操作:
向所述基带芯片的仿真架构输入测试用例,得到测试数据;其中,所述测试数据包括所述基带芯片的最大吞吐量和空口下行配置参数;
根据所述测试数据对所述基带芯片的性能进行分析。
7.根据权利要求6所述的仿真系统,其特征在于,所述基带芯片的仿真架构包括物理层处理模块、数据面搬移模块以及外部存储模块,所述物理层模块用于执行物理层操作,所述数据面搬移模块用于将所述物理层模块输出的基带数据搬移至所述外部存储模块中。
8.根据权利要求7所述的仿真系统,其特征在于,所述基带芯片的仿真架构还包括CPU模块,所述CPU模块、所述物理层处理模块、所述数据面搬移模块以及所述外部存储模块通过片上网络相连,所述数据面搬移模块以DMA的方式将所述基带数据搬移至所述外部存储模块中。
9.根据权利要求8所述的仿真系统,其特征在于,所述CPU模块和所述数据面搬移模块内设置有用于对所述片上网络的流量进行跟踪调试的模块。
10.根据权利要求8所述的仿真系统,其特征在于,所述物理层处理模块包括以下模块中的一种或多种:DSP核、微处理器核、片上存储器、HARQ模块、任务驱动模块,所述任务驱动模块与所述片上网络进行通信,以通过所述片上网络执行物理层相关的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210056871.XA CN114416460A (zh) | 2022-01-18 | 2022-01-18 | 分析基带性能的方法和仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210056871.XA CN114416460A (zh) | 2022-01-18 | 2022-01-18 | 分析基带性能的方法和仿真系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416460A true CN114416460A (zh) | 2022-04-29 |
Family
ID=81273148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210056871.XA Pending CN114416460A (zh) | 2022-01-18 | 2022-01-18 | 分析基带性能的方法和仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416460A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115879409A (zh) * | 2022-12-02 | 2023-03-31 | 南京金阵微电子技术有限公司 | 验证方法、验证装置、介质及电子设备 |
-
2022
- 2022-01-18 CN CN202210056871.XA patent/CN114416460A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115879409A (zh) * | 2022-12-02 | 2023-03-31 | 南京金阵微电子技术有限公司 | 验证方法、验证装置、介质及电子设备 |
CN115879409B (zh) * | 2022-12-02 | 2023-09-19 | 南京金阵微电子技术有限公司 | 验证方法、验证装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7958475B2 (en) | Synthesis of assertions from statements of power intent | |
US8229723B2 (en) | Performance software instrumentation and analysis for electronic design automation | |
US7472361B2 (en) | System and method for generating a plurality of models at different levels of abstraction from a single master model | |
US7788625B1 (en) | Method and apparatus for precharacterizing systems for use in system level design of integrated circuits | |
US8073820B2 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
CN102508753B (zh) | Ip核验证系统 | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
US20110035203A1 (en) | system level power evaluation method | |
US9589096B1 (en) | Method and apparatus for integrating spice-based timing using sign-off path-based analysis | |
KR20210149045A (ko) | 인공 지능 칩 검증 | |
US7584456B1 (en) | Method and apparatus for debugging embedded systems having read only memory | |
US11836641B2 (en) | Machine learning-based prediction of metrics at early-stage circuit design | |
US7216318B1 (en) | Method and system for false path analysis | |
CN116956790A (zh) | 一种仿真验证方法、装置、设备及介质 | |
CN114416460A (zh) | 分析基带性能的方法和仿真系统 | |
US20200371843A1 (en) | Framework for application driven exploration and optimization of hardware engines | |
Ebeid et al. | HDL code generation from UML/MARTE sequence diagrams for verification and synthesis | |
CN112861455B (zh) | Fpga建模验证系统及方法 | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
US20140130000A1 (en) | Structural rule analysis with tcl scripts in synthesis or sta tools and integrated circuit design tools | |
Bombieri et al. | Hybrid, incremental assertion-based verification for TLM design flows | |
TWI427496B (zh) | 製造積體電路的模型的方法和系統 | |
US20030225559A1 (en) | Verification of multi-cycle paths | |
CN117113908B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
KR100928181B1 (ko) | 디지털 시스템 설계 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |