用于灵活电子接口的装置和关联方法与流程

文档序号:16662101发布日期:2019-01-18 23:01阅读:130来源:国知局
用于灵活电子接口的装置和关联方法与流程

公开的概念主要地涉及电子电路,并且更具体地涉及用于灵活或者通用电子接口电路的装置和关联方法。



背景技术:

电子学的发展已经允许增加的集成水平。用于制作ic的技术已经对那些发展做出贡献并且已经提供用于向ic中集成相对大量电路和功能的手段。因而如今的ic可以包含数以亿计的晶体管。尽管晶体管数目大,电子设备或者电路的所需功能有时需要使用多个ic的电路。为了便于实施这样的功能,有时使用并且相互耦合两个或者更多半导体裸片。



技术实现要素:

根据公开的广泛多种实施例可以用来提供用于灵活电子接口的装置和方法。在一个示例实施例中,一种半导体裸片包括一个或者多个灵活接口块。灵活接口块包括至少一个互连、至少一个缓冲器、布线接口和控制器。至少一个缓冲器耦合到至少一个互连。布线接口耦合到半导体裸片中集成的电路。耦合控制器以便提供在布线接口与至少一个缓冲器之间的通信。

在另一示例实施例中,一种装置包括第一半导体裸片,第一半导体裸片包括第一接口电路和耦合到第一接口电路的第一电路。该装置也包括第二半导体裸片,第二半导体裸片包括第二电路,其中第二半导体裸片耦合到第一接口电路。第一接口电路提供在第一与第二电路之间的可定制接口。

在又一示例实施例中,提供一种用于使用第一半导体裸片中集成的可编程逻辑器件(pld)并且使用第二半导体裸片中集成的电路对电子设计的实施进行建模的方法。使用计算机来实施该方法。该方法包括通过将电路表示为耦合到电路的pld的灵活接口块来使用计算机对该实施建模。

附图说明

附图仅图示示例实施例、因此不应视为限制它的范围。本领域普通技术人员理解公开的概念本身应用于其它同等有效的实施例。在附图中,在多于一幅图中使用的相同标号表示相同、相似或者等效功能、部件或者块。

图1图示了根据一个示例实施例的使用灵活接口电路的半导体裸片布置。

图2描绘了根据另一示例实施例的使用灵活接口电路的半导体裸片布置。

图3示出了用于通过使用一个或者多个灵活接口块将半导体裸片中的电路耦合在一起的、根据一个示例实施例的电路布置。

图4描绘了根据一个示例实施例的灵活接口块的框图。

图5图示了根据一个示例实施例的灵活接口块的更多细节。

图6描绘了根据一个示例实施例的半导体裸片中的灵活接口块布置。

图7图示了根据另一示例实施例的半导体裸片中的灵活接口块布置。

图8示出了根据一个示例实施例的半导体裸片中的灵活接口块分组。

图9图示了包括一个或者多个灵活接口块的可编程逻辑器件(pld)的一般框图。

图10描绘了根据一个示例实施例的包括可编程资源和灵活接口块的pld的框图。

图11描绘了根据另一示例实施例的包括可编程资源和灵活接口块的pld的框图。

图12图示了根据一个示例实施例的pld计算机辅助设计(cad)软件或者流程的各种模块的框图。

图13描绘了根据一个示例实施例的用于处理信息、比如cad流程的系统的框图。

具体实施方式

公开的概念提供用于灵活(或者通用)电子接口电路的装置和有关技术。更具体而言,灵活接口电路提供用于耦合两个或者更多半导体裸片的机制。灵活接口电路可以使用于各种配置中并且可以提供在半导体裸片之间的高效和快速接口。

在一些实例中,竖直布置两个或者更多半导体裸片。例如一个半导体裸片可以定位或者堆叠于另一半导体裸片之上。附加半导体裸片可以定位或者堆叠这一结构之上。如下文具体描述的那样,灵活接口电路可以用来将半导体裸片中的两个或者更多半导体裸片耦合在一起。

图1图示了根据一个示例实施例的使用灵活接口电路的半导体裸片布置。所示示例布置包括堆叠或者定位于衬底或者基部14之上的标注为5a和5b的两个半导体裸片。如本领域普通技术人员理解的那样,可以使用并且竖直堆叠其它数目的半导体裸片而不是两个半导体裸片。互连16(例如焊料球或者凸点)提供用于将衬底14耦合到另一介质、比如印刷电路板(未示出)的方式。

