公开/公告号CN102129493A
专利类型发明专利
公开/公告日2011-07-20
原文格式PDF
申请/专利权人 福州瑞芯微电子有限公司;
申请/专利号CN201110049943.X
发明设计人 刘欣;
申请日2011-03-02
分类号G06F17/50(20060101);
代理机构福州市鼓楼区京华专利事务所(普通合伙);
代理人翁素华
地址 350000 福建省福州市鼓楼区软件大道89号18号楼
入库时间 2023-12-18 02:56:11
法律状态公告日
法律状态信息
法律状态
2020-08-14
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20110302
专利权人的姓名或者名称、地址的变更
2015-11-04
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20110302
专利权人的姓名或者名称、地址的变更
2013-03-06
授权
授权
2011-08-31
实质审查的生效 IPC(主分类):G06F17/50 申请日:20110302
实质审查的生效
2011-07-20
公开
公开
【技术领域】
本发明属于数字IC设计领域,具体是指一种数字IC设计流程中实现自动化ECO网表的方法。
【背景技术】
数字IC设计流程如下:(全流程,突出与ECO相关的部分)
数字IC设计流程是从高抽象级别逐步到具体层次的过程,从系统描述、算法描述逐步具体到功能描述、电路描述及生产工艺层次的过程。
在系统描述及算法描述层次,通常使用高级语言如C语言,进行系统架构和算法功能的验证;当系统算法验证完成后,需要通过工具或者手工将算法通过硬件描述语言转化为等效的RTL描述(寄存器传输级描述,是硬件电路描述的一个层次,适用于描述功能部件级的数字系统),并且验证其功能等价性。
在使用硬件描述语言完成特定IC电路的描述后,下一步就是将硬件描述语言转换成由标准数字单元工艺库中单元组成的门级网表,这个门级网表实际上就是将特定功能映射成电路中具体逻辑门(标准单元工艺库中的与门、或门、触发器等都称之为逻辑门)的连接和集合。这个过程称之为逻辑综合,通常由工具自动完成。
得到门级网表后,就需要通过工具完成布局布线的工作,即包括各种逻辑门的布局,以及逻辑门与逻辑门之间连线的布线。这些工作既需要满足电路与门级描述功能的一致性,也需要满足时序要求。最终,生成最后的版图给芯片生产工厂选行生产。
ECO是指在流程中某个阶段发现错误,在不需要重复全流程的情况下,通过对当前流程阶段的设计直接进行变更,以减小全流程重复带来的项目时间的延长。
由于门级网表输出到最后的版图输出期间仍可能发现设计错误,因此通常需要通过对门级网表直接进行设计变更。如图1所示,现有技术中该流程如下:
1、分析待变更设计代码和逻辑网表;
2、分析逻辑网表确定修改方案;
3、手工使用标准数字单元逻辑组合实现功能并手动书写ECO修改脚本;
4、通过形式验证(一种保证RTL与门级网表或门级网表之间功能一致性的静态验证方法)确认RTL与门级网表的一致性;
5、如果形式验证失败,将分析产生RTL与门级网表不一致的原因,并跳回第一步重新进行网表ECO。
现有的网表ECO的方法通常是直接分析已有的门级网表,通过直接在网表上进行改动,使用标准单元库中的逻辑门绘制修改的逻辑,并将所有修改动作手动书写成网表修改工具能识别的ECO修改脚本。
由于需要手工将RTL描述的数字电路转换成门级网表,且需要手工将所有修改动作转换成ECO修改脚本,因此传统的网表ECO方法只能针对逻辑修改较少的ECO,否则纯手工将RTL描述转换成门级电路,不仅容易出错,且工作量较大。且将网表修改的动作转换成ECO修改脚本也很容易出错。
另外,由于传统的ECO流程是通过纯手工将标准单元进行组合,因此,此过程对于ECO部分电路有较大时序约束,通常无法进行。
【发明内容】
本发明所要解决的技术问题在于提供一种提高流程效率和减少人工出错率的实现自动化ECO网表的方法。
本发明采用以下技术方案解决上述技术问题:
数字IC设计流程中实现自动化ECO网表的方法,包括如下步骤:
步骤100:在原有电路中提取待ECO数字电路,使用RTL描述ECO数字电路;
步骤200:通过EDA工具输出用来生成ECO修改脚本的报告;
步骤300:使用综合工具输出报告生成ECO修改脚本。
进一步地,所述步骤100包括:
步骤101:首先在原始电路描述中找出待ECO逻辑的所有输入寄存器;
步骤102:然后再在原始电路描述中找出待ECO逻辑的所有输出寄存器;
步骤103:使用RTL描述模块,并将所有输入寄存器作为模块的输入,将所有输出寄存器作为模块的输出,并对其命名进行规定,使其命名和寄存器名完全相同;
步骤104:在RTL描述的模块中,将代码修改成ECO后的逻辑描述。
进一步地,所述步骤200包括:
步骤201:首先使用EDA工具读入ECO后的RTL代码;
步骤202:在EDA工具中指定使用的标准单元库;
步骤203:指定需要满足的时序约束;
步骤204:指定综合时NET/CELL的命名规则;
步骤205:使用EDA工具进行综合,将RTL逻辑描述转换为使用标准单元库中的门描述的门级网表;
步骤206:使用EDA工具中的报告输出命令,输出以下几个报告:所有NET信息,所有CELL信息,所有CONNECTION信息。
进一步地,所述步骤300包括:
步骤301:首先将删除原网表中的net和connection命令写入ECO修改脚本;
步骤302:通过程序提取综合输出报告的NET/CELL/CONNECTION,并将相关命令写入ECO修改脚本;
步骤303:通过ECO模块的输入输出命名识别其在网表中的前后级寄存器,其在综合ECO模块内的NET名,建立NET与前后级寄存器的连接,并将其动作通过命令行写入到ECO修改脚本。
本发明的优点在于:由于整个过程中只需要修改RTL描述,极少或者根本不需要手动书写ECO修改脚本,因此其有以下几个优点:1、流程效率高;2、实现自动化:自动化生成ECO修改脚本,对于复杂的逻辑修改完全不增加工作量;3、不易出错:流程中只修改RTL描述,避免了手工操作引入的错误;4、ECO过程可以施加时序约束:由于引入了EDA(电子辅助设计工具)进行综合,因此可以在综合的过程中施加时序约束,使ECO后的电路能满足时序要求。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是现有技术的ECO过程示意图。
图2是本发明的自动化网表ECO流程示意图。
图3是本发明中NRT/CELL/CONNECTION/PIN原理示意图。
图4是本发明的自动化网表ECO过程示意图。
【具体实施方式】
图2所示是本发明一种数字IC设计流程中实现自动化ECO网表的方法流程示意图,图4是本发明的自动化网表ECO过程示意图。包括如下步骤:
步骤100:在原有电路中提取待ECO数字电路,使用RTL描述ECO数字电路;参见图4中“手动完成RTL代码修改”部分。
步骤200:通过EDA工具输出用来生成ECO修改脚本的报告;参见图4中“自动生成ECO修改脚本”部分。
步骤300:使用综合工具输出报告生成ECO修改脚本。参见图4中“自动完成综合及报告输出”部分。
下面详细描述上面各步骤:
步骤100包括:
步骤101:首先在原始电路描述中找出待ECO逻辑的所有输入寄存器。
步骤102:然后再在原始电路描述中找出待ECO逻辑的所有输出寄存器。
步骤103:使用RTL描述模块,并将所有输入寄存器作为模块的输入,将所有输出寄存器作为模块的输出,并对其命名进行规定,使其命名和寄存器名完全相同,这样主要是为了ECO后的新逻辑通过命名规则匹配与输入输出寄存器连接。
步骤104:在RTL描述的模块中,将代码修改成ECO后的逻辑描述。
步骤200包括:
步骤201:首先使用EDA工具读入ECO后的RTL代码;
步骤202:在EDA工具中指定使用的标准单元库;
由于ECO后的逻辑仍然要使用与原设计相同的标准逻辑单元,因此需要指定综合时使用的标准单元库。
步骤203:指定需要满足的时序约束;
由于某些ECO逻辑在电路中有一定的时序约束,比如最大路径延迟、最小路径延迟等,因此此处可以使用EDA工具接受的格式指定待综合电路的时序约束。
步骤204:指定综合时NET/CELL的命名规则;
为了避免综合后产生的NET或者CELL和模块已有的NET、CELL重名,因此在综合前就需要指定允许的NET、CELL命名规则。如:CELL命名格式为ECO_CELL_{日期}_{CELL编号},NET命名格式为ECO_CELL_{日期}_{NET编号}。这样,不仅将新生成的NET、CELL与已有的NET、CELL区分开,即使对同一模块进行多次ECO,也不会出现CELL或NET名重复的情况。
步骤205:使用EDA工具进行综合,将RTL逻辑描述转换为使用标准单元库中的门描述的门级网表;
步骤206:使用EDA工具中的报告输出命令,输出以下几个报告:所有NET信息,所有CELL信息,所有CONNECTION信息。
上文提到的NET/CELL/CONNECTION是指:
在如图3所示的两个逻辑门的连接中,图中的与门(AND2)和或门(OR2)称之为一个CELL,与门与或门之间的连线NET,与门的输出管脚及或门的输入管脚即为一个PIN,与门的输出PIN通过NET连接到或门的输入PIN的连接关系称之为CONNECTION。
步骤300包括:
为了描述方便,假设设计修改工具的命令为new_cell(新建一个cell),new_net(新建一个net)new_connection(新建一个connection),del_connection(删除已有的connection)。
下面的流程都是通过程序处理综合工具输出报告自动完成的。
步骤301:首先将删除原网表中的net和connection命令写入ECO修改脚本。
需如下删除:
del_connction n1 register_0/Q(表示删除register 0Q端和NET n1之间的连接)
del_connction n2 register_1/Q(表示删除register 1Q端和NET n2之间的连接)
del_connction n3 register_2/Q(表示删除register 2Q端和NET n3之间的连接)
del_connction n4 register_3/D(表示删除register 3D端和NET n4之间的连接)
del_net n1;del_net n2;del_net n3;del_net n4。
步骤302:通过程序提取综合输出报告的NET/CELL/CONNECTION,并将相关命令写入ECO修改脚本。
综合报告中提取到的NET为:
ECO_NET_n1、ECO_NET_n2、ECO_NET_n3、ECO_NET_n4。
提取到的CELL为:
ECO_CELL_U1。
提取到的CONNECTION为:
ECO_NET_n1与ECO_CELL_U1的A1Pin的连接,
ECO_NET_n2与ECO_CELL_U1的A2Pin的连接,
ECO_NET_n3与ECO_CELL_U1的A3Pin的连接,
ECO_NET_n4与ECO_CELL_U1的Z Pin的连接。
通过new_net/new_cell/new_connection命令描述以上行为并写数ECO修改脚本。
步骤303:通过ECO模块的输入输出命名识别其在网表中的前后级寄存器,其在综合ECO模块内的NET名,建立NET与前后级寄存器的连接,并将其动作通过命令行写入到ECO修改脚本。
例如:
ECO模块的输入名为register_0,其模块内的NET名为ECO_NET_n1,则通过修改工具命令建立ECO_NET_n1与register_0的Q Pin的连接;
ECO模块的输出名为register_3,其模块内的NET名为ECO_NET_n4,则通过修改工具命令建立ECO_NET_n4与register_0的D Pin的连接;
以此类推。
本发明将原来手动查找CELL,手动绘制ECO电路,手动编写ECO脚本的流程,变为本发明提出的编写ECO RTL,自动生成ECO脚本的新流程;通过将待ECO RTL提取成模块的方法编写ECO使用的RTL模块;通过使用综合工具输出ECO所需要的所有NET信息,所有CELL信息以及所有CONNECTION信息;将综合得到的信息通过文中描述的方式变为ECO自动修改脚本。本发明具有以下有益效果:1、自动化,时间快,不需要手工绘制逻辑电路;2、效率高,自动修改;3、出错少,只要RTL代码没有错误,修改一次通过;4、适用范围广,对于有时序约束或较复杂电路的网表ECO不增加任何难度。
机译: 用于将RTL HDL转换为轻型网表的ASIC设计方法
机译: 将RTL HDL转换为轻型网表的ASIC设计方法
机译: 在计算机中实现的系统连接到计算机网络,并且通过多个同时用户来完成注塑系统的规格和确定,用于注塑系统的规格和确定的自动化方法。计算机中的实现系统连接到用于生产注塑成型系统的计算机网络。在用于生产注塑成型的计算机系统的实现过程中采用的方法,以及远程指定和确定注塑成型系统的方法