基于模型的SystemC代码生成系统技术方案

技术编号:14493148 阅读:85 留言:0更新日期:2017-01-29 15:47
本发明专利技术公开了一种基于模型的SystemC代码生成系统,涉及工业电子工具技术领域。采用本发明专利技术实施例提供的基于模型的SystemC代码的生成系统,可以通过继承Modelook中行为逻辑模型数据,实现模型数据SystemC代码的自动生成,直接对行为逻辑模型数据进行数字化仿真验证,大大缩小了经济成本,节约了时间;另外,采用软硬件协同设计语言对行为逻辑模型数据进行验证,实现了对工业电子系统硬件功能和软件功能的集成仿真验证。

【技术实现步骤摘要】

本专利技术涉及工业电子工具
,涉及工业电子嵌入式系统建模至仿真过程中代码的自动生成系统,尤其涉及一种基于模型的SystemC代码生成系统
技术介绍
现在,多数的软件开发人员仍使用传统的手工编写代码的方法,这种传统开发方式通常效率低、周期长,并且存在大量的重复工作,导致项目延期、成本超出计划。在仿真的过程中,开发设计人员需要首先搭建模型,再对搭建的仿真模型进行验证,在软件环境中,需要编写或生成可被计算机识别运行的源代码。而在工业类仿真中,涉及软、硬件的兼容和协同,普通的Java或C语言代码也无法满足仿真的要求;而SystemC是一种软硬件协同设计语言,包含了一系列C++的类和宏,并且提供了一个事件驱动的模拟核,使得系统的设计者能够用C++的词法模拟并行的进程,即可在VC6.0的环境下编译仿真。但使用SystemC编写代码的工作量非常大,且硬件描述类代码多为重复性代码,故亟需一种能够自动生成SystemC代码的系统,承接上游设计数据,生成代码后在VC6.0环境中编译仿真,减少工作量,并提高代码质量。
技术实现思路
本专利技术的目的在于提供一种基于模型的SystemC代码生成系统,从而解决现有技术中存在的前述问题。为了实现上述目的,本专利技术采用的技术方案如下:一种基于模型的SystemC代码生成系统,包括:仿真模型生成模块,用于在工业电子嵌入式仿真系统中生成不同类型的模型,并将各类型的模型数据分别存储在相应的数据库表单中,还用于可视化显示所述模型;代码生成模块,用于依次读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,还用于生成符合SystemC标准的完整函数体,以及生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,还用于生成端口描述代码;监控模块,用于对仿真模型运行过程中采集和显示的数据进行监控,还用于对模型转化成代码的运行过程进行监控。优选地,所述不同类型的模型包括:场景模型,包含完整的仿真模型;设备模型,为仿真场景中用的设备,模拟真实设备;信号模型,为仿真场景中设备间的联系、触发关系,模拟真实环境中的信号逻辑模型,为仿真场景中,设备间信号的逻辑关系;激励模型,为驱动整个仿真场景运行的初始条件或初始值;监控模型,记录仿真过程中,完整的数据信息、计算过程和显示结果;仿真控制模型,用于控制仿真过程中的步长、时间、触发条件、运行速度和算法信息;则,所述数据库表单包括:场景表单、设备表单、信号表单、逻辑表单、激励表单、监控表单和仿真控制表单。优选地,所述读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,具体为:读取所述场景表单中的字段信息,转化为场景描述代码和场景代码文件;读取所述设备表单中的字段信息,转化为设备描述代码和设备代码文件;读取所述信号表单中的字段信息,转化为信号描述代码和信号代码文件;读取所述逻辑表单中的字段信息,转化为逻辑描述代码和逻辑代码文件;读取所述激励表单中的字段信息,转化为激励描述代码和激励代码文件;读取所述监控表单中的字段信息,转化为监控描述代码和监控代码文件;读取所述仿真控制表单的字段信息,转化为仿真控制描述代码和仿真控制代码文件。优选地,所述生成符合SystemC标准的完整函数体,具体为:在所述监控描述代码中自动添加逻辑计算结果、输入、输出功能代码,用于获取及显示仿真代码运行结果数据的一个函数体组成符合SystemC标准的完整函数体,将所述设备描述代码、信号描述代码、逻辑设备描述代码和仿真控制描述代码合并组成符合SystemC标准的仿真运行、运算的完整函数体。优选地,所述生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,具体为:在读取到的所有字段信息中,单独提取基本信息,并添加函数头,生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数。优选地,所述基本信息包括名称。优选地,所述主函数包括设备函数、信号函数、逻辑函数、激励函数、监控函数和仿真控制函数。优选地,所述生成端口描述代码,具体为:将信号的输入输出关系及信号的类型,转换为SystemC代码中的端口类型,并把名称统一,保留类型,生成端口描述代码。本专利技术的有益效果是:采用本专利技术实施例提供的基于模型的SystemC代码的生成系统,可以通过继承Modelook中行为逻辑模型数据,实现模型数据SystemC代码的自动生成,直接对行为逻辑模型数据进行数字化仿真验证,大大缩小了经济成本,节约了时间;另外,采用软硬件协同设计语言对行为逻辑模型数据进行验证,实现了对工业电子系统硬件功能和软件功能的集成仿真验证。附图说明图1是本专利技术实施例提供的基于模型的SystemC代码的生成系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术实施例提供了一种基于模型的SystemC代码生成系统,包括:仿真模型生成模块,用于在工业电子嵌入式仿真系统中生成不同类型的模型,并将各类型的模型数据分别存储在相应的数据库表单中,还用于可视化显示所述模型;代码生成模块,用于依次读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,还用于生成符合SystemC标准的完整函数体,以及生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,还用于生成端口描述代码;监控模块,用于对仿真模型运行过程中采集和显示的数据进行监控,还用于对模型转化成代码的运行过程进行监控。其中,仿真模型生成模块可承接上游Modelook设计过程中的顺序图,将顺序图中的设备、逻辑、信号转化为代码生成系统中的模型,并可视化显示,生成仿真场景。仿真模型生成模块中,可添加激励,并赋值,作为整个仿真场景的输入。在仿真系统场景运行过程中,会采集和显示运行数据,采用监控模块可以对运行数据进行监控。由于静态仿真模型无法真正的运行,必须将模型转化成代码,在VC6.0的环境中编译运行,采用监控模块可以对模型转化成代码,并编译运行的过程进行监控。代码生成模块是该生成系统的关键部分,用于依次读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,还用于生成符合SystemC标准的完整函数体,以及生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,还用于生成端口描述代码。在代码生成系统中,系统中的各个类型的模型使用SQLSever数据库中的单独表单存储,例如,设备模型在系统中,使用单独的数据表单存储设备相关的名称、类型、等数据信息,场景模型在系统中,使用单独的数据表单存储场景模型的信息,由于各个模型之间存在包含、关联等关系,故在数据库表单中也存在主外键的关联关系,便于数据的查找。所以,模型转化成代码时,首先要读取各类型模型对应的数据库表单中的字段信息,然后,将字段信息转化为相应的SystemC代码。其中,所述不同类型的模型可以包括:场景模型,包含完整的仿真模型;设备模型,为仿真场景中用的设备,模拟真实设备;信本文档来自技高网...
基于模型的SystemC代码生成系统

