通过互连桥对可配置集成电路管芯的时钟进行同步的设备的制作方法

文档序号:19639950发布日期:2020-01-07 12:36阅读:272来源:国知局
通过互连桥对可配置集成电路管芯的时钟进行同步的设备的制作方法

本公开涉及容纳于多芯片封装中的集成电路管芯。更具体而言,本公开涉及容纳具有不同时序特征的管芯的多芯片封装,其中由相位检测器检测时序特征并由锁相环来同步时序特征。



背景技术:

集成电路封装已经从将单个ic管芯容纳于封装中演进到了容纳并互连若干管芯以形成系统级封装(sip)器件。sip器件常常是高度集成的半导体,其可以将各种功能、各种处理代或各种制造工艺的若干ic管芯全部组合在单个封装内。sip中组合的ic管芯常常形成用于器件的系统或子系统。

sip器件不仅与安装于印刷电路板(pcb)上的离散封装ic相比减小了单个封装中容纳的ic管芯的占有面积,而且还与安装于pcb上的离散封装ic相比缩短了电信号在sip容纳的ic管芯之间行进的距离。

由此,与安装于pcb上的离散封装ic的系统或子系统相比,sip器件可以促进在由sip器件形成的系统或子系统的更小占有面积中的更快操作。然而,动力仍然是继续改善sip器件的操作,并且本说明书中描述的各种实施例涉及经由时钟同步系统进一步改善sip器件中包括的管芯的互操作性、灵活性和性能。

附图说明

图1示出了根据实施例的包括安装于封装衬底上的第一和第二管芯的半导体器件。

图2是实施例中的时钟同步方法的流程图。

图3是实施例中的由被同步的第一和第二管芯产生的时钟信号的时序图。

图4示出了实施例中的在相位检测器和序列器与管芯之一的pll之间的互连。

图5示出了实施例中的具有至少三个管芯的半导体器件。

图6示出了实施例中的具有至少四个管芯的半导体器件。

图7示出了实施例中的数据系统。

图8示出了实施例中的仿真系统。

图9是实施例中的时钟同步方法的流程图。

具体实施方式

系统级封装(sip)器件(例如提供系统和子系统架构的sip器件)一直在推动集成电路(ic)市场的发展。电路仿真市场、asic原型市场和数据中心市场是sip器件所推动的若干发展中的ic市场。针对电路仿真市场的sip器件常常包括若干可配置ic以促进几乎不受限制数量的仿真电路,其中单个可配置电路可能无法提供充分多的可编程织构以实施电路仿真。针对asic原形市场的sip器件常常包括若干可配置ic以实施多种asic。针对数据中心市场的sip器件常常包括若干可配置ic以促进数据中心的加速。

图1示出了根据实施例的包括安装于封装衬底25上的第一管芯15和第二管芯20的半导体器件10。半导体器件10可以是sip器件,并且在一些实施例中可以包括超过两个管芯。

第一和第二管芯可以通过封装衬底、互连桥32或两者而连接。封装衬底、互连桥或两者可以包括连接第一和第二管芯的电连接器的导电过孔、电迹线或两者。封装衬底可以是有机衬底,例如fr4、fr5、fr6或其它类型的材料。fr4、fr5和fr6为封装衬底指定了由美国保险商实验室在ul94号标准下以及由美国国家电气制造商协会(nema)指定的阻燃剂水平。

互连桥可以是有机桥,例如fr4、fr5、fr6或其它、硅内插器、衬底上晶片上芯片(cowos)、嵌入式多管芯互连桥(emib)元件或其它桥类型。互连桥可以嵌入在封装衬底中,其中封装衬底可以是有机衬底,例如fr4,并且桥是emib元件。

互连桥可以是在桥上不包括电子器件的无源桥,或者可以是在桥上包括电子器件的有源桥。例如,互连桥可以是具有在硅中形成的半导体电路的硅器件。

第一管芯15和第二管芯20可以是相同类型的管芯,或者可以是不同类型的管芯。第一管芯可以是可配置逻辑管芯,例如现场可编程门阵列(fpga)、可编程逻辑器件(pld)、复杂可编程逻辑器件(cpld)、电可编程逻辑器件(epld)、电可擦可编程逻辑器件(eepld)、逻辑单元阵列(lca)、可编程逻辑阵列(pla)、可配置逻辑阵列(cla)、现场可编程逻辑阵列(fpla)或其它ic。仅举数例,第二管芯可以是fpga、pld、cpld、epld、eepld、lca、专用标准部件(assp)、中央处理单元(cpu)、微处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、视觉处理单元(vpu)、图像阵列处理器(simd)、神经网络处理器、人工智能处理器、加密加速器。

管芯可以具有不同的时序特征。例如,管芯可以具有在晶片处理期间发生的不同处理特征,其导致管芯具有不同的时序特征。具有不同处理特征的管芯有时被描述为源自于不同的处理拐角。由于诸如晶片处理或运输期间的湿度或温度差异、管芯尺寸、管芯相对于晶片中心的位置、或其它原因等的若干原因而出现不同的处理特征。与较小管芯相比,相对较大的管芯可能在处理特征方面呈现出更大的差异。

不同的时序特征可能导致管芯在不同的时钟相位或不同的时钟频率下操作。管芯可以具有考虑到管芯的时钟信号的不同时序特征的不同时钟树。例如,不同的时钟树可能导致第一和第二管芯的时钟信号为异相。在时钟树的其中时钟信号用于对管芯电路进行时钟控制的叶节点处,时钟信号可能是异相。尽管时钟树促进管芯彼此异相地操作,但可以对不同管芯中的时钟信号的相位进行同步,使得管芯能够对管芯之间的信息进行时钟控制。下文进一步描述时钟同步。

在实施例中,第一管芯包括数据源30、第一发送器35、第一接收器40、时钟发生器45、时钟输入元件50、桥子系统适配器55、输入(io)区域60、相位检测器和序列器70、若干时钟树缓冲器75a、75b、75c和75d以及若干io元件85a、85b、85c和85d。第二管芯包括数据源130、第二发送器135、第二接收器140、时钟发生器145、时钟输入元件150、桥子系统适配器155、io区域160、相位检测器和序列器170、一个或多个时钟树缓冲器175a、175b和175c以及若干io元件185a、185b、185c和185d。

第一管芯15的io元件85a-85d经由封装衬底25、互连桥32或这两个元件而连接到第二管芯的io元件185a-185d。管芯的io元件可以与封装衬底、互连桥或两者的io元件连接。封装衬底、互连桥或两者可以包括连接第一和第二管芯的io元件的电迹线、镀敷过孔或两者。封装衬底的迹线可以是金属迹线,例如铜迹线。互连桥的迹线可以是硅衬底上的金属迹线。io元件85a-85d和185a-185d可以包括电连接器,例如焊料凸块、焊球、引脚、焊料焊盘、或其它互连元件,有时将它们统称为凸块。

在一些实施例中,互连桥32为内插器。内插器可以是用于2d、2.5d或3dic封装的硅内插器。内插器可以是在第一和第二管芯15和20下方延伸的扩展硅内插器,并可以将附加管芯连接到管芯15、20或两者。对于2d封装而言,桥被插入于管芯之间并可以是pcb25(例如,fr4pcb)。用于2d封装的桥有时被称为sip衬底,其中桥的第一侧经由第一尺寸(例如,直径约100微米或其它直径)的焊料凸块连接到管芯过孔,并且桥的第二侧通过比第一尺寸更大的第二尺寸(例如,更大直径)的焊料凸块连接到pcb。较小的焊料凸块有时被称为倒装芯片凸块,并且较大直径的焊料凸块有时被称为封装凸块。对于2.5d封装而言,桥被插入于管芯和sip衬底之间,其中桥包括将管芯连接到sip衬底的过孔。sip衬底继而连接到pcb25(例如,fr4pcb)。用于2.5d封装的桥的第一侧经由相对较小的焊料凸块(有时被称为微凸块(例如,直径大约为10微米或其它直径))连接到管芯,并且桥的第二侧通过较大直径(例如,直径大约100微米或其它直径)的焊料凸块连接到sip衬底。

