一种实现SoC验证的交互机制的方法技术

技术编号:15895490 阅读:60 留言:0更新日期:2017-07-28 19:54
本发明专利技术公开了一种实现SoC验证的交互机制的方法,其特征在于将对特定寄存器的操作和监控进行分离,通过增加交互接口模块、监视器模块和事件任务模块来实现;C程序、监视器模块和RTL通过所述交互接口模块进行连接并实现数据交互,所述交互接口模块实现AHB信号的打包;监视器模块实时监测交互接口模块打包的AHB总线信号,监测到AHB总线中存在向预先设定的寄存器操作时,将该操作映射为特定的事件实例;事件任务模块实现各个事件实例具体执行的操作的定义和管理。将CPU写寄存器的操作转换成SystemVerilog事务,并在上层的测试用例中使用事务来控制流程,解决了传统方法使用不便,移植性复用性差等诸多问题。

Method for implementing interaction mechanism of SoC verification

The invention discloses a method for realizing SoC verify the interaction mechanism, which is characterized in that the operation and control of the specific register separation is achieved by increasing the interaction interface module, monitor module and event task module; C program, the monitor module and the RTL connection and data exchange is realized through the interface module. The interface module is packaged AHB signal; AHB bus signal real-time monitoring interface module package monitor module, monitoring to exist in the AHB bus to the preset register operation, the operation is mapped to a specific case; definition and management of event task module each event instance execution of specific operation. The operation of CPU writing register is transformed into SystemVerilog transaction, and the transaction is used in the upper test case to control the process, which solves many problems, such as inconvenience of using the traditional method, poor transplantation and reuse.