【技术保护点】
一种基于模型的SystemC代码生成系统,其特征在于,包括:仿真模型生成模块,用于在工业电子嵌入式仿真系统中生成不同类型的模型,并将各类型的模型数据分别存储在相应的数据库表单中,还用于可视化显示所述模型;代码生成模块,用于依次读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,还用于生成符合SystemC标准的完整函数体,以及生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,还用于生成端口描述代码;监控模块,用于对仿真模型运行过程中采集和显示的数据进行监控,还用于对模型转化成代码的运行过程进行监控。

【技术特征摘要】
1.一种基于模型的SystemC代码生成系统,其特征在于,包括:仿真模型生成模块,用于在工业电子嵌入式仿真系统中生成不同类型的模型,并将各类型的模型数据分别存储在相应的数据库表单中,还用于可视化显示所述模型;代码生成模块,用于依次读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,还用于生成符合SystemC标准的完整函数体,以及生成能够在所述完整函数体中调用的与Simox仿真系统中的模型对应的主函数,还用于生成端口描述代码;监控模块,用于对仿真模型运行过程中采集和显示的数据进行监控,还用于对模型转化成代码的运行过程进行监控。2.根据权利要求1所述的基于模型的SystemC代码生成系统,其特征在于,所述不同类型的模型包括:场景模型,包含完整的仿真模型;设备模型,为仿真场景中用的设备,模拟真实设备;信号模型,为仿真场景中设备间的联系、触发关系,模拟真实环境中的信号逻辑模型,为仿真场景中,设备间信号的逻辑关系;激励模型,为驱动整个仿真场景运行的初始条件或初始值;监控模型,记录仿真过程中,完整的数据信息、计算过程和显示结果;仿真控制模型,用于控制仿真过程中的步长、时间、触发条件、运行速度和算法信息;则,所述数据库表单包括:场景表单、设备表单、信号表单、逻辑表单、激励表单、监控表单和仿真控制表单。3.根据权利要求2所述的基于模型的SystemC代码生成系统,其特征在于,所述读取各类型的模型的数据库表单中的字段信息,并将所述字段信息转化为相应的SystemC代码,具体为:读取所述场景表单中的字段信息,转化为场景描述代码和场景代码文件;读取所述设备表单中的字段信息,转化为设备描述代码和设备代码文件;读取所述信号表单中的...

【专利技术属性】
技术研发人员:杨栋刘阳李昊泽吴伟李晋章磊曹勇
申请(专利权)人:杭州杉石科技有限公司
类型:发明
国别省市:浙江;33

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

1