在实施例中,第一和第二管芯都是fpga。数据源30和130是fpga的核心织构。每个管芯的核心织构包括可以被配置为实施各种电路的若干可配置逻辑块。可配置逻辑块由可配置互连结构互连,可配置互连结构可以被配置为以几乎任何期望配置来互连逻辑块,以提供几乎任何期望电路。

在第一管芯上,第一发送器35和第一接收器40由第一核心织构30的可配置逻辑块形成。第一发送器和第一接收器均可以为触发器(例如,d触发器)或另一电路。时钟树缓冲器75a-75d也可以由可配置逻辑块形成。时钟发生器45可以是第一锁相环(pll)。第一pll可以由第一核心织构的可配置逻辑块形成。替代地,第一pll可以是并非由第一管芯的可配置逻辑块形成的硬化电路。硬化电路形成于硅衬底中并且不能由硬件描述语言配置,与使用硬件描述语言(例如,vhdl)配置的可配置逻辑块中形成的电路不同。第一pll包括相位检测器45c、环形滤波器45d和受控振荡器45e。

在第二管芯上,第二发送器135和第二接收器140由第二核心织构130的可配置逻辑块形成。第二发送器和第二接收器均可以为触发器(例如,d触发器)或另一电路。时钟树缓冲器175a-175c也可以由第二管芯的可配置逻辑块形成。第二pll可以由第一核心织构的可配置逻辑块形成。替代地,第二pll可以是并非由第二管芯的可配置逻辑块形成的硬化电路。第二pll包括相位检测器145c、环形滤波器145d和受控振荡器145e。

在实施例中,第一管芯的第一相位检测器和序列器70是并非由管芯的可配置逻辑块形成的硬化电路。第一相位检测器和序列器可以形成于第一管芯的第一桥子系统适配器55中。第一桥子系统适配器55可以形成于第一管芯的与管芯的io元件相邻的外围区域中(例如,不在核心织构中)。

在实施例中,第二管芯的第二相位检测器和序列器170是并非由管芯的可配置逻辑块形成的硬化电路。第二相位检测器和序列器可以形成于第二管芯20的第二桥子系统适配器155中。第二桥子系统适配器155可以形成于第二管芯的与管芯的io元件相邻的外围区域中(例如,不在核心织构中)。

第一和第二桥子系统适配器可以包括用于控制第一和第二管芯的输入、输出或两者的电路。例如,第一和第二桥子系统适配器可以包括各种io寄存器,以用于对从管芯离开的数据进行时钟控制以及对进入管芯中的数据进行时钟控制(例如,寄存的输出和输入)。第一和第二桥子系统适配器还可以包括用于组合输出和输入(例如,未被时钟控制或未记录的输入和输出)的电路、ip缓冲器、io控制逻辑、用于根据诸如pcie协议的协议来布置数据的一个或多个文件层、或其它电路。

第一pll45连接到时钟输入线50并适于经由时钟输入线接收参考时钟信号。参考时钟信号可以是晶体时钟信号或另一种时钟信号。第一pll还连接到相位检测器和序列器70的输出线。第一pll适于从相位检测器和序列器70的输出线接收相位信息。相位信息可以是以数字信号的形式发送的数字信息。第一pll可以包括dps控制器95,其适于从相位检测器和序列器70接收相位差信号,其中相位差信号包括相位信息。下面描述由相位检测器和序列器70产生的相位信息。

第一pll的第一时钟输出45a连接到第一发送器35的时钟输入和时钟io元件85a。第一pll的第二时钟输出45b连接到第一接收器40的时钟输入以及相位检测器和序列器70的时钟输入。第一pll的第一时钟输出45a和第二时钟输出45b可以输出具有相同或不同时钟频率或者相同或不同时钟相位的相同或不同时钟信号。在实施例中,第一pll可以具有单个时钟输出,该时钟输出连接到第一发送器35、时钟io元件85a、第一接收器40以及相位检测器和序列器70的输入。

在实施例中,时钟树缓冲器75a连接于第一pll的第一时钟输出45a和第一发送器35的时钟输入之间。时钟树缓冲器75b连接于第一pll的第一时钟输出45a和时钟io元件85a之间。时钟树缓冲器75c连接于第一pll的第二时钟输出45b与相位检测器和序列器70的时钟输入之间。时钟树缓冲器75d连接于第一pll的第二时钟输出45b和第一接收器40的时钟输入之间。

时钟树缓冲器75a-75d可以是第一管芯的时钟树方案的部分。时钟树缓冲器可以产生由第一pll产生的一个或多个时钟信号的相位延迟。时钟树缓冲器75a-75d产生的相位延迟可以是相同相位延迟或一个或多个不同相位延迟。时钟树缓冲器可以在时钟树缓冲器创建时钟信号的不同相位延迟时在第一管芯中建立不同的时钟域。例如,时钟树缓冲器75a和75b可以创建相同的第一相位延迟,其创建了第一时钟域。在示例中,时钟树缓冲器75c和75d可以创建第二相位延迟,其创建了第二时钟域。如果第一和第二相位延迟是不同的延迟,则第一和第二时钟域是不同的时钟域。描述的时钟域为示例性域。时钟树缓冲器可以在第一管芯中建立更多或更少的时钟域。

在实施例中,第一发送器35的数据输出线连接到发送器io元件85b。第一发送器35的时钟输入适于从第一pll的第一时钟输出45a接收时钟信号,以用于对发送器进行时钟控制。通过使用时钟信号,第一发送器35适于对从发送器到发送器io元件85b的数据进行时钟控制。

相位检测器和序列器70连接于第一pll45的第二输出45b和第一pll45的dps控制器95的输入之间。具体而言,相位检测器和序列器70的输入适于接收由第一pll产生的时钟信号。时钟信号可以从时钟树缓冲器75c接收,该时钟树缓冲器75c定位于pll45的第二pll输出45b与相位检测器和序列器70的输入70a之间。相位检测器和序列器70产生的相位信息被反馈到第一pll45的dps控制器95的输入中。下面描述由相位检测器和序列器70产生的相位信息。

第一接收器40的数据输入连接到接收器io元件85d。第一接收器40的连接到第一pll的第二输出45b的时钟输入适于从输出接收时钟信号。使用该时钟信号,第一接收器40适于对从接收器io元件85d接收的数据去往第一接收器的数据输出进行时钟控制。亦即,第一接收器40适于使用时钟信号对数据进入第一管芯进行时钟控制。

在实施例中,第二pll145连接到时钟输入线150并适于经由时钟输入线接收参考时钟信号。参考时钟信号可以是晶体时钟信号或另一种时钟信号。第一和第二pll接收的参考时钟信号可以是相同的参考时钟信号,或者可以是具有不同频率或不同相位的不同时钟信号。第二pll还连接到相位检测器和序列器170的输出线。第二pll适于从相位检测器和序列器的输出线接收相位信息。第二pll可以包括dps控制器195,dps控制器195适于从相位检测器和序列器70接收数字信号。

第二pll的第一时钟输出145a连接到第二发送器135的时钟输入和时钟io元件185a。第二pll的第二时钟输出145b连接到第二接收器140的时钟输入以及相位检测器和序列器170的时钟输入。第二pll的第一时钟输出145a和第二时钟输出145b可以输出具有相同或不同时钟频率或者相同或不同时钟相位的相同或不同时钟信号。在实施例中,第二pll可以具有单个时钟输出,该时钟输出连接到第二发送器135、时钟io元件185a、第二接收器140以及相位检测器和序列器170。

