《将伪代码转换为编程语言的系统和方法.pdf》由会员分享,可在线阅读,更多相关《将伪代码转换为编程语言的系统和方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103336706 A(43)申请公布日 2013.10.02CN103336706A*CN103336706A*(21)申请号 201310188525.8(22)申请日 2013.05.21G06F 9/45(2006.01)(71)申请人盛科网络(苏州)有限公司地址 215021 江苏省苏州市工业园区星汉街5号(腾飞工业坊)B幢4楼13/16单元(72)发明人胡国兴 刘小龙 陈诺 单哲(74)专利代理机构苏州慧通知识产权代理事务所(普通合伙) 32239代理人安纪平(54) 发明名称将伪代码转换为编程语言的系统和方法(57) 摘要本发明揭示了一种将伪代码转换为编。
2、程语言的系统和方法,其包括输入数据模块、芯片设计规范模块、伪代码转换模块和输出数据模块,输出数据模块包括编程语言输出单元和Bit操作类单元,输入数据模块和芯片设计规范模块经伪代码转换模块转换后,由编程语言输出单元输出生成的编程语言,并配合符合编程语言的Bit操作类单元,将伪代码转换成可以直接使用的软件语言。本发明极大的缩短了伪代码到软件语言的转换时间,有利于高效的对芯片设计逻辑的功能性,逻辑性进行验证,提高了芯片测试的效率。(51)Int.Cl.权利要求书1页 说明书4页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书4页 附图3页(10)申请公布号 C。
3、N 103336706 ACN 103336706 A1/1页21.将伪代码转换为编程语言的系统,其特征在于:其包括输入数据模块、芯片设计规范模块、伪代码转换模块和输出数据模块,所述输入数据模块输入的数据为芯片表项数据库,所述芯片设计规范模块中输入的是使用规定格式进行编写的芯片逻辑,用伪代码编写的所述芯片表项数据库和芯片逻辑经伪代码转换模块转换后,由输出数据模块输出生成的可用于芯片逻辑验证的编程语言。2.根据权利要求1所述的将伪代码转换为编程语言的系统,其特征在于,所述芯片表项数据库至少包括芯片的表项结构和表项内容,所述芯片的表项内容至少包括表项大小、表项属性、文件位置、字节长度。3.根据权利。
4、要求1所述的将伪代码转换为编程语言的系统,其特征在于,所述伪代码转换模块包括分别与输入数据模块和芯片设计规范模块相连的芯片表项转换单元和芯片设计规范转换单元。4.根据权利要求3所述的将伪代码转换为编程语言的系统,其特征在于,所述芯片设计规范转换单元包括依次相连的模块连接到编程语言函数转换单元、运算符,特殊字符,数据结构解析替换单元、芯片读写表项转换单元、芯片非读写表项转换单元。5.根据权利要求1所述的将伪代码转换为编程语言的系统,其特征在于,所述输出数据模块包括编程语言输出单元和Bit操作类单元,所述编程语言输出单元和Bit操作类单元相配合生成可用于芯片逻辑验证的编程语言。6.根据权利要求5所。
5、述的将伪代码转换为编程语言的系统,其特征在于,所述Bit操作类单元包括:Bit操作运算符重载单元、Bit操作内存管理单元和Bit操作信息存储单元。7.将伪代码转换为编程语言的方法,其特征在于:将芯片表项数据库和使用规定格式编写的芯片设计规范进行录入,将录入的信息进行伪代码到编程语言的转换,并且配合Bit操作类将转换后的编程语言生成可用于芯片逻辑验证的编程语言。8.根据权利要求7所述的将伪代码转换为编程语言的方法,其特征在于,所述芯片表项数据库至少包括所有芯片的表项结构和表项内容,所述表项内容至少包括表项大小、表项属性、文件位置、字节长度。9.根据权利要求7所述的将伪代码转换为编程语言的方法,其。
6、特征在于,所述将录入的信息进行伪代码到编程语言的转换方法包括:将芯片表项数据库转换为编程语言数据结构;将芯片设计规范中的模块连接关系转换为编程语言函数调用;将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析后转换为编程语言可重载的运算符,特殊字符和数据结构;将芯片设计规范中需要读写的芯片表项转换为全局变量;将芯片设计规范中非芯片读写表项自动查找并转换为局部变量。10.根据权利要求7所述的将伪代码转换为编程语言的方法,其特征在于,所述配合Bit操作类将转换后的编程语言生成为可用于芯片逻辑验证的编程语言的方法包括:将运算符重载为按Bit进行计算的运算符;对Bit类进行内存分配的管理;对芯片。
7、表项数据库中的表项内容中的信息进行存储。权 利 要 求 书CN 103336706 A1/4页3将伪代码转换为编程语言的系统和方法技术领域0001 本发明涉及芯片设计开发领域,尤其是涉及一种将伪代码转换为编程语言的系统和方法。背景技术0002 在芯片设计中,一般均以伪代码的方式编写设计规范,伪代码是一种介于自然语言与编程语言之间的算法描述语言,相比编程语言(例如Java,C+,C,Dephi等等)而言,它更类似自然语言,简单易懂。0003 芯片设计人员、验证人员依据用伪代码编写的设计规范进行设计验证,这种验证方式存在验证时间长、验证效率低等问题。所以,为了缩短设计、开发、验证时间,通常考虑使用。
8、软件模拟的方法来先期对伪代码设计的逻辑进行验证,所以需要将伪代码首先转换为可以进行软件模拟的编程语言。一般情况下编写的伪代码没有进行格式规范,所以现有的伪代码转换方式存在转换困难、转换时间长等问题,从而降低了芯片设计的效率。发明内容0004 本发明的目的在于克服现有技术的缺陷,提供一种将伪代码转换为直接可用的编程语言的系统和方法,将用伪代码编写的芯片表项数据库和芯片设计规范转换为编程语言,并将转换后的编程语言配合Bit操作类生成可用于芯片逻辑验证的编程语言,极大的缩短了从伪代码到软件语言的转换时间。0005 为实现上述目的,本发明提出如下技术方案:一种将伪代码转换为编程语言的系统,其包括输入数。
9、据模块、芯片设计规范模块、伪代码转换模块和输出数据模块,所述输入数据模块输入的数据为芯片表项数据库,所述芯片设计规范模块中输入的是使用规定格式进行编写的芯片逻辑,用伪代码编写的所述芯片表项数据库和芯片逻辑经伪代码转换模块转换后,由输出数据模块输出生成的可用于芯片逻辑验证的编程语言。0006 优选地,所述芯片表项数据库至少包括芯片的表项结构和表项内容,所述芯片的表项内容至少包括表项大小、表项属性、文件位置、字节长度。0007 所述伪代码转换模块包括分别与输入数据模块和芯片设计规范模块相连的芯片表项转换单元和芯片设计规范转换单元。0008 所述芯片设计规范转换单元包括依次相连的模块连接到编程语言函。
10、数转换单元、运算符,特殊字符,数据结构解析替换单元、芯片读写表项转换单元、芯片非读写表项转换单元。0009 所述输出数据模块包括编程语言输出单元和Bit操作类单元,所述编程语言输出单元和Bit操作类单元相配合生成可用于芯片逻辑验证的编程语言。0010 所述Bit操作类单元包括:Bit操作运算符重载单元、Bit操作内存管理单元和Bit操作信息存储单元。0011 一种将伪代码转换为编程语言的方法,包括:将芯片表项数据库和芯片设计规范说 明 书CN 103336706 A2/4页4进行录入,将录入的信息进行伪代码到编程语言的转换,并且配合Bit操作类将转换后的编程语言生成为可用于芯片逻辑验证的编程语。
11、言。0012 优选地,所述芯片表项数据库至少包括所有芯片的表项结构和表项内容,所述表项内容至少包括表项大小、表项属性、文件位置、字节长度。0013 所述芯片设计规范为使用规定格式进行编写的芯片逻辑。0014 所述将录入的信息进行伪代码到编程语言的转换方法包括:0015 将芯片表项数据库转换为编程语言数据结构;0016 将芯片设计规范中的模块连接关系转换为编程语言函数调用;0017 将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析后转换为编程语言可重载的运算符,可设别的字符和数据结构;0018 将芯片设计规范中需要读写的芯片表项转换为全局变量;0019 将芯片设计规范中非芯片读写表项自。
12、动查找并转换为局部变量。0020 所述配合Bit操作类将转换后的编程语言生成为可用于芯片逻辑验证的编程语言的方法包括:0021 将运算符重载为按Bit进行计算的运算符;0022 对Bit类进行内存分配的管理;0023 对芯片表项数据库中的表项内容中的信息进行存储。0024 本发明的的有益效果是:可以实现将伪代码转换为直接可用的软件语言,可以用于软件模拟芯片设计逻辑,从而进行芯片设计的模拟测试,极大的缩短了从伪代码到软件语言的转换时间,有利于高效的对芯片设计逻辑的功能性、逻辑性进行验证,大大提高了芯片测试的效率。附图说明0025 图1是本发明实施例将伪代码转换为C+语言的系统的总体结构框图;00。
13、26 图2是本发明实施例芯片表项数据库转换为C+语言数据结构的流程框图;0027 图3是本发明实施例芯片设计规范转换为C+逻辑语言的流程框图;0028 图4是本发明实施例Bit操作类单元组成框图;0029 图5是本发明实施例将伪代码转换为C+语言的方法的流程框图;0030 图6是图5中将录入的信息进行伪代码到C+语言的转换的流程图;0031 图7是图5中配合Bit操作类生成可用于芯片逻辑验证的C+语言的流程框图;具体实施方式0032 下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。0033 本发明实例中以将伪代码转换为C+语言为例,揭示了一种将伪代码转换为C+语言的方法,。
14、该方法一方面规定芯片设计规范的伪代码语言格式,另一方面利用C+等面向对象的计算机编程语言的重载功能,并根据芯片设计的特殊性,即对Bit进行操作的特性,建立C+的关于Bit的各种运算符的重载,从而生成可用于芯片逻辑验证的C+语言。0034 参见图1所示,图1是本发明将伪代码转换为C+语言的系统的总体结构框图,该系统包括:输入数据模块、芯片设计规范模块、伪代码转换模块和输出数据模块,用伪代码说 明 书CN 103336706 A3/4页5编写的输入数据模块和芯片设计规范模块经伪代码转换模块转换后,由输出数据模块输出生成的可用于芯片逻辑验证的C+语言。0035 输入数据模块中输入的数据为芯片表项数据。
15、库,即录入的所有芯片的表项结构和表项内容。0036 芯片设计规范模块中输入的是使用规定格式进行编写的芯片逻辑,用于规定芯片设计规范的伪代码语言格式,便于进行伪代码到C+语言的转换,提高转换效率。0037 输出数据模块包括C+语言输出单元和Bit操作类单元,其中C+语言输出单元输出的C+代码与Bit操作类单元相配合,Bit操作类单元利用C+面向对象的计算机编程语言的重载功能,并且根据芯片设计的特殊性,即对Bit进行操作的特性,建立C+的关于Bit的各种运算符的重载,从而生成可用于芯片逻辑验证的C+语言。0038 参见图2所示,图2为本发明芯片表项数据库转换为C+语言数据结构的流程框图,输入数据模。
16、块中输入的数据为芯片表项数据库,芯片表项数据库经芯片表项转换单元转换成C+语言数据结构。0039 芯片表项数据库中包括芯片的表项结构和表项内容,表项内容至少包括表项大小、表项属性、文件位置、字节长度,0040 参见图3所示,图3为芯片设计规范转换为C+逻辑语言的流程框图,芯片设计规范单元经模块连接到C+语言函数转换单元后,将芯片设计规范中的模块连接转换为C+语言函数调用。0041 再经运算符,特殊字符,数据结构解析替换单元将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析和转换,转换为C+语言可重载的运算符,可识别的字符和数据结构。0042 芯片读写表项转换单元,将芯片设计规范中需要读。
17、写的芯片表项转换为全局变量,以利于在各模块函数可直接使用。0043 芯片非读写表项转换单元,将芯片非读写表项的其他变量,自动查找并生成为各函数的局部变量,用于在函数内部使用。0044 参见图4所示,图4是本发明Bit操作类单元组成框图,Bit操作类单元包括:Bit操作运算符重载单元、Bit操作内存管理单元和Bit操作信息存储单元。0045 Bit操作运算符重载单元,用于对运算符进行重载,重载为按Bit进行计算的运算符。重载的运算符主要包括“+”,“-”,“,”,“|”,“&”,“|”,“&”,“()”,“”,“*”,“/”,“”,“”,“”,“”等常用运算符,均重载为对新建的Bit类的运算符,。
18、及Bit类和其他数据类型之间的运算符。0046 Bit操作内存管理单元,主要对Bit类进行内存分配的管理,构造函数和析构函数等。0047 Bit操作信息存储单元,主要存储经转换后的C+语言数据结构中文件的相关信息,如文件位置,字节长度,文件名称及其他信息。0048 其中,本发明中的伪代码转换模块包括芯片表项转换单元、模块连接到C+语言函数转换单元、特殊字符,数据结构解析替换单元、芯片读写表项转换单元、芯片非读写表项转换单元。0049 本发明实施例中还揭示了一种将伪代码转换为C+语言的方法,如图5所示的流说 明 书CN 103336706 A4/4页6程框图,依次包括:0050 第一步,将芯片表。
19、项数据库和芯片设计规范进行录入;0051 其中,芯片表项数据库作为输入数据,包括芯片表项结构和表项内容,表项内容为表项大小、表项属性、文件位置、字节长度等信息,并且芯片表项数据库按照一定的规则进行录入,便于生成C+语言数据结构。0052 芯片设计规范为使用规定格式进行编写的芯片逻辑,规定了芯片设计规范的伪代码语言格式。0053 第二步,将录入的信息进行伪代码到C+语言的转换;如图6所示的流程框图,包括:0054 将芯片表项数据库转换为C+语言数据结构;0055 将芯片设计规范中的模块连接关系转换为C+语言函数调用;0056 将芯片设计规范中的伪代码运算符,特殊字符及数据结构进行解析后转换为C+。
20、语言可重载的运算符,可设别的字符和数据结构;0057 将芯片设计规范中需要读写的芯片表项转换为全局变量,以利于在各模块函数可直接使用;0058 将芯片设计规范中非芯片读写表项自动查找并转换为各模块函数的局部变量,在各模块内部使用。0059 第三步,配合Bit操作类将转换后的C+语言生成为可用于芯片逻辑验证的C+语言,如图7所示的流程框图,包括:0060 将运算符重载为按Bit进行计算的运算符,重载的运算符主要包括“+”,“-”,“,”,“|”,“&”,“|”,“&”,“()”,“”,“*”,“/”,“”,“”,“”,“”等常用运算符,均重载为对新建的Bit类的运算符,及Bit类和其他数据类型之。
21、间的运算符;0061 对Bit类进行内存分配的管理,主要对Bit类进行内存分配的管理,构造函数和析构函数等;0062 对芯片表项数据库中的表项内容中的信息进行存储,主要存储经转换后的C+语言数据结构中文件的相关信息,如文件位置,字节长度,文件名称及其他信息。0063 进一步地,本发明主要利用的是C+语言的重载功能,建立按Bit操作的Bit操作类,其他面向对象的编程语言也有重载功能,因此在本发明的基础上,对部分转换模块稍加修改可以转换为其他面向对象的编程语言,不局限于C+语言一种,可适应不同编程语言平台。0064 综上所述,本发明提供了一种将伪代码转换为直接可用的编程语言的系统和方法,极大的缩短了从伪代码到软件语言的转换时间,有利于高效的对芯片设计逻辑的功能性,逻辑性进行验证,提高了芯片测试的效率。0065 本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。说 明 书CN 103336706 A1/3页7图1图2图3说 明 书 附 图CN 103336706 A2/3页8图4图5说 明 书 附 图CN 103336706 A3/3页9图6图7说 明 书 附 图CN 103336706 A。