用于设计多路转换器的方法和设备的制作方法

文档序号:6477396阅读:217来源:国知局
专利名称:用于设计多路转换器的方法和设备的制作方法
技术领域
本发明主要涉及集成电路设计领域,并且更特别地,涉及通过机器实施的自动过
程进行集成电路设计,所述自动过程例如为从描述集成电路(例如使用电路的硬件描述语言进行描述)开始的综合过程。
背景技术
对于VLSI (超大规模集成电路)工艺级别的电路设计,设计者通常采用计算机辅助设计技术。已经开发了诸如硬件描述语言(HDL)的标准语言来辅助进行复杂电路(例如复杂的数字或模拟电路)的设计和模拟。若干种硬件设计语言,例如VHDL和Verilog,已经演进为工业标准。VHDL和Verilog是通用硬件描述语言,其允许使用抽象数据类型来在门级、寄存器传输级(RTL)或者行为级对硬件模型进行定义。随着器件工艺持续发展,已经开发了各种产品设计工具来使HDL适用于更新的器件和设计风格。 当使用HDL编译器设计电路时,设计者通常用HDL源代码来描述电路元件,并且然后编译源代码以生成合成RTL网表(netlist)。 RTL网表与电路元件的示意性表示(^presentation)相对应。包含合成电路元件的电路通常被优化以改进时序关系并去除不必要的或冗余的元件。这种优化通常包括替换电路中的不同门类型、或组合和去除电路中的门。可以在以下过程之前执行所述优化将诸如RTL网表的RTL描述映射到集成电路的特定预定体系结构,例如现场可编程门阵列(FPGA)的目标体系结构。本领域所公知的是,不同厂商的FPGA通常具有不同的体系结构,不同之处在于用于实施某个功能的特定集成电路内的电路在不同厂商之间可能并不相同。具有独特体系结构的FPGA厂商的示例包括Xilinx和Altera。在美国专利6, 438, 735、6, 449, 762以及6, 973, 632中描述了用于进行集成电路的计算机辅助设计的不同方法和系统,在此合并这些申请作为参考。
通常,期望在多于一个集成电路中实施设计,例如在多于一个FPGA集成电路中实施设计。这在设计比较复杂且庞大以至于不适于单个FPGA上的可用资源时通常是有必要的。这对于ASIC(专用集成电路)的设计者来说也是有用的。越来越多的ASIC设计者通常通过在若干个FPGA中实施设计来制作其设计的样品并测试其设计。ASIC设计的复杂度可以高到需要多个FPGA来实施该设计所需要的所有功能。这意味着设计者必须努力将其设计划分(partition)到多个FPGA中,并且现有技术中存在若干种工具和方法来实现这一过程。在美国专利6, 438, 735中描述了通过自动过程来进行划分的技术的一个示例,该专利还描述了用于将设计划分到多个FPGA上的其它现有技术。在RT组件级执行自动划分的软件工具的一个示例是来自加利福尼亚州森尼维耳市Synplicity股份有限公司的产品Certify (验证)。在工艺映射网表级执行自动划分的工具的一个示例是来自Auspy发展股份有限公司的Auspy划分系统II。 即使使用现有的用于划分的技术,也难以对能够具有极大宽度并且可能具有许多个输入(其中一个输入被选择以驱动多路转换器(multiplexer)的输出)的多路转换器(MUX)进行划分。多路转换器是公知的电路元件,而图IA中示出了多路转换器的一个示例。图1A示出了电路10,该电路10包括数据驱动器12和14,该驱动器12和14将时钟控制的 数据驱动到多路转换器20的输入16和18中。可以理解的是,可存在两个或多个到多路转 换器20的输入。例如,可以有20个输入,每个输入由数据驱动器驱动到多路转换器20中。 多路转换器20在其输出22处产生输出值,并且该输出值由选择线路24上出现的数据来 决定,该数据使得多路转换器选择所述输入中的一个输入以连接到所述多路转换器的输出 22。 对较大的多路转换器进行划分通常需要创建至少三个较小的多路转换器。这些较 小的多路转换器中的两个多路转换器用于各从两组不同的输入中选择一个输入(以产生 两个选定输入),并且然后由第三多路转换器在这两个选定输入之间进行选择。图1B和1C 示出了这种将较大的多路转换器分为三个较小的多路转换器的示例。 在图1B中示出了对于设计30的情况,多路转换器已经被分为位于两个不同的集 成电路32和34上的三个多路转换器40、42以及44。两个不同的集成电路上的多路转换 器被多线总线64和导线66耦合到一起。实际上,多路转换器40和44在到原始多路转换 器的两组不同的输入之间进行选择,由此提供两个输出,由多路转换器42在这两个输出之 间进行选择。所述多路转换器中的每个多路转换器受到选择逻辑或选择线路的控制,该选 择逻辑或选择线路使得选择的输入以本领域已知的方式连接到多路转换器的相应输出。选 择线路通常由本领域已知的译码逻辑驱动。如图1B所示,逻辑50和56提供到多路转换器 40的输入,而逻辑54通过总线62(其包括多条线路)提供到多路转换器44的输入。多路 转换器44还接收来自总线61(其包括多条线路)的另一输入。逻辑50通过总线60被耦 合到多路转换器40,而逻辑56通过总线64被耦合到多路转换器40。多路转换器40的输 出被耦合到多路转换器42的多个输入中的一个输入,而多路转换器44的输出被耦合作为 多路转换器42的另一输入,该多路转换器42在这两个输入之间选择以通过线路22驱动该 多路转换器42的输出,以驱动逻辑52。对于多路转换器40、42以及44中的每个多路转换 器,每个数据输入和每个数据输出均是总线(其包括多条线路),并且由多路转换器进行的 切换过程在输入总线之间进行切换。可以理解的是,图1B中示出的示例是多种逻辑元件和 多路转换器可以在两个或多个集成电路之间被布置或划分的多种不同方式中的一种方式。 但是,在每种情况中,驱动多路转换器42的输入必须相对于多路转换器42而被分组到一 起,以保持由划分后的多路转换器实施的逻辑。换句话说,驱动多路转换器42的输入不能 被用于驱动多路转换器40或44,而是必须被用于驱动树形(tree)驱动器中的最后一个多 路转换器,以维持划分后的多路转换器的正确的逻辑功能,从而提供与原始多路转换器相 同的逻辑复用。图1C示出了这种关系,其中省去了多个集成电路的复杂关系。特别地,输 入70和71必须被划分为用于多路转换器44。因此,例如用于所述输入70和71的驱动器 必须被划分为用于多路转换器44。这使得划分操作变得复杂。 如果在划分为芯片之前,在包含较大多路转换器的电路上执行逻辑合成,则所得 到的电路将根据由逻辑合成系统选择的多路转换器分解而对多路转换器的驱动器进行分 组。许多不同分解都是可行的较小的树形多路转换器、与_或分解以及使用FPGA专用组 件进行的专用分解。如果分解后的多路转换器在芯片之间被划分,则所选择的分解可能会 引起在划分之间使用过多的交叉连接。如果另一方面,在多路转换器被分解之前进行了划 分,则连接到多路转换器的所有信号必须在单个芯片中获得,这也会引起划分之间过多的
7交叉连接。 一个偏好的解决方案是将多路转换器组件分片为单个比特宽度的多路转换器。 这一偏好的解决方案在Certify中被实施。这并不有助于对具有较大数量输入的多路转换 器进行划分,并且对于将在片段之间被共享的多路转换器来说,还将产生对多路转换器的 译码逻辑难以划分的问题。需要一种同时用于多路转换器分解和划分的解决方案。

