一种基于表单信息自动化生成设计代码的方法技术

技术编号:27306690 阅读:21 留言:0更新日期:2021-02-10 09:20
本发明专利技术公开了一种基于表单信息自动化生成设计代码的方法,属于IC设计领域。所述方法包括:将设计所需信息按照标准格式填入表单中;编写脚本工具,根据分块结构化设计编写自动化代码生成脚本;脚本工具自动获取表单信息并处理表单信息,将预处理数据保存至数据库中;将数据库中数据填入对应函数中,自动生成模块化设计代码;利用语法工具检查生成设计代码的可靠性。本发明专利技术通过研究特定代码的规律性与结构性,将设计所需信息整理到表单中,利用脚本提取表单信息,自动化生成设计代码,后期只需维护表单信息与升级脚本,极大地节约了人力与时间成本,并使得设计代码更加清晰,减少人为笔误,减少出错率。减少出错率。减少出错率。

【技术实现步骤摘要】
一种基于表单信息自动化生成设计代码的方法


[0001]本专利技术属于IC设计领域,具体涉及一种基于表单信息自动化生成设计代码的方法。

技术介绍

[0002]近年来,我国集成电路(IC)产业高速蓬勃发展,数字集成电路的规模与复杂度呈指数级增长,设计成为芯片开发过程中最重要的环节之一,设计出错很容易造成芯片完全不能工作,修正错误需要投入极大的人力与时间成本,更会大大推迟芯片上市时间。越来越大的集成电路规模给集成电路设计人员带来日益艰巨的挑战,如何提高设计的效率和可靠性,成为业界极为关注的话题。
[0003]集成电路设计人员在设计电路的同时,也应关注到设计代码的规律性与逻辑性,寻找方法实现自动化生成特定设计代码,提高设计效率与代码可靠性、条理性,便于维护与优化,方便后续验证人员的理解与调试。
[0004]目前对于大规模设计代码,大部分设计人员仍旧处在自己手动进行编写,采用复制、粘贴再替换修改的阶段,相对好一些的,也有设计人员会对部分重复性的代码利用脚本进行生成,可以在一定程度上提升效率与准确性,但是目前并没有能够完全不在编写设计代码,仅通过填写设计表单,便可从零到生成一个完全的可直接使用的设计代码,并且后期维护起来的人力与时间成本都大大减少。目前业界主要使用Verilog HDL硬件描述语言进行芯片设计,芯片规模与复杂度日益增长,很多设计代码的规模达到数万行,设计人员在编写与维护这数万行代码时难免心有余而力不足。较大规模的设计代码所需的人力成本与时间成本巨大,同时出错率极高,调试与纠错的难度极大。

技术实现思路

