集成电路设计保护装置及其方法

文档序号:6504069阅读:121来源:国知局
集成电路设计保护装置及其方法
【专利摘要】本发明公开了一种集成电路设计保护装置,包括切换装置以及非易失性内存。切换装置包括M个输入端口、N个输出端口、N个多路复用器以及S个选择端。上述N个多路复用器的每个多路复用器包括I个输入端、一输出端以及至少一选择端。上述I个输入端耦接于上述M个输入端口中的I个输入端口。上述输出端耦接于上述N个输出端口中的一个输入端口。非易失性内存耦接于切换装置的S个选择端,用以提供多个选择码到切换装置。由此,只有集成电路设计者才知道正确的选择码,故可确实地提升集成电路于设计及制造的安全性,并防止集成电路设计被非法地复制或盗取。
【专利说明】集成电路设计保护装置及其方法
【技术领域】
[0001]本发明涉及一种集成电路中的装置,特别是涉及一种在集成电路中用以保护该集成电路的设计的装置。
【背景技术】
[0002]当集成电路代工成为一种经济趋势的时候,多数的集成电路(IC)设计公司会将他们的集成电路制造委由第三方的代工厂代工。然而,这样的作法可能会增加保护其集成电路设计的智慧财产(intellectual property, IP)的困难度,并可能造成集成电路设计公司巨大的损失。此外,盗版的集成电路很可能是有缺陷的,如果这些盗版集成电路被使用在关键设备,则可能会把人众的生命置于危险。此外,如果集成电路是用于军事设备,则国家安全则可能因敌方对集成电路使用了反向工程而遭到侵害。
[0003]集成电路的反向工程可能是透过解封(decapsulation, DECAP)来进行,而这是一种相关产业中常见集成电路的反向工程。因此,找出一种能防止集成电路被仿制,或者至少能增加其它人对集成电路进行反向工程的困难度以保护其集成电路设计的智慧财产的方法,这对此业界的人来说是很重要的。

【发明内容】

[0004]本发明一实施例公开一种集成电路设计保护装置,其包含切换装置以及非易失性内存。该切换装置包含M个输入端口、N个多路复用器(multiplexer)以及S个选择端。N个多路复用器的每个多路复用器包含I个输入端、一个输出端以及至少一选择端。其中,上述I个输入端耦接于该些M个输入端口中的I个输入端口,而该输出端耦接于上述N个输出端口中的一个输入端口。所述非易失性内存耦接于该切换装置的S个选择端,用以提供多个选择码到该切换装置。其中,M3N兰1,且M、N、I及S皆为正整数。
[0005]本发明另一实施例公开一种集成电路的设计保护方法。该设计保护方法首先在该集成电路中配置第一电路及第二电路。之后,模拟该第一电路及该第二电路的功能。对该第一电路及该第二电路进行布置及路由选择。将该第一电路的多个连接端口对应到该第二电路的多个连接端口。在该集成电路的该第一电路及该第二电路之间,设置一集成电路设计保护装置。其中,该集成电路设计保护装置包含一切换装置及一非易失性内存,而该切换装置包含多个耦接于该非易失性内存的多路复用器。该设计保护方法还产生多个选择码以输入到该些多路复用器。连接该些选择码到该些多路复用器。产生多个布线档(layoutfiles) 0依据该些布线档,处理该集成电路。程序化该些选择码于该非易失性内存中,以及对该集成电路进行打线及封装。
[0006]本发明所公开的集成电路设计保护装置及方法可通过将多个选择码储存于非易失性内存的方式,保护集成电路设计者的智慧财产。由此,只有集成电路设计者才知道正确的选择码,且因该些选择码是在集成电路被制造完成后才被程序化于非易失性内存,故即或是第三方的制造者也无法知道该些选择码。如此,可确实地提升集成电路于设计及制造的安全性,并防止集成电路设计被非法地复制或盗取。
【专利附图】

