会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 专利权 / 申请 / 国际申请 / 修改 / 实现芯片复杂工程修改的方法及系统

实现芯片复杂工程修改的方法及系统

阅读:381发布:2021-02-25

IPRDB可以提供实现芯片复杂工程修改的方法及系统专利检索,专利查询,专利分析的服务。并且本发明提供一种实现芯片复杂工程修改的方法及系统,所述方法包括:查找原始的寄存器转换级电路和原始的门级网表,获取其相互对应的关键信号;对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1;在寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路2;在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;根据寄存器转换级电路2以及门级网表1,获取门级网表2;保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。本发明最少的逻辑改动实现目标工程修改,加速芯片的重新设计周期。,下面是实现芯片复杂工程修改的方法及系统专利的具体信息内容。

1.一种实现芯片复杂工程修改的方法,其特征在于,所述方法包括:查找原始的寄存器转换级电路和原始的门级网表,获取其相互对应的关键信号;

对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1;

在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路

2;

根据所述寄存器转换级电路2匹配生成门级网表2a;

在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;

根据门级网表2a以及门级网表1,获取门级网表2;

保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。

2.根据权利要求1所述的实现芯片复杂工程修改的方法,其特征在于,“根据门级网表

2a以及门级网表1,获取门级网表2”具体包括:根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件;

在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。

3.根据权利要求2所述的实现芯片复杂工程修改的方法,其特征在于,所述方法还包括:采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。

4.根据权利要求1-3任一项所述的实现芯片复杂工程修改的方法,其特征在于,“保存和/或输出新的寄存器转换级电路和新的门级网表”后,所述方法还包括:将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改。

5.一种实现芯片复杂工程修改的系统,其特征在于,所述系统包括:数据获取模块,用于查找原始的寄存器转换级电路和原始的门级网表,获取其相互对应的关键信号;

数据处理模块,用于对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1;

在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路

2;

根据所述寄存器转换级电路2匹配生成门级网表2a;

在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;

根据门级网表2a以及门级网表1,获取门级网表2;

存储输出模块,用于保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。

6.根据权利要求5所述的实现芯片复杂工程修改的系统,其特征在于,所述数据处理模块还用于:根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件;

在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。

7.根据权利要求6所述的实现芯片复杂工程修改的系统,其特征在于,所述数据处理模块还用于:采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。

8.根据权利要求5-7任一项所述的实现芯片复杂工程修改的系统,其特征在于,所述数据处理模块还用于:将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改。

说明书全文

实现芯片复杂工程修改的方法及系统

技术领域

[0001] 本发明涉及网络通信领域,尤其涉及一种实现芯片复杂工程修改的方法及系统。

背景技术

[0002] 目前,网络技术的发展及信息化应用的普及,各种硬件芯片得到了越来越广泛的应用。
[0003] 伴随着科技的发展,芯片复杂度越来越高,同时,要求芯片的研发周期越来越短,如此,以适应科技发展的速度;相应的,为了满足上述要求,越来越多的芯片不得不在芯片开发后期或芯片流片回来发现芯片缺陷后,再进一步的做工程修改来补救。
[0004] 工程修改主要针对门级网表,门级网表的可读性非常差,并且在综合时会基于寄存器转换级电路做复杂优化,该复杂的工程修改一般都是需要在大量的组合逻辑中加入或修改部分逻辑,这种修改的难度至少有两点,首先是很难在门级网表里面和寄存器转换级电路中对应的信号,其次是改动的逻辑量很多,影响的逻辑很多,导致工程修改越来越难,一些复杂的工程修改甚至不可实现。

发明内容