裸片5a包括至少一个灵活接口电路或者块10a。灵活接口块10a耦合到裸片5a中集成的电路。裸片5a中的电路可以具有各种形式并且提供各种所需或者指定功能。例如裸片5a中的电路可以包括数字电路(门、锁存器、触发器、寄存器、有限状态机等)、模拟电路(放大器、加法器、电流和电压源等)、混合信号电路(模数转换器(adc)、数模转换器(dac)等)和/或分立部件(晶体管、电阻器、电容器、电感器)。

类似地,裸片5b包括至少一个灵活接口电路或者块10b。裸片5b中的电路可以具有各种形式并且提供各种所需或者指定功能。例如裸片5b中的电路可以包括数字电路(门、锁存器、触发器、寄存器、有限状态机等)、模拟电路(放大器、加法器、电流和电压源等)、混合信号电路(模数转换器(adc)、数模转换器(dac)等)和/或分立部件(晶体管、电阻器、电容器、电感器)。

灵活接口块10a经由耦合机制或者互连12(例如焊料凸点、焊料球、微凸点等)耦合到灵活接口块10b。互连12可以如希望的那样包括信号和功率线路。除了提供在裸片5a与裸片5b之间的电耦合机制之外,互连12也提供在裸片5a与裸片5b之间的物理耦合。换而言之,互连12单独或者与其它结构(未示出)结合提供用于裸片5a的物理支撑。

如上文所言,灵活接口块10a耦合到裸片5a中集成的电路,并且灵活接口块10b耦合到裸片5b中集成的电路。由于灵活接口块10a耦合到灵活接口块10b,所以灵活接口块10a-10b提供用于将裸片5a中集成的电路耦合到裸片5b中集成的电路的机制。

如本领域普通技术人员理解的那样,图1中所示布置图示了仅一个实施例,并且广泛多种其它实施例是可能的并且能对这些实施例进行设想。例子包括三维(3d)、2.5d、面对面裸片绑定(bonding)、面对背裸片绑定、使用一个或者多个裸片中的硅通路(tsv)的裸片绑定等。

图2描绘了根据另一示例实施例的使用灵活接口电路的半导体裸片布置。与图1中的布置相似,图2的半导体裸片布置包括裸片5a-5b、灵活接口块10a-10b、互连12和互连16。然而在图2中的布置中,并排或者水平定位而不是关于彼此竖直堆叠裸片5a和5b。

另外,图2中的布置包括插入体18、插入体18定位于裸片5a和裸片5b之下。换而言之,裸片5a和5b定位于插入体18之上或者关于插入体18竖直堆叠。插入体18经由互连12耦合到灵活接口块10a-10b。更具体而言,插入体18可以包括将灵活接口块10a耦合到灵活接口块10b的多种耦合机制。例如,如本领域普通技术人员理解的那样,插入体18的耦合机制可以包括用于将裸片5a和5b相互耦合(经由灵活接口块10a-10b)、将裸片5a和5b耦合到与插入体18耦合的电路(经由互连16)等的一个或者多个导体迹线19a和一个或者多个tsv19b。因而插入体18提供从灵活接口块10a到灵活接口块10b、从灵活接口块10b到灵活接口块10a或者二者的用于电信号的路径。因此经由插入体18,灵活接口块10a和灵活接口块10b提供用于裸片5a中的电路与裸片5b中的电路通信的机制。

所公开的灵活接口块提供用于两个或者更多裸片传达所需数目的信息和功率信号的机制。图3示出了用于通过使用一个或者多个灵活接口块将半导体裸片中的电路耦合在一起的根据一个示例实施例的电路布置。

具体而言,裸片5a包括一个或者多个灵活接口块10a。类似地,裸片5b包括一个或者多个灵活接口块10b。灵活接口块10a经由互连12耦合到灵活接口块10b。在示例实施例中,灵活接口块10可以具有所需数目的数据路径(如互连12举例所示)。通过使用一个或者多个灵活接口块10a和10b,可以提供在半导体裸片5a与5b之间的所需数目的信息和功率路径。

作为例子,假设灵活接口块10a和10b中的每个灵活接口块包括50个数据/功率路径(如互连12举例所示、即在这一例子中为50个耦合机制)。还假设希望有在裸片5a与裸片5b之间的200个数据/功率路径,将具有裸片5a中的四个灵活接口块10a和裸片5b中的四个灵活接口块10b。一般而言,如本领域普通技术人员理解的那样,描述的布置可以适应用于在裸片5a与裸片5b中的数据/功率路径数目的多种设计和规格。因此,灵活接口块10a-10b提供用于将裸片5a的电路中的所需数目的数据/功率线耦合到裸片5b中的电路的对应数据/功率线路的可伸缩和灵活机制。

图4描绘了根据一个示例实施例的在半导体裸片5中包括的灵活接口块10的框图。如上文描述的那样,灵活接口块10包括所需数目的互连12。在所示实施例中,灵活接口块10还包括缓冲电路20、控制器22和布线接口24。