在实施例中,时钟树缓冲器175a连接于第二pll的第一时钟输出145a和第二发送器135的时钟输入之间。时钟树缓冲器175a也连接于第二pll的第一时钟输出145a和时钟io元件185a之间。时钟树缓冲器175b连接于第二pll的第二时钟输出145b和第二接收器140的时钟输入之间。时钟树缓冲器175c连接于第二pll的第二时钟输出145b与相位检测器和序列器170的时钟输入之间。

时钟树缓冲器175a-175c可以是第二管芯的时钟树方案的部分。时钟树缓冲器175a-175c可以产生由第二pll产生的一个或多个时钟信号的相位延迟。时钟树缓冲器175a-175c产生的相位延迟可以是相同相位延迟或一个或多个不同相位延迟。时钟树缓冲器可以在时钟树缓冲器创建由第二pll产生的时钟信号的不同相位延迟时在第二管芯中建立不同的时钟域。例如,时钟树缓冲器175a和175b可以创建相同的第一相位延迟,其创建了第一时钟域。在示例中,时钟树缓冲器175c可以创建相同的第二相位延迟,其创建了第二时钟域。如果产生不同的时钟域,时钟树缓冲器产生的第一和第二相位延迟是不同延迟。描述的时钟域为示例性域。时钟树缓冲器可以在第二管芯中建立更多或更少的时钟域。

时钟树的处于时钟树缓冲器的输出处的节点被称为时钟树的叶节点。时钟树的处于时钟树缓冲器的输入处的节点被称为时钟树的枝节点。

在实施例中,第二发送器135的数据输出连接到接收器io元件185b。第二发送器135的时钟输入连接到第二pll的第一输出145a。第二发送器135的时钟输入适于从第二pll的第一输出145a接收时钟信号,以用于对发送器进行时钟控制。使用时钟信号,第二发送器适于对数据从发送器去往接收器io元件185b进行时钟控制。

相位检测器和序列器170连接于第二pll145的第二输出145b和第二pll145的dps控制器195的输入之间。具体而言,相位检测器和序列器170的输入适于接收由第二pll产生的时钟信号。时钟信号可以从时钟树缓冲器175c接收,该时钟树缓冲器175c定位于pll145的第一pll输出145b与相位检测器和序列器170的输入170a之间。相位检测器和序列器170产生的相位信息被反馈到第二pll145的dps控制器195的输入中。下面描述由相位检测器和序列器170产生的相位信息。

第二接收器140的数据输入连接到发送器io元件185d。第二接收器140的连接到第二pll的第二输出145b的时钟输入适于从输出接收时钟信号。使用该时钟信号,第二接收器140适于对从接收器io元件185d接收的数据去往第二接收器的数据输出进行时钟控制。亦即,第二接收器140适于使用时钟信号对数据进入第二管芯进行时钟控制。

在实施例中,第一和第二桥子系统适配器55和155、第一和第二io区域60和160、以及互连桥32构成半导体器件10的桥io子系统192的至少一部分。桥io子系统192和形成子系统的元件不包括(即,形成)在第一管芯15或第二管芯20的核心织构中。桥io子系统192是半导体器件中的在第一和第二管芯之间发送信号的区域。

在桥io子系统192中,连接了发送器io元件85b和185d,连接了时钟io元件85a和185c,连接了时钟io元件85c和185a,并连接了接收器io元件85d和185b。更具体而言,连接的io元件(例如,管芯的焊料凸块)连接互连桥32中形成的过孔迹线,例如emib元件中形成的迹线。可以通过io元件85b和185d从发送器35向接收器140发送信号。可以通过io元件85a和185c从pll45向相位检测器和序列器170发送信号。可以通过io元件185a和85c从pll145向相位检测器和序列器70的输入70b发送信号。可以通过io元件185b和85d从发送器135向接收器40发送信号。

图2是实施例中的时钟同步方法的流程图。元素可以被添加到流程图,被从流程图去除,或被组合,而不脱离该方法的范围和边界。

在200处,第一pll45和第二pll145均使用分别经由时钟输入50和150接收的时钟参考信号来产生时钟信号。由第一pll45在第一管芯中产生的时钟信号可以通过时钟树缓冲器75a被发送到第一发送器35,通过时钟树缓冲器75c被发送到相位检测器和序列器70,并通过时钟树缓冲器75d被发送到第一接收器40。

时钟信号还通过第一管芯15中的时钟树缓冲器75b被发送到第二管芯20中的相位检测器和序列器170。从第一管芯发送到第二管芯的时钟信号通过第一管芯中的时钟io元件85a被发送到第二管芯中的时钟io元件185c。此外,从第一管芯15发送到第二管芯20的时钟信号被从时钟树缓冲器75b的叶节点发送到第二管芯。时钟树缓冲器的叶节点在时钟树缓冲器的输出侧上并在时钟树缓冲器的其中时钟信号用于对管芯中的电路进行时钟控制的那些侧上。

由第二pll145在第二管芯20中产生的时钟信号可以通过时钟树缓冲器175a被发送到第二发送器135,通过时钟树缓冲器175c被发送到相位检测器和序列器170,并通过时钟树缓冲器175d被发送到第二接收器140。

在205处,由第二pll145产生的时钟信号还通过第二管芯20中的时钟树缓冲器175a被发送到第一管芯15中的相位检测器和序列器70。从第二pll发送到相位检测器和序列器70的时钟信号通过第二管芯中的时钟io元件185a被发送到第一管芯中的时钟io元件85c。从第二管芯20发送到第一管芯中的相位检测器和序列器70的时钟信号被从时钟树缓冲器175a的叶节点发送到第一管芯。

为了对从一个管芯(例如,第一管芯)离开的数据去往另一个管芯(例如,第二管芯)进行同步时钟控制,对来自叶节点的时钟信号进行同步。同步可以包括频率同步或相位对准。下文描述同步。

如上文简述,第一和第二pll产生的时钟信号被发送到相位检测器和序列器70和170两者。在210处,第一相位检测器和序列器70确定由第一和第二pll产生的时钟信号之间的相位差。

在215处,相位检测器和序列器70基于从第一和第二pll接收的时钟信号产生第一相位差信号。第一相位差信号指示由相位检测器和序列器70从第一和第二pll接收的时钟信号之间的相位差。相位差信号可以是由相位检测器和序列器产生的计数器信号。计数器信号的值可以指示由第一和第二pll产生的第一和第二时钟信号的边沿(例如,上升沿)之间的时间差的量。

在220处,将第一相位差信号从相位检测器和序列器70发送到第一pll45的dps控制器95的输入。

在225处,如果第一pll45的dps控制器95接收到同步启用信号,那么dps控制器95将第一pll配置为使用由第一相位检测器和序列器70产生的第一相位差信号对由第一pll45和第二pll145产生的时钟信号进行同步。

在230处,第一pll使用由相位检测器和序列器70产生的第一相位差信号对时钟信号进行同步。具体而言,将第一pll45产生的时钟信号的时钟边沿调整到与第二pll145产生的时钟信号的时钟边沿(例如,上升沿)对准。可以不调整第二pll145产生的时钟信号的时钟边沿。更具体而言,滤波器45d可以对第一相位差信号进行滤波(例如,数字滤波)并将滤波的信号提供到受控振荡器45d。受控振荡器然后可以调整第一pll产生的时钟信号的相位。在第一pll对时钟信号进行同步时,可以不使用第一pll的相位检测器45c。亦即,相位检测器和序列器70作为第一pll的相位检测器进行操作。

dps控制器可以包括一个或多个电路,其允许第一pll使用第一相位差信号进行时钟同步。dps控制器可以包括一个或多个开关、复用器或另一电路,该另一电路允许第一pll使用第一相位差信号而不是由相位检测器45c产生的第二相位差信号。下面描述第二相位差信号。