[0005]本专利技术针对以上问题,通过研究特定代码的规律性与结构性,将设计所需信息整理到表单中,利用脚本提取表单信息,自动化生成设计代码,后期只需维护表单信息与升级脚本,极大地节约了人力与时间成本,并使得设计代码更加清晰,减少人为笔误,减少出错率。
[0006]本专利技术具体提供了一种基于表单信息自动化生成设计代码的方法,包括:
[0007]步骤一、获取设计所需信息,将所述信息按照标准格式采集至表单中;
[0008]步骤二、根据分块结构化设计编写自动化代码生成脚本工具;
[0009]步骤三、所述脚本工具获取表单信息并处理表单信息,将预处理数据保存至数据库中;
[0010]步骤四、将数据库中数据填入对应函数中,自动生成设计代码;
[0011]步骤五、检查生成设计代码的可靠性。
[0012]作为优选,步骤一中,所述信息包括模块例化名、例化的端口名与方向、中间信号与特定模式;所述表单的表头名唯一。
[0013]作为优选,步骤二中,所述脚本工具被配置为将不同块的设计代码输出封装到不同函数中,以使特定函数将会输出特定块的设计代码,以循环遍历的方式生成每个信号所需代码内容。
[0014]作为优选,步骤三包括:根据所述表单的表头名提取设计信息,并对数据进行预处理;所述预处理包括:将信号名称处理为符合设计代码习惯的形式、去除特殊符号、统一大小写、和/或根据需求添加前缀后缀。
[0015]作为优选,针对表单中重复的信号名,脚本工具自动进行筛选并形成重复信息的表单;对于重复信息的表单自动生成处理重复信号名的相关设计代码。
[0016]作为优选,将预处理的数据存放至数据库的步骤中,包括根据不同需求存放到字典、列表、和/或元组中。
[0017]作为优选,步骤三中,对表单中较为复杂的数据进行特殊处理。
[0018]作为优选,步骤四包括:对于用于生成设计代码的脚本函数,采用循环遍历的逻辑,将数据库中处理完备的数据填入,生成该填入数据的对应设计代码,依次运行代码生成函数,即生成设计代码。
[0019]作为优选,步骤五包括:使用语法工具对设计代码进行初步的语法检查,确认基本语法正确后可交予验证人员进行后续功能验证。
[0020]作为优选,使用Python作为脚本语言编写脚本工具。
[0021]相对于现有技术,本专利技术取得以下显著的有益效果:
[0022]通过研究特定代码的规律性与结构性,将设计所需信息整理到表单中,利用脚本提取表单信息,自动化生成设计代码,后期只需维护表单信息与升级脚本,极大地节约了人力与时间成本,并使得设计代码更加清晰,减少人为笔误,减少出错率。
附图说明
[0023]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本专利技术的自动化生成特定设计代码流程图;
[0025]图2是语法检查结果。
具体实施方式
[0026]下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本专利技术,并不被配置为限定本专利技术。对于本领域技术人员来说,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术更好的理解。
[0027]本专利技术提供的技术方案可以使用脚本工具自动提取预先填好的包含设计信息的表单,同时,自动生成的结构清晰的设计代码,克服了
技术介绍
中提到的缺点,保证了大规模设计代码的效率性与可靠性。
[0028]该技术方案遵循以下步骤:
[0029]1.将设计所需信息按照标准格式填入表单中;
[0030]2.编写脚本工具,根据分块结构化设计编写自动化代码生成脚本;
[0031]3.脚本工具自动获取表单信息并处理表单信息,将预处理数据保存至数据库中;
[0032]4.将数据库中数据填入对应函数中,自动生成模块化设计代码;
[0033]5.利用语法工具检查生成设计代码的可靠性。
[0034]步骤1中,设计所需信息需包含所有模块化设计代码中需填入的内容,如模块例化名、例化的端口名与方向、中间信号与特定模式等信息,表头名应做到清晰唯一,一些需要特别处理的设计信息也应整理到表单中。
[0035]步骤2中,可使用多种脚本语言编写自动化工具,推荐使用Python作为脚本语言编写,Python语言对于面对对象方法的支持更为友好,代码的可读性也很高,对于后期维护成本较低。脚本工具根据设计代码模块化进行编写,脚本应做到精简易读。
[0036]步骤3中,脚本工具会自动读取表单中的信息,并对读取出的信息进行处理,形成符合设计需求的数据,将数据存放至特定数据库中备用。
[0037]步骤4中,脚本根据将设计模块化思路编写,根据脚本可以自动化生成所需设计代码,并且设计代码在逻辑上和形式上具有相通性,将相通性代码总结到一起,这样可以利用脚本循环遍历生成设计代码,仅需要将数据库中数据填充替换到对应位置即可,这样既使得设计代码更加清晰成体系,同时极大减少脚本工具的代码规模,后期维护成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于表单信息自动化生成设计代码的方法,其特征在于所述方法包括:步骤一、获取设计所需信息,将所述信息按照标准格式采集至表单中;步骤二、根据分块结构化设计编写自动化代码生成脚本工具;步骤三、所述脚本工具获取表单信息并处理表单信息,将预处理数据保存至数据库中;步骤四、将数据库中数据填入对应函数中,自动生成设计代码;步骤五、检查生成设计代码的可靠性。2.根据权利要求1所述的方法,其特征在于:步骤一中,所述信息包括模块例化名、例化的端口名与方向、中间信号与特定模式;所述表单的表头名唯一。3.根据权利要求1所述的方法,其特征在于:步骤二中,所述脚本工具被配置为将不同块的设计代码输出封装到不同函数中,以使特定函数将会输出特定块的设计代码,以循环遍历的方式生成每个信号所需代码内容。4.根据权利要求1所述的方法,其特征在于:步骤三包括:根据所述表单的表头名提取设计信息,并对数据进行预处理;所述预处理包括:将信号名称处理为符合设计代码习惯的形式、去除特殊符号、统一大小...

【专利技术属性】
技术研发人员:蒋心祝岑远军李国阙旻赵甲余葛伟
申请(专利权)人:成都华微电子科技有限公司
类型:发明
国别省市:

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

1