互连12如上文所言可以包括多种机制或者特征。例如在一些实施例中,互连12可以构成微凸点。微凸点可以具有所需节距或者间距、例如45至50微米。互连12可以是单向或者双向的、即提供在半导体裸片之间的在一个方向上或者在两个方向上的通信。如上文所言,如本领域普通技术人员理解的那样,互连12的数目和/或类型依赖于与具体实施或者设计有关的多个因素。这样的因素的例子包括所需数据带宽、所需数据信号数目、所需功率路径数目等。

如上文所言,互连12传达在半导体裸片之间的多种信号。互连12可以传达而不限于在半导体裸片之间的数据、功率、控制信号、状态信号。通过使用所需信号类型和数目,可以在半导体裸片之间适应灵活和强大接口。

缓冲电路20耦合到一些(例如所有数据信号)或者所有(例如数据和功率线的混合)互连12。缓冲电路20可以在示例实施例中提供以下功能中的一个或者多个功能。首先,缓冲电路20可以通过缓冲、电平移位(以例如适应信号源和目的地电路的不同电压电平)和/或调节来自裸片5中的电路的信号以便向另一裸片(未示出)中的电路提供或者发送那些信号,来提供输出缓冲功能。其次,缓冲电路20可以通过缓冲、电平移位(以例如适应信号源和目的地电路的不同电压电平)和/或调节来自另一裸片(未示出)的信号以便向裸片5中的电路提供这些信号,来提供输入缓冲功能。另外,缓冲器20可以通过缓冲、电平移位(以例如适应信号源和目的地电路的不同电压电平)和/或调节来自裸片5中的电路的信号以便向另一裸片(未示出)中的电路提供或者发送那些信号并且反之亦然,来提供双向缓冲功能。

在示例实施例中,缓冲电路20可以具有各种可编程或者可配置特征以提供灵活性。例如在一些实施例中,缓冲电路20可以具有三态功能。作为另一例子,缓冲电路20可以具有固定或者可编程驱动强度和/或回转速率。

控制器22耦合到缓冲电路20。一般而言,控制器22提供灵活接口块10的控制和监控功能。例如控制器22可以确定在裸片之间传达的信号的定时、方向和数目。因此,在控制器22的控制之下,向缓冲电路提供数据/功率信号用于向另一半导体裸片的最终通信。

控制器22可以支持一个或者多个数据或者通信协议。例如假设一个半导体裸片中的处理器寻求与另一半导体裸片中的存储器通信。还假设存储器使用本领域普通技术人员公知的ddr协议。控制器22可以包括用于支持根据ddr协议的在处理器与存储器之间的通信的电路。一般而言,控制器22可以支持诸如ddr、ddr2、ddr3、通信协议、信令协议等任何所需协议。

布线接口24耦合到控制器22和裸片5中的电路(除了灵活接口块10之外)。具体而言,布线接口24从裸片5中的电路(未明示)数据/功率信号并且向控制器22提供这样的信号。反言之,布线接口24可以从控制器22接收(例如如从另一半导体裸片(未明示)中的电路接收的)数据/功率信号并且向裸片5中的电路(未明示)提供这样的信号。

图5图示了根据一个示例实施例的灵活接口块10的更多细节。在所示实施例中,互连12包括单向输出线路(或者链路或者互连)12a、单向输入线路12b和双向线路12c。另外,互连12包括用于向另一设备供应功率的功率线路12d和用于从另一设备接收功率的功率线路12e。

缓冲电路20包括输出缓冲器20a,该输出缓冲器馈给互连12的输出线路12a。缓冲电路20也包括由输入线路12b馈给的输入缓冲器20b。另外,缓冲电路20包括耦合到线路12c用于发送或者接收信号的双向缓冲器20c。注意缓冲电路20如图所示未包括用于功率线路12d-12e的电路并且通过缓冲电路20传递功率。然而在其它实施例中,缓冲电路20可以如希望的那样包括用于调节或者调控功率的电路。

在示例实施例中,控制器22可以包括范围从硬化(固定或者非可编程)到软(完全可编程)或者可定制电路的多种电路。因此,在一些实施例中,控制器22可以包括逻辑门、寄存器、触发器、计数器、有限状态机、硬化知识产权(ip)、存储器、复用器(mux)、锁存器等。在一些实施例中,控制器22可以包括完全可定制或者可编程逻辑、比如查找表(lut)、软ip并且一般为与可编程逻辑器件(pld)的可编程构造相似的电路。在更多其它实施例中,控制器22可以包括结构化专用ic(结构化asic)电路。在这样的实施例中,如本领域普通技术人员理解的那样,利用一个或者多个掩膜改变可以配置、定制或者编程控制器22的功能。无论确切实施如何,在一些实施例中,可以组合两个或者更多灵活接口块10中的控制器22以提供附加灵活性、增加的功能等。