发明内容
本发明公开了用于设计集成电路的方法和设备。根据本发明的一个方面,用于设 计集成电路的一种示例方法包括接收第一多路转换器的表示;将所述第一多路转换器的表 示转换为所述第一多路转换器的划分中枢(neutral)表示;以及对所述第一多路转换器 的划分中枢表示进行划分以创建多个第二多路转换器。在一个实施方式的一种实施中,所 述多个第二多路转换器包括第一子集的多路转换器和第二子集的多路转换器,其中所述第 一子集的多路转换器被设计为被放置在第一集成电路(IC)上,而所述第二子集的多路转 换器被设计为被放置在第二 IC上,并且其中所述第一子集包括一个或多个多路转换器,而 其中所述第二子集包括一个或多个多路转换器。在其它实施中,所述多个第二多路转换器 包括第一子集的多路转换器和第二子集的多路转换器,所述第一子集的多路转换器被设计 为被放置在集成电路(IC)的第一部分上,而所述第二子集的多路转换器被设计为被放置 在所述IC的第二部分上。所述第一多路转换器的表示可以是以寄存器传输级(RTL)网表 内的RTL形式,并且其中所述转换由机器自动地执行而不需要人工干预。在至少一些实施 方式中,所述划分中枢表示可以包括下述中的一者或多者(a)多个三态驱动器;(b)有线 0R(或)阵列;或者(c)有线AND(与)阵列。在至少一些实施方式中,所述方法还可以包括 对集成电路的HDL描述进行编译以创建所述第一多路转换器的表示,并且所述方法还可以 包括复制所述第一多路转换器的译码逻辑以提供用于所述第二多路转换器的选择线路。
根据本发明的另一方面,一种示例方法包括接收具有输出的第一多路转换器的表 示;将所述第一多路转换器的表示分解为多个第二多路转换器的表示,其中所述第二多路 转换器被一起耦合到公共输出,该公共输出与所述第一多路转换器的输出相匹配,且不存 在任何中间多路转换器介于所述第二多路转换器与所述公共输出之间;以及将所述第二多 路转换器在至少一个集成电路的部分之间进行划分。在至少一些实施方式中,所述多个第 二多路转换器的表示是所述第一多路转换器的划分中枢形式。所述划分可以在多个集成电 路之间或者在同一集成电路的不同部分(例如,平面布置部分)之间进行。在至少一些实 施方式中,所述第一多路转换器的表示可以是以RTL网表内的寄存器传输级形式,并且其 中所述分解可以被自动地执行而不需要人工干预。在至少一些实施方式中,所述多个第二 多路转换器的表示可以是以下述中的一者或多者的形式(a)多个三态驱动器;(b)有线OR 阵列;或者(c)有线AND阵列。虽然本发明的一些实施方式是相对于多路转换器进行描述 的,但是也可以将其应用于允许划分中枢分解的任何组件。例如,N-输入加法器可以被表示 为由导线组成的抽象总线,该总线将其驱动器的值相加。在进行划分之前,N-输入加法器将 被分解为这种总线,其中N大于2。在进行划分之后,如果所述加法器的若干个输入在同一 划分中,则这些输入被变换到M-输入RTL加法器,其中M是该划分中的原始加法器输入的 数量。可以通过将所估计出的加法器的区域分配给其驱动器来获得对用于划分的区域的较 好逼近。划分软件将需要较小改变,以将目的划分处的输入数考虑在内,因为目的划分将具有与源划分的输出计数的总数相等的输入数,因此将在该目的划分处进行最终的汇总。由
于使用多路转换器的划分,同时进行的分解和划分解决方案可以大大减少导线数。 本发明还公开了诸如能够根据本发明的一个或多个实施方式来设计集成电路的
数字处理系统的设备。本发明还公开了诸如计算机可读媒介或机器可读媒介的设备,所述
计算机可读媒介或机器可读媒介可以用于根据这里描述的方法通过使得诸如数据处理系
统的机器执行这里描述的一种或多种方法来设计集成电路。 通过附图和以下详细描述,将会清楚本发明的其它特征。