【技术实现步骤摘要】
一种实现SoC验证的交互机制的方法
本专利技术涉及芯片设计与制造领域,尤其涉及一种实现新型的SoC验证的交互机制的方法。
技术介绍
随着工艺能力和设计能力的快速发展,为了满足嵌入式系统市场对于成本、功能和功耗的要求,SoC技术已经成为一种发展趋势。SoC技术是以超深亚微米工艺和知识产权IP(IntellectualProperty)核复用为支撑,其设计观念与传统设计观念完全不同。在SoC设计中,设计者面对的不再是电路芯片;而是能实现设计功能的IP模块库。SoC设计不能一切从头开始,要将设计建立在较高的基础之上,利用已有的IP核进行设计重用。建立在IP核基础上的系统级芯片设计技术,使设计方法从传统的电路级设计转向系统级设计。正是SoC具有这样的特点,使得SoC验证日益重要,向业界提出了巨大挑战,已成为了整个SoC设计流程的瓶颈。在SoC验证中不仅有验证平台驱动产生的激励,同时还有嵌入式CPU产生的激励,两者配合完成对SoC芯片的验证。因此如何调度好两种类型的激励是影响SoC验证的关键技术。传统的方法是使用CPU写特定的寄存器,然后通过验证平台实时监测此寄存器的值,发现有变化后执行相应的操作。此方法使用不便,每次调用都得去监测寄存器的值,且移植性差,无法在各个项目之间通用。图1是传统SoC验证交互机制,当前主流的SoC验证都是通过C程序和SystemVerilog(一种硬件设计和验证的编程语言)程序共同产生激励进行验证,因此两者之间的交互机制的实现显得非常关键。传统的SoC验证的交互机制是使用CPU向约定好的寄存器写入预先设定好的值,然后通过SystemVerilog实时监测此寄存器来实现的。此方法缺点是通用性移植性差,且在SoC的UVM(UniversalVerificationMethodology是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境)验证中使用不方便。
技术实现思路
针对以上缺陷,本专利技术目的在于如何实现一种复用性强且方便移植的SoC验证的交互机制。为了实现上述目的,本专利技术提供了一种实现SoC验证的交互机制的方法,其特征在于将对特定寄存器的操作和监控进行分离,通过增加交互接口模块、监视器模块和事件任务模块来实现;C程序、监视器模块和RTL通过所述交互接口模块进行连接并实现数据交互,所述交互接口模块实现AHB信号的打包;监视器模块实时监测交互接口模块打包的AHB总线信号,监测到AHB总线中存在向预先设定的寄存器操作时,将该操作映射为特定的事件实例;事件任务模块实现各个事件实例具体执行的操作的定义和管理。所述的实现SoC验证的交互机制的方法,其特征在于所述的事件实例对应一个测试用例,通过模块类作为基础类进行扩展实现,支持多态属性。所述的实现SoC验证的交互机制的方法,其特征在于所述的事件实例的触发通过事件触发或者函数回调的方式触发执行。本专利技术将CPU写寄存器的操作转换成SystemVerilog事务,并在上层的测试用例中使用事务来控制流程,解决了传统方法使用不便,移植性复用性差等诸多问题。克服了SoC验证过程中传统交互机制的缺陷,很好地满足了当前大规模复杂集成电路的验证需求。附图说明图1是传统SoC验证交互机制;图2是本专利技术SoC验证交互机制的框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如果想要实现C程序控制SystemVerilog执行某个函数。传统的验证交互机制首先会使用C程序向特定的寄存器中写值,然后在验证平台中使用SystemVerilog语言实时监测此寄存器中的值,一旦发现C程序将其改为约定好的值时,就会触发SystemVerilog执行特定函数。这种方式中,SystemVerilog实时监测寄存器的方式一般采用直接验证层次引用,移植性差,一旦寄存器所在模块层次结构发生变化或者改变项目时,都会导致验证平台无法工作。然而本专利技术只会实时监测写寄存器的行为,然后将其转换为SystemVerilog事务,因此在验证平台的测试用例中,不需要去关心寄存器所在模块层次结构是否变化,其只是通过判断SystemVerilog事务来控制流程。同时,本专利技术利用了SystemVerilog类(Class)的属性,使得上层测试用例无需关心底层行为,即操作的判断和执行隔离。如果在不同的项目或者应用场景下,需要修改寄存器层次或者寄存器值对应关系,都可以在底层模块中修改,而这些修改并不会影响上层测试用例的调用。因此,本专利技术提出的验证交互机制具有使用简单,移植方便等优点。图2是本专利技术SoC验证交互机制的框图,增加了Interface(接口)模块和Monitor(监视器)模块,以及EventTask模块。Interface在SystemVerilog中的主要功能是打包信号线以及连接RTL(RTL是RegisterTransferLevel的缩写,指的是寄存器传输级电路)和UVM(UniversalVerificationMethodology是一个以SystemVerilog类库为主体的验证平台开发框架)功能。通过Interface可以使得信号连接关系清晰明朗,同时,在UVM验证中连接RTL和UVM唯一的方式就是通过Interface模块。在本专利技术中,Interface主要是将CPU模块的AHB总线信号组打包,并将其连接到Monitor模块中,方便Monitor模块实时监测。Monitor模块在UVM中的主要功能是实时监测一组信号线,然后将其转换为Transaction,并传输给下一级模块。本专利技术中Monitor模块实时监测CPU的AHB信号线,如果发现其有向事先约定的寄存器中写值,则将其转换为SystemVerilogEvent。比如,写值0x900d900d,则为EventPass;0xbaadbaad,则为EventFail;0x80018001,则为Event1;0x80028002,则为Event2等。EventTask模块主要是完成各个Event对应执行的操作。比如在Event1中填写对应的功能操作,Event2中填写另外的操作,并以此类推。一旦Monitor中监测到某个Event发生,则会立即执行其对应的操作。另外,测试用例可以在EventTask模块类的基础上扩展,利用类的多态属性,可以编写新的操作来覆盖EventTask模块类中的原操作,实现每支测试用例专有的功能。因此,完整的流程是首先C程序向约定好的寄存器中写特定值,然后验证平台通过Monitor和Interface监测到对应的Event发生,最后在此EventTask模块中执行相关操作,完成C程序控制SystemVerilog流程的功能。利用了SystemVerilogClass的属性,将寄存器的监测判断和执行动作分开,达到了使用方便,移植性好的目的。在传统SoC验证交互机制中,寄存器的判断和执行都是合并在一起,这意味着如果本文档来自技高网
...
一种实现SoC验证的交互机制的方法

【技术保护点】
一种实现SoC验证的交互机制的方法,其特征在于将对特定寄存器的操作和监控进行分离,通过增加交互接口模块、监视器模块和事件任务模块来实现;C程序、监视器模块和RTL通过所述交互接口模块进行连接并实现数据交互,所述交互接口模块实现AHB信号的打包;监视器模块实时监测交互接口模块打包的AHB总线信号,监测到AHB总线中存在向预先设定的寄存器操作时,将该操作映射为特定的事件实例;事件任务模块实现各个事件实例具体执行的操作的定义和管理。

【技术特征摘要】
1.一种实现SoC验证的交互机制的方法,其特征在于将对特定寄存器的操作和监控进行分离,通过增加交互接口模块、监视器模块和事件任务模块来实现;C程序、监视器模块和RTL通过所述交互接口模块进行连接并实现数据交互,所述交互接口模块实现AHB信号的打包;监视器模块实时监测交互接口模块打包的AHB总线信号,监测到AHB总线中存在向预先设定的寄存器操作时,将该...

【专利技术属性】
技术研发人员:李亮亮杨崇朋
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东,44

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

1