CN104679963A - 一种基于tcl的仿真验证装置和方法 - Google Patents

一种基于tcl的仿真验证装置和方法 Download PDF

Info

Publication number
CN104679963A
CN104679963A CN201510125479.6A CN201510125479A CN104679963A CN 104679963 A CN104679963 A CN 104679963A CN 201510125479 A CN201510125479 A CN 201510125479A CN 104679963 A CN104679963 A CN 104679963A
Authority
CN
China
Prior art keywords
tcl
order
shared region
command
emulation platform
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.)
Granted
Application number
CN201510125479.6A
Other languages
English (en)
Other versions
CN104679963B (zh
Inventor
胡志卷
胡红旗
赵光焕
刘君敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Silan Microelectronics Co Ltd
Original Assignee
Hangzhou Silan Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Silan Microelectronics Co Ltd filed Critical Hangzhou Silan Microelectronics Co Ltd
Priority to CN201510125479.6A priority Critical patent/CN104679963B/zh
Publication of CN104679963A publication Critical patent/CN104679963A/zh
Application granted granted Critical
Publication of CN104679963B publication Critical patent/CN104679963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种仿真验证装置和方法,TCL控制平台作为激励数据和控制命令发送端,通过TCL控制台将外部由脚本语言编写的调试命令和数据传送到待测仿真平台,然后以任务的形式驱动待测仿真平台运行,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制,可以在仿真运行起来之后,启动编写好的TCL脚本或单条指令,实时的控制仿真运行和监测仿真的结果,编译时间短且可以在仿真过程中与仿真平台实时交互。

Description

一种基于TCL的仿真验证装置和方法
技术领域
本发明涉及仿真验证领域,特别涉及一种基于TCL(Tool CommandLanguage,工具命令语言)的仿真验证装置和方法。
背景技术
目前对待验证模型进行的仿真方式主要有:直接激励仿真、CPU驱动仿真和FPGA(Field-Programmable Gate Array,即现场可编程门阵列)仿真。
直接激励仿真是在测试平台中,针对待测模型的输入端口时序,编写测试用例,直接驱动待测模型进行仿真,并在输出端采样输出数据进行比较。缺点是每次修改测试用例,都要重新编译整个测试平台,然后再执行仿真,使得整个仿真、调试、修改的周期很长。
CPU驱动仿真包括待测模型自带CPU和待测模型内部没有CPU两种情况。对于没有CPU的待测模型则可以在测试平台内添加CPU硬件模型,并将其连接到待测的输入输出口上,虚拟一个CPU模型。它们都是通过相应的高级语言编写激励,然后通过软件编译成相应的二进制指令文件,并将该文件直接初始化到内部的存储器模型中,启动仿真时,CPU会从存储器中取出指令,并执行。相应的结果比对都可以包含在用高级语言编写的激励中。虽然修改激励不需要重新编译测试平台,但也要停下当前仿真,从0时刻开始进行仿真,并且一般CPU仿真要经过取指令,然后再执行的过程,使得仿真过程比较慢,无法测试总线压力。
FPGA一般通过JTAG(Joint Test Action Group,联合测试行动小组)口输入激励进行测试,FPGA芯片的规模决定了它无法支撑大规模的SOC(System on Chip,芯片级装置)仿真,容易发现问题,但是很难定位问题。
发明内容
本发明的目的为了改善现有技术的编写激励方式单一、编译时间长、且不能对仿真过程进行实时交互的问题,提供一种基于TCL脚本语言、编译时间短且可以在仿真过程中与仿真平台实时交互的仿真验证装置和方法。
本发明提供一种基于TCL的仿真验证方法,包括如下步骤:
TCL控制平台生成命令并将其发送至共享区;
命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至仿真平台;
所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层;以及
所述命名解析层将所述仿真平台反馈的信息写回所述共享区,所述TCL控制平台与所述共享区实时交互。
进一步的,在所述的仿真验证方法中,利用TCL库函数生成所述TCL控制平台,并加入自定义的C扩展命令通过TCL脚本语言生成所述命令。
进一步的,在所述的仿真验证方法中,所述自定义的C扩展命令包括单个读/写命令、突发读/写命令、DMA读/写命令和中断查询命令中的一种。
进一步的,在所述的仿真验证方法中,所述自定义的C扩展命令具有固定的数据结构。
进一步的,在所述的仿真验证方法中,所述自定义的C扩展命令的数据结构包括:命令类型、起始地址、突发长度、发送数据组、响应数据组、写命令有效位以及命令相应有效位。
进一步的,在所述的仿真验证方法中,所述共享区包括命令共享区、数据共享区和中断区。
进一步的,在所述的仿真验证方法中,所述仿真平台反馈的信息包括反馈数据、有效信息及中断内容,所述命令解析层将所述反馈数据和有效信息写回所述数据共享区或所述命令共享区,将所述中断内容写入到所述中断区。
进一步的,在所述的仿真验证方法中,所述命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令后通过C语言解析生成C命令监测函数和响应函数。
进一步的,在所述的仿真验证方法中,所述C命令监测函数和响应函数采用DPI的方式嵌入到所述仿真平台中。
进一步的,在所述的仿真验证方法中,通过所述C命令监测函数解析出从所述TCL控制平台发出的命令,再以任务的方式在所述仿真平台中执行相应的命令,然后通过所述响应函数将返回值写回所述共享区。
根据本发明的另一面,还提供一种基于TCL的仿真验证装置,包括:TCL控制平台、共享区、命令解析层以及仿真平台,其中,所述TCL控制平台用于生成命令并将所述命令发送至所述共享区,所述命令解析层用于从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至所述仿真平台,所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层,所述命名解析层将所述仿真平台反馈的信息写回所述共享区,所述TCL控制平台与所述共享区实时交互。
进一步的,在所述的仿真验证装置中,利用TCL库函数生成TCL控制平台,并加入自定义的C扩展命令通过TCL脚本语言生成所述命令。
进一步的,在所述的仿真验证装置中,所述自定义的C扩展命令包括单个读/写命令、突发读/写命令、DMA读/写命令和中断查询命令中的一种。
进一步的,在所述的仿真验证装置中,所述自定义的C扩展命令具有固定的数据结构。
进一步的,在所述的仿真验证装置中,所述自定义的C扩展命令的数据结构包括:命令类型、起始地址、突发长度、发送数据组、响应数据组、写命令有效位以及命令相应有效位。
进一步的,在所述的仿真验证装置中,所述共享区包括命令共享区、数据共享区和中断区。
进一步的,在所述的仿真验证装置中,所述仿真平台反馈的信息包括反馈数据、有效信息及中断内容,所述命令解析层将所述反馈数据和有效信息写回所述数据共享区或所述命令共享区,将所述中断内容写入到所述中断区。
进一步的,在所述的仿真验证装置中,所述命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令后通过C语言解析生成C命令监测函数和响应函数。
进一步的,在所述的仿真验证装置中,所述C命令监测函数和响应函数采用DPI的方式嵌入到所述仿真平台中。
进一步的,在所述的仿真验证装置中,通过所述C命令监测函数解析出从所述TCL控制平台发出的命令,再以任务的方式在所述仿真平台中执行相应的命令,然后通过所述响应函数将返回值写回所述共享区。
与现有的技术相比,本发明的仿真验证装置和方法中,TCL控制平台作为激励数据和控制命令发送端,通过TCL控制台将外部由脚本语言编写的调试命令和数据传送到待测仿真平台,然后以任务的形式驱动待测仿真平台运行,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制,可以在仿真运行起来之后,启动编写好的TCL脚本或单条指令,实时的控制仿真运行和监测仿真的结果,编译时间短且可以在仿真过程中与仿真平台实时交互。
附图说明
图1是本发明实施例的基于TCL的仿真验证方法装置框架图;
图2是本发明实施例TCL控制平台发送单个读/写命令的处理流程示意图。
具体实施方式
在下列段落中参照附图以举例方式更具体地描述本发明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。
本发明提供一种基于TCL的仿真验证方法,包括如下步骤:
TCL控制平台生成命令并将其发送至共享区;
命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至仿真平台;
所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层;以及
所述命名解析层将所述仿真平台反馈的信息写回所述共享区,所述TCL控制平台与所述共享区实时交互。
本发明的仿真验证方法中,TCL控制平台作为激励数据和控制命令发送端,通过TCL控制台将外部由脚本语言编写的调试命令和数据传送到待测仿真平台,然后以任务的形式驱动待测仿真平台运行,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制,通过上述方法,可以在仿真运行起来之后,启动编写好的TCL脚本或单条指令,实时的控制仿真运行和监测仿真的结果,编译时间短且可以在仿真过程中与仿真平台实时交互。
图1是本发明实施例的基于TCL的仿真验证装置的框架图。以下结合附图1对本发明基于TCL的仿真验证方法做更详细的说明。
第一步:搭建TCL控制平台,TCL控制平台生成脚本命令并将脚本命令发送至共享区。具体的,可利用TCL提供的库函数生成TCL控制平台。本发明为了高效地运行仿真程序,使用TCL(Tool Command Language,工具命令语言)实现。TCL与其他编译性语言的最大区别是当TCL编写好之后不用经过软件编译就可以直接运行,运行一行就是“解释”一行,“解释”的过程通过TCL解释器完成。虽然TCL拥有一个固有的核心命令集,并且还具有和C/C++语言类似的控制结构,但是TCL库函数提供的命令可能不会满足需要.这时要针对某一特定应用领域对TCL的核心命令集合进行扩展,加入自定义的C扩展命令,包括单个读/写命令、突发读/写命令、DMA(Direct Memory Access,直接内存存取)读/写命令和中断查询等命令,并通过TCL脚本语言,生成高效的激励脚本,然后,利用TCL控制平台将脚本命令发送至共享区中的命令共享区。
其中,自定义的C扩展命令具有固定的数据结构,其数据结构例如为:
字段一:命令类型,即读/写、突发读/写等;
字段二:起始地址,对应为仿真平台的物理地址空间;
字段三:突发长度,仅在突发模式下有效,DMA命令的数据放在外部的数据共享区;
字段四:发送数据组,即写操作的数据;
字段五:响应数据组,即读操作写回的数据;
字段六:写命令有效位,bool类型,值为1时指示当前命令有效;
字段七:命令相应有效位,bool类型,值为1时指示该命令已执行,并已经返回有效数据。
其中,中断查询命令不需要发送至命令共享区,只需要查询中断区内的数据是否置1,如果置1,表明有中断产生,处理完中断后需要通过TCL控制平台将该中断复位。
第二步:通过内存共享技术建立共享区,开辟共享的命令共享区、数据共享区和中断区,实现TCL控制平台和命令解析层之间的命令与数据的交互,其中命令共享区存放命令和单个读/写数据以及突发读写数据,其他的更大的数据块则放在数据共享区,中断区存放有仿真平台发送过来的中断内容,可以由TCL控制平台通过中断查询的方式获取。由于TCL语言没有内嵌到硬件描述语言的接口,因此要增加一个共享区(中间层)来共享数据和命令。利用内存共享技术,实现TCL控制台和命令解析层之间的命令与数据的交互。
第三步:命令解析层从共享区中获取TCL控制平台发送的有效命令并解析生成C命令监测函数和响应函数,然后发送至仿真平台,并将从仿真平台获取的信息写回共享区。在命令解析层可以将TCL的命令转换成C函数,利用C函数在硬件描述语言的接口,将C命令嵌入到仿真平台中。具体的,建立命令解析层,从命令共享区中获取TCL控制平台发送的有效命令,并通过C语言解析,重新生成C命令监测函数和响应函数,发送至仿真平台,并从仿真平台得到相应的反馈数据和有效信息写回数据共享区或命令共享区,将仿真平台发送的中断内容写入到中断区。
第四步:搭建仿真平台,把C命令监测函数和响应函数采用SystemVerilog的DPI(Direct Programming Interface,直接编程接口)的方式嵌入到仿真平台中,通过C命令监测函数,解析出从TCL控制平台发出的命令,再以任务的方式在仿真平台中执行相应的命令,然后通过响应函数将返回值写回共享区。本发明利用TCL脚本语言、内存共享技术和DPI技术,实现上层直接用TCL脚本语言与内核仿真进行交互。
直接编程接口(DPI)允许硬件描述语言代码直接调用C函数的名称,就好像该函数是该硬件描述语言自身定义的任务或者函数,它比其它的硬件描述语言接口的要简单得多,无需编写和定义***任务或函数名称并关联到calltf子程序。在仿真平台中,通过C命令监测函数,解析出从TCL控制平台发出的命令,然后调用相对应的接口任务以驱动仿真测试平台的运行,并通过响应函数将返回值写回共享区。
其中,接口任务为基于Verilog HDL或VHDL等硬件描述语言编写的满足PCI、HPI、AXI或者AHB等总线协议时序的任务,既可以是master接口的时序任务,也可以是slave接口的时序任务。作为master接口的时序任务时,可以访问仿真平台的内部地址空间;而作为slave接口的时序任务时,可以将外部的数据共享区作映射成总线的一个slave供内部的master存取数据用。如待测项目自带HPI或者PCI接口的,则可以通过该接口来实现第一步中所定义的各种命令,或者直接虚拟一个master接口直接挂在装置总线上,实现对内部存储空间的访问。
图2中描述了一个单一读/写命令的流程,首先运行仿真,开辟共享区,然后运行TCL控制平台,在该TCL控制平台上发送一条读/写命令,TCL控制平台会将该读/写命令以定义好的格式写入到命令共享区,运行的仿真平台会不停的通过命令解析层来监测命令共享区的内容,检测到有效命令后,从中间层获取解析的命令信息和地址信息,在仿真平台中调用读任务读取对应地址的数据,并将数据传给命令解析层,命令解析层将数据和数据有效信息写回命令共享区,TCL控制平台检测到数据有效信息,取回数据,就完成了从TCL控制平台到仿真平台的一次实时交互。
下面以两个示例来说明基于PCI总线和AXI总线的接口任务。
接口任务示例1:基于PCI总线的单个读任务
接口任务示例2:基于AXI总线的单个写任务
本领域技术人员可以理解,上述接口任务仅为举例,其他的接口任务如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
如图1所示,本发明还提供一种仿真验证装置,包括TCL控制平台、共享区、命令解析层以及仿真平台。所述TCL控制平台用于生成脚本命令并将脚本命令发送至共享区,所述命令解析层用于从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至仿真平台,所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层,所述命名解析层将仿真平台反馈的信息写回共享区,所述TCL控制平台与所述共享区实时交互。所述仿真验证装置的TCL控制平台作为激励数据和控制命令发送端,通过TCL脚本语言的控制,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制,编译时间短且可以在仿真过程中与仿真平台实时交互。
其中,TCL控制平台实质是一个TCL解释器,可利用TCL提供的库函数生成TCL控制平台,并加入自定义的C扩展命令,包括单个读/写命令、突发读/写命令、DMA(Direct Memory Access,直接内存存取)读/写命令和中断查询等命令,并通过TCL脚本语言,生成高效的激励脚本,然后利用TCL控制平台将脚本命令发送至共享区中的命令共享区。TCL控制平台为激励数据和控制命令发送端,通过TCL脚本语言的控制,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制。
其中,共享区通过内存共享技术建立,所述共享区包括命令共享区、数据共享区和中断区,以实现TCL控制平台和命令解析层之间的命令与数据的交互,其中命令共享区存放命令和单个读/写数据以及突发读写数据,其他的更大的数据块则放在数据共享区,中断区存放有仿真平台发送过来的中断内容,可以由TCL控制平台通过中断查询的方式获取。
其中,命令解析层从共享区中获取TCL控制平台发送的有效命令,并通过C语言解析,重新生成C命令监测函数和响应函数,发送至仿真平台,并从仿真平台得到相应的反馈数据和有效信息写回数据共享区或命令共享区,将仿真平台发送的中断内容写入到中断区。
其中,仿真平台包括第三方仿真器运行下的硬件描述语言代码、SystemVerilog的DPI(Direct Programming Interface,直接编程接口)接口,C命令监测函数和响应函数采用System Verilog的DPI的方式嵌入到仿真平台中,通过命令监测函数,解析出从TCL控制平台发出的命令,再以任务的方式在仿真平台中执行相应的命令,然后通过响应函数将返回值写回共享区。其中,接口任务为基于Verilog HDL或VHDL等硬件描述语言编写的满足PCI、HPI、AXI或者AHB等总线协议时序的任务,既可以是master接口的时序任务,也可以是slave接口的时序任务。作为master接口的时序任务时,可以访问仿真平台的内部地址空间;而作为slave接口的时序任务时,可以将外部的数据共享区作映射成总线的一个slave供内部的master存取数据用。如待测项目自带HPI或者PCI接口的,则可以通过该接口来实现第一步中所定义的各种命令,或者直接虚拟一个master接口直接挂在装置总线上,实现对内部存储空间的访问。
由上可知,本发明实施例的基于TCL的仿真验证装置和方法,利用TCL脚本语言、内存共享技术和DPI技术,实现上层直接用TCL脚本语言与内核仿真平台进行交互。通过这一方法,中可以在仿真运行起来之后,启动编写好的TCL脚本或单条指令,实时的控制仿真运行和监测仿真的结果。该方法中的TCL控制平台为激励数据和控制命令发送端,仿真平台包括第三方仿真器运行下的硬件描述语言代码、System Verilog的DPI接口。通过TCL脚本语言的控制,不但可以向仿真平台发送激励,也可以通过仿真平台的反馈数据和中断信息等验证激励进行分支控制。使得本发明对于仿真验证起到以下作用:一,如果代码没有更改,则测试平台只需编译一次,就可以多次运行脚本,节省编译时间;二,测试激励可以根据硬件仿真的结果执行响应的分支判断,响应测试激励产生的中断信息,控制仿真运行;三,利用脚本语言,可以方便提取并生成激励数据;四,实时控制硬件设计,可以模拟出纯软件无法仿真的测试情况,比如CPU待机下通过外部唤醒等。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (20)

1.一种基于TCL的仿真验证方法,包括如下步骤:
TCL控制平台生成命令并将其发送至共享区;
命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至仿真平台;
所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层;以及
所述命名解析层将所述仿真平台反馈的信息写回所述共享区,所述TCL控制平台与所述共享区实时交互。
2.如权利要求1所述的方法,其特征在于,利用TCL库函数生成所述TCL控制平台,并加入自定义的C扩展命令通过TCL脚本语言生成所述命令。
3.如权利要求2所述的方法,其特征在于,所述自定义的C扩展命令包括单个读/写命令、突发读/写命令、DMA读/写命令和中断查询命令中的一种。
4.如权利要求3所述的方法,其特征在于,所述自定义的C扩展命令具有固定的数据结构。
5.如权利要求4所述的方法,其特征在于,所述自定义的C扩展命令的数据结构包括:命令类型、起始地址、突发长度、发送数据组、响应数据组、写命令有效位以及命令相应有效位。
6.如权利要求1所述的方法,其特征在于,所述共享区包括命令共享区、数据共享区和中断区。
7.如权利要求6所述的方法,其特征在于,所述仿真平台反馈的信息包括反馈数据、有效信息及中断内容,所述命令解析层将所述反馈数据和有效信息写回所述数据共享区或所述命令共享区,将所述中断内容写入到所述中断区。
8.如权利要求1所述的方法,其特征在于,所述命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令后通过C语言解析生成C命令监测函数和响应函数。
9.如权利要求8所述的方法,其特征在于,所述C命令监测函数和响应函数采用DPI的方式嵌入到所述仿真平台中。
10.如权利要求9所述的方法,其特征在于,通过所述C命令监测函数解析出从所述TCL控制平台发出的命令,再以任务的方式在所述仿真平台中执行相应的命令,然后通过所述响应函数将返回值写回所述共享区。
11.一种基于TCL的仿真验证装置,包括:TCL控制平台、共享区、命令解析层以及仿真平台,其中,所述TCL控制平台用于生成命令并将所述命令发送至所述共享区,所述命令解析层用于从所述共享区中获取所述TCL控制平台发送的有效命令进行解析,并将解析的信息发送至所述仿真平台,所述仿真平台根据所述命令解析层解析的信息执行相应的命令并反馈信息给所述命令解析层,所述命名解析层将所述仿真平台反馈的信息写回所述共享区,所述TCL控制平台与所述共享区实时交互。
12.如权利要求11所述的装置,其特征在于,利用TCL库函数生成TCL控制平台,并加入自定义的C扩展命令通过TCL脚本语言生成所述命令。
13.如权利要求12所述的装置,其特征在于,所述自定义的C扩展命令包括单个读/写命令、突发读/写命令、DMA读/写命令和中断查询命令中的一种。
14.如权利要求13所述的装置,其特征在于,所述自定义的C扩展命令具有固定的数据结构。
15.如权利要求14所述的装置,其特征在于,所述自定义的C扩展命令的数据结构包括:命令类型、起始地址、突发长度、发送数据组、响应数据组、写命令有效位以及命令相应有效位。
16.如权利要求11所述的装置,其特征在于,所述共享区包括命令共享区、数据共享区和中断区。
17.如权利要求16所述的装置,其特征在于,所述仿真平台反馈的信息包括反馈数据、有效信息及中断内容,所述命令解析层将所述反馈数据和有效信息写回所述数据共享区或所述命令共享区,将所述中断内容写入到所述中断区。
18.如权利要求11所述的装置,其特征在于,所述命令解析层从所述共享区中获取所述TCL控制平台发送的有效命令后通过C语言解析生成C命令监测函数和响应函数。
19.如权利要求18所述的装置,其特征在于,所述C命令监测函数和响应函数采用DPI的方式嵌入到所述仿真平台中。
20.如权利要求19所述的装置,其特征在于,通过所述C命令监测函数解析出从所述TCL控制平台发出的命令,再以任务的方式在所述仿真平台中执行相应的命令,然后通过所述响应函数将返回值写回所述共享区。
CN201510125479.6A 2015-03-20 2015-03-20 一种基于tcl的仿真验证装置和方法 Active CN104679963B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510125479.6A CN104679963B (zh) 2015-03-20 2015-03-20 一种基于tcl的仿真验证装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510125479.6A CN104679963B (zh) 2015-03-20 2015-03-20 一种基于tcl的仿真验证装置和方法

Publications (2)

Publication Number Publication Date
CN104679963A true CN104679963A (zh) 2015-06-03
CN104679963B CN104679963B (zh) 2018-04-27

Family

ID=53315002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510125479.6A Active CN104679963B (zh) 2015-03-20 2015-03-20 一种基于tcl的仿真验证装置和方法

Country Status (1)

Country Link
CN (1) CN104679963B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688269A (zh) * 2019-09-12 2020-01-14 武汉极目智能技术有限公司 采用axi总线接口的rtl代码自动化验证装置及方法
CN111123084A (zh) * 2019-12-11 2020-05-08 中国电子科技集团公司第二十研究所 一种基于tcl语言的数字电路快速测试方法
CN111967209A (zh) * 2020-08-21 2020-11-20 广芯微电子(广州)股份有限公司 一种soc仿真验证方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549119A (zh) * 2003-05-07 2004-11-24 华为技术有限公司 逻辑仿真测试***和方法
CN101504690A (zh) * 2009-03-26 2009-08-12 北京航空航天大学 用于通信***集成电路设计的实时仿真验证***及其方法
CN101571802A (zh) * 2009-06-19 2009-11-04 北京航空航天大学 一种嵌入式软件测试数据可视化自动生成方法及***
CN101661401A (zh) * 2009-09-22 2010-03-03 山东中创软件商用中间件股份有限公司 一种仿真网络运行状况动态监测方法
CN104216831A (zh) * 2014-09-09 2014-12-17 上海北大方正科技电脑***有限公司 一种基于Tcl的FPGA交互式仿真方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549119A (zh) * 2003-05-07 2004-11-24 华为技术有限公司 逻辑仿真测试***和方法
CN101504690A (zh) * 2009-03-26 2009-08-12 北京航空航天大学 用于通信***集成电路设计的实时仿真验证***及其方法
CN101571802A (zh) * 2009-06-19 2009-11-04 北京航空航天大学 一种嵌入式软件测试数据可视化自动生成方法及***
CN101661401A (zh) * 2009-09-22 2010-03-03 山东中创软件商用中间件股份有限公司 一种仿真网络运行状况动态监测方法
CN104216831A (zh) * 2014-09-09 2014-12-17 上海北大方正科技电脑***有限公司 一种基于Tcl的FPGA交互式仿真方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
敖情波等: "一种通用的仿真平台的设计", 《中国集成电路》 *
潘闻融等: "基于 C++TCL PLI 联合仿真下的芯片验证方法研究", 《现代电子技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688269A (zh) * 2019-09-12 2020-01-14 武汉极目智能技术有限公司 采用axi总线接口的rtl代码自动化验证装置及方法
CN110688269B (zh) * 2019-09-12 2023-03-14 武汉极目智能技术有限公司 采用axi总线接口的rtl代码自动化验证装置及方法
CN111123084A (zh) * 2019-12-11 2020-05-08 中国电子科技集团公司第二十研究所 一种基于tcl语言的数字电路快速测试方法
CN111967209A (zh) * 2020-08-21 2020-11-20 广芯微电子(广州)股份有限公司 一种soc仿真验证方法、装置及存储介质

Also Published As

Publication number Publication date
CN104679963B (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
CN105205249B (zh) 一种soc调试验证***及其软硬件协同方法
US7366650B2 (en) Software and hardware simulation
CN102508753B (zh) Ip核验证***
CN102480467B (zh) 一种基于网络通讯协议的soc软硬件协同仿真验证方法
US9081925B1 (en) Estimating system performance using an integrated circuit
CN104750603A (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
CN115686655B (zh) 用于gpu ip验证的联合仿真***
CN115719047B (zh) 基于波形gpu联合仿真***
US10380283B2 (en) Functional verification with machine learning
Gong et al. ReSim: A reusable library for RTL simulation of dynamic partial reconfiguration
US20130024178A1 (en) Playback methodology for verification components
CN115146568A (zh) 一种基于uvm的芯片验证***及验证方法
Bakir et al. High performance simulations of kernel P systems
CN109299530A (zh) 一种仿真测试案例生成方法、***、存储介质和终端
CN106155903A (zh) 用于***设计验证的装置和方法
CN105654993A (zh) 用于ddr3 sdram控制器的功能验证方法及平台
US9690681B1 (en) Method and system for automatically generating executable system-level tests
Varpaaniemi et al. Prod 3.2 an advanced tool for efficient reachability analysis
US20110218795A1 (en) Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores
CN104679963A (zh) 一种基于tcl的仿真验证装置和方法
Lin et al. Functional verifications for SoC software/hardware co-design: From virtual platform to physical platform
CN111176926A (zh) 一种基于双口sram的ip核仿真***及仿真方法
CN115618800B (zh) 基于dpi的gpu联合仿真***
US7444574B2 (en) Stimulus extraction and sequence generation for an electric device under test
Kayed et al. A novel approach for SVA generation of DDR memory protocols based on TDML

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant