首页> 中国专利> 将伪代码转换为编程语言的系统和方法

将伪代码转换为编程语言的系统和方法

摘要

本发明揭示了一种将伪代码转换为编程语言的系统和方法,其包括输入数据模块、芯片设计规范模块、伪代码转换模块和输出数据模块,输出数据模块包括编程语言输出单元和Bit操作类单元,输入数据模块和芯片设计规范模块经伪代码转换模块转换后,由编程语言输出单元输出生成的编程语言,并配合符合编程语言的Bit操作类单元,将伪代码转换成可以直接使用的软件语言。本发明极大的缩短了伪代码到软件语言的转换时间,有利于高效的对芯片设计逻辑的功能性,逻辑性进行验证,提高了芯片测试的效率。

著录项

  • 公开/公告号CN103336706A

    专利类型发明专利

  • 公开/公告日2013-10-02

    原文格式PDF

  • 申请/专利权人 盛科网络(苏州)有限公司;

    申请/专利号CN201310188525.8

  • 发明设计人 胡国兴;刘小龙;陈诺;单哲;

    申请日2013-05-21

  • 分类号G06F9/45(20060101);

  • 代理机构苏州慧通知识产权代理事务所(普通合伙);

  • 代理人安纪平

  • 地址 215021 江苏省苏州市工业园区星汉街5号(腾飞工业坊)B幢4楼13/16单元

  • 入库时间 2024-02-19 20:16:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-05

    专利权的转移 IPC(主分类):G06F9/45 登记生效日:20171218 变更前: 变更后: 申请日:20130521

    专利申请权、专利权的转移

  • 2016-06-29

    授权

    授权

  • 2013-11-06

    实质审查的生效 IPC(主分类):G06F9/45 申请日:20130521

    实质审查的生效

  • 2013-10-02

    公开

    公开

说明书

技术领域

本发明涉及芯片设计开发领域,尤其是涉及一种将伪代码转换为编程 语言的系统和方法。

背景技术

在芯片设计中,一般均以伪代码的方式编写设计规范,伪代码是一种 介于自然语言与编程语言之间的算法描述语言,相比编程语言(例如Java, C++,C,Dephi等等)而言,它更类似自然语言,简单易懂。

芯片设计人员、验证人员依据用伪代码编写的设计规范进行设计验证, 这种验证方式存在验证时间长、验证效率低等问题。所以,为了缩短设计、 开发、验证时间,通常考虑使用软件模拟的方法来先期对伪代码设计的逻 辑进行验证,所以需要将伪代码首先转换为可以进行软件模拟的编程语言。 一般情况下编写的伪代码没有进行格式规范,所以现有的伪代码转换方式 存在转换困难、转换时间长等问题,从而降低了芯片设计的效率。

发明内容

本发明的目的在于克服现有技术的缺陷,提供一种将伪代码转换为直 接可用的编程语言的系统和方法,将用伪代码编写的芯片表项数据库和芯 片设计规范转换为编程语言,并将转换后的编程语言配合Bit操作类生成可 用于芯片逻辑验证的编程语言,极大的缩短了从伪代码到软件语言的转换 时间。

为实现上述目的,本发明提出如下技术方案:一种将伪代码转换为编 程语言的系统,其包括输入数据模块、芯片设计规范模块、伪代码转换模 块和输出数据模块,所述输入数据模块输入的数据为芯片表项数据库,所 述芯片设计规范模块中输入的是使用规定格式进行编写的芯片逻辑,用伪 代码编写的所述芯片表项数据库和芯片逻辑经伪代码转换模块转换后,由 输出数据模块输出生成的可用于芯片逻辑验证的编程语言。

优选地,所述芯片表项数据库至少包括芯片的表项结构和表项内容, 所述芯片的表项内容至少包括表项大小、表项属性、文件位置、字节长度。

所述伪代码转换模块包括分别与输入数据模块和芯片设计规范模块相 连的芯片表项转换单元和芯片设计规范转换单元。

所述芯片设计规范转换单元包括依次相连的模块连接到编程语言函数 转换单元、运算符,特殊字符,数据结构解析替换单元、芯片读写表项转 换单元、芯片非读写表项转换单元。

所述输出数据模块包括编程语言输出单元和Bit操作类单元,所述编程 语言输出单元和Bit操作类单元相配合生成可用于芯片逻辑验证的编程语 言。

所述Bit操作类单元包括:Bit操作运算符重载单元、Bit操作内存管理 单元和Bit操作信息存储单元。

一种将伪代码转换为编程语言的方法,包括:将芯片表项数据库和芯 片设计规范进行录入,将录入的信息进行伪代码到编程语言的转换,并且 配合Bit操作类将转换后的编程语言生成为可用于芯片逻辑验证的编程语 言。

优选地,所述芯片表项数据库至少包括所有芯片的表项结构和表项内 容,所述表项内容至少包括表项大小、表项属性、文件位置、字节长度。

所述芯片设计规范为使用规定格式进行编写的芯片逻辑。

所述将录入的信息进行伪代码到编程语言的转换方法包括:

将芯片表项数据库转换为编程语言数据结构;

将芯片设计规范中的模块连接关系转换为编程语言函数调用;

将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析后 转换为编程语言可重载的运算符,可设别的字符和数据结构;

将芯片设计规范中需要读写的芯片表项转换为全局变量;

将芯片设计规范中非芯片读写表项自动查找并转换为局部变量。

所述配合Bit操作类将转换后的编程语言生成为可用于芯片逻辑验证 的编程语言的方法包括:

将运算符重载为按Bit进行计算的运算符;

对Bit类进行内存分配的管理;

对芯片表项数据库中的表项内容中的信息进行存储。

本发明的的有益效果是:可以实现将伪代码转换为直接可用的软件语 言,可以用于软件模拟芯片设计逻辑,从而进行芯片设计的模拟测试,极 大的缩短了从伪代码到软件语言的转换时间,有利于高效的对芯片设计逻 辑的功能性、逻辑性进行验证,大大提高了芯片测试的效率。

附图说明

图1是本发明实施例将伪代码转换为C++语言的系统的总体结构框图;

图2是本发明实施例芯片表项数据库转换为C++语言数据结构的流程 框图;

图3是本发明实施例芯片设计规范转换为C++逻辑语言的流程框图;

图4是本发明实施例Bit操作类单元组成框图;

图5是本发明实施例将伪代码转换为C++语言的方法的流程框图;

图6是图5中将录入的信息进行伪代码到C++语言的转换的流程图;

图7是图5中配合Bit操作类生成可用于芯片逻辑验证的C++语言的 流程框图;

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完 整的描述。

本发明实例中以将伪代码转换为C++语言为例,揭示了一种将伪代码 转换为C++语言的方法,该方法一方面规定芯片设计规范的伪代码语言格 式,另一方面利用C++等面向对象的计算机编程语言的重载功能,并根据 芯片设计的特殊性,即对Bit进行操作的特性,建立C++的关于Bit的各种 运算符的重载,从而生成可用于芯片逻辑验证的C++语言。

参见图1所示,图1是本发明将伪代码转换为C++语言的系统的总体 结构框图,该系统包括:输入数据模块、芯片设计规范模块、伪代码转换 模块和输出数据模块,用伪代码编写的输入数据模块和芯片设计规范模块 经伪代码转换模块转换后,由输出数据模块输出生成的可用于芯片逻辑验 证的C++语言。

输入数据模块中输入的数据为芯片表项数据库,即录入的所有芯片的 表项结构和表项内容。

芯片设计规范模块中输入的是使用规定格式进行编写的芯片逻辑,用 于规定芯片设计规范的伪代码语言格式,便于进行伪代码到C++语言的转 换,提高转换效率。

输出数据模块包括C++语言输出单元和Bit操作类单元,其中C++语 言输出单元输出的C++代码与Bit操作类单元相配合,Bit操作类单元利用 C++面向对象的计算机编程语言的重载功能,并且根据芯片设计的特殊性, 即对Bit进行操作的特性,建立C++的关于Bit的各种运算符的重载,从而 生成可用于芯片逻辑验证的C++语言。

参见图2所示,图2为本发明芯片表项数据库转换为C++语言数据结 构的流程框图,输入数据模块中输入的数据为芯片表项数据库,芯片表项 数据库经芯片表项转换单元转换成C++语言数据结构。

芯片表项数据库中包括芯片的表项结构和表项内容,表项内容至少包 括表项大小、表项属性、文件位置、字节长度,