一般而言,布线接口24提供用于裸片5中的电路(未明示)以与控制器22通信并且最终与另一裸片(未明示)中的电路通信的机制。布线接口24可以包括mux、缓冲器、寄存器和相似电路。例如在所示实施例中,mux26(例如在控制器22的控制之下)可以选择从裸片5内的电路(未明示)接收的若干信号之一(例如通过链路34)并且向控制器22提供所选信号。作为另一例子,mux28(例如在控制器22的控制之下)可以选择从控制器22接收的若干信号之一并且向裸片5内的电路(未明示)提供所选信号(例如通过链路34)。

缓冲器或者驱动器30可以从布线接口24接收信号(例如经由链路34从裸片5中的电路(未明示)接收的信号)的作为输入并且向控制器22提供输出信号。相反地,缓冲器或者驱动器32可以从控制器22接收信号作为输入并且向布线接口24提供输出信号。布线接口24可以经由链路34向裸片5中的电路(未明示)提供缓冲的信号。

在一些实施例中,布线接口24可以包括与pld的可编程互连相似的电路。在这样的实施例中,可以用与pld的布线构造或者资源很大程度上相同的方式编程或者配置布线接口24中的电路的功能。

上文描述的实施例包括用于灵活接口块10的多种电路和功能。在一些实施例中,可以使用所有特征。如本领域普通技术人员理解的那样,在一些实施例中,可以使用描述的特征中的一个或者多个特征。换而言之,在一个或者多个灵活接口块10中包括的电路和功能依赖于用于给定设计或者实施的规格。灵活接口块10可以适应相对简单到相对复杂的对接规格。

根据公开内容的另一方面,可以用多种方式分组或者布置半导体裸片5内的灵活接口块10。例如在一些实施例中,可以将半导体裸片5内的灵活接口块10布置为灵活接口块行。图6示出了这样的布置。具体而言,裸片5包括多行36a-36c灵活接口块10。行36a-36c可以包括一个或者多个灵活接口块10。

作为另一例子,在一些实施例中,可以将半导体裸片5内的灵活接口块10布置为灵活接口块列。图7图示了这样的布置。参照图7,裸片5包括多列38a-38c灵活接口块10。列38a-38c可以包括一个或者多个灵活接口块10。

在一些实施例中,两个或者更多灵活接口块10可以分组在一起以例如提供附加数据/功率线路、更宽数据路径、更灵活或者强大控制器22等。图8描绘了这样的实施例的例子。裸片5包括多个灵活接口块10。可以用多种方式布置灵活接口块10、例如成行、成列、个别定位于所需位置等。当两个或者更多灵活接口块10相互邻近或者定位于彼此旁边或者彼此相对接近时,如上文所言,它们可以组合在一起以提供附加功能或者灵活性。在所示实施例中,四个灵活接口块10分组在一起以形成灵活接口块10的组40a,并且另外四个灵活接口块10可以分组在一起作为灵活接口块10的组40b。

可以将公开的概念应用于广泛多种ic,这些ic包括如下ic,该ic包括完全或者部分可编程或者可配置电路。因此,在一些实施例中,一个半导体裸片中集成的pld可以包括一个或者多个灵活接口块10以便耦合到或者对接到一个或者多个附加半导体裸片中集成的电路。注意在一些实施例中,一个半导体裸片中集成的pld可以包括一个或者多个灵活接口块10以便耦合到或者对接到一个或者多个附加半导体裸片中集成的一个或者多个pld。

不失一般性,以下段落描述公开的实施例应用于pld。图9描绘了包括一个或者多个灵活接口块10的根据一个示例实施例的pld103的一般框图。可以在半导体裸片、比如上文描述和图1-8中示出的半导体裸片中包括或者制造pld103。

参照图9,pld103包括配置电路130、配置存储器(cram)133、控制电路136、可编程逻辑106、可编程互连109和i/o电路112。此外,pld103可以如希望的那样包括测试/调试电路115、一个或者多个处理器118、一个或者多个通信电路121、一个或者多个存储器124、一个或者多个控制器127、一个或者多个灵活接口块10和初始化电路139。

如本领域普通技术人员理解的那样,注意pld103可以包括其它块和电路。这样的电路的例子包括时钟生成和分布电路、冗余电路等。另外,pld103可以如希望的那样包括模拟电路、其它数字电路和/或混合信号电路。

