防止壅塞配置方法及装置的制作方法

文档序号:7706472阅读:148来源:国知局

专利名称::防止壅塞配置方法及装置的制作方法
技术领域
:本发明涉及逻辑电路布局,尤指一种防止壅塞配置装置及方法,用以于缓存器传输级(RegisterTransferLevel,RTL)的阶段改变逻辑电路布局,藉以避免逻辑电路布局中产生难以绕线的壅塞区域。
背景技术
:随着电子科技不断地发展,各式各样的电子产品的体积愈来愈轻薄短小,但其具备的功能亦愈来愈多。因此,在面积相当小的芯片中必须设置有数目非常庞大的各种电子组件,才足以应付电子产品的实际需求。然而,于某些电路布局中,由于某一区域内的电子组件太多,亦即该区域的电子组件密度过大,使得该区域的某些电子组件间的绕线(routing)难以进行,因而无法通过设计规则检查(designrulechecking),导致该电路布局无法正常运作。请参照图1,图1为传统的逻辑电路布局的栅极级(gatelevel)示意图。举例而言,若逻辑电路布局1包含有复数个组件,且逻辑电路布局1经过合成后的合成结果(synthesizedresult)形成了一个庞大的逻辑锥(logiccone),如图1所示。一般而言,为了使得逻辑电路布局1能够通过时间限制(timeconstraint)并且缩小其使用面积,因此,于合成后的逻辑电路布局1中,所有电子组件间将会透过彼此耦接或相互合并、化简的方式来达成,连带也造成合成后的逻辑电路布局1中的所有电子组件之间具有相当复杂的连接关系,才会形成如图1所示的庞大的逻辑锥。接着,再透过自动布局绕线法(AutomaticPlacementandRouting,APR)实现合成后的逻辑电路布局1,其APR的结果2请参照图2。如图2所示,很明显地,于壅塞区域20中,由于有相当多的组合逻辑组件(combinationallogicdevice)c挤在一起,因而产生相当严重的壅塞(congestion)现象。此一过高的电子组件密度将会导致壅塞区域20中的各电子组件间的绕线变得相当困难,这将会使得逻辑电路布局1难以通过设计规则检查。因此,本发明的主要范畴在于提供一种防止壅塞配置装置及防止壅塞方法,以解决上述问题。
发明内容本发明所要解决的技术问题是提供一种防止壅塞配置方法及装置,可有效避免现有技术中逻辑电路布局无法通过设计规则检查的情形发生。为了解决以上技术问题,本发明提供了如下技术方案本发明提供了一种防止壅塞配置装置。该防止壅塞配置装置系应用于一逻辑电路布局(logiccircuitlayout)0该逻辑电路布局包含(Ν-Κ)个第一输入端、K个第二输入端、2Κ个逻辑电路及M个输出端,其中,M与N均为大于1的正整数,K为正整数。于此实施例中,该防止壅塞配置装置包含有一重建模块及一合成模块。其中,该重建模块与该合成模块分别耦接至该逻辑电路布局。该重建模块系用以于该逻辑电路布局中加入一选择单元,并于该2K个逻辑电路中的每一个逻辑电路中分别加入(N-K)个缓冲器(buffer)。其中该选择单元系耦接至该K个第二输入端、该2K个逻辑电路及该M个输出端,该(N-K)个缓冲器系耦接至该(N-K)个第一输入端。于此实施例中,该合成模块系根据一不接触(don’ttouch)合成指令合成(synthesize)重建后的逻辑电路布局。值得注意的是,于合成后的逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接、合并或化简。也就是说,每一个逻辑电路之间并不会有任何的关连性。本发明还提供了一种防止壅塞配置方法。该防止壅塞配置方法系应用于一逻辑电路布局中。该逻辑电路布局包含N个输入端、2Κ个逻辑电路及M个输出端,M与N均为大于1的正整数,K为正整数。于此实施例中,该方法包含下列步骤(a)检查该逻辑电路布局的阶层结构(hierarchyconfiguration);(b)分别于该2K个逻辑电路中的每一个逻辑电路中加入(N-K)个缓冲器,其中该(N-K)个缓冲器系根据该N个输入端中的(N-K)个第一输入端所输入的(N-K)个存取信息进行数据的存取以产生M个数据讯号;(c)于该逻辑电路布局中加入一选择单元,其中该选择单元系用以根据该N个输入端中的K个第二输入端所输入的K个选择讯号自该2Κ个逻辑电路中选择相对应的一逻辑电路并将该逻辑电路的该M个数据讯号输出至该M个输出端;(d)根据一不接触(don'ttouch)合成指令合成(synthesize)该逻辑电路布局。值得注意的是,于合成后的该逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接、合并或化简。也就是说,每一个逻辑电路之间并不会有任何的关连性。本发明采用的防止壅塞配置方法及装置,于缓存器传输级(RegisterTransferLevel,RTL)的阶段透过加入缓冲器及选择器的方式改变原本的逻辑电路布局,并透过一不接触合成指令合成该逻辑电路布局,以确保合成后的逻辑电路布局中的每一个逻辑电路均能保持彼此独立而不会有任何的关连性。藉此,于最后透过自动布局绕线法实现合成后的逻辑电路布局所得到的Ara结果中,该逻辑电路布局中难以绕线的壅塞区域将会大幅减少。因此,根据本发明可有效避免现有技术中逻辑电路布局无法通过设计规则检查的情形发生。图1为传统的逻辑电路布局的栅极级(gatelevel)示意图。图2为图1中的逻辑电路布局的APR结果的示意图。图3(a)为根据本发明的第一具体实施例的防止壅塞配置装置的功能方块图。图3(b)为应用本发明的防止壅塞配置装置的逻辑电路布局的栅极级(gatelevel)不意图。图4(a)为一般的缓存器传输级程序代码(RTLcode)的一范例。图4(b)为修改后的缓存器传输级程序代码的一范例(K=5)。图4(c)为修改后的不接触(don’ttouch)合成指令的程序代码叙述的一范例。图5为图3(b)的合成后的逻辑电路布局的运作情形的示意图。图6及图7分别为透过不同方式进行二阶(two-order)选择程序的示意图。图8为根据本发明的第二具体实施例的防止壅塞配置方法的流程图。主要组件符号说明SlOS14流程步骤1、46逻辑电路布局20壅塞区域2:APR结果3:防止壅塞配置装置30:控制模块32:检查模块34重建模块36合成模块38自动布局绕线(APR)模块AtlΑη_Η第一输入端An_kAlri第二输入端dQC1逻辑电路输出端DtlDlrt输出端!^!!!,第一选择器a0am缓冲器具体实施例方式本发明的主要目的在于提出一种防止壅塞配置装置及防止壅塞方法。透过本发明的防止壅塞配置装置及防止壅塞方法,能够使得合成后的逻辑电路布局中的每一个逻辑电路均能保持彼此独立而不会相互耦接或合并,以确保于该合成后的逻辑电路布局的APR结果中,逻辑电路布局内难以绕线的壅塞区域将会大幅减少,并且该逻辑电路布局仍能通过时间限制(timeconstraint)等设计规则检查。根据本发明的第一具体实施例为一种防止壅塞配置装置。于此实施例中,该防止壅塞配置装置系应用于一逻辑电路布局(logiccircuitlayout)。该逻辑电路布局包含有(N-K)个第一输入端、K个第二输入端、2K个逻辑电路及M个输出端,其中,M与N均为大于1的正整数,K为正整数。实际上,该逻辑电路布局可包含查找表(look-uptable),例如应用于只读存储器(Read-OnlyMemory,ROM),但不以此为限。请参照图3(a),图3(a)为该防止壅塞配置装置的功能方块图。如图3(a)所示,防止壅塞配置装置3包含控制模块30、检查模块32、重建模块34、合成模块36及自动布局绕线模块38。其中,控制模块30系分别耦接至检查模块32、重建模块34、合成模块36及自动布局绕线模块38。接下来,将分别就防止壅塞配置装置3所包含的各模块及其具有的功能进行详细的介绍。于此实施例中,防止壅塞配置装置3的控制模块30系用以传送控制指令至检查模块32、重建模块34、合成模块36及自动布局绕线模块38,亦即控制模块30的主要功用在于控制检查模块32、重建模块34、合成模块36及自动布局绕线模块38对于进行该逻辑电路布局进行不同的处理程序。首先,当检查模块32接收到控制模块30所下达的检查指令后,检查模块32将会就该逻辑电路布局的阶层结构(hierarchyconfiguration)进行检查,以得知该逻辑电路布局目前的阶层结构为何并回报给控制模块30。接着,当控制模块30决定要对该逻辑电路布局进行重建(restructure)的动作时,控制模块30将会产生一重建指令并将该重建指令传送至重建模块34。当重建模块34接收到该重建指令后,重建模块34即会于该逻辑电路布局中加入一选择单元,以使得该选择单元能够耦接至该K个第二输入端、该2K个逻辑电路及该M个输出端。实际上,该选择单元可以是一多任务器,但不以此为限。除了加入该选择单元之外,重建模块34亦会于该2Κ个逻辑电路中的每一个逻辑电路中分别加入(N-K)个缓冲器(buffer),以使得该(N-K)个缓冲器能够耦接至该(N-K)个第一输入端。值得注意的是,于此实施例中,(N-K)的值系小于或等于12,但不以此为限。接下来,当合成模块36接收到控制模块30所传送过来的一合成指令后,合成模块36将会根据该合成指令将已经过重建模块34重建后的该逻辑电路布局由原本的缓存器传输级(RegisterTransferLevel,RTL)合成至逻辑栅极级(gatelevel)。关于合成后的逻辑电路布局的示意图,请参照图3(b)中的逻辑电路布局4。如图3(b)所示,于合成后的逻辑电路布局4中,每一个逻辑电路均可以根据该(N-K)个第一输入端所输入的(N-K)个存取信息进行数据的存取以产生M个数据讯号。至于该选择单元则可以根据该K个第二输入端所输入的K个选择讯号自该2K个逻辑电路中选择相对应的一逻辑电路并将该逻辑电路的该M个数据讯号输出至该M个输出端。值得注意的是,该合成指令并非一般的合成指令,而是经过修改后的「不接触(don'ttouch)合成指令」。请参照图4(a)至图4(c),图4(a)为一般的缓存器传输级程序代码(RTLcode)的一范例;图4(b)为修改后的缓存器传输级程序代码的一范例(K=5);图4(c)为修改后的「不接触合成指令」的程序代码叙述的一范例。图4(b)与图4(c)中的粗体字的部分即为主要加入的程序代码,藉以下达增加缓冲器及不接触的指令。实际上,修改后的程序代码的叙述方式不只一种,仍有其它不同的可能性,故并不以图4(a)至图4(c)所示为限。请参照图5,图5为图3(b)的合成后的逻辑电路布局4运作情形的示意图。如图5所示,于逻辑电路布局4中,N个输入端AtlAlri包含(N-K)个第一输入端Atl-An^以及K个第二输入端Arf-Alri。其中N为大于1的正整数,K为正整数。由于2K个逻辑电路中的每一个逻辑电路均加入了分别耦接至(N-K)个第一输入端AtlAn^的(N-K)个缓冲器,所以逻辑电路布局4所包含的缓冲器数目总共是(Ν-Κ)*2κ个。每一个逻辑电路均可以透过其(N-K)个缓冲器接收该(N-K)个第一输入端所输入的存取信息并根据存取信息进行数据的存取以产生M个数据讯号。于逻辑电路布局4中,由于该2Κ个逻辑电路中的每一个逻辑电路均包含M个逻辑电路输出端CltlClnrl,而这些输出端均耦接至一选择单元,并且该选择单元亦耦接至K个第二输入端An_kAlri,故该选择单元将会根据该K个第二输入端An_kAlri所输入的选择讯号自该2K个逻辑电路中选择相对应的一逻辑电路并接收该逻辑电路的M个逻辑电路输出端CltlClnri所输出的数据讯号。接着,该选择单元再将数据讯号传送至逻辑电路布局4的M个输出端DtlDlrft5于此实施例中,由于(N-K)的值小于或等于12,也就是说,逻辑电路布局4的第一输入端的数目被限制在小于或等于12的范围内。举例而言,若逻辑电路布局4的输入端的总数目N为15个,且其中第一输入端的数目(N-K)为10个,则作为输入选择讯号的第二输入端的数目K即为5个,亦即选择单元系用以接收5个第二输入端所输入的选择讯号。然而,假设输入端的总数目N为25个,且其中第一输入端的数目(N-K)为10个,则作为输入选择讯号的第二输入端的数目K将会是15个,亦即选择单元必须接收15个第二输入端所输入的选择讯号,这将会造成选择单元的负担过重。为了改善此一现象,本发明提出二阶(two-order)选择的方式。请参照图6及图7,图6及图7分别绘示透过不同的方式进行二阶(two-order)选择的示意图,其中图6系透过阶层式(hierarchical)的方式进行二阶选择的程序;图7则透过平板式(flattened)的方式进行二阶选择的程序。如图6所示,逻辑电路布局5包含有N个输入端,其中的(N-Ka-Kb)个输入端为第一输入端,另外的(Ka+Kb)个输入端则为第二输入端。N为大于2的正整数,Ka及Kb为正整数。逻辑电路布局5包含有2Kb个逻辑电路,而该2Kb个逻辑电路中的每一个逻辑电路又包含2Ka个子逻辑电路及一个第一选择器。在(Ka+Kb)个第二输入端之中,Ka个第二输入端系耦接至每一个逻辑电路的第一选择器,用以传输第一选择讯号至第一选择器;Kb个第二输入端系耦接至第二选择器,用以传输第二选择讯号至第二选择器。也就是说,第一选择器只需负责每一个逻辑电路中的2Ka个子逻辑电路的选择程序,而第二选择器亦仅需负责每一个第一选择器的选择程序即可。透过此一两阶层的运作模式,总共需要(2Kb+l)个选择器,然而,每个选择器的负担将会较原来只有一个选择器时来得小,除了可避免选择器负担过重,亦可提升其整体的工作效率。如图7所示,逻辑电路布局6包含有N个输入端,其中的(N-Ka-Kb)个输入端为第一输入端,另外的(Ka+Kb)个输入端则为第二输入端。N为大于2的正整数,Ka及Kb为正整数。逻辑电路布局6总共包含有2Ka+Kb个逻辑电路,而该2Ka+Kb个逻辑电路中的每2Ka个逻辑电路耦接至2Kb个第一选择器Hi1m2Kb中的一第一选择器。也就是说,每个第一选择器只需负责2Ka个逻辑电路的选择程序,而第二选择器亦仅需负责每一个第一选择器的选择程序即可。透过此一运作模式,总共亦需要(2Kb+l)个选择器,但可有效地减轻每个选择器的负担。根据本发明的第二具体实施例为一种防止壅塞配置方法。于此实施例中,该防止壅塞配置方法系应用于一逻辑电路布局中。该逻辑电路布局包含N个输入端、2K个逻辑电路及M个输出端,M与N均为大于1的正整数,K为正整数。实际上,该逻辑电路布局可包含查找表,但不以此为限。请参照图8,图8为该防止壅塞配置方法的流程图。如图8所示,首先,该方法执行步骤S10,检查该逻辑电路布局的阶层结构(hierarchyconfiguration)。接着,该方法执行步骤S11,分别于该2K个逻辑电路中的每一个逻辑电路中加入(N-K)个缓冲器。于此实施例中,该(N-K)个缓冲器系根据该N个输入端中的(N-K)个第一输入端所输入的(N-K)个存取信息进行数据的存取以产生M个数据讯号。一般而言,(N-K)的值系小于或等于12,但不以此为限。然后,该方法执行步骤S12,于该逻辑电路布局中加入一选择单元。实际上,该选择单元可以是一多任务器,但不以此为限。于此实施例中,该选择单元系用以根据该N个输入端中的K个第二输入端所输入的K个选择讯号自该2Κ个逻辑电路中选择相对应的一逻辑电路并将该逻辑电路的该M个数据讯号输出至该M个输出端。接着,该方法执行步骤S13,根据一不接触合成指令合成该逻辑电路布局。实际上,于步骤S13,该逻辑电路布局系由原本的缓存器传输级(RegisterTransferLevel,RTL)合成至逻辑栅极级(gatelevel)。值得注意的是,于合成后的该逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接、合并或化简,亦即每一个逻辑电路之间并不会有任何的关连性。最后,该方法执行步骤S14,透过自动布局绕线法实现合成后的该逻辑电路布局。至于防止壅塞配置方法的详细运作情形可参照前述第一具体实施例的相关说明及图示,在此不另行赘述。综上所述,根据本发明的防止壅塞配置装置及防止壅塞方法于缓存器传输级(RegisterTransferLevel,RTL)的阶段透过加入缓冲器及选择器的方式改变原本的逻辑电路布局,并透过不接触合成指令合成该逻辑电路布局,以确保合成后的逻辑电路布局中的每一个逻辑电路均能保持彼此独立而不会相互耦接或合并。藉此,于最后透过自动布局绕线法实现合成后的逻辑电路布局所得到的APR结果中,该逻辑电路布局中难以绕线的壅塞区域将会大幅减少。因此,根据本发明的防止壅塞配置装置及防止壅塞方法即可有效避免现有技术中逻辑电路布局难以通过设计规则检查的情形发生。藉由以上较佳具体实施例的详述,系希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明权利要求的范畴内。权利要求一种防止壅塞配置方法,应用于一逻辑电路布局中,该逻辑电路布局包含N个输入端、2K个逻辑电路及M个输出端,M与N均为大于1的正整数,K为正整数,其特征在于,该方法包含下列步骤(a)检查该逻辑电路布局的阶层结构;(b)分别于该2K个逻辑电路中的每一个逻辑电路内加入(N-K)个缓冲器;(c)于该逻辑电路布局中加入一选择单元;以及(d)根据一预设不接触合成指令合成该逻辑电路布局。2.如权利要求1所述的防止壅塞配置方法,其特征在于,该(N-K)个缓冲器系根据该N个输入端中的(N-K)个第一输入端所输入的(N-K)个存取信息进行数据的存取以产生M个数据讯号。3.如权利要求1所述的防止壅塞配置方法,其特征在于,该选择单元系用以根据该N个输入端中的K个第二输入端所输入的K个选择讯号自该2K个逻辑电路中选择相对应的一逻辑电路并将该逻辑电路的该M个数据讯号输出至该M个输出端。4.如权利要求1所述的防止壅塞配置方法,其特征在于,该选择单元为一多任务器。5.如权利要求1所述的防止壅塞配置方法,其特征在于,于合成后的该逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接、合并或化简。6.如权利要求1所述的防止壅塞配置方法,其特征在于,进一步包含下列步骤(e)透过自动布局绕线法实现合成后的该逻辑电路布局。7.如权利要求1所述的防止壅塞配置方法,其特征在于,(N-K)的值系小于或等于12。8.如权利要求1所述的防止壅塞配置方法,其特征在于,于步骤(d)中,该逻辑电路布局系由原本的缓存器传输级合成至逻辑栅极级。9.如权利要求1所述的防止壅塞配置方法,其特征在于,该逻辑电路布局包含一查找表。10.一种防止壅塞配置装置,应用于一逻辑电路布局,该逻辑电路布局包含(N-K)个第一输入端、K个第二输入端、2K个逻辑电路及M个输出端,M与N均为大于1的正整数,K为正整数,其特征在于该防止壅塞配置装置包含一重建模块,耦接至该逻辑电路布局,用以于该逻辑电路布局中加入一选择单元并于该2K个逻辑电路中的每一个逻辑电路内分别加入(N-K)个缓冲器,其中该选择单元系耦接至该K个第二输入端、该2K个逻辑电路及该M个输出端,该(N-K)个缓冲器系耦接至该(N-K)个第一输入端;以及一合成模块,耦接至该逻辑电路布局,该合成模块根据一预设不接触合成指令合成重建后的该逻辑电路布局。11.如权利要求10所述的防止壅塞配置装置,其特征在于,该选择单元为一多任务器。12.如权利要求10所述的防止壅塞配置装置,其特征在于,于合成后的该逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接、合并或化简。13.如权利要求10所述的防止壅塞配置装置,其特征在于,进一步包含一自动布局绕线模块,耦接至该逻辑电路布局,用以透过自动布局绕线法实现合成后的该逻辑电路布局。14.如权利要求10所述的防止壅塞配置装置,其特征在于,(N-K)的值系小于或等于12015.如权利要求10所述的防止壅塞配置装置,其特征在于,该合成模块系将合成后的该逻辑电路布局由原本的缓存器传输级合成至逻辑栅极级。16.如权利要求10所述的防止壅塞配置装置,其特征在于,该逻辑电路布局包含一查找表。17.如权利要求10所述的防止壅塞配置装置,其特征在于,该逻辑电路根据该(N-K)个第一输入端所输入的(N-K)个存取信息进行数据的存取以产生M个数据讯号。18.如权利要求17所述的防止壅塞配置装置,其特征在于,该选择单元根据该K个第二输入端所输入的K个选择讯号自该2K个逻辑电路中选择相对应的一逻辑电路并将该逻辑电路所输出的该M个数据讯号传送至该M个输出端。19.如权利要求10所述的防止壅塞配置装置,其特征在于,进一步包含一检查模块,用以检查该逻辑电路布局的阶层结构。20.如权利要求10所述的防止壅塞配置装置,其特征在于,该选择单元包含复数个第一选择器,耦接至该2K个逻辑电路,用以接收该2K个逻辑电路所输入的数据讯号;以及一第二选择器,耦接至该复数个第一选择器、该K个第二输入端及该M个输出端,用以根据该K个第二输入端所输入的K个选择讯号自该复数个第一选择器中选择相对应的一第一选择器并将该第一选择器所传送的数据讯号输出至该M个输出端。全文摘要本发明公开了一种防止壅塞配置方法及装置,可有效避免现有技术中逻辑电路布局无法通过设计规则检查的情形发生。防止壅塞配置装置,应用于包含2K个逻辑电路的一逻辑电路布局,其中K为正整数。该防止壅塞配置装置包含一重建模块及一合成模块。该重建模块于该逻辑电路布局中加入一选择单元,并于该2K个逻辑电路中的每一个逻辑电路中分别加入(N-K)个缓冲器,其中N为大于1的正整数。该合成模块根据一不接触合成指令合成重建后的逻辑电路布局。于合成后的逻辑电路布局中,该2K个逻辑电路中的每一个逻辑电路均保持彼此独立而不相互耦接或合并。文档编号H04L12/56GK101848136SQ20091013002公开日2010年9月29日申请日期2009年3月26日优先权日2009年3月26日发明者卢建邦,罗振兴申请人:晨星软件研发(深圳)有限公司;晨星半导体股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1