参见图3所示,图3为芯片设计规范转换为C++逻辑语言的流程框图, 芯片设计规范单元经模块连接到C++语言函数转换单元后,将芯片设计规 范中的模块连接转换为C++语言函数调用。

再经运算符,特殊字符,数据结构解析替换单元将芯片设计规范中的 伪代码运算符,特殊字符及数据结构进行解析和转换,转换为C++语言可 重载的运算符,可识别的字符和数据结构。

芯片读写表项转换单元,将芯片设计规范中需要读写的芯片表项转换 为全局变量,以利于在各模块函数可直接使用。

芯片非读写表项转换单元,将芯片非读写表项的其他变量,自动查找 并生成为各函数的局部变量,用于在函数内部使用。

参见图4所示,图4是本发明Bit操作类单元组成框图,Bit操作类单元包 括:Bit操作运算符重载单元、Bit操作内存管理单元和Bit操作信息存储单元。

Bit操作运算符重载单元,用于对运算符进行重载,重载为按Bit进行计 算的运算符。重载的运算符主要包括“+”,“-”,“,”,“|”,“&”, “|”,“&&”,“()”,“[]”,“*”,“/”,“<<”,“>>”,“>”,“<” 等常用运算符,均重载为对新建的Bit类的运算符,及Bit类和其他数据类型 之间的运算符。

Bit操作内存管理单元,主要对Bit类进行内存分配的管理,构造函数 和析构函数等。

Bit操作信息存储单元,主要存储经转换后的C++语言数据结构中文件 的相关信息,如文件位置,字节长度,文件名称及其他信息。

其中,本发明中的伪代码转换模块包括芯片表项转换单元、模块连接 到C++语言函数转换单元、特殊字符,数据结构解析替换单元、芯片读写 表项转换单元、芯片非读写表项转换单元。

本发明实施例中还揭示了一种将伪代码转换为C++语言的方法,如图 5所示的流程框图,依次包括:

第一步,将芯片表项数据库和芯片设计规范进行录入;

其中,芯片表项数据库作为输入数据,包括芯片表项结构和表项内容, 表项内容为表项大小、表项属性、文件位置、字节长度等信息,并且芯片 表项数据库按照一定的规则进行录入,便于生成C++语言数据结构。

芯片设计规范为使用规定格式进行编写的芯片逻辑,规定了芯片设计 规范的伪代码语言格式。

第二步,将录入的信息进行伪代码到C++语言的转换;如图6所示的 流程框图,包括:

将芯片表项数据库转换为C++语言数据结构;

将芯片设计规范中的模块连接关系转换为C++语言函数调用;

将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析后 转换为C++语言可重载的运算符,可设别的字符和数据结构;

将芯片设计规范中需要读写的芯片表项转换为全局变量,以利于在各 模块函数可直接使用;

将芯片设计规范中非芯片读写表项自动查找并转换为各模块函数的局 部变量,在各模块内部使用。

第三步,配合Bit操作类将转换后的C++语言生成为可用于芯片逻辑 验证的C++语言,如图7所示的流程框图,包括:

将运算符重载为按Bit进行计算的运算符,重载的运算符主要包括“+”, “-”,“,”,“|”,“&”,“||”,“&&”,“()”,“[]”,“*”,“/”,“<<”,“>>”, “>”,“<”等常用运算符,均重载为对新建的Bit类的运算符,及Bit类 和其他数据类型之间的运算符;

对Bit类进行内存分配的管理,主要对Bit类进行内存分配的管理,构 造函数和析构函数等;

对芯片表项数据库中的表项内容中的信息进行存储,主要存储经转换 后的C++语言数据结构中文件的相关信息,如文件位置,字节长度,文件 名称及其他信息。

进一步地,本发明主要利用的是C++语言的重载功能,建立按Bit操 作的Bit操作类,其他面向对象的编程语言也有重载功能,因此在本发明的 基础上,对部分转换模块稍加修改可以转换为其他面向对象的编程语言, 不局限于C++语言一种,可适应不同编程语言平台。

综上所述,本发明提供了一种将伪代码转换为直接可用的编程语言的 系统和方法,极大的缩短了从伪代码到软件语言的转换时间,有利于高效 的对芯片设计逻辑的功能性,逻辑性进行验证,提高了芯片测试的效率。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人 员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修 饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种 不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号