可编程逻辑106包括诸如lut、乘积项逻辑、mux、逻辑门、寄存器、存储器等可配置或者可编程逻辑电路块。可编程互连109耦合到可编程逻辑106并且提供在可编程逻辑106内的各种块与pld103内或者以外的其它电路之间的可配置互连(耦合机制)。如本领域普通技术人员理解的那样,可编程互连109可以包括mux、传递晶体管、缓冲器等。

控制电路136控制pld103内的各种操作。在控制电路136的监控之下,pld配置电路130使用(它可以从诸如存储设备、主机等外部源获得的)配置数据以编程或者配置pld103的功能。配置数据通常存储于cram133中。cram133的内容确定pld103的各种块、比如可编程逻辑106和可编程互连109的功能。初始化电路139可以使各种功能在pld103重置或者上电时执行。

如受益于公开内容的本领域普通技术人员理解的那样,i/o电路112可以构成广泛多种i/o设备或者电路。i/o电路112可以耦合到pld103的各种部分、例如可编程逻辑106和可编程互连109。i/o电路112提供用于pld103内的各种块与外部电路或者设备通信的机制和电路。

测试/调试电路115有助于对pld103内的各种块和电路的测试和故障排除。测试/调试电路115可以包括受益于公开内容的本领域普通技术人员已知的多种块或者电路。例如测试/调试电路115可以如希望的那样包括用于在pld103上电或者重置之后执行测试的电路。测试/调试电路115也可以如希望的那样包括编码和奇偶校验电路。

pld103可以包括一个或者多个处理器118。处理器118可以耦合到pld103内的其它块和电路。如受益于本文中的公开内容的本领域技术人员理解的那样,处理器118可以从pld103内或者外部的电路接收数据和信息并且以广泛多种方式处理信息。处理器118中的一个或者多个处理器可以构成数字信号处理器(dsp)。dsp如希望的那样允许执行诸如压缩、解压、音频处理、视频处理、滤波等广泛多种信号处理任务。

pld103也可以包括一个或者多个通信电路121。如本领域普通技术人员理解的那样,通信电路121可以有助于在pld103内的各种电路与pld103外部的电路之间的数据和信息交换。例如在一些实施例中,通信电路121可以包括用于与其它电子设备通信的收发器。

pld103还可以包括一个或者多个存储器124和一个或者多个存储器控制器127。存储器124允许在pld103内存储各种数据和信息(比如用户数据、中间结果、计算结果等)。存储器124可以如希望的那样具有粒状或者块形式。存储器控制器127允许对接到储存器124和/或pld103和/或裸片5外部的存储器(例如另一半导体裸片(未示出)中集成的存储器)并且控制该存储器的操作和各种功能。例如控制器127可以如希望的那样构成存储器控制器,该存储器控制器对接到并且控制外部同步动态随机存取存储器(sdram)(例如另一半导体裸片(未示出)中集成的电路)。

灵活接口块10可以包括上文描述的电路并且提供上文描述的功能。灵活接口块10耦合到可编程互连109。可编程互连109又可以耦合到pld103中的一个或者多个电路块、比如图中所示块。这样的块可以经由可编程互连109与灵活接口块10通信。另外,灵活接口块10可以经由互连12与另一半导体裸片(未示出)内的电路通信。

图10示出了根据一个示例实施例的包括可编程资源和灵活接口块的pld103的框图。更具体而言,该图示出了pld103的平面图,该pld包括布置为二维阵列的可编程逻辑106。布置为水平互连和竖直互连的可编程互连109将可编程逻辑106的各块相互耦合。

pld103包括可以布置为行、列或者布置于二维或者阵列图案中的灵活接口块10。灵活接口块10经由可编程互连109耦合到pld103中的一个或者多个块。如上文所言,两个或者更多灵活接口块10可以分组在一起以提供增加的带宽、吞吐量、功能等。这样的灵活接口块组可以经由可编程互连耦合到可编程逻辑106或者pld103中的其它电路块(例如见图9)。

如本领域普通技术人员理解的那样,可以用特定方式布置图10中的各种块以便实施用户的设计。块、块的部分或者块集合可以构成pld103的瓦片或者区域。如本领域普通技术人员理解的那样,pld103因此可以包括布置于所需配置中(例如布置为两半、四个象限等)的多个瓦片。在其它实施例中,pld103可以包括电路或者电路块的行和/或列。

可以有利地在pld中的更细粒度水平使用灵活接口块10。具体而言,在一些实施例中,pld103的核心或者构造可以包括可编程电路的更细粒度结构(例如可编程逻辑、可编程互连等)。灵活接口块10可以在这样的实施例中用来在pld103中的所需粒度水平提供灵活可定制接口。