在235处,第一管芯15的一个或多个发送器(例如,发送器35)可以使用由第一pll产生的同步时钟信号对数据从第一管芯去往第二管芯进行时钟控制。第一管芯的一个或多个接收器(例如,接收器40)还可以使用同步时钟信号对从第二管芯接收的数据进入第一管芯进行时钟控制。

在240处,如果第一pll未接收到同步启用信号,那么dps控制器将第一pll配置为使用第二相位差信号来合成时钟信号。第二相位差信号可以由第一pll的相位检测器45c产生。相位检测器45c可以产生第二相位差信号,第一pll的滤波器45d和受控振荡器45e使用第二相位差信号对合成时钟信号进行合成。dps控制器的电路可以允许第一pll使用第二相位差信号对第一和第二pll产生的时钟信号进行时钟合成,而不是使用第一相位差信号进行时钟同步。

在245处,第一pll使用相位检测器45c产生的第二相位差信号来合成时钟信号。第一pll还可以使用从时钟输入50接收并从第一pll的时钟输出之一反馈的时钟信号(例如,晶体时钟信号)来产生合成时钟信号。第二相位差信号可以由第一pll的滤波器45d用于控制受控振荡器45e以产生合成时钟信号。

在实施例中,同步启用信号可以由相位选择器90、相位检测器和序列器70或另一电路产生。如果要从第一管芯向第二管芯同步发送数据、由第一管芯从第二管芯接收数据、或进行这两者,则可以将同步启用信号施加到第一pll。相位选择器90可以是硬化电路或者可以形成于第一管芯的核心织构中。

在250处,一个或多个电路可以使用由第一pll产生的合成时钟信号为第一管芯的各个电路进行时钟控制。

在一个实施例中,相位检测器和序列器70相对连续地确定由第一和第二pll产生的时钟信号之间的相位差并产生第一相位差信号。相对连续地确定相位差促进了相对快速地从第一pll的时钟合成切换到第一pll的时钟同步模式。发生模式之间的相对快速切换是因为相位检测器和序列器70不必接收并使用控制信号来发起时钟比较并为时钟产生相位差信息。亦即,相位差信息是持续确定的,并且可由第一pll在选择pll进行时钟同步时使用。

在替代实施例中,相位检测器和序列器70确定由第一和第二pll产生的时钟信号之间的相位差并在相位检测器和序列器70接收到启用信号之后产生第一相位差信号。亦即,在替代实施例中,相位检测器和序列器70不相对连续地确定由第一和第二pll产生的时钟信号之间的相位差,并且除非施加了启用信号,否则不产生第一相位差信号。如果相位检测器和序列器不相对连续操作,则可以降低sip的功耗。

在实施例中,第二管芯20的相位检测器和序列器170和第二pll145被配置为以类似于第一管芯215的相位检测器和序列器70和第一pll45在图2的200-250处的方式且如上所述的那样进行操作。亦即,第二管芯20的相位检测器和序列器170可以确定由第一和第二pll产生的时钟信号之间的相位差,产生相位差信号(例如,由相位检测器和序列器170产生的计数器信号),第二pll使用该相位差信号将第二pll产生的时钟信号同步到第一pll45产生的时钟信号。亦即,第二pll使用该相位差信号将第二pll产生的时钟信号对准(例如,对准时钟边沿)到第一pll产生的时钟信号。如果第二pll被dps控制器195配置为进行时钟同步(例如,图2的225-230),则第二pll被配置为对时钟信号进行同步。替代地,如果第二pll被dps控制器195配置为进行时钟合成(例如,图2的240-245)而非进行时钟同步(225-230),则第二pll将被配置为对时钟信号进行合成。

第一和第二pll可以不被其各自的dps控制器配置为同时尝试对第一和第二pll产生的时钟信号进行同步。亦即,第一pll或第二pll(但并非两者)在任何给定时间可以接收同步启用信号,以对第一和第二pll产生的时钟信号进行同步。通过不允许第一和第二pll两者同时尝试对第一和第二pll产生的时钟信号进行同步,可以避免时钟不稳定。

图3是实施例中的被同步到由第一管芯15产生的时钟信号的由第二管芯20产生的时钟信号的时序图。时序图包括第一时钟信号300和第二时钟信号305。时序图包括控制信号,控制信号包括时钟验证信号315、冻结信号320以及相位检测器和序列器的各种状态325。尽管时序图被描述为包括被同步到由第一管芯15产生的时钟信号的由第二管芯20产生的时钟信号(例如,第二时钟信号被偏移以与第一管芯的时钟信号对准,其中第一管芯的时钟信号不被偏移),在实施例中,时序图可以同样应用于被同步到由第二管芯20产生的时钟信号的由第一管芯15产生的时钟信号。

第一时钟信号300是诸如时钟树缓冲器75b的时钟树缓冲器的输出(即,叶节点)处的时钟信号。亦即,第一时钟信号300是在通过时钟树缓冲器75b发送之后由第一管芯15中的第一pll45产生并输出(例如,输出45a)的时钟信号。第二时钟信号305是由第二pll145产生并输出(例如,输出145a)的时钟信号。

第三时钟信号310是第二管芯20的叶节点之一处的时钟信号。例如,根据任何叶节点是否在同一时间域中,第三时钟信号310可以在时钟树缓冲器175a、175b、175c之一或这些时钟树缓冲器的组合的叶节点处。在图3的示例性实施例中,在第二管芯20中对时钟信号300和310进行同步。

时钟验证信号315是指示第二pll145产生的时钟信号为有效的信号。时钟验证信号315可以在执行时钟同步之前由第二pll145产生并从pll被发送到相位检测器和序列器170或另一电路。相位检测和时钟同步可以在接收到时钟有效信号之后开始。

冻结信号320是指示已经从源释放了来自数据源的数据(例如,来自fpga的核心织构的数据)(例如,被选通到一个或多个寄存器)的信号。可以将冻结信号从数据源的一个或多个电路传输到相位检测器和序列器或其它电路。相位检测和时钟同步可以在接收到冻结信号之后开始。冻结信号320可以在时钟有效信号315之后发出。

重置信号是在时钟同步之前传输到相位检测器和序列器170的信号。重置信号通知相位检测器和序列器进入已知状态。例如,在相位检测器和序列器接收到重置信号之后,相位检测器和序列器可以在相位检测器和序列器的各个寄存器中输入零。可以从第二管芯的外部经由第二管芯的通用io之一接收重置信号。替代地,重置信号可以由数据源(例如,fpga的核心织构)产生并被发送到相位检测器和序列器。替代地,重置信号可以由固件或软件发起的重置寄存器比特产生并被发送到相位检测器和序列器。重置信号可以在执行时钟同步之前被传输到相位检测器和序列器。重置信号也可以在时钟有效信号和冻结信号被传输到相位检测器和序列器之前被传输到相位检测器和序列器。

相位检测器启用信号是被传输到相位检测器和序列器以使相位检测器和序列器发起时钟同步的信号。之后,第二管芯20的相位检测器和序列器170和第二pll145可以动态地对第二pll产生的时钟信号进行相移(即,同步),以使时钟信号的边沿与第一管芯15的第一pll45产生的时钟信号的边沿对准。在动态相移期间,第二pll使用相位检测器和序列器提供的相移信号对第一和第二时钟信号进行同步。

注意,在图3的左侧,在相位检测器和序列器接收到相位检测器启用信号之前,并且在发生动态相移之前,时钟信号300和310是异相的(即,不同步)。注意,在图3的右侧,在动态相移之后,时钟信号300和310是同相的(即,同步)。在对第一和第二时钟进行同步时,第二pll可以产生并向相位检测器和序列器170发送相位同步确认信号。

图3和前面的段落描述了第二管芯20的相位检测器和序列器170和第二pll145使由相位检测器和序列器接收的第一和第二时钟信号同步的时序序列。时序序列图和描述还可以代表并描述第一管芯15的相位检测器和序列器70和第一pll45使由相位检测器和序列器70接收的第一和第二时钟信号同步的时序序列。

