一种存储器编译器版图编程系统及方法

文档序号:10470975阅读:520来源:国知局
一种存储器编译器版图编程系统及方法
【专利摘要】本发明属于存储器设计领域,具体涉及一种存储器编译器版图编程系统及方法,构建一包括接口模块、存储模块和拼接引擎模块的存储器编译器编程系统,接口模块发送指令给拼接引擎模块,拼接引擎模块根据接受收到的指令从存储器中调取基本单元并设定其参数,然后进行拼接、渲染形成一版图,同时生成版图的目标代码,通过本技术方案,存储器设计人员无需手动输入大量代码,且可以实时查看生成的版图,使存储器编译器版图编程标准化、流程化,使版图编程的质量得到控制。
【专利说明】
一种存储器编译器版图编程系统及方法
技术领域
[0001]本发明属于存储器设计领域,具体涉及一种存储器编译器版图编程系统及方法。
【背景技术】
[0002]随着存储器越来越广泛的应用于集成电路领域,适用于集成电路片上系统SoC (System on Chip)的存储器IP (Intelligent Property,知识产权)应用也越来越广泛,已经成为集成电路工艺线的基础IP之一。SRAM IP—般以编译器的形式交付用户使用,用户可以根据自己的需求用编译器生成特定容量、形状和性能的SRAM。
[0003]SRAM编译器能够生成包括版图在内的多种数据文件,编译器生成版图的基本原理是模块拼接,从基本单元开始拼接形成高层次的模块,然后再对这些模块进行拼接直到最后形成一个完整的版图。现有技术是基于文本源代码的编程方法实现版图拼接,这就需要存储器设计开发人员掌握特定的编程语言,手动编写大量的代码,手动输入代码容易出现代码输入的错误,而且调试过程比较复杂且不直观,对存储器设计人员的编程能力有太大的依赖性。
[0004]因此,如何摆脱手动输入代码的方式实现存储器编译器生成版图,成为本领域技术人员面临的一大难题。

【发明内容】