图11示出了根据一个示例实施例的经由可编程互连109耦合到灵活接口块10的可编程逻辑106的块电路布置。在所示示例实施例中,可编程逻辑106包括逻辑单元或者可编程逻辑单元、电路或者块150、本地互连152、接口电路153和接口电路156。灵活接口块可以以比全局pld资源水平更低的水平、以全局pld资源水平或者二者耦合到可编程逻辑106。

如本领域普通技术人员理解的那样,逻辑单元150提供诸如lut、触发器、寄存器、乘积项逻辑等可配置或者可编程逻辑功能。逻辑互连152提供用于逻辑单元150相互耦合的可配置或者可编程机制。此外,本地互连152提供用于将逻辑单元150耦合到一个或者多个灵活接口块10的可配置或者可编程机制。

逻辑单元150可以如希望的那样相互耦合、耦合到一个或者多个灵活接口块10或者耦合到可编程互连109(有时称为“全局互连”)。接口电路156和接口电路153提供用于电路等可编程逻辑106块耦合到可编程互连109(并且因此耦合到其它可编程逻辑106)的可配置或者可编程方式。

如本领域普通技术人员理解的那样,接口电路156和接口电路153可以包括mux、demux、寄存器、缓冲器、传输门、驱动器等。在更高水平,可以组合多个逻辑单元150和关联电路以实现更大可编程块。可以如在给定情形中希望和适合的那样重复这一过程以生成具有所需水平的粒度或者可编程性的可编程电路块。在这样的水平中的一个或者多个水平,pld103的分级结构或者构造或者电路可以耦合到可以用多种方式布置(例如布置为个别块、行、列或者二维阵列)的一个或者多个灵活接口块10。

一旦已经在pld103中包括所需数目的灵活接口块10,pld的可编程性质与灵活接口块10一起向用户提供用于实现或者实施具有所需功能的广泛多种电子电路或者系统的可伸缩灵活架构。为了辅助用户实施或者实现这样的电路或者系统,可以使用计算机辅助设计(cad)流程或者软件。

图12图示了根据一个示例实施例的pldcad软件或者流程使用的各种软件模块。模块包括设计录入模块203、综合模块206、布置和布线模块209以及验证模块212。cad流程可以具有广泛应用并且提供各种功能。例子包括设计区域优化或者规划、布局、时序执行和关闭、功率规划、可布线性优化或者规划等。

设计录入模块203如希望的那样允许使用对电路或者它的行为的图形或者文字描述、比如语义、硬件描述语言(hdl)或者波形来编辑各种设计描述文件。用户可以如希望的那样通过使用设计录入模块203或者通过使用多种电子设计自动化(eda)或者cad工具(比如工业标准eda工具)来生成设计文件。用户可以如希望的那样用图形格式、基于波形的格式、示意格式、用文字或者二进制格式或者作为那些格式的组合录入设计。

用户可以指定一个或者多个灵活接口块10作为整个pld的规格的部分。通过使用灵活接口块10,用户的电路可以如上文描述的那样耦合到一个或者多个半导体裸片中集成的其它电路。用户可以提供用于灵活接口块10的多种规格。例子包括位置(部件规格)、功率规格、时序规格、功能等。用户也可以如上文描述的那样对两个或者更多灵活接口块10分组。

在一些实施例中,cad流程可以在逻辑上将灵活接口块10和它们耦合到的电路视为pld103的电路或者ip块。因此,虽然这样的灵活接口块10可以物理地对接到与pld103的裸片不同的裸片中集成的电路,但是出于分析、综合和布置用户的电路的目的,cad流程可以将这样的电路视为pld103的电路的部分并且位于灵活接口块10的位置。换而言之,可以将灵活接口块10和关联电路(例如在与pld103的裸片不同的裸片中集成的存储器块)表示或者视为pld103中的嵌入存储器块。因此,在这一例子中,可以将存储器块表示或者建模(例如在逻辑上)为耦合到存储器块的灵活接口块10。

通过使用更抽象对象、例如宏,灵活接口块10和在pld103外部(例如在与pld103的裸片不同的裸片中集成)的电路的逻辑属性可以归于抽象对象。以这一方式,可以向用户将3d结构(例如一个裸片堆叠于另一裸片以上,这两个裸片中的任一个或者两个裸片可以是pld)表示为二维(2d)结构。因此,cad流程将处置与物理结构、与逻辑结构、电结构等关联的复杂性(时序、电接口、电压电平等)。因而可以通过将3d结构表示为2d结构来隐藏与3d结构关联的复杂性或者使这些复杂性对于pld(或者pldcad)的用户而言透明。如本领域普通技术人员理解的那样,这一概念不限于存储器块,并且可以如希望的那样应用于广泛多种电路和ip块。