【附图说明】
[0007]图1为依据本发明一实施例的集成电路的功能方块图。
[0008]图2为图1的集成电路设计保护装置的功能方块图。
[0009]图3A及图3B为依据本发明一实施例的方法以保护图1的集成电路的流程图。
[0010]图4A及图4B为依据本发明另一实施例的方法以保护图1的集成电路的流程图。
[0011]其中,附图标记说明如下:
[0012]100集成电路
[0013]102傀儡输入连接
[0014]104实际输入连接
[0015]106实际输出连接
[0016]120集成电路设计保护装置
[0017]202非易失性内存
[0018]204切换装置
[0019]206多路复用器
[0020]208输入端
[0021]210输出端
[0022]212选择端
[0023]218输入端口
[0024]220输出端口
[0025]300、400方法
[0026]304 到 338、404 到 434流程步骤
[0027]Al到An、BI到Bn电路区块
【具体实施方式】
[0028]请参考图1及图2。图1为依据本发明一实施例的集成电路100的功能方块图。集成电路100可包括多个电路区块Al到An以及BI到Bn、集成电路设计保护装置120、多个傀儡(dummy)输入连接102、多个实际输入连接104以及多个实际输出连接106。集成电路设计保护装置120用以根据其本身被程序化的内容,通过实际输入连接104以及实际输出连接106,将上述电路区块Al到An中的至少一个电路区块连接到电路区块BI到Bn中所对应的电路区块。集成电路设计保护装置120也耦接到上述多个傀儡输入连接102。
[0029]图2为图1的集成电路设计保护装置120的功能方块图。集成电路设计保护装置120可包括非易失性内存202以及切换装置204。切换装置204可具有M个输入端口 218以及N个输出端口 220,且可具有N个多路复用器206。每一个多路复用器206可具有I个输入端208、一个输出端210以及至少一个选择端212。N个多路复用器206的选择端212的总数等于S。非易失性内存202耦接于每一个多路复用器206的选择端212。M、N、I和S皆为正整数,且M3 NS I。为使说明简洁便于了解,图2中仅绘示了三个多路复用器206,但本发明并不以此为限,切换装置204中可具有N个多路复用器206。以最左侧的多路复用器206为例,并假设M等于8、N等于3、I等于4,且最左侧的多路复用器206具有两个选择端212。最左侧的多路复用器206的四个输入端208耦接于切换装置204的八个输入端口218中的四个输入端口 208,且此四个输入端208中只有一个输入端208耦接于上述多个实际输入连接104中的一个,而四个输入端208中其余三个输入端208则耦接于上述多个傀儡输入连接102。最左侧的多路复用器206的输出端210耦接于切换装置204的三个输出端口 220中的一个输出端口 220。最左侧的多路复用器206的两个选择端212耦接于非易失性内存202,并自非易失性内存202接收一个选择码。
[0030]选择端的每一连接可表示上述选择码的一个位,且因最左侧的多路复用器206的两个选择端212耦接于非易失性内存202,多路复用器206可自非易失性内存202接收一个两位的选择码。以上述的两位的选择码是「00」为例,多路复用器206的最左侧的输入端208的讯号可被输出到多路复用器206的输出端210,以作为实际输出连接106的讯号,以建立电路区块Al到An其中一个电路区块与电路区块BI到Bn中一个对应的电路区块之间的电性连接。其中,傀儡输入连接102的讯号不会被输出。此外,非易失性内存202可被程序化,以储存每一个多路复用器206的选择码,如此可通过每个多路复用器206的选择端212控制每个多路复用器206选择实际输入连接104的讯号作为实际输出连接106的讯号,并忽略每个多路复用器206的傀儡输入连接102的讯号。因此,切换装置204的M个输入端口 218中的N个输入端口 218电性连接到实际输入连接104,以将实际输入连接104的讯号输出到与上述N个输出端口 220耦接的实际输出连接106。切换装置204的其它M-N个输入端口 218为耦接到傀儡输入连接102的傀儡输入端口,而不被用来在集成电路100中传递讯号。
[0031]非易失性内存202可通过使用浮动闸(floating gate)技术或抗熔断器切换(antifuse switch)技术被程序化,以储存上述的多个选择码。因盗版的集成电路制造者很难存取其中所储存的多个选择码,故集成电路很不容易被仿制,而可确保其安全性。
[0032]如图1及图2所示,只有集成电路的设计者才知道哪些耦接到集成电路设计保护装置120的连接是实际输入连接104,而需要被输出到实际输出连接106,以将电路区块Al到An耦接到对应的电路区块BI到Bn。集成电路的设计者可将上述多个选择码程序化于非易失性内存202,如此在不知道该些选择码的情况下,即无法知道电路区块Al到An的哪些连接是对应到电路区块BI到Bn的连接,而使得集成电路100中的实际连接无法被反向工程。如此一来,集成电路100的设计即可获得保护。
[0033]图3A及图3B为依据本发明一实施例的方法300以保护图1的集成电路100的流程图。方法300可包括下列步骤:
[0034]步骤304:在集成电路100中配置第一电路及第二电路。
[0035]步骤306:模拟第一电路及第二电路的功能。
[0036]步骤308:对第一电路及第二电路进行布置及路由选择(placing and routing)。
[0037]步骤310:进行第一电路及第二电路的第一定时分析(timing analysis)以及萃取(extraction)。
[0038]步骤312:执行第一电路及第二电路的第一模拟。
[0039]步骤314:将第一电路的多个连接端口对应到第二电路的多个连接端口。
[0040]步骤316:在集成电路100内的第一电路及第二电路之间,设置集成电路设计保护装置120。
[0041]步骤318:产生多个选择码以输入到该些多路复用器206。
[0042]步骤320:连接该些选择码到该些多路复用器206。
[0043]步骤322:进行集成电路100的第二定时分析以及萃取。
[0044]步骤324:执行集成电路100的第二模拟,并检查集成电路100是否通过第二模拟;若通过,则执行步骤326 ;若不通过,则执行步骤318。
[0045]步骤326:产生多个布线档(layout files)。
[0046]步骤328:依据该些布线档,进行集成电路100的制造工艺。
[0047]步骤330:将该些选择码程序化于非易失性内存202中。
[0048]步骤332:对集成电路100进行晶圆测试(wafer test)。
[0049]步骤334:对集成电路100进行打线及封装。
[0050]步骤336:对集成电路100进行最终测试(final test)。
[0051]步骤338:对集成电路100进行出货。
[0052]方法300的第一电路可为图1中的电路区块Al到An,而方法300的第二电路可为图1中的电路区块BI到Bn。集成电路设计者于步骤304中设计并配置第一电路及第二电路。步骤308中对第一电路及第二电路进行布置及路由选择可通过电子设计自动化(electronic design automation, EDA)工具来进行。在步骤314中,除了集成电路设计者可决定并选择对应的连接以外,也可由电子设计自动化工具协助集成电路设计者选择第一电路的连接端口与第二电路的连接端口之间的对应连接。在步骤316中,集成电路设计保护装置120被设置在集成电路100内的第一电路及第二电路之间。之后,在步骤318及320中,该些选择码由集成电路设计者输入或由电子设计自动化工具产生,并被连接到电路模拟,而作为步骤322及324所使用的后模拟限制(post simulation constraint)。若在步骤318所产生并输入到上述多个多路复用器206的多个选择码是正确的,则集成电路100可通过步骤324中的后模拟(postsimulation);若不正确,集成电路100则未能通过后模拟,且步骤318、320、322及324须重新被执行。步骤326中的布线档可为⑶S II档案。在步骤328中,进行集成电路100的制造工艺。在步骤330中,集成电路设计者在此阶段实际上会将上述多个选择码程序化于非易失性内存202中。换句话说,上述多个选择码可于完成集成电路100的制造后再被程序化。如此,即使第三方的制造者也无法知道对应多个连接的多个选择码,而使得集成电路100受到强大的保护,而免于非法的盗版。在本实施例中,步骤310及312可选择性地省略,而仅执行步骤322及324中集成电路的定时分析、萃取及模拟。
[0053]图4A及图4B为依据本发明另一实施例的方法400以保护图1的集成电路100的流程图。方法400可包括下列步骤:
[0054]步骤404:在集成电路100中配置第一电路及第二电路;
[0055]步骤406:模拟第一电路及第二电路的功能。
[0056]步骤408:将第一电路的多个连接端口对应到第二电路的多个连接端口。
[0057]步骤410:在集成电路100内的第一电路及第二电路之间,设置集成电路设计保护装置120。
[0058]步骤412:产生多个选择码以输入到该些多路复用器206。[0059]步骤414:连接该些选择码到该些多路复用器206。
[0060]步骤416:对第一电路及第二电路进行布置及路由选择。
[0061]步骤418:进行集成电路100的定时分析以及萃取。
[0062]步骤420:执行集成电路100的模拟,并检查集成电路100是否通过模拟;若通过,则执行步骤422 ;若不通过,则执行步骤412。
[0063]步骤422:产生多个布线档。
[0064]步骤424:依据该些布线档,进行集成电路100的制造工艺。
[0065]步骤426:将该些选择码程序化于非易失性内存202中。
[0066]步骤428:对集成电路100进行晶圆测试(wafer test)。
[0067]步骤430:对集成电路100进行打线及封装。
[0068]步骤432:对集成电路100进行最终测试(final test)。
[0069]步骤434:对集成电路100进行出货。
[0070]在图4A及图4B中,电子设计自动化工具除了具有布置及路由选择功能以外,还可整合功能并支持工作流程以执行步骤408到420。步骤418及420可以执行如同集成电路100的后模拟(post simulation) 一般。倘若步骤412中所产生而被输入到上述多个多路复用器206的多个选择码是正确的,集成电路100可通过步骤420的后模拟;若不正确,集成电路100则未能通过后模拟,而步骤412、414、418及420须重新被执行。
[0071]综上所述,本发明公开一种集成电路设计保护装置及方法,而可通过将多个选择码储存于非易失性内存的方式,保护集成电路设计者的智慧财产。由此,只有集成电路设计者才知道该些选择码以正确地连接电路区块之间的多个对应连接,且因该些选择码是在集成电路被制造完成后才被程序化于非易失性内存,故即或是第三方的制造者也无法知道该些选择码。此外,倘若有人尝试解封(DECAP)集成电路,他可能会被傀儡输入连接所蒙骗,而在不知道非易失性内存中的该些选择码的情况下,无法得知实际连接的任何信息。如此,可确实地提升集成电路于设计及制造的安全性,并防止集成电路设计被非法地复制或盗取。
[0072]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种集成电路设计保护装置,包括: 切换装置,包括: M个输入端口; N个输出端口; N个多路复用器,该些N个多路复用器的每个多路复用器包括: I个输入端,耦接于该些M个输入端口中的I个输入端口 ; 输出端,耦接于该些N个输出端口中的一个输入端口;以及 至少一选择端;以及 S个选择端;以及 非易失性内存,耦接于该切换装置的该些S个选择端,用以提供多个选择码到该切换装置; 其中,M芎N芎1,且M、N、I及S皆为正整数。
2.如权利要求1所述的集成电路设计保护装置,其特征在于,该些M个输入端口包括N个实际输入端口以及M-N个傀儡输入端口。
3.如权利要求1所述的集成电路设计保护装置,其特征在于,该非易失性内存耦接于每一该些N个多路复用器的该至少一选择端。
4.如权利要求1所述的集成`电路设计保护装置,其特征在于,该多个选择码通过浮动闸技术被储存于该非易失性内存。
5.如权利要求1所述的集成电路设计保护装置,其特征在于,该多个选择码通过抗熔断器切换技术被储存于该非易失性内存。
6.一种集成电路的设计保护方法,包括: 在该集成电路中配置第一电路及第二电路; 模拟该第一电路及该第二电路的功能; 对该第一电路及该第二电路进行布置及路由选择; 将该第一电路的多个连接端口对应到该第二电路的多个连接端口 ; 在该集成电路内的该第一电路及该第二电路之间,设置集成电路设计保护装置,该集成电路设计保护装置包括切换装置及非易失性内存,该切换装置包括多个耦接于该非易失性内存的多路复用器; 产生多个选择码以输入到该些多路复用器; 连接该些选择码到该些多路复用器; 产生多个布线档; 依据该些布线档,进行该集成电路的制造工艺; 程序化该些选择码于该非易失性内存中;以及 对该集成电路进行打线及封装。
7.如权利要求6所述的集成电路的设计保护方法,更包括: 在对该第一电路及该第二电路进行布置及路由选择后,进行定时分析及萃取。
8.如权利要求7所述的集成电路的设计保护方法,更包括: 在进行该定时分析及萃取后,执行该第一电路及该第二电路的模拟。
9.如权利要求6所述的集成电路的设计保护方法,更包括:在连接该些选择码到该些多路复用器后,进行定时分析及萃取。
10.如权利要求9所述的集成电路的设计保护方法,更包括: 在进行该定时分析及萃取后,执行该第一电路及该第二电路的模拟。
11.如权利要求6所述的集成电路的设计保护方法,其特征在于,程序化该些选择码于该非易失性内存中包括: 使用浮动闸技术将该些选择码程序化于该非易失性内存中。
12.如权利要求6所述的集成电路的设计保护方法,其特征在于,程序化该些选择码于该非易失性内存中包括: 使用抗熔断器切换技术将该些选择码程序化于该非易失性内存中。
13.如权利要求6所述的集成电路的设计保护方法,其特征在于,连接该些选择码到该些多路复用器后,才对该第一电路及该第二电路进行布置及路由选择。
14.如权利要求6所述的集成电路的设计保护方法,更包括: 于程序化该些选择码于该非易失性内存中以后,测试该集成电路。
15.如权利要求6所述 的集成电路的设计保护方法,更包括: 于对该集成电路进行打线及封装以后,测试该集成电路。
【文档编号】G06F21/75GK103778391SQ201310227528
【公开日】2014年5月7日 申请日期:2013年6月8日 优先权日:2012年10月21日
【发明者】郭东政, 陈圣凯 申请人:力旺电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1