图4示出了同一管芯的相位检测器和序列器与pll之间的互连。图4可以示出第一管芯15的相位检测器和序列器70与第一pll45之间的互连,或者可以示出第二管芯20的相位检测器和序列器170与第二pll145之间的互连。

互连可以包括适于从pll向相位检测器和序列器发送相位同步确认的第一互连400。上文参考图3描述了相位同步确认信号。

互连可以包括适于从相位检测器和序列器向pll发送相位差信号的第二互连405。相位差信号可以包括用于相位差的数值信息。

互连可以包括适于从相位检测器和序列器向pll发送相位选择信号的第三互连410。pll可以包括若干时钟输出线。在图1的示例中,第一和第二pll都具有两个时钟输出线。例如,第一pll具有两个时钟输出线45a和45b,并且第二pll具有两个时钟输出线145a和145b。在其它实施例中,每个pll包括超过两个时钟输出线,例如3、4、5、6、7、8、9、10或更多个时钟输出线。相位选择信号包括指示发送相移的时钟信号的特定时钟输出线的信息。例如,相位选择信号可以通知pll在4、8和9时钟输出线上输出相移的时钟信号,但不在1、2、3、5、6和7时钟输出线上输出相移的时钟信号。在替代示例中,相位选择信号可以通知pll在1、2、3、4和8时钟输出线上输出相移的时钟信号,但不在5、6、7和9时钟输出线上输出相移的时钟信号。通常,相位选择信号可以包括以任何组合在一个或多个时钟输出线上输出相移的时钟信号的信息。

互连可以包括适于从相位检测器和序列器向pll发送同步启用信号的第四互连415。上文参考图2描述了同步启用信号。

图5示出了实施例中的半导体器件500。半导体器件500类似于上述半导体器件10,但不同在于半导体器件500包括时钟信号被同步的三个集成电路管芯。半导体器件500可以是sip器件。

半导体器件500包括封装衬底25上安装的第一管芯515、第二管芯520和第三管芯522。半导体器件500包括互连第一管芯515和第二管芯520的io元件的第一桥530。半导体器件500包括互连第二管芯520和第三管芯522的io元件的第二桥532。

第一、第二和第三管芯可以是上述管芯类型的任何组合,例如可配置逻辑管芯。可配置逻辑管芯可以是fpga、cpld或上述其它类型的可配置逻辑管芯。第一、第二和第三管芯可以具有不同的处理特征(例如,来自不同的处理拐角),并且结果,具有不同的时序特征。

管芯中的每个可以包括在管芯中实施若干时钟树方案的若干时钟树缓冲器(例如,时钟树缓冲器575a、575b、575c和575d)。时钟树缓冲器和时钟树可以类似于上述时钟树缓冲器和时钟树。时钟树缓冲器根据时钟树方案调整管芯中的时钟信号的相位,从而根据管芯的特定时序特征对管芯进行时钟控制。

互连桥可以是任何组合的形式的上述任何类型的桥(例如,emib)。封装衬底25可以是上述任何类型的衬底,例如fr4。

第一管芯515和第三管芯522可以与上述管芯15和20相同或类似。第二管芯520可以类似于上述管芯15和20,但可以包括两个相位检测器和序列器575和580。

在实施例中,第一管芯515的相位检测器和序列器570连接到第一管芯的pll545的时钟输出并连接到第二管芯520的pll547的时钟输出。第三管芯522的相位检测器和序列器585连接到第三管芯522的pll549的时钟输出并连接到第二管芯的pll547的时钟输出。

相位检测器和序列器570适于接收第一管芯515的由pll545产生的叶节点时钟信号。相位检测器和序列器570还适于接收第二管芯520的由pll547产生的叶节点时钟信号(例如,参考时钟信号)。

相位检测器和序列器570适于检测pll545产生的叶节点时钟信号和pll547产生的叶节点时钟信号之间的相位差。相位检测器和序列器570适于产生并向pll545发送第一相位差信号。pll545适于使用第一相位差信号将第一管芯515的叶节点时钟信号同步到第二管芯520的叶节点时钟信号。亦即,pll545适于调整第一管芯的叶节点时钟信号的时钟边沿以与第二管芯的叶节点时钟信号(例如,参考时钟信号)的时钟边沿对准。

相位检测器和序列器585适于接收第三管芯522的由pll549产生的叶节点时钟信号。相位检测器和序列器585还适于接收第二管芯520的由pll547产生的叶节点时钟信号。

相位检测器和序列器585适于检测pll547产生的叶节点时钟信号和pll549产生的叶节点时钟信号之间的相位差。相位检测器和序列器585适于产生并向pll549发送第二相位差信号。pll549适于使用第二相位差信号将第三管芯515的叶节点时钟信号同步到第二管芯520的叶节点时钟信号。亦即,pll549适于调整第三管芯的叶节点时钟信号的时钟边沿以与第二管芯的叶节点时钟信号(例如,参考时钟信号)的时钟边沿对准。

在实施例中,第一和第三管芯的叶节点时钟信号被同时(例如,并行)或在不同时间(例如,异步地)同步到第二管芯的叶节点时钟信号。一个或多个其它时钟信号被同步到的时钟信号有时被称为参考时钟信号,并且产生一个或多个其它时钟信号被同步到的时钟信号的管芯有时被称为参考时钟管芯。

在第一管芯、第三管芯或两者的叶节点时钟信号被时钟同步到第二管芯的叶节点时钟信号之后,第一管芯、第三管芯或两者可以使用同步的时钟信号对数据去往第二管芯进行时钟控制。第二管芯可以使用pll547产生的时钟信号来对数据进入第二管芯进行时钟控制。第一、第二和第三管芯包括发送器和接收器(例如,d触发器),例如上文针对对从管芯离开的数据进行时钟控制以及对数据进入管芯进行时钟控制所述的那些。例如,上文参考图2和图3所述的控制信号可以被产生并由第一、第二和第三管芯用于发起同步、确认同步和其它目的。

在实施例中,相位检测器和序列器575将第二管芯520的pll547产生的叶节点时钟信号对准到第一管芯515的pll545产生的叶节点时钟信号。由此,可以使用pll547产生的同步的叶节点时钟信号将数据从第二管芯发送到第一管芯(即,对数据从第二管芯去往第一管芯进行时钟控制)。

在另一实施例中,相位检测器和序列器580将第二管芯520的pll547产生的叶节点时钟信号对准到第三管芯522的pll549产生的叶节点时钟信号。由此,可以使用第二管芯的pll547产生的同步的叶节点时钟信号将数据从第二管芯发送到第三管芯(即,对数据从第二管芯去往第三管芯进行时钟控制)。

图6示出了实施例中的半导体器件600。半导体器件600类似于上述半导体器件10和500,但不同在于半导体器件600包括时钟信号被同步的四个集成电路管芯。半导体器件600可以是sip器件。

半导体器件600包括第一管芯615、第二管芯620、第三管芯622和第四管芯624。管芯可以安装于封装衬底25上。半导体器件600包括第一桥630、第二桥632和第三桥634。第一桥630互连第一管芯615和第二管芯620的io元件。第二桥632互连第二管芯620和第三管芯622的io元件。第三桥634互连第三管芯622和第四管芯624的io元件。

第一、第二、第三和第四管芯可以是上述管芯类型的任何组合,例如可配置逻辑管芯。可配置逻辑管芯可以是fpga、cpld或上述其它类型的可配置逻辑管芯。第一、第二、第三和第四管芯可以具有不同的处理特征(例如,来自不同的处理拐角),并且结果,具有不同的时序特征。不同的时序特征可以包括在不同频率或不同相位下操作的管芯。