例如假设用户想要使用存储器块以实施他的或者她的电路。cad流程可以包括存储器块的表示,这些表示指定存储器块为集成于与pld103的裸片不同的裸片中,其中包括存储器块的裸片在pld103的平面图中的位置x经由一个或者多个灵活接口块10耦合到pld103。从用户的观点来看,存储器块是他或者她可以作为设计规格的部分而使用的宏。pldcad流程使用存储器块的位置规格以及电(时序、信号、控制器设计、协议等)、物理(例如不同裸片)和逻辑属性(宽度、深度等)来恰当表示用户的设计中的存储器块。

综合模块206接受设计录入模块203的输出。基于用户提供的设计,综合模块206生成实现用户提供的设计的适当逻辑电路。一个或者多个pld(未明示)、比如图1中的pld103实施综合的总体设计或者系统。

综合模块206也可以生成任何粘合逻辑,该粘合逻辑允许集成以及恰当操作和对接用户的设计中的各种模块。例如综合模块206提供适当硬件使得一个块的输出与另一个块的输入恰当对接。综合模块206可以提供适当硬件以便满足总体设计或者系统中的每个模块的规格。如果用户的设计包括抽象对象或者电路或者部件、比如经由灵活接口块10耦合到pld103的电路,则综合模块使用用户的设计中的对象的属性来表示对象。

另外,综合模块206可以包括用于优化综合的设计的算法和例程。通过优化,综合模块206寻求更高效地使用一个或者多个实施总体设计或者系统的pld的资源。综合模块206向布置和布线模块209提供它的输出。在综合之后,可以包括技术映射模块(未明示)。

布置和布线模块209使用设计者的时序规格以执行pld103的平面图中的最优逻辑映射和布置。逻辑映射和部件确定pld内的逻辑资源的使用。通过将与pld的可编程互连用于设计的某些部分,布置和布线模块209帮助优化总体设计或者系统的性能。通过恰当使用pld布线资源,布置和布线模块209帮助满足总体设计或者系统的关键时序路径。如上文所言,灵活接口块10可以已经预定、预分配、保留或者分配pld103的平面图中的位置。布置和布线模块209使用关于这样的位置的信息以向灵活接口块10并且因此向在与pld103的裸片不同的裸片中集成的其它电路恰当布线其它部件或者电路。

如本领域普通技术人员理解的那样,布置和布线模块209优化关键时序路径以帮助更快提供时序关闭。因而总体设计或者系统可以实现更快性能(即在更高时钟速率操作或者具有更高吞吐量)。

验证模块212执行对设计的仿真和验证。仿真和验证部分地寻求验证设计符合用户的规定规格。仿真和验证也以在以设计为原型之前检测和纠正任何设计问题为目标。因此,验证模块212帮助用户减少总体设计或者系统的总成本和面市时间。

验证模块212可以如希望的那样支持和执行多种验证和仿真选项。如受益于本公开内容的描述的本领域普通技术人员理解的那样,选项可以包括功能验证、测试台生成、静态时序分析、时序仿真、硬件/软件仿真、系统内验证、板级时序分析、信号完整性分析和电池兼容(emc)、形式网表验证等。

注意如受益于本公开内容的本领域普通技术人员理解的那样可以执行其它或者附加验证技术。也可以如适合的那样和如希望的那样在流程中的其它阶段执行对设计的验证。

如上文所言,虽然上文描述部分地涉及将公开的概念应用于pld,但是可以通过进行落入本领域普通技术人员的知识内的修改来将公开的概念应用于多种其它电子电路和设备。这样的设备的一些例子包括定制、标准单元、门阵列、现场可编程门阵列(fpga)、复杂pld(cpld)和结构化asic实施方式。

可以在计算机系统或者处理器上运行或者执行公开的算法、方法、软件(例如cad软件)或者固件(例如其中使用固件来实施一些电路、比如体偏置控制电路的功能的部分)。具体而言,pldcad流程可以实施为在信息处理系统或者计算机、比如图13中所示信息处理系统上运行的软件。本领域普通技术人员理解可以如希望的那样使用广泛多种其它信息处理装置、计算机系统、处理器、微计算机、工作站等。因此,图13图示了仅一个例子。

系统100包括计算机设备1005、输入设备1010、视频/显示设备1015和存储/输出设备1020,但是可以如希望的那样包括那些设备中的每种设备的多个设备。计算机设备1005耦合到输入设备1010、视频/显示设备1015和存储/输出设备1020。如希望的那样被你关切如本领域普通技术人员理解的那样,系统1000可以包括多个计算机设备1005、例如关联计算机设备或者系统的结合。