[0005] 本发明的目的在于提供一种实现芯片复杂工程修改的方法及系统。
[0006] 为实现上述目的之一,本发明一实施方式的实现芯片复杂工程修改的方法包括:
[0007] 查找原始的寄存器转换级电路和原始的门级网表,获取其相互对应的关键信号;
[0008] 对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1;
[0009] 在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路2;
[0010] 在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;
[0011] 根据寄存器转换级电路2以及门级网表1,获取门级网表2;
[0012] 保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。
[0013] 作为本发明一实施方式的进一步阐述,“在所述寄存器转换级电路1的关键信号后插入第一寄存器,生成寄存器转换级电路2”后,所述方法还包括:
[0014] 根据所述寄存器转换级电路2匹配生成门级网表2a。
[0015] 作为本发明一实施方式的进一步阐述,“根据寄存器转换级电路2以及门级网表1,获取门级网表2”具体包括:
[0016] 根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件;
[0017] 在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。
[0018] 作为本发明一实施方式的进一步阐述,所述方法还包括:
[0019] 采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0020] 作为本发明一实施方式的进一步阐述,“保存和/或输出新的寄存器转换级电路和新的门级网表”后,所述方法还包括:
[0021] 将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改。
[0022] 为实现上述目的之一,本发明一实施方式的实现芯片复杂工程修改的系统,所述系统包括:数据获取模块,用于查找原始的寄存器转换级电路和原始的门级网表,获取其相互对应的关键信号;
[0023] 数据处理模块,用于对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1;
[0024] 在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路2;
[0025] 在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;
[0026] 根据寄存器转换级电路2以及门级网表1,获取门级网表2;
[0027] 存储输出模块,用于保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。
[0028] 作为本发明一实施方式的进一步阐述,所述数据处理模块还用于:根据所述寄存器转换级电路2匹配生成门级网表2a。
[0029] 作为本发明一实施方式的进一步阐述,所述数据处理模块还用于:
[0030] 根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件;
[0031] 在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。
[0032] 作为本发明一实施方式的进一步阐述,所述数据处理模块还用于:
[0033] 采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0034] 作为本发明一实施方式的进一步阐述,所述数据处理模块还用于:
[0035] 将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改。
[0036] 与现有技术相比,本发明的有益效果是:本发明实现芯片复杂工程修改的方法及系统,通过找出寄存器转换级电路和门级网表上共同的关键信号,并分别在其关键信号后增加相应的寄存器产生新的网表,基于新的网表产生工程修改脚本运用到原始门级网表,实现芯片复杂工程修改,从而使用最少的逻辑改动实现目标工程修改,加速芯片的重新设计周期。

附图说明

[0037] 图1是本发明一实施方式中实现芯片复杂工程修改的方法的流程图;
[0038] 图2a-2i为本发明一实施方式中具体实例应用示意图;
[0039] 图3是本发明一实施方式中实施方式中实现芯片复杂工程修改的系统的模块图。

具体实施方式