互连桥可以是任何组合的形式的上述任何类型的桥(例如,emib)。封装衬底25可以是上述任何类型的衬底,例如fr4。

第一管芯615和第四管芯624可以与上述管芯15和20相同或类似。第二管芯620可以类似于上述管芯15和20,但可以包括两个相位检测器和序列器671和672。第三管芯622可以类似于上述管芯15和20,但可以包括两个相位检测器和序列器673和674。

在实施例中,第二管芯620的相位检测器和序列器671连接到第一管芯615的pll645的时钟输出并连接到第二管芯620的pll646的时钟输出。第三管芯622的相位检测器和序列器673连接到第二管芯620的pll646的时钟输出并连接到第三管芯622的pll647的时钟输出。第四管芯624的相位检测器和序列器675连接到第三管芯622的pll647的时钟输出并连接到第四管芯624的pll648的时钟输出。每个管芯可以包括可以定位于pll输出和相位检测器输入之间的若干时钟树缓冲器(未示出),例如如图1和图5中所示并且如上所述。

相位检测器和序列器671适于接收第一管芯615的由pll645产生的叶节点时钟信号。相位检测器和序列器671还适于接收第二管芯620的由pll646产生的叶节点时钟信号。相位检测器和序列器671适于确定pll645产生的叶节点时钟信号和pll646产生的叶节点时钟信号之间的相位差。相位检测器和序列器671适于产生并向pll646发送第一相位差信号。pll646适于使用第一相位差信号将第二管芯620的叶节点时钟信号同步到第一管芯615的叶节点时钟信号。亦即,pll646适于调整第二管芯的叶节点时钟信号的时钟边沿以与第一管芯的叶节点时钟信号(例如,参考时钟信号)的时钟边沿对准。可以不调整第一管芯的时钟边沿。

第三管芯622的相位检测器和序列器673适于接收第二管芯620的由pll646产生的叶节点时钟信号。在相位检测器和序列器673接收到pll646产生的叶节点时钟信号时,pll646产生的叶节点时钟信号保持同步到pll645产生的叶节点时钟信号。

相位检测器和序列器673适于确定pll646产生的叶节点时钟信号和pll647产生的叶节点时钟信号之间的相位差。在相位检测器和序列器673接收到由pll646和647产生的叶节点时钟信号时,对pll645和646产生的叶节点时钟信号进行同步。

相位检测器和序列器673适于产生并向pll647发送第二相位差信号。pll647适于使用第二相位差信号将pll647产生的叶节点时钟信号同步到pll646的叶节点时钟信号。亦即,pll647适于调整第三管芯的叶节点时钟信号的时钟边沿以与第二管芯的叶节点时钟信号(例如,参考时钟信号)的时钟边沿对准。在第三pll647对第二和第三pll产生的叶节点时钟信号进行同步时,第一、第二和第三pll产生的叶节点时钟信号被同步。

相位检测器和序列器675适于接收由第三管芯622的pll647产生的叶节点时钟信号。在相位检测器和序列器675接收到由pll647和648产生的叶节点时钟信号时,对pll645、646和647产生的叶节点时钟信号进行同步。

相位检测器和序列器675适于确定pll647产生的叶节点时钟信号和pll648产生的叶节点时钟信号之间的相位差。相位检测器和序列器675适于产生并向pll648发送第三相位差信号。pll648适于使用第三相位差信号将pll648产生的叶节点时钟信号同步到pll647的叶节点时钟信号。亦即,pll648适于调整第四管芯的叶节点时钟信号的时钟边沿以与第三管芯的叶节点时钟信号(例如,参考时钟信号)的时钟边沿对准。在第四pll648对第三和第四pll产生的叶节点时钟信号进行同步时,第一、第二、第三和第四pll产生的叶节点时钟信号被同步。

亦即,第二管芯使用第一管芯的叶节点时钟信号作为参考时钟信号以调整第二管芯的叶节点时钟信号。之后,第三管芯使用第二管芯的叶节点时钟信号作为参考时钟信号以调整第三管芯的叶节点时钟信号。之后,第四管芯使用第三管芯的叶节点时钟信号作为参考时钟信号以调整第四管芯的叶节点时钟信号。

由此,将第一、第二、第三和第四管芯的叶节点时钟信号顺序地同步并且同时彼此同步。通过使用同步的时钟信号,数据可以是被从第一管芯到第二管芯进行时钟控制的数据,被从第二管芯到第三管芯进行时钟控制的数据,以及被从第三管芯到第四管芯进行时钟控制的数据。每个管芯使用同步的叶节点时钟信号为管芯的发送器和接收器进行时钟控制,以用于将数据从管芯发送到下一个管芯。

在实施例中,对三个管芯的叶节点时钟信号顺序地进行同步,以用于在管芯之间传输数据。在另一个实施例中,对五个或更多管芯的叶节点时钟信号顺序地进行同步,以用于在管芯之间传输数据。

所述实施例促进了若干益处。例如,可以将被测试并认定(即,装箱)为较高速部件的管芯以及被测试并认定为较低速度部件的管芯组合在单个sip中。sip的成本可以低于具有两个较高速部件的sip,因为高速部件通常销售量大于低速部件。由此,可以针对多种预算和多种应用供应具有不同价格点的sip。此外,对于较大管芯,例如较大fpga管芯而言,对于单个晶片上或跨若干晶片的管芯而言,工艺参数可能会有漂移,这导致管芯具有不同的时序特征。所描述的同步实施例允许将该多样的管芯组合到单个sip中。

此外,可以将不同处理代的管芯组合到单个sip中。不同处理代的管芯可以具有不同的时序特征,并且所描述的同步实施例允许将这些管芯组合到单个sip中。

图7示出了实施例中的数据系统700。数据系统700包括客户端系统705,该客户端系统705适于使用通信网络715访问数据中心710。客户端系统705可以包括一个或多个客户端计算机,其适于访问数据中心中存储的数据。客户端系统可以包括服务器、台式计算机、膝上型计算机、移动装置(例如,平板计算机、智能电话或其它装置)、这些装置的任何组合或其它装置。客户端系统可以将数据传输到数据中心,以存储在数据中心中,从数据中心取回数据,或请求改变数据中心中的数据。通信网络715可以包括一个或多个网络,例如因特网、一个或多个内联网或其它网络系统。

数据中心710包括一个或多个服务器(例如服务器720a、720b……720n)大容量储存器730、ip交换机735,并且可以包括其它元件。大容量储存器730包括一种或多种类型的存储器器件,例如磁盘阵列,磁盘阵列包括若干磁盘存储器器件(例如,磁盘存储器)、光学储存器(例如,光盘储存器)、固态存储器、磁带存储器等。存储器器件可以位于一个或多个数据中心机架中,数据中心机架包括服务器、ip交换机中的一种或多种、这两者,或者不包括服务器和ip交换机。ip交换机在服务器和大容量储存器的存储器器件之间路由通信包。

每个服务器包括一个或多个处理器740、一个或多个半导体器件10、500和600(上文所述)、存储器子系统745和其它器件。在每个服务器中,服务器中包括的第一处理器740可以使用总线结构和总线通信标准或可以使用不同通信标准与服务器中的第二处理器740通信,所述总线通信标准例如是用于点到点处理器互连的超路径互连(upi)标准。服务器的处理器和半导体器件可以使用总线结构和总线通信标准进行通信,所述总线通信标准例如是外围部件互连快速(pcie)标准。处理器、半导体器件或两者可以在单倍数据速率(sdr)、双倍数据速率(ddr)或四倍数据速率(qdr)下以半双工或全双工模式与存储器子系统通信。存储器子系统可以包括ddr非易失性存储器、3dxpoint非易失性存储器或其它类型的存储器。