系统1000与来自用户的输入关联操作。用户输入通常使系统1000执行包括电路仿真的具体所需信息处理任务。系统1000部分地使用计算机设备1005以执行那些任务。计算机设备1005包括信息处理电路、比如中央处理单元(cpu),但是可以如本领域技术人员将理解的那样使用多个cpu或者信息处理电路。

输入设备1010从用户接收输入并且使该输入可用于计算机设备1005用于处理。用户输入可以如希望的那样包括数据、指令或者二者。输入设备1010可以构成文字数字输入设备(例如键盘)、指示设备(例如鼠标、滚球、光笔、触敏装置、例如触敏显示器或者写字板)或者二者。用户操作文字数字键盘以向计算机设备1005提供文字、比如ascii字符。类似地,用户操作指示设备以向计算机设备1005提供光标位置或者控制信息。

视频/显示设备1015向用户显示可视图像或者图形。可视图像可以包括关于计算机设备1005的操作的信息、比如图形、图片、图像和文字。如本领域普通技术人员将理解的那样,视频/显示设备可以构成计算机监视器或者显示器、投影设备等。如果系统使用触敏显示器或者触屏,则显示器也可以操作以向计算机设备1005提供用户输入。

存储/输出设备1020允许计算机设备1005存储信息用于附加处理或者以后取回(例如软复制)、以各种形式(例如硬复制)呈现信息或者二者。作为例子,存储/输出设备1020可以构成能够在所需介质上和以所需格式存储信息的磁、光学或者光磁驱动。作为另一例子,存储/输出设备1020可以构成打印机、绘图仪或者其它输出设备以生成来自计算机设备1005的信息的印刷或者绘图表达。

计算机可读介质1025在结构和功能上与计算机设备1005相关。计算机可读介质1025存储、编码、记录和/或实现功能描述材料。作为示例,功能描述材料可以包括计算机程序、计算机代码、计算机应用和/或信息结构(例如数据结构或者文件系统)。当由计算机可读介质1025存储、编码、记录和/或实现时,功能描述材料赋予功能。功能描述材料与计算机可读介质1025相关。

在功能描述材料内的信息限定在信息结构与计算机可读介质1025和/或系统1000的其它方面之间的结构和功能相互关系。这些相互关系允许实现信息结构的功能。另外,在这样的功能描述材料内,计算机程序限定在计算机程序与计算机可读介质1025和系统1000的其它方面之间的结构和功能相互关系。这些相互关系允许实现计算机程序的功能。

作为示例,计算机设备1005向计算机设备1005的计算机存储器(在图中未明示)中读取、访问或者复制功能描述材料。计算机设备1005响应于计算机存储器中存在的材料执行操作。计算机设备1005可以执行处理计算机应用的操作,该计算机应用使计算机设备1005执行附加操作。因而,功能描述材料展现计算机设备1005执行过程并且执行操作的方式的功能相互关系。

另外,计算机可读介质1025构成如下装置,计算机设备1005可以访问来自该装置的计算机信息、程序、代码和/或应用。计算机设备1005可以处理使计算机设备1005执行附加操作的信息、程序、代码和/或应用。

注意可以如本领域普通技术人员将理解的那样用多种方式实施计算机可读介质1025。例如在计算机设备1005内的存储器可以如希望的那样构成计算机可读介质1025。取而代之,例如当计算机设备1005从计算机设备或者信息处理系统网络接收功能描述材料时,计算机可读介质1025可以包括关联、相关、耦合(例如通过导体、光纤等)或者联网的计算机可读介质的集合。注意计算机设备1005可以如希望的那样从计算机可读介质1025、网络或者二者接收功能描述材料。

参照附图,本领域普通技术人员将注意所示各种块可以主要描绘概念功能和信号流。实际电路实施可以包含或者可以未包含用于各种功能块的单独可标识硬件并且可以使用或者可以未使用所示特定电路。例如可以如希望的那样将各种块的功能组综合一个电路块。另外可以如希望的那样在若干电路块中实现单个块的功能。电路实施选择依赖于各种因素、比如用于给定实施的特定设计和性能规格。除了这里描述的那些修改和替代实施例之外的其它修改和替代实施例也将为本领域普通技术人员所清楚。因而本说明书向本领域技术人员传授实现公开的概念的方式并且将仅解释为示例。

示出和描述的形式应当理解为示例实施例。本领域技术人员可以在部分的形状、尺寸和布置上进行各种改变而未脱离本文中的公开的概念的范围。例如本领域技术人员可以用等效单元替换这里图示和描述的单元。另外,本领域技术人员可以与公开的概念的其它特征的使用独立地使用某些特征而未脱离公开的概念的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1