[0040] 以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0041] 如图1所示,在本发明的一实施方式中提供的实现芯片复杂工程修改的方法,所述方法包括:
[0042] S1、查找原始的寄存器转换级电路和原始的门级网表,获取其对应的关键信号。
[0043] 本发明一具体示例中,需要分别对照原始的寄存器转换级电路和原始的门级网表,查找其共同的需要修改的关键信号。
[0044] 所述寄存器转换级电路通常被被称为RTL。
[0045] 以下为了方便描述,举一具体示例详细说明。
[0046] 结合图2a、2b所示,图2a为原始的寄存器转换级电路;图2b为原始的门级网表。
[0047] 通过比对可知,原始的寄存器转换级电路中的关键信号为“a”,在原始门级网表中对应的关键信号为“n4”。
[0048] 进一步的,所述实现芯片复杂工程修改的方法还包括:
[0049] S2、对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1。
[0050] 接续上述示例,本次工程修改时,需要将所述关键信号“a”中“in0&&in1”修改为“in0||in1”。
[0051] 结合图2c、2d所示,图2c为对原始的寄存器转换级电路中的关键信号“a”进行修改的逻辑代码;图2d为对原始的寄存器转换级电路中的关键信号修改后所生成的寄存器转换级电路1。
[0052] 通过图2d可知,修改后的寄存器转换级电路中,关键信号“a”,已经由“in0&&in1”修改为“in0||in1”,在此不做详细赘述。
[0053] 进一步的,所述实现芯片复杂工程修改的方法还包括:
[0054] S3、在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路2;
[0055] 接续上述示例,传统的寄存器转换级电路修改,其对关键信号“a”进行修改后,其会继续影响信号b以及输出out0,即对寄存器转换级电路中的一处信号进行修好后,在该修改信号后的电路全部受到影响,如此,在修改寄存器转换级电路过程中,需要更改大量的逻辑电路,修改复杂,且出错概率高。
[0056] 本发明中,在寄存器转换级电路1的关键信号后插入第一寄存器,并将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,在形式验证时,对关键信号的修改仅影响新插入的第一寄存器之前的电路,如此,在修改过程中,可以减少逻辑电路的修改位置,将复杂的逻辑修改过程简单化,同时,成功的概率更高。接续上述示例,结合图2e所示,图2e为新生成的寄存器转换级电路2。
[0057] 由图2e可知,对原始的寄存器转换级电路的关键信号“a”进行修改后,其修改结果以“aF1”表示,并个所述“aF1”写入第一寄存器中,生成新的寄存器转换级电路2。
[0058] 进一步的,所述步骤S3后,所述方法还包括:
[0059] S4、根据所述寄存器转换级电路2匹配生成门级网表2a。
[0060] 接续上述示例,结合图2g所示,图2g为新生成的门级网表2a。
[0061] 需要说明的是,根据寄存器转换级电路生产门级网表的软件有多种,在此不做详细赘述。
[0062] 进一步的,所述实现芯片复杂工程修改的方法还包括:
[0063] S5、在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;
[0064] 接续上述示例,结合图2f所示,图2f为新生成的门级网表1。
[0065] 对比如图2b所示的原始门级网表,和新生成的门级网表1可知:
[0066] 新生成的门级网表1中增加逻辑代码“
[0067] //add for ECO
[0068] SDFFQ_X1M_A9TU aF1_reg(.D(n4),.SI(1′b0),.SE(1′b0),.CK(ClockCore),.Q(aF1));”
[0069] 进一步的,所述方法还包括:
[0070] S6、根据寄存器转换级电路2以及门级网表1,获取门级网表2。
[0071] 本发明一优选实施方式中,所述步骤S6具体包括:
[0072] M1、根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0073] 需要说明的是,上述示例中,可以采用多种方式比对所述门级网表2a以及门级网表1,本发明的优选实施方式中,采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0074] 接续上述示例,结合图2h所示,图2h为匹配原始的门级网表的ECO脚本文件。
[0075] M2、在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。
[0076] 接续上述示例,结合图2i所示,图2i为最终将要获取的门级网表2。
[0077] 进一步的,所述方法还包括:
[0078] S7、保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。
[0079] 本发明一优选实施方式中,所述步骤S7还包括:
[0080] 将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改,在此不做详细赘述。
[0081] 需要说明的是,上述示例中,S1至S7中的部分步骤可以同时进行,也可以先后进行,其获取顺序不影响最终的修改结果,本发明具体示例中,为了方便说明,采用步骤S1 S7~对整个实现芯片复杂工程修改的方法做详细说明,但在实际应用过程中,上述部分步骤执行顺序先后并没有具体限定。
[0082] 例如:步骤S2和步骤S5可以先后进行,也可以同时进行,在此不做详细赘述。
[0083] 结合图3所示,在本发明的一实施方式中,同一架构中复用系统,所述系统包括:数据获取模块100、数据处理模块200、存储输出模块300。
[0084] 数据获取模块100用于查找原始的寄存器转换级电路和原始的门级网表,获取其对应的关键信号。
[0085] 本发明一具体示例中,数据获取模块100需要分别对照原始的寄存器转换级电路和原始的门级网表,查找其共同的需要修改的关键信号。
[0086] 所述寄存器转换级电路通常被被称为RTL。
[0087] 以下为了方便描述,举一具体示例详细说明。
[0088] 结合图2a、2b所示,图2a为原始的寄存器转换级电路;图2b为原始的门级网表。
[0089] 通过比对可知,原始的寄存器转换级电路中的关键信号为“a”,在原始门级网表中对应的关键信号为“n4”。
[0090] 进一步的,本发明一实施方式中,数据处理模块200用于对原始的寄存器转换级电路中的关键信号进行修改,生成寄存器转换级电路1。
[0091] 接续上述示例,本次工程修改时,需要将所述关键信号“a”中“in0&&in1”修改为“in0||in1”。
[0092] 结合图2c、2d所示,图2c为对原始的寄存器转换级电路中的关键信号“a”进行修改的逻辑代码;图2d为对原始的寄存器转换级电路中的关键信号修改后所生成的寄存器转换级电路1。
[0093] 通过图2d可知,修改后的寄存器转换级电路中,关键信号“a”,已经由“in0&&in1”修改为“in0||in1”,在此不做详细赘述。
[0094] 进一步的,本发明一实施方式中,数据处理模块200还用于:在所述寄存器转换级电路1的关键信号后插入第一寄存器,将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,生成寄存器转换级电路2生成寄存器转换级电路2;
[0095] 接续上述示例,传统的寄存器转换级电路修改,其对关键信号“a”进行修改后,其会继续影响信号b以及输出out0,即对寄存器转换级电路中的一处信号进行修好后,在该修改信号后的电路全部受到影响,如此,在修改寄存器转换级电路过程中,需要更改大量的逻辑电路,修改复杂,且出错概率高。
[0096] 本发明中,在寄存器转换级电路1的关键信号后插入第一寄存器,并将对原始的寄存器转换级电路的关键信号进行修改后的修改结果缓存至所述第一寄存器中,在形式验证时,对关键信号的修改仅影响新插入的第一寄存器之前的电路,如此,在修改过程中,可以减少逻辑电路的修改位置,将复杂的逻辑修改过程简单化,同时,成功的概率更高。接续上述示例,结合图2e所示,图2e为新生成的寄存器转换级电路2。
[0097] 由图2e可知,对原始的寄存器转换级电路的关键信号“a”进行修改后,其修改结果以“aF1”表示,并个所述“aF1”写入第一寄存器中,生成新的寄存器转换级电路2。
[0098] 进一步的,本发明一实施方式中,数据处理模块200还用于:根据所述寄存器转换级电路2匹配生成门级网表2a。
[0099] 接续上述示例,结合图2g所示,图2g为新生成的门级网表2a。
[0100] 需要说明的是,根据寄存器转换级电路生产门级网表的软件有多种,在此不做详细赘述。
[0101] 进一步的,本发明一实施方式中,数据处理模块200还用于:在原始的门级网表的关键信号后插入第二寄存器,生成门级网表1;
[0102] 接续上述示例,结合图2f所示,图2f为新生成的门级网表1。
[0103] 对比如图2b所示的原始门级网表,和新生成的门级网表1可知:
[0104] 新生成的门级网表1中增加逻辑代码“
[0105] //add for ECO
[0106] SDFFQ_X1M_A9TU aF1_reg(.D(n4),.SI(1′b0),.SE(1′b0),.CK(ClockCore),.Q(aF1));”
[0107] 进一步的,本发明一实施方式中,数据处理模块200还用于:根据寄存器转换级电路2以及门级网表1,获取门级网表2。
[0108] 本发明一优选实施方式中,数据处理模块200具体用于:
[0109] 根据门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0110] 需要说明的是,上述示例中,数据处理模块200可以采用多种方式比对所述门级网表2a以及门级网表1,本发明的优选实施方式中,采用Conformal软件比对所述门级网表2a以及门级网表1,获取匹配原始的门级网表的ECO脚本文件。
[0111] 接续上述示例,结合图2h所示,图2h为匹配原始的门级网表的ECO脚本文件。
[0112] 数据处理模块200还在原始的门级网表上加载所述ECO脚本文件,得到门级网表2。
[0113] 接续上述示例,结合图2i所示,图2i为最终将要获取的门级网表2。
[0114] 进一步的,本发明一实施方式中,存储输出模块300用于:保存和/或输出寄存器转换级电路1和门级网表2,完成芯片复杂工程的修改。
[0115] 本发明一优选实施方式中,数据处理模块还用于:
[0116] 将所述寄存器转换级电路1和门级网表2进行形式验证,当确认通过验证后,完成芯片复杂工程的修改,在此不做详细赘述。
[0117] 综上所述,本发明的实现芯片复杂工程修改的方法及系统,通过找出寄存器转换级电路和门级网表上共同的关键信号,并分别在其关键信号后增加相应的寄存器产生新的网表,基于新的网表产生工程修改脚本运用到原始门级网表,从而实现芯片复杂工程修改。
[0118] 本发明通过在关键信号后加入一级寄存器,这样使得形式验证工具不需要分析关键信号之后的大量的组合逻辑和寄存器逻辑,而只需分析关键信号之前的逻辑,使得形式验证工具分析的逻辑量大大减少,进而得到工程修改方案;本发明在关键信号后插入相应的寄存器后的所获得的门级网表和原始的门级网表除了在时序上相差一个周期之外,其逻辑运算行为相同,进而则可以将基于转换后的门级网表得到的工程修改脚本直接应用到原始的门级网表上,从而实现原始网表的复杂工程修改;同时,由于本发明在关键信号后加入相应的寄存器,这样使得在形式验证工具在分析工程修改时,涉及的寄存器数量相对较少,其对应分析的组合逻辑数量也相对较少,得出工程修改方案的可能性较高;进而以最少的逻辑改动实现目标工程修改,加速芯片的重新设计周期。
[0119] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0120] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分以交换机的产品的形式体现出来。
[0121] 以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0122] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括保存设备在内的本地和远程计算机保存介质中。
[0123] 应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0124] 上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用