每个半导体器件(例如,上述半导体器件10、500或600)可以位于pcb(例如,pci卡)上,其中pcb被配置为插入并保持在服务器的pci或pcie插槽中。在一些实施例中,一个或多个服务器包括若干半导体器件10、500或600,其可以定位在位于服务器的pci或pcie插槽中的若干pcb卡上。

在每个服务器中,处理器、半导体器件和存储器子系统位于数据中心机架中的单个插板上,分布于数据中心机架中的两个或更多插板之间,或者分布于若干数据中心机架中的若干插板之间。亦即,每个服务器是综合服务器(例如,部件在单个插板中或单个数据中心机架中)或分布式服务器(例如,部件在单个数据中心机架的多个插板中,或部件在多个插板中且在多个数据中心机架中)。在插板、数据中心机架或两者之间分布服务器的部件可以通过将频繁通信的选择部件定位在彼此较为接近的位置而促进部件之间的较快通信。例如,在处理器访问存储器子系统比半导体器件更频繁的服务器中,处理器和存储器子系统可以在数据中心机架中位于较接近的位置(例如,在第一插板上),并且半导体器件可以在数据中心机架中位于距存储器子系统更远的位置(例如,在不同第二的插板上)。替代地,例如,如果半导体器件访问大容量储存器的频率比处理器更高,第二插板可以定位在距大容量储存器比第一插板更近的位置。

在实施例中,若干服务器的存储器子系统可以位于单个插板上(例如,位于数据中心机架的大约中心处的插板),并且处理器和半导体器件可以位于在中心插板上方和下方的一个或多个不同插板上。这样的配置可以促进较快访问存储器子系统,尤其是如果存储器子系统被多个服务器访问时。

在数据中心中,半导体器件的fpga与半导体器件上的一个或多个其它器件(例如,另一个fpga、asic、处理器或另一器件)的组合促进了可以从处理器740卸载到fpga的一个或多个功能的加速。例如,作为加速器操作的fpga可以被配置为执行大量并行实时的处理功能,这些功能可以从处理器卸载到fpga并且比处理器更快地得到执行。大量并行实时处理功能的示例包括大量并行实时数据检查、数据转换、数据处理、视频处理、帧撷取、撷取的帧的图像增强、侵蚀过滤、扩张过滤、加密、解密、从长字提取数据、或对与处理器相比可以以更高操作速率并行操作的数据的较小部分执行的其它功能。

由于包括了根据所述实施例的sip和管芯,可以在数据中心中提供若干益处。例如,由于使用了本文描述的较简单的时钟同步电路,可以在sip中包括来自具有不同时序特征的不同处理拐角的管芯。可以在不包括大占有面积跨时钟fifo(先进先出)寄存器和同步器的情况下实现这样的同步。此外,因为sip中可以包括具有不同时序特征和不同价格点的管芯,所以可以提供具有各种价格点的sip。具体而言,可以在sip中混合低速低成本管芯和高速高成本管芯,其中由于本文描述实施例的原因,管芯的不同时序特征不会禁止其包括在sip中。由于低成本管芯的各种成本和高成本管芯的各种成本、以及sip中的低成本和高成本的选择性组合,可以提供各种价格点。

图8示出了包括计算机系统805和硬件仿真器810的仿真系统800,硬件仿真器810可以包括任何组合的形式的一个或多个半导体器件,例如器件10、500或600。硬件仿真器是采取对另一装置进行仿真的硬件装置的形式的仿真器。例如,硬件仿真器可以仿真电子装置,例如打印机、扫描仪、相机、一种或多种类型的处理器、计算机、游戏控制台、平板计算机、智能电话、电视、医疗装置、交通工具(例如,汽车、飞机、摩托车等)的电子系统、家用电器、例如煤气表的仪表、路由器或其它装置。

计算机系统805可以是个人计算机、膝上型计算机、服务器、平板计算机、定制计算机系统(例如适于测试仿真器的定制计算机系统)、或其它计算机类型。计算机系统可以包括处理器820、显示器825、扬声器830、易失性存储器835、非易失性存储器840、人机接口装置845、电源850、链接部件的一个或多个总线855、这些部件的任何组合、或其它附加部件。计算机系统可以经由有线或无线通信链路链接到硬件仿真器。有线通信链路可以包括,例如,usb、以太网、串行rs-232、并行db25、esata、显示端口、hdmi、光学链路、pci、pcie等中的一种或多种。无线通信链路可以包括例如rf链路(例如,蓝牙、wi-fi等)、ir链路等中的一种或多种。

硬件仿真器可以包括:一个或多个可配置ic,例如fpga870a、870b、870c和870d;一个或多个收发器(即,xcvr),例如收发器875a、875b、875c和875d;以及一个或多个通用接口桥(即,gib)或其它桥类型(例如,emib)。fpga和收发器可以通过桥通信链接。硬件仿真器可以包括其它电路,例如处理器、存储器、网络接口装置、usb集线器和端口、pcie连接器、复杂可编程逻辑器件(cpld)、asic或这些装置的任何组合。硬件仿真器的电路(例如,fpga、asic、处理器或上述其它电路)可以形成上述一个或多个半导体器件10、400或500的电路的一部分。硬件仿真器的电路(例如,fpga或其它电路)可以被配置为在上述对等模式中或主从模式中进行操作。例如,如果fpga是不同类型或来自不同处理代,则两个或更多个fpga可以在对等模式中进行操作,并且其它fpga可以在主从模式中进行操作。

fpga中的一个或多个可以被配置为对诸如上文列出的被仿真的装置之类的一个或多个装置进行仿真。fpga可以被配置为使用诸如hdl的硬件描述语言对装置进行仿真,以配置fpga的逻辑阵列块。

由于仿真器中的sip器件中包括了不同处理拐角的fpga,所以在硬件仿真器中提供了多种益处。所提供的益处类似于上文结合数据中心的益处所述的那些。

在实施例中,半导体器件包括可以在第一时钟相位进行操作的第一可配置ic。第一ic包括第一io元件和第二io元件。第一可配置ic包括第一pll。该pll包括第一控制电路、接收第一时钟信号的第一时钟输入、输出第二时钟信号的第一时钟输出、以及第一相位检测器。第一相位检测器被配置为产生用于第一和第二时钟信号之间的相位差的第一相位差信号。

第一可配置ic包括连接到第一pll的第一时钟输出以接收第二时钟信号的第二相位检测器。第二相位检测器还连接到第一io元件以从第二可配置ic接收第三时钟信号。第二相位检测器还连接到第一控制电路的输入。第二可配置ic可以在与第一时钟相位异相的第二时钟相位进行操作。第二相位检测器被配置为产生用于第二和第三时钟信号之间的相位差的第二相位差信号。

第一控制电路被配置为控制第一pll以使用第一相位差信号来产生第二时钟信号或使用第二相位差信号来产生第二时钟信号。如果第一pll器件使用第一相位差信号来产生第二时钟信号,那么第二时钟信号是使用第一时钟信号合成的合成时钟信号。第一时钟信号可以是晶体时钟信号。如果第一pll器件使用第二相位差信号来产生第二时钟信号,那么第二时钟信号与第三时钟信号同步。

第一可配置ic包括连接于第一pll器件的第二时钟输出和第二io元件之间的第一发送器。如果第二时钟信号是由第一pll器件使用第二相位差信号而与第三时钟信号同步的,那么第一发送器被配置为使用第二时钟信号对第一发送器通过第二io元件向第二可配置ic发送数据进行时钟控制。

半导体器件可以包括连接于第一pll器件的第一时钟输出和第二相位检测器之间的第一时钟缓冲器。半导体器件可以包括连接于第一发送器和第一pll器件的第二时钟输出之间的第二时钟缓冲器。第一和第二时钟缓冲器构成时钟树的至少一部分,并且第一和第二时钟缓冲器的输出是时钟树的叶节点。第一时钟缓冲器和第二时钟缓冲器形成第一ic中的不同时钟域。