[0005]为了解决上述问题,本发明提出了一种存储器编译器版图编程系统及方法,应用于存储器编译器生成版图中,具体系统包括:
[0006]一种存储器编译器版图编程系统,其中,所述系统包括:
[0007]存储模块,由若干存储器单元组成,所述存储器单元中预存储有若干用于拼接构建版图的基本单元;
[0008]拼接引擎模块,与所述存储模块连接;
[0009]接口模块,与所述拼接弓I擎模块连接;
[0010]其中,所述接口模块发送指令至所述拼接引擎模块,该拼接引擎模块根据接收到的所述指令从所述存储模块中调取存储器单元中的基本单元,并将调取的所述基本单元拼接形成所述版图。
[0011]上述的存储器编译器版图编程系统,其中,所述拼接引擎模块包括:
[0012]目标代码子模块,与所述存储模块连接,用于根据所述版图生成并输出目标代码至所述存储模块。
[0013]上述的存储器编译器版图编程系统,其中,所述系统还包括:
[0014]版图预览模块,与所述拼接引擎模块连接;
[0015]其中,所述拼接引擎模块将所述版图发送至所述版图预览模块进行显示。
[0016]上述的存储器编译器版图编程系统,其中,所述拼接引擎模块包括:
[0017]渲染模块,与所述版图预览模块连接;
[0018]其中,所述渲染模块对所述版图进行渲染,并将经渲染后的所述版图发送至所述版图预览模块进行显示。
[0019]上述的存储器编译器版图编程系统,其中,所述接口模块包括:
[0020]添加模块,与所述接口模块连接;
[0021]其中,当添加指令时,接口模块中包含的可添加指令被罗列以供选择。
[0022]上述的存储器编译器版图编程系统,其中,所述接口模块包括:
[0023]删除模块,以删除所述添加的指令。
[0024]—种存储器编译器版图编程方法,其中,基于上述的存储器编译器版图编程系统,所述方法包括:
[0025]接口模块发送指令至拼接引擎模块;
[0026]所述拼接引擎模块根据接收到的指令从存储模块中的存储器单元中调取所述基本单元;
[0027]所述拼接引擎模块根据调取的所述基本单元拼接形成版图。
[0028]上述存储器编译器版图编程方法,其中,所述方法中,采用所述拼接引擎模块根据调取的所述存储器单元中的基本单元拼接形成版图的步骤包括:
[0029]步骤a,将所述基本单元进行拼接形成中间版图;
[0030]步骤b,判断所述中间版图是否为所述版图;
[0031]若是,则停止拼接操作;
[0032]若否,则继续步骤c ;
[0033]步骤C,继续根据所述指令调取所述基本单元与所述中间版图进行拼接,并对该拼接形成的中间版图继续进行所述步骤b。
[0034]上述存储器编译器版图编程方法,其中,所述接口模块以图形化的方式录入指令并传输给所述拼接引擎模块。
[0035]上述存储器编译器版图编程方法,其中,所述方法还包括:
[0036]设定一断点,拼接引擎模块执行所述指令,执行到所述断点停止并显示执行到所述断点的版图。
[0037]上述存储器编译器版图编程方法,其中,所述方法还包括:
[0038]生成所述版图后,所述拼接引擎模块对其进行渲染,将渲染后的版图发送至版图预览模块以显示。
[0039]上述存储器编译器版图编程方法,其中,所述方法还包括:
[0040]所述拼接引擎模块拼接形成所述版图后,生成所述版图的目标代码于所述存储代码子模块。
[0041]本发明的优点及达到的有益效果:
[0042]通过对本技术方案的实施,存储器编译器设计人员无需手动输入大量代码,可以实时查看拼接形成的经过渲染后的版图,版图生成过程标准化、流程化,使版图质量得到控制。
【附图说明】
[0043]附图1是本发明存储器编译器版图编程系统结构示意图;
[0044]附图2是本发明接口模块编程指令结构示意图;
[0045]附图3是本发明存储器编译器版图编程方法流程图;
[0046]附图4是本发明拼接引擎模块拼接形成版图的方法流程图。
[0047]实施方式
[0048]下面结合附图和具体的实施例对本发明作进一步的说明,但是不作为本发明的限定。
[0049]参照如图1所示的存储器编译器版图编程系统结构示意图,本发明的实施例中包括一种存储器编译器版图编程系统,该系统包括:
[0050]存储模块,由若干存储器单元组成,所述存储器单元中预存储有若干用于拼接构建版图的基本单元;
[0051 ] 拼接引擎模块,与存储模块连接;
[0052]接口模块,与拼接引擎模块连接;
[0053]其中,接口模块发送指令至拼接引擎模块,该拼接引擎模块根据接收到的指令从存储模块中调取存储器单元中的基本单元,并将调取的所述基本单元拼接形成版图。
[0054]具体的,该接口模块可以是以图形化的方式接受编程人员录入的指令,录入的指令中有些指令是有值的,拼接引擎模块执行完该指令后,返回一指令值至接口模块,即完成拼接引擎模块与接口模块交互的功能。其中,接口模块包括若干指令,指令以缩进表示层级关系,同一级指令缩进量相同。
[0055]参照如图2,ReadLeafcell 和 OpenNewCell 为同一级指令;AddIntance 和 Repeat:8为同一级指令,为OpenNewCell的子级指令,而Repeat:8中又包含子级指令AddIntance等指令。
[0056]在本发明一个优选实施例中,拼接引擎模块还包括:
[0057]目标代码子模块,与存储模块连接,用于根据版图生成并输出目标代码至存储模块。
[0058]目标代码子模块用于生成版图的代码,优选的,拼接完成后生成最终版图的目标代码,并将该代码存放至存储器模块中,以供输出。
[0059]在本发明一个优选实施例中,该系统还包括:
[0060]版图预览模块,与拼接引擎模块连接;
[0061]其中,拼接引擎模块将版图发送至版图预览模块进行显示。
[0062]在此基础上,进一步的,拼接引擎模块包括:
[0063]渲染模块,与版图预览模块连接;
[0064]其中,渲染模块对版图进行渲染,并将经渲染后的版图发送至版图预览模块进行显不O
[0065]在本发明一个优选实施例中,接口模块包括:
[0066]添加模块,与接口模块连接,当添加指令时,接口模块中包含的可添加指令被罗列以供选择;
[0067]删除模块,以删除添加的指令。
[0068]参照如图2,每一级指令均设有一“ + ”符号,当单击“ + ”符号时,该“ + ”对应的同样级指令均罗列出来,比如,单击图中第4行的“ + ”,命令“Repeat:8”和命令“As:1 ”均被罗列出来,用户根据自己的需要选择需要添加的命令;每一级指令均设有一符号,当单击符号时,该对应的同级指令中已经添加的指令均罗列出来,比如,第5行指令中用户曾添加了从左边数前三个指令,当单击图中第5行的除命令“Right:bar_inst$ (i_l) ”外其他均被罗列出来,用户根据自己的需要选择需要要删除的命令。
[0069]参照附图3,本发明还提供一种存储器编译器版图编程方法,适用于存储器编译器版图编程中,该方法具体包括:
[0070]接口模块发送指令至拼接引擎模块;
[0071 ] 拼接弓I擎模块根据接收到的指令从存储模块中的存储器单元中调取基本单元;
[0072]拼接引擎模块根据调取的所述基本单元拼接形成版图。
[0073]通过该方法,接口模块以图形化的方式输入一指令并传送给拼接引擎模块,拼接引擎模块接收到该指令并判断是否因为接收到该指令而从存储模块中调取相应的存储器单元中的基本单元,如果不需要,则继续等待接收下一条由接口模块发送的指令;如果需要,调取相应的存储器单元中的基本单元并设定其参数,然后将其拼接,然后对形成的版图进行渲染,渲染后发送至预览模块以显示,存储器设计人员可以随时查看渲染后的版图。
[0074]在本发明的一个优选实施例中,参照附图4,采用拼接引擎模块根据调取的基本单元拼接形成版图的步骤包括:
[0075]步骤a,将所述调取的基本单元进行拼接形成中间版图;
[0076]步骤b,判断中间版图是否为版图;
[0077]若是,则停止拼接操作;
[0078]若否,则继续步骤c ;
[0079]步骤C,继续调取基本单元与中间版图进行拼接,并对该拼接形成的中间版图继续进行步骤b。
[0080]作为本发明的一个优选实施例,拼接引擎模块执行拼接操作时,将调取的若干基本单元拼接,形成一中间版图,并将该中间版图存储于一存储器单元中,然后判断形成的该中间版图是否是用户需要得到的版图,如果不是,则根据指令继续调用基本单元和中间版图,并完成拼接,拼接后并继续判断;如果是,则停止继续调用基本单元,并调取目标代码子模块生成最终版图的目标代码,并存储于存储器中,拼接过程中形成的中间版图目标代码不予生成。在本发明一个优选实施例中,该方法还包括:
[0081]设定一断点,拼接引擎模块执行指令,执行到断点停止并显示执行到断点的版图。
[0082]存储器设计人员于接口模块输入多条指令,为了减少出现错误的范围,于若干指令之间设定断点,设定断点后,拼接引擎模块自动运行断点处停止运行,存储器设计人员可以查看此断点前的指令生成的经过渲染的版图。拼接引擎每正确执行一次指令,版图预览模块便实时更新一次生成版图,为了时间上的节省,每一次版图预览执行都是从上次能正确生成版图的最后一条指令开始。
[0083]不难发现,本实施例为与上述存储器编译器编程系统实施例相对应的方法实施例,本实施例可与上述存储器编译器编程系统的实施例互相配合实施。上述存储器编译器编程系统的实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述远程移动终端自动化测试系统的实施例中。
[0084]综上所述,本发明通过构建一存储器编译器版图编程系统,并公开一种基于该编程系统的存储器编译器编程方法,通过接口模块发送指令给拼接引擎模块,拼接引擎模块根据接受收到的指令从存储模块中调取基本单元并设定其参数,然后进行拼接、渲染形成一版图,同时生成版图的目标代码。通过本技术方案,存储器设计人员无需手动输入大量代码,且可以实时查看生成的版图,使存储器编译器版图编程标准化、流程化,使版图编程的质量得到控制。
[0085]本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
[0086]以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围。
【主权项】
1.一种存储器编译器版图编程系统,其特征在于,所述系统包括: 存储模块,由若干存储器单元组成,所述存储器单元中预存储有若干用于拼接构建版图的基本单元; 拼接引擎模块,与所述存储模块连接; 接口模块,与所述拼接引擎模块连接; 其中,所述接口模块发送指令至所述拼接引擎模块,该拼接引擎模块根据接收到的所述指令从所述存储模块中调取存储器单元中的基本单元,并将调取的所述基本单元拼接形成所述版图。2.如权利要求1所述的存储器编译器版图编程系统,其特征在于,所述拼接引擎模块包括: 目标代码子模块,与所述存储模块连接,用于根据所述版图生成并输出目标代码至所述存储模块。3.如权利要求1所述的存储器编译器版图编程系统,其特征在于,所述系统还包括: 版图预览模块,与所述拼接引擎模块连接; 其中,所述拼接引擎模块将所述版图发送至所述版图预览模块进行显示。4.如权利要求3所述的存储器编译器版图编程系统,其特征在于,所述拼接引擎模块包括: 渲染模块,与所述版图预览模块连接; 其中,所述渲染模块对所述版图进行渲染,并将经渲染后的所述版图发送至所述版图预览模块进行显示。5.如权利要求1所述的存储器编译器版图编程系统,其特征在于,所述接口模块包括: 添加功能,与所述接口模块连接; 其中,当添加指令时,接口模块中包含的可添加指令被罗列以供选择。6.如权利要求1所述的存储器编译器版图编程系统,其特征在于,所述接口模块包括: 删除模块,与所述接口模块连接,以删除所述添加的指令。7.一种存储器编译器版图编程方法,其特征在于,基于权利要求1-6中任意一项所述的存储器编译器版图编程系统,所述方法包括: 接口模块发送指令至拼接引擎模块; 所述拼接弓I擎模块根据接收到的指令从存储模块中的存储器单元中调取基本单元; 所述拼接引擎模块根据调取的所述基本单元拼接形成版图。8.如权利要求7所述存储器编译器版图编程方法,其特征在于,所述方法中,采用所述拼接引擎模块根据调取的所述存储器单元中的基本单元拼接形成版图的步骤包括: 步骤a,将所述调取的基本单元进行拼接形成中间版图; 步骤b,判断所述中间版图是否为所述版图; 若是,则停止拼接操作; 步骤C,继续根据所述指令调取基本单元,将所述基本单元与所述中间版图进行拼接,并对该拼接形成的中间版图继续进行所述步骤b。9.如权利要求7所述存储器编译器版图编程方法,其特征在于,所述接口模块以图形化的方式录入指令并传输给所述拼接引擎模块。10.如权利要求7所述存储器编译器版图编程方法,其特征在于,所述方法还包括: 设定一断点,拼接引擎模块执行所述指令,执行到所述断点停止并显示执行到所述断点的版图。11.如权利要求7所述存储器编译器版图编程方法,其特征在于,所述方法还包括: 生成所述版图后,所述拼接引擎模块对其进行渲染,将渲染后的版图发送至版图预览模块以显示。12.如权利要求7所述存储器编译器版图编程方法,其特征在于,所述方法还包括: 所述拼接引擎模块拼接形成所述版图后,生成所述版图的目标代码于所述存储代码子模块。
【文档编号】G06F9/45GK105824679SQ201510007356
【公开日】2016年8月3日
【申请日】2015年1月7日
【发明人】张爱林, 郑坚斌
【申请人】展讯通信(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1