[发明专利]一种代码生成方法有效
申请号: | 201210123079.8 | 申请日: | 2012-04-24 |
公开(公告)号: | CN102662630A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 李志俊 | 申请(专利权)人: | 广州市广晟微电子有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 510630 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种代码生成方法,用于生成指令译码器代码,可以根据用户输出的寄存器组文件自动生成指令译码器代码,用户只需生成由声明语句构成的寄存器组文件,与用户手工输出指令译码器代码相比,简化了用户操作、减小了用户的工作量,进而缩短了工作周期;另外,由于寄存器组文件包含的语句较少,用户生成寄存器组文件过程中发生错误的概率较低,而根据寄存器组文件自动生成指令译码器代码的过程不会因人为原因发生错误,因此与现有手工输入指令译码器代码的方式相比,本发明公开的代码生成方法可以降低代码发生错误的概率。 | ||
搜索关键词: | 一种 代码 生成 方法 | ||
【主权项】:
一种代码生成方法,其特征在于,用于生成指令译码器代码,所述方法包括:步骤S1:接收用户输入的寄存器组文件;步骤S2:按照第一预设规则在所述寄存器组文件中获取寄存器组名称;步骤S3:调用预存的第一模板,利用所述寄存器组名称替换所述第一模板中的寄存器组标识符,获得第一代码段;步骤S4:调用预存的第一模板语句,利用所述寄存器组名称替换所述第一模板语句中的寄存器组标识符,获得第一语句,将所述第一语句插入当前的第二模板中的第一位置处,获得第二代码段;步骤S5:按照第二预设规则在所述寄存器组文件中获取与所述寄存器组名称对应的指令信号,并确定各指令信号的类型;步骤S6:利用所述各指令信号对当前的第四模板进行处理,获得第四代码段,具体包括:当所述指令信号为只写信号时,确定所述只写信号的位宽和寄存器组位宽;调用预存的第三模板,利用所述只写信号替换所述第三模板中的信号标识符、利用所述寄存器组名称替换所述第三模板中的寄存器组标识符、利用所述只写信号的位宽替换所述第三模板中的信号位宽标识符、利用所述寄存器组位宽替换所述第三模板中的寄存器组位宽标识符,获得第三代码段;将所述第三代码段插入当前的第四模板的末尾;对由所述只写信号及其位宽组成的字符串分别添加第一前缀和第二前缀,生成两个指令信号,将所述两个指令信号置入所述当前第四模板的信号列表;当所述指令信号为只读信号时,确定所述只读信号的位宽;调用预存的第二模板语句,利用所述只读信号替换所述第二模板语句中的信号标识符、利用所述只读信号的位宽替换所述第二模板语句中的信号位宽标识符,获得第二语句;将所述第二语句插入当前的第四模板的末尾;对由所述只读信号及其位宽构成的字符串添加第三前缀,生成新的指令信号,将所述新的指令信号置入当前第四模板的信号列表;当所述指令信号为寄存器信号时,确定所述寄存器信号的位宽;调用预存的第三模板语句,利用所述寄存器信号替换所述第三模板语句中的信号标识符、利用所述寄存器信号的位宽替换所述第三模板语句的信号位宽标识符,获得第三语句;将所述第三语句插入当前的第四模板的末尾;将由所述寄存器信号及其位宽构成的字符串置入当前第四模板的信号列表;步骤S7:将所述第一代码段和第二代码段依次插入所述第四代码段的末尾,形成指令译码器代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市广晟微电子有限公司,未经广州市广晟微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210123079.8/,转载请声明来源钻瓜专利网。
- 上一篇:液晶显示器及其背板组件
- 下一篇:一种板簧流水装配线