第一pll器件可以包括连接到第一相位检测器的滤波器和连接到滤波器的受控振荡器。受控振荡器被配置为产生第二时钟信号,并且第一控制电路被配置为向滤波器传输第一相位差信号或向滤波器传输第二相位差信号。

第一pll的第一和第二输出可以是相同的输出。第二和第三时钟可以是相同频率。

半导体器件还可以包括第二可配置ic。第二可配置ic可以包括第三io元件和第四io元件。第二可配置ic可以包括第二pll器件。第二pll包括第二控制电路、接收第一时钟信号的第二时钟输入、输出第三时钟信号的第三时钟输出以及第三相位检测器。第三相位检测器可以产生用于第一和第三时钟信号之间的相位差的第三相位差信号。

第二可配置ic可以包括第四相位检测器。第四相位检测器可以连接到第二pll器件的第三时钟输出以接收第三时钟信号。第四相位检测器可以连接到第三io元件以从第一可配置ic接收第二时钟信号。第四可配置ic可以连接到第二控制电路的输入。第二可配置ic可以在第二时钟相位进行操作,并且第四相位检测器被配置为产生用于第二和第三时钟信号之间的相位差的第四相位差信号。

第二控制电路被配置为控制第二pll器件以使用第三相位差信号来产生第三时钟信号或使用第四相位差信号来产生第三时钟信号。如果第二pll器件使用第三相位差信号来产生第三时钟信号,那么第三时钟信号是使用第一时钟信号(即,晶体时钟信号)合成的合成时钟信号。如果第二pll器件使用第四相位差信号来产生第三时钟信号,那么第三时钟信号与第二时钟信号同步。

第二可配置ic可以包括连接于第二pll器件的第四时钟输出和第四io元件之间的第二发送器。如果第三时钟信号是由第二pll器件使用第四相位差信号而与第二时钟信号同步的,那么第二发送器被配置为使用第三时钟信号对第二发送器通过第四io元件向第一可配置ic发送数据进行时钟控制。

半导体器件可以包括将第一io元件连接到第三io元件并将第二io元件连接到第四io元件的互连桥。互连桥可以是emib元件。

第一可配置ic可以是第一现场可编程门阵列(fpga),并且第二可配置ic可以是第二fpga。第一和第二fpga基于第一和第二fpga的不同处理特征而在不同时钟相位进行操作。

图9是实施例中的时钟同步方法的流程图。可以向流程图添加元素,从流程图去除元素或对元素进行组合,而不脱离该方法的范围和边界。

在900处,提供可以在第一时钟相位进行操作的第一可配置ic。

在905处,提供第一可配置ic的第一io元件。

在910处,提供第一可配置ic的第二io元件。

在915处,提供第一可配置ic的pll。第一pll包括第一控制电路、接收第一时钟信号的第一时钟输入、输出第二时钟信号的第一时钟输出以及第一相位检测器。第一相位检测器被配置为产生用于第一和第二时钟信号之间的相位差的第一相位差信号。

在920处,提供第一可配置ic的第二相位检测器。

在925处,将第二相位检测器耦合到第一pll器件的第一时钟输出以接收第二时钟信号。

在930处,将第二相位检测器耦合到第一io元件以从第二可配置ic接收第三时钟信号。

在935处,将第二相位检测器耦合到第一控制电路的输入。

在940处,允许第二可配置ic在与第一时钟相位异相的第二时钟相位进行操作。

在945处,第二相位检测器被配置为产生用于第二和第三时钟信号之间的相位差的第二相位差信号。

在950处,第一控制电路被配置为控制第一pll器件以使用第一相位差信号来产生第二时钟信号或使用第二相位差信号来产生第二时钟信号。

在955处,将第一发送器耦合于第一pll器件的第二时钟输出和第二io元件之间。如果第二时钟信号是由第一pll器件使用第二相位差信号而与第三时钟信号同步的,那么第一发送器被配置为使用第二时钟信号对数据通过第二io元件去往第二可配置ic进行时钟控制。

该方法可以包括将第一发送器配置为在第一可配置ic的第一时钟域中进行操作,并将第一相位检测器配置为在第一可配置ic的第二时钟域中进行操作。

该方法可以包括:在第二时钟输出和第一发送器之间配置提供第一时钟缓冲器以建立第一时钟域,以及在第一时钟输出和第一相位检测器之间提供第二时钟缓冲器以建立第二时钟域。

作为第一和第二时钟缓冲器的输出的时钟信号为叶节点时钟信号。如果第一pll器件使用第一相位差信号来产生第二时钟信号,那么第二时钟信号是使用第一时钟信号合成的合成时钟信号。如果第一pll器件使用第二相位差信号来产生第二时钟信号,那么第二时钟信号与第三时钟信号同步。

该方法可以包括提供第二可配置ic,提供链接第一和第二可配置ic的互连桥,以及配置第二可配置ic以产生第三时钟信号并通过互连桥向第二相位检测器发送第三时钟信号。

在实施例中,半导体器件包括被配置为在第一时钟相位进行操作的第一可配置ic。第一可配置ic包括第一pll,第一pll包括第一时钟输出以输出具有第一相位的第一时钟信号。半导体器件包括被配置为在与第一时钟相位不同的第二时钟相位进行操作的第二可配置ic。

第二可配置ic包括第一相位检测器和第二pll。第二pll包括第二时钟输出以输出具有第二相位的第二时钟信号。第一相位检测器被配置为接收第一和第二时钟信号并产生用于第一和第二时钟信号之间的相位差的第一相位差信号。第二pll被配置为接收第一相位差信号以使用第一相位差信号对第一和第二时钟信号进行同步。

半导体器件可以包括被配置为在与第一和第二时钟相位不同的第三时钟相位进行操作的第三可配置ic。第三可配置ic包括第二相位检测器和第三pll。第三pll包括第三时钟输出以输出具有第三相位的第三时钟信号。第二相位检测器被配置为接收第二和第三时钟信号并产生用于第二和第三时钟信号之间的相位差的第二相位差信号。在对第一和第二时钟信号进行同步时,第三pll被配置为接收第二相位差信号以使用第二相位差信号对第二和第三时钟信号进行同步。

半导体器件可以包括被配置为在与第一、第二和第三时钟相位不同的第四时钟相位进行操作的第四可配置ic。第四可配置ic包括第三相位检测器和第四pll。第四pll可以包括第四时钟输出以输出具有第四相位的第四时钟信号。第三相位检测器被配置为接收第三和第四时钟信号并产生用于第三和第四时钟信号之间的相位差的第三相位差信号。在对第一、第二和第三时钟信号进行同步时,第四pll被配置为接收第三相位差信号以使用第三相位差信号对第三和第四时钟信号进行同步。

半导体器件可以包括第一互连桥,该第一互连桥连接第一可配置ic的第一多个io元件和第二可配置ic的第二多个io元件。半导体器件还可以包括第二互连桥,该第二互连桥连接第二可配置ic的第三多个io元件和第三可配置ic的第三多个io元件。互连桥可以是嵌入在与第一、第二、第三和第四可配置ic耦合的衬底中的emib元件。半导体器件可以是sip器件。

出于例示和描述的目的给出了本说明书。其并非旨在为穷尽的,也不旨在将本发明限制为所述精确形式,并且根据上述教导内容,许多修改和变型是可能的。例如,尽管上文描述了sip器件,但所述实施例可以应用于多种多芯片模块、多管芯组件、系统级封装器件和其它多管芯器件。此外,尽管已经将各种电路描述为数字电路,但电路可以是模拟电路或电路可以包括混合信号电路。选择并描述实施方式以便最好地解释实施例的原理及其实际应用。本说明书将使得本领域其他技术人员能够在各种实施方式中并利用适合特定用途的各种修改来最佳地利用并实践本发明。本发明的范围由以下权利要求限定。

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