本发明通过示例来说明,并且不限于附图中的图示,其中相同的参考标记指示类 似的元件。
图1A示出了包括多路转换器的电路的一个示例; 图IB示出了通过将单个多路转换器划分为若干个多路转换器而得到的一组多路 转换器的布置的一个示例; 图IC示出了通过将一个多路转换器划分为若干个多路转换器而得到的一组多路 转换器的另一个示例; 图2A示出了根据本发明的一个实施方式在被划分之前的多路转换器的一个示 例; 图2B示出了根据本发明的一个实施方式的多路转换器的划分中枢形式的一个示 例; 图2C示出了对图2B中示出的划分中枢多路转换器进行划分的结果的一个示例,
其中图2C所示的划分是在两个集成电路上进行的,在可替换实施方式中,所述划分可以在
同一集成电路的部分(例如同一集成电路的平面布置部分)上进行; 图3是示出了根据本发明的一个实施方式的一种方法的一个示例的流程图; 图4示出了根据本发明的一个实施方式的机器可读介质的一个示例;以及 图5是可以用于实施本发明的一个或多个实施方式的数据处理系统的框图示例。
具体实施例方式
这里描述用于设计一个集成电路或多个集成电路的方法和设备。在以下描述中, 出于解释说明的目的,提出了许多具体细节以提供本发明的全面理解。但是,对于本领域技 术人员来说,显然本发明可以在缺少这些特定细节的情况下实现。在其它示例中,公知的结 构、过程以及装置以框图的形式示出,并且以概括的方式提及,从而在缺少过多细节的情况 下提供解释。 现在参考图2A、图2B以及图2C,提供本发明的一些实施方式的主要示例。虽然 本发明的实施方式要用于HDL设计合成软件中,但是本发明不必被限制为这些用途。虽然 使用其它语言和计算机程序是可行的,但是本发明的实施方式将以使用HDL合成系统(并 且更特别地,那些设计用于具有厂商特定技术/体系结构(例如FPGA的厂商的特定体系结 构)的集成电路的系统)为背景而进行描述。但是,可以理解的是,本发明的一些实施方式 还可以采用其它类型的集成电路,例如ASIC。
图2A示出了具有四个输入202、并提供一个输出203的多路转换器201。在工作时,多路转换器201选择所述四个输入中的一个输入作为用于驱动输出203的输入。特定输入的选择受到选择线路204的控制,该选择线路204通常由本领域已知的译码逻辑驱动。根据本发明的至少一些实施方式,多路转换器201可以从其作为单个多路转换器的初始表示被转换或分解为所述多路转换器的划分中枢表示,从而提供比多路转换器的原始表示更容易被划分的表示。 图2B示出了原始多路转换器201的划分中枢表示的一个示例。该特定划分中枢表示通过将三态驱动器的输出一起耦合到公共输出处而被形成,以提供原始多路转换器的输出203。三态驱动器中的每个驱动器接收原始的四个输入202中的一个输入,并且所述三态驱动器中的每个驱动器包括被耦合到相应译码逻辑的启动(enable)输入。相应的译码逻辑被轮流耦合到原始选择线路204中的所有选择线路或其子集。如图2B所示,三态驱动器217接收00输入,并且通过三态驱动器217的启动输入被耦合到译码逻辑225。类似地,三态驱动器215接收输入01,并且通过三态驱动器215的启动输入被耦合到译码逻辑227。三态驱动器213被耦合以接收10输入,并且通过三态驱动器213的启动输入被耦合到译码逻辑229,而三态驱动器211被耦合到输入11,并且还通过三态驱动器211的启动输入被耦合到译码逻辑231。这些三态驱动器中的全部四个驱动器的输出被耦合到一起以提供输出203。 每个三态驱动器的译码逻辑被实施为使得所述三态驱动器中的仅一个三态驱动器将驱动所述输出,而其它三态驱动器将被他们的耦合到相应译码逻辑的启动输入设定为高阻抗状态。例如,如果选择线路指定OO输入将被选择以通过多路转换器输出,则译码逻辑225将使三态驱动器217被设定为使得三态驱动器217的输入驱动其输出,并且由此驱动输出203,这是因为所有其它三态驱动器215、213以及211将其启动输入设定为使得其输出处于高阻抗状态。例如,译码逻辑227使三态驱动器215的启动输入将三态驱动器215的输出设定为其高阻抗状态。类似地,译码逻辑229和译码逻辑231分别使三态驱动器213和211处于类似的状态。这使得来自三态驱动器217的输出能够驱动输出203。
使用这种划分中枢设计,自动设计系统不需要担心输入与多路转换器的特定部分之间的匹配。如现有技术那样,译码逻辑必须继续将其正在译码的输入考虑在内,而这与现有技术并无不同。这种划分中枢表示,例如如图2B所示的形式,可以被分解为分散在不同集成电路之间、或者甚至如图2C所示的相同集成电路的不同部分的若干个多路转换器。可以看出,这些分散的多路转换器的输出被一起耦合到公共输出,该公共输出与原始多路转换器的输出相匹配,而且不存在任何中间多路转换器介于在被划分的多路转换器与所述公共输出之间。换句话说,不存在在第一级多路转换器的输出与树形多路转换器的最后一个输出之间介入多路转换器的树形多路转换器。这也可以通过将类似于树的图1C所示的多路转换器的集合与现在将描述的图2C所示的多路转换器的集合进行比较而得出。
图2C示出了将图2B所示的多路转换器的划分中枢表示在两个集成电路251和253之间进行划分的示例。三态驱动器217和215已经与其相应的译码逻辑一起被放置在集成电路251上,并且被集成电路251上的逻辑261驱动。同时,三态驱动器213和211已经与其相应的译码逻辑一起被放置在集成电路253上,该集成电路253具有逻辑263,该逻辑263提供用于三态驱动器213和211的输入。这些三态驱动器中的所有四个三态驱动器
10的输出被一起耦合到所述两个集成电路外侧的印刷电路板(或其它基底)上的导线上,该
导线将所述两个集成电路耦合以提供输出203。取决于设计,该输出可以依次返回到一个或
多个集成电路,以驱动其他逻辑。可以理解的是,在至少一些实施方式中,通常处于集成电
路的边界处的三态驱动器,例如驱动集成电路上的焊接点的三态驱动器,可以用于实施多
路转换器的划分中枢表示。特别地,如果各种集成电路上存在足够的输入/输出管脚可用
于这种用途,则集成电路边界处的三态驱动器可以用于形成划分中枢表示。 可以理解的是,存在可以使用有线OR阵列或有线AND阵列的可替换划分中枢表示
来实施多路转换器的划分中枢表示。 多路转换器的译码逻辑可以被扩展以包括为多路转换器的控制线路提供信号的逻辑。这尤其有利于在比直接连接到多路转换器的控制线路的多个信号更窄的信号切断(cut)通过先前的逻辑时、或者在新的切断可以被其它多路转换器共享时的情况。然后每个输入均被这一新的、可能更窄的或者共享程度更高的切断的布尔函数启动。当创建了多路转换器的划分中枢分解形式时,所述分解的每个片段都将连接到所需控制信号,并且承载布尔函数。在大多数情况下,将控制或译码逻辑复制到多个划分中的区域开销将远不如通过减少必须在划分之间传送的控制信号的数量而实现划分之间的交叉连接的节省重要。
图3示出了根据本发明的一个实施方式的方法的一个示例。在操作301中,创建电路设计的表示。例如,可以通过将电路设计的HDL描述编译为包括至少一个多路转换器的RTL网表来创建所述表示。在操作303中,可以将多路转换器转换为多路转换器的划分中枢形式。例如,可以将所述多路转换器从其RTL形式转换为使用三态驱动器来创建具有划分中枢形式的多路转换器的形式。可选地,可以使用集成电路边界处的三态驱动器来实施这一形式。在其它实施方式中,可以使用有线OR阵列或有线AND阵列来实施多路转换器的划分中枢形式。在操作305中,将多路转换器的划分中枢形式划分为若干个多路转换器,以使得该若干个多路转换器可以被放置在不同集成电路上或者同一集成电路上的不同部分中,例如同一集成电路上的不同平面布置区域。然后在操作307中,可以将译码逻辑复制以用于划分后的逻辑。在操作307之后,可以执行电路的放置和布线(route),以及其它操作,例如优化操作以及包括将RTL映射到工艺相关(d印endent)的体系结构的操作,所述体系结构例如为集成电路(例如现场可编程门阵列集成电路)的目标体系结构。
图4示出了可用于实施本发明的一种或多种方法的机器可读介质或计算机可读介质的一个示例。例如,机器可读介质可以包括可执行计算机程序指令,当由数据处理系统执行该计算机程序指令时,其使得数据处理系统执行这里描述的一种或多种方法。机器或计算机可读介质可以被布置在CD-R0M或DVD-ROM或磁性硬盘或其它盘或者存储装置上。所述介质可以包括多个组件以及图4的介质400中未示出的其它组件。在图4所示的示例中,用于设计的HDL资源描述如标记401所示。HDL编译器403包括可执行程序指令,该可执行程序指令将HDL资源编译为例如工艺无关的RTL网表405。划分程序407可以用于划分所述工艺无关的RTL网表,从而所述设计的不同组件被划分在多个集成电路上。所述划分程序可以包括或调用划分中枢转换程序409,其可以实施例如图3所示的方法以创建多路转换器的划分中枢形式,并且然后将所述形式划分为多个集成电路或者同一集成电路的多个部分(例如同一集成电路的多个平面布置部分)上的若干个多路转换器。介质400还可以包括工艺映射程序413,其将来自已经被划分的工艺无关的RTL网表的划分后的设计
11映射到工艺相关的网表,然后该工艺相关的网表还可以通过常规放置或布线工具被处理以创建最终的网表、或者用于特定集成电路厂商的目标体系结构的设计,所述目标体系结构例如为Xilinx的FPGA的目标体系结构。介质400还可以包括优化程序411,可以在所述网表已经被划分之后或者在该网表被划分之前利用所述最优程序411来优化所述设计。
图5示出了可以使用介质400来执行这里描述的一种或多种方法的数据处理系统的一个示例。数据处理系统500包括一个或多个处理器501,所述一个或多个处理器501通过总线507被耦合到存储器503。处理器501和存储器503还被耦合到海量存储装置505,该海量存储装置505可以代表硬盘或其它非易失性或易失性存储装置。在一个实施方式中,所述海量存储装置可以是包括图4所示的介质400的磁性硬盘。所述数据处理系统还包括显示装置509、一个或多个输入装置511(包括例如键盘、光标控制装置)以及诸如以太网接口或无线接口的网络接口 。可以理解的是,图5所示的数据处理装置的体系结构仅被提供用作说明的目的,并且结合本发明使用的计算机系统或其它数据处理系统并不限于这种特定体系结构。 在前述说明书中,已经参考本发明的特定示例性实施方式对本发明进行了描述。显然可以对本发明进行不偏离所附权利要求书所提出的本发明的较宽的实质和范围的各种修改。因此,说明书和附图被认为是说明性的理解而不是限制性的理解。
权利要求
一种包含可执行程序指令的机器可读介质,当所述可执行程序指令被执行时会使得数据处理系统执行包括以下步骤的方法接收第一多路转换器的表示;将所述第一多路转换器的表示转换为所述第一多路转换器的划分中枢表示;对所述第一多路转换器的划分中枢表示进行划分以创建多个第二多路转换器。
2. 根据权利要求1所述的介质,其中所述多个第二多路转换器包括第一子集的多路转 换器和第二子集的多路转换器,所述第一子集的多路转换器被设计为被放置在第一集成电 路(IC)上,而所述第二子集的多路转换器被设计为被放置在第二IC上,并且其中所述第一 子集包括一个或多个多路转换器,而其中所述第二子集包括一个或多个多路转换器。
3. 根据权利要求1所述的介质,其中所述多个第二多路转换器包括第一子集的多路 转换器和第二子集的多路转换器,所述第一子集的多路转换器被设计为被放置在集成电路 (IC)的第一部分上,而所述第二子集的多路转换器被设计为被放置在所述IC的第二部分 上,并且其中所述第一子集包括一个或多个多路转换器,而其中所述第二子集包括一个或 多个多路转换器。
4. 根据权利要求1所述的介质,其中所述第一多路转换器的表示是以寄存器传输级 (RTL)网表内的RTL形式,并且其中所述转换被自动地执行。
5. 根据权利要求l所述的介质,其中所述划分中枢表示包括以下一者(a)多个三态驱 动器;(b)有线OR阵列;或者(c)有线AND阵列。
6. 根据权利要求1所述的介质,其中所述方法还包括对集成电路的硬件描述语言 (HDL)描述进行编译,以创建所述第一多路转换器的表示。
7. 根据权利要求6所述的介质,其中所述方法还包括复制所述第一多路转换器的译 码逻辑。
8. —种机器实施的方法,该方法包括 接收第一多路转换器的表示;将所述第一多路转换器的表示转换为所述第一多路转换器的划分中枢表示; 对所述第一多路转换器的划分中枢表示进行划分以创建多个第二多路转换器。
9. 根据权利要求8所述的方法,其中所述多个第二多路转换器包括第一子集的多路转 换器和第二子集的多路转换器,所述第一子集的多路转换器被设计为被放置在第一集成电 路(IC)上,而所述第二子集的多路转换器被设计为被放置在第二IC上,并且其中所述第一 子集包括一个或多个多路转换器,而其中所述第二子集包括一个或多个多路转换器。
10. 根据权利要求8所述的方法,其中所述多个第二多路转换器包括第一子集的多路 转换器和第二子集的多路转换器,所述第一子集的多路转换器被设计为被放置在集成电路 (IC)的第一部分上,而所述第二子集的多路转换器被设计为被放置在所述IC的第二部分 上,并且其中所述第一子集包括一个或多个多路转换器,而其中所述第二子集包括一个或 多个多路转换器。
11. 根据权利要求8所述的方法,其中所述第一多路转换器的表示是以寄存器传输级 (RTL)网表内的RTL形式,并且其中所述转换被自动地执行。
12. 根据权利要求8所述的方法,其中所述划分中枢表示包括以下一者(a)多个三态 驱动器;(b)有线OR阵列;或者(c)有线AND阵列。
13. 根据权利要求8所述的方法,其中该方法还包括对集成电路的硬件描述语言(HDL)描述进行编译,以创建所述第一多路转换器的表示。
14. 根据权利要求13所述的方法,其中该方法还包括复制所述第一多路转换器的译 码逻辑。
15. —种机器,该机器包括 用于接收第一多路转换器的表示的装置;用于将所述第一多路转换器的表示转换为所述第一多路转换器的划分中枢表示的装置;用于对所述第一多路转换器的划分中枢表示进行划分以创建多个第二多路转换器的 装置。
16. —种包含可执行程序指令的机器可读介质,当所述可执行程序指令被执行时会使 得数据处理系统执行包括以下步骤的方法接收具有输出的第一多路转换器的表示;将所述第一多路转换器的表示分解为多个第二多路转换器的表示,其中所述第二多路 转换器被一起耦合到公共输出,该公共输出与所述第一多路转换器的输出相匹配,且不存 在任何中间多路转换器介于所述第二多路转换器与所述公共输出之间;将所述第二多路转换器在至少一个集成电路的部分之间进行划分。
17. 根据权利要求16所述的介质,其中所述多个第二多路转换器的表示是所述第一多 路转换器的划分中枢形式。
18. 根据权利要求16所述的介质,其中所述第二多路转换器包括第一子集的多路转换 器和第二子集的多路转换器,所述第一子集的多路转换器被划分为被放置在第一集成电路 (IC)上,而所述第二子集的多路转换器被划分为被放置在第二 IC上,并且其中所述第一子 集包括一个或多个多路转换器,而其中所述第二子集包括一个或多个多路转换器。
19. 根据权利要求16所述的介质,其中所述第二多路转换器包括第一子集的多路转换 器和第二子集的多路转换器,所述第一子集的多路转换器被划分为被放置在集成电路(IC) 的第一部分上,而所述第二子集的多路转换器被划分为被放置在所述IC的第二部分上,并 且其中所述第一子集包括一个或多个多路转换器,而其中所述第二子集包括一个或多个多 路转换器。
20. 根据权利要求16所述的介质,其中所述第一多路转换器的表示是以寄存器传输级 (RTL)网表内的RTL形式,并且其中所述分解被自动地执行。
21. 根据权利要求16所述的介质,其中所述多个第二多路转换器的表示是以下述中的 一者的形式(a)多个三态驱动器;(b)有线0R阵列;或者(c)有线AND阵列。
22. 根据权利要求16所述的介质,其中所述方法还包括对集成电路的硬件描述语言 (HDL)描述进行编译,以创建所述第一多路转换器的表示。
23. 根据权利要求22所述的介质,其中所述方法还包括复制所述第一多路转换器的 译码逻辑。
24. —种机器实施的方法,该方法包括 接收具有输出的第一多路转换器的表示;将所述第一多路转换器的表示分解为多个第二多路转换器的表示,其中所述第二多路转换器被一起耦合到公共输出,该公共输出与所述第一多路转换器的输出相匹配,且不存 在任何中间多路转换器介于所述第二多路转换器与所述公共输出之间; 将所述第二多路转换器在至少一个集成电路的部分之间进行划分。
25. 根据权利要求24所述的方法,其中所述多个第二多路转换器的表示是所述第一多 路转换器的划分中枢形式。
26. 根据权利要求24所述的方法,其中所述第二多路转换器包括第一子集的多路转换 器和第二子集的多路转换器,所述第一子集的多路转换器被划分为被放置在第一集成电路 (IC)上,而所述第二子集的多路转换器被划分为被放置在第二 IC上,并且其中所述第一子 集包括一个或多个多路转换器,而其中所述第二子集包括一个或多个多路转换器。
27. 根据权利要求24所述的方法,其中所述第二多路转换器包括第一子集的多路转换 器和第二子集的多路转换器,所述第一子集的多路转换器被划分为被放置在集成电路(IC) 的第一部分上,而所述第二子集的多路转换器被划分为被放置在所述IC的第二部分上,并 且其中所述第一子集包括一个或多个多路转换器,且所述第二子集包括一个或多个多路转 换器。
28. 根据权利要求24所述的方法,其中所述第一多路转换器的表示是以寄存器传输级 (RTL)网表内的RTL形式,并且其中所述分解被自动地执行。
29. 根据权利要求24所述的方法,其中所述多个第二多路转换器的表示是以下述中的 一者的形式(a)多个三态驱动器;(b)有线OR阵列;或者(c)有线AND阵列。
30. 根据权利要求24所述的方法,其中该方法还包括对集成电路的硬件描述语言 (HDL)描述进行编译,以创建所述第一多路转换器的表示。
31. 根据权利要求30所述的方法,其中该方法还包括复制所述第一多路转换器的译 码逻辑。
32. —种机器,该机器包括用于接收具有输出的第一多路转换器的表示的装置;用于将所述第一多路转换器的表示分解为多个第二多路转换器的表示的装置,其中所 述第二多路转换器被一起耦合到公共输出,该公共输出与所述第一多路转换器的输出相匹 配,且不存在任何中间多路转换器介于所述第二多路转换器与所述公共输出之间;用于将所述第二多路转换器在至少一个集成电路的部分之间进行划分的装置。
33. —种包含可执行程序指令的机器可读介质,当所述程序指令被执行时会使得数据 处理系统执行包括以下步骤的方法接收能够进行划分中枢分解的第一逻辑组件的表示; 将所述第一逻辑组件的表示转换为划分中枢表示;对所述划分中枢表示进行划分以创建多个逻辑组件,所述多个逻辑组件一起提供所述 第一逻辑组件的输出结果。
34. 根据权利要求33所述的介质,其中所述第一逻辑组件是N-输入加法器。
35. 根据权利要求34所述的介质,其中所述转换将所述N-输入加法器表示为具有一组 导线的总线。
36. 根据权利要求l所述的介质,所述方法还包括扩展所述第一多路转换器的译码逻辑以将驱动所述第一多路转换器的选择线路的逻辑包括在内。
37. 根据权利要求36所述的方法,其中所述扩展在所述转换之前进行,并且其中所述扩展包括用于定义将被复制的控制逻辑的信号切断。
38. 根据权利要求8所述的方法,该方法还包括扩展所述第一多路转换器的译码逻辑以将驱动所述第一多路转换器的选择线路的逻辑包括在内。
39. 根据权利要求38所述的方法,其中所述扩展在所述转换之前进行,并且其中所述扩展包括用于定义将被复制的控制逻辑的信号切断。
40. 根据权利要求1所述的介质,所述方法还包括将每个划分内的划分中枢表示转换为RTL(寄存器传输级)组件。
41. 根据权利要求8所述的方法,该方法还包括将每个划分内的划分中枢表示转换为RTL(寄存器传输级)组件。
全文摘要
公开了用于在一个或多个集成电路中设计多路转换器的方法和设备。一种示例方法包括接收第一多路转换器的表示;将所述第一多路转换器的表示转换为所述第一多路转换器的划分中枢表示;以及对所述第一多路转换器的划分中枢表示进行划分以创建多个第二多路转换器。另一种示例方法包括将第一多路转换器的表示分解为多个第二多路转换器的表示,所述第二多路转换器被一起耦合到公共输出,且不存在任何中间多路转换器介于所述第二多路转换器与所述公共输出之间;以及将所述第二多路转换器在至少一个集成电路的部分之间进行划分。
文档编号G06F17/50GK101790730SQ200880018126
公开日2010年7月28日 申请日期2008年5月30日 优先权日2007年5月31日
发明者K·S·麦克尔文 申请人:新思公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1