片上系统及其控制模块转让专利

申请号 : CN201210195682.7

文献号 : CN103383543B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢明钦章沙雁

申请人 : 飞思卡尔半导体公司

摘要 :

本发明涉及片上系统及其控制模块。一种片上系(SoC),其具有第一组开关和第二组开关,第一组开关中的每个开关具有用于路由SoC信号的第一端子,以及第二端子。第二组开关中的每个开关具有用于与第一组开关路由信号的第三端子,以及第四端子。一种SoC控制模块定义开关配置,并且包括第一存储器部分,其存储用于第一组开关的第一开关协议。对于第一组开关中的开关,这定义了第一端子中的一个与第二端子之间的电路径。第二存储器部分存储用于第二组开关的第二开关协议,并且对于第二组开关中的开关,定义第三端子中的一个与第四端子之间的电路径。

权利要求 :

1.一种片上系统SoC控制模块,其用于定义SoC开关配置,所述SoC控制模块包括:第一存储器部分,其存储用于所述SoC的第一组开关的第一开关协议,所述第一组开关中的每个开关具有:多个第一端子,其用于在第一组开关中的该开关和SoC组件之间路由电信号;以及第二端子;

对于第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;

第二存储器部分,其存储用于所述SoC的第二组开关的第二开关协议,所述第二组开关中的每个开关包括:多个第三端子,其用于在所述第一组开关和所述第二组开关之间路由电信号;以及第四端子;

对于第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径;以及第三存储器部分,其存储用于所述第二组开关的焊盘分配协议,所述焊盘分配协议定义所述第二组开关中的开关是工作的还是不工作的。

2.如权利要求1的SoC控制模块,其中所述SoC控制模块能够配置来:将所述第二开关协议定义用于当SoC被布置用于在所述第二组开关和第一组接合焊盘之间路由电信号时;并且将所述第二开关协议定义用于当SoC被布置用于在所述第二组开关和第二组接合焊盘之间路由电信号时,其中所述第一组接合焊盘与所述第二组接合焊盘不同。

3.如权利要求1的SoC控制模块,其中当第一组开关包括第一子组开关并且第二组开关包括第二子组开关时,所述控制模块被设置来控制SoC的开关配置,所述第一子组开关中的每个开关的第二端子电连接至所述第二子组开关中的开关的所述多个第三端子中的一个。

4.如权利要求1的SoC控制模块,其中对于所述焊盘分配协议,所述SoC控制模块被配置为通过将第二组开关中的开关从开关电源断开而使该开关是不工作的。

5.如权利要求1的SoC控制模块,其中所述SoC控制模块被配置为使与所述第二组开关中的开关相关联的输入-输出单元是工作的或者不工作的。

6.如权利要求5的SoC控制模块,其中所述SoC控制模块被配置为通过将输入-输出单元从输入-输出单元电源断开而使该输入-输出单元是不工作的。

7.一种片上系统SoC,包括:

第一组开关,第一组开关中的每个开关包括:

多个第一端子,其用于在所述第一组开关中的该开关与SoC组件之间路由电信号;以及第二端子;

第二组开关,所述第二组开关中的每个开关具有:

多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号;以及第四端子;以及

SoC控制模块,其用于定义SoC开关配置,所述SoC控制模块包括:第一存储器部分,其存储用于所述第一组开关的第一开关协议,对于所述第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;

第二存储器部分,其存储用于所述第二组开关的第二开关协议,对于所述第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径;以及第三存储器部分,其存储用于所述第二组开关的焊盘分配协议,所述焊盘分配协议定义第二组开关中的开关是工作的还是不工作的。

8.如权利要求7的SoC,其中所述SoC控制模块被配置为:定义用于所述第二组开关的所述第二开关协议,以在所述第二组开关和第一组接令焊盘之间路由电信号;以及定义用于所述第二组开关的所述第二开关协议,以在所述第二组开关和第二组接合焊盘之间路由电信号,其中所述第一组接合焊盘与所述第二组接合焊盘不同。

9.如权利要求7的SoC,其中所述第一组开关包括第一子组开关,并且所述第二组开关包括第二子组开关,所述第一子组开关中的每个开关的第二端子电连接至所述第二子组开关中的开关的所述多个第三端子中的一个。

10.如权利要求7的SoC,其中所述第三存储器部分被配置为存储多个焊盘分配协议,并且所述SoC还包括焊盘分配协议选择器开关,其用于选择所述多个焊盘分配协议中的一个以将其应用于所述第二组开关。

11.如权利要求7的SoC,其中对于所述焊盘分配协议,所述SoC控制模块被配置为通过将所述第二组开关中的开关从开关电源断开而使该开关是不工作的。

12.如权利要求11的SoC,其中所述第二组开关中的开关包括电源隔离开关,所述电源隔离开关的操作由所述SoC控制模块利用焊盘分配协议进行控制。

13.如权利要求7的SoC,其中所述SoC控制模块被配置为使与所述第二组开关中的开关相关联的输入-输出单元是工作的或者不工作的。

14.一种片上系统SoC,包括:

第一组开关,所述第一组开关中的每个开关包括:

多个第一端子,其用于在所述第一组开关中的该开关与SoC组件之间路由电信号;以及第二端子;

第二组开关,所述第二组开关中的每个开关包括:

多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号;以及第四端子;

控制模块,其用于定义SoC开关配置,所述控制模块包括存储器部分,所述存储器部分存储用于所述第二组开关的焊盘分配协议,所述焊盘分配协议定义所述第二组开关中的开关是工作的还是不工作的。

15.如权利要求14的SoC,其中所述存储器部分被配置为存储多个焊盘分配协议,并且所述SoC还包括焊盘分配协议选择器开关,其用于选择所述多个焊盘分配协议中的一个以将其应用于所述第二组开关。

16.如权利要求14的SoC,其中对于所述焊盘分配协议,所述控制模块被配置为通过将所述第二组开关中的开关从开关电源断开而使该开关是不工作的。

17.如权利要求14的SoC,其中所述第二组开关中的开关包括电源隔离开关,所述电源隔离开关的操作由所述控制模块利用焊盘分配协议进行控制。

18.如权利要求14的SoC,其中所述控制模块被配置为使与所述第二组开关中的开关相关联的输入-输出单元是工作的或者不工作的。

说明书 :

片上系统及其控制模块

技术领域

[0001] 本发明涉及一种片上系统(SOC)以及SOC控制模块,特别地,涉及将SOC的引脚(pin)复用于内部模块和SOC信号的SOC控制模块。

背景技术

[0002] 能够以不同的类型和尺寸的封装提供SoC。例如,一种SoC设计被以具有256个引脚的封装的形式提供。在典型的配置中,对于每个封装引脚,SoC具有开关(例如,复用器),该开关允许四个内部SoC信号中的任意信号连接至该引脚以允许外部连接。因此,每个SoC引脚可被复用以支持若干功能,并且,在这种传统配置中,其允许在封装引脚和SoC电路之间路由最多4x256(1024)个信号。
[0003] 图1示出了对于这样的布置的典型布局,其中该SoC具有复用器102的系列100,包括102a、102b、102c、...、102m(统称为102)。每个复用器102具有一系列的四个输入104a至104m(或者统称为104),其用于接收SoC内部信号。每个复用器102还设置有相应的输出106a至106m,其根据控制线输入108a至108m上的值输出在输入104中的一个上接收的信号。每个控制线输入108被布置为接收2比特输入信号,该信号确定输出四个输入信号中的哪一个。
该复用器也可作为解复用器操作,用来将来自外部设备的电信号通过引脚路由到SoC的组件。在这种情况下,该复用输出106a至106m作为解复用器的输入,并且复用输入104a至104m作为解复用器的输出。
[0004] 但是,对设计的考虑可能希望其中减少了封装引脚数量的更小的封装设计。例如,在单个产品族中可能具有32引脚/64引脚/144引脚/256引脚的封装。在这种减少了引脚的封装中,在SoC电路和芯片引脚之间只能够路由减少了数量的信号,这可能导致显著的设计限制。例如,在32引脚的封装(并且遵循图1的例子,其中每个复用器具有四个用于路由至/来自SoC组件的信号的输入),最多为4x32(128)个SoC信号可被连接至封装引脚,这样,该SoC的其它i/o单元未被使用,因为它们无法连接至封装引脚上。另外,每个未使用的焊盘和其相关联的i/o单元(其可以结合有多个电子器件,诸如,电平移位器、数字驱动器和静电放电(ESD)保护线路)保持在被供能状态并且耗费不必要的电力。
[0005] 因此,由于上面讨论的局限性,现有技术不是最优的。因而,能够更容易地将更多SoC信号连接至封装引脚并克服上述的限制是有利的。

发明内容

[0006] 根据本公开一个实施例,提供了一种片上系统SoC控制模块,其用于定义SoC开关配置,所述SoC控制模块包括:第一存储器部分,其存储用于所述SoC的第一组开关的第一开关协议,所述第一组开关中的每个开关具有:多个第一端子,其用于在第一组开关中的该开关和SoC组件之间路由电信号,以及第二端子;对于第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;以及第二存储器部分,其存储用于所述SoC的第二组开关的第二开关协议,所述第二组开关中的每个开关包括:多个第三端子,其用于在所述第一组开关和所述第二组开关之间路由电信号,以及第四端子;对于第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径。
[0007] 根据本公开另一实施例,提供了一种片上系统SoC,包括:第一组开关,第一组开关中的每个开关包括:多个第一端子,其用于在所述第一组开关中的该开关与SoC组件之间路由电信号,以及第二端子;第二组开关,所述第二组开关中的每个开关具有:多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号,以及第四端子;以及SoC控制模块,其用于定义SoC开关配置,所述SoC控制模块包括:第一存储器部分,其存储用于所述第一组开关的第一开关协议,对于所述第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;以及第二存储器部分,其存储用于所述第二组开关的第二开关协议,对于所述第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径。
[0008] 根据本发明另一实施例,提供了一种片上系统SoC,包括:第一组开关,所述第一组开关中的每个开关包括:多个第一端子,其用于在所述第一组开关中的该开关与SoC组件之间路由电信号,以及第二端子;第二组开关,所述第二组开关中的每个开关包括:多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号,以及第四端子;控制模块,其用于定义SoC开关配置,所述控制模块包括存储器部分,所述存储器部分存储用于所述第二组开关的焊盘分配协议,所述焊盘分配协议定义所述第二组开关中的开关是工作的还是工作的。

附图说明

[0009] 本发明通过示例的方式进行阐述,并且不限于附图,在附图中相同的附图标记表示相类同的元件。附图中的元件为了简单和清楚起见而示出,其并不必须按照比例绘制。
[0010] 图1示出了在片上系统(SoC)中用于输入-输出开关的常规布置。
[0011] 图2是根据本发明实施例的SoC开关布置的示意框图。
[0012] 图3是根据本发明另一个实施例的SoC开关布置的示意框图;
[0013] 图4是根据本发明另一个实施例的、减少SoC中不必要的功率损费的SoC开关布置的示意框图;以及
[0014] 图5是根据本发明一个实施例的、减少SoC的组件中不必要的功率损费的布置的示意框图。

具体实施方式

[0015] 在本发明的一个实施例中,提供了一种片上系统控制模块,其用于定义片上系统开关配置,该片上系统控制模块包括:第一存储器部分,其存储用于所述片上系统的第一组开关的第一开关协议,所述第一组开关中的每个开关具有:多个第一端子,其用于在第一组开关中的该开关和片上系统组件之间路由电信号;以及第二端子;对于第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;以及第二存储器部分,其存储用于所述片上系统的第二组开关的第二开关协议,所述第二组开关中的每个开关具有:多个第三端子,其用于在所述第一组开关和所述第二组开关之间路由电信号;以及第四端子;对于第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径。
[0016] 在本发明的另一个实施例中,提供一种片上系统,其包括:第一组开关,第一组开关中的每个开关具有:多个第一端子,其用于在所述第一组开关中的该开关与片上系统组件之间路由电信号,以及第二端子;第二组开关,所述第二组开关中的每个开关具有:多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号,以及第四端子;以及片上系统控制模块,其用于定义片上系统开关配置,所述片上系统控制模块包括:第一存储器部分,其存储用于所述第一组开关的第一开关协议,对于所述第一组开关中的开关,所述第一开关协议定义所述多个第一端子中的一个与所述第二端子之间的电路径;以及第二存储器部分,其存储用于所述第二组开关的所述第二开关协议,对于所述第二组开关中的开关,所述第二开关协议定义所述多个第三端子中的一个与所述第四端子之间的电路径。
[0017] 在本发明的进一步实施例中,提供一种片上系统,其包括:第一组开关,所述第一组开关中的每个开关具有:多个第一端子,其用于在所述第一组开关中的该开关与片上系统组件之间路由电信号,以及第二端子;第二组开关,所述第二组开关中的每个开关具有:多个第三端子,其用于在所述第一组开关和所述第二组开关中的该开关之间路由电信号,以及第四端子;片上系统控制模块,其用于定义片上系统开关配置,所述片上系统控制模块包括存储器部分,所述存储器部分存储用于所述第二组开关的焊盘分配协议,所述焊盘分配协议定义所述第二组开关中的开关是工作的还是不工作的。
[0018] 还公开了一种片上系统中的开关的控制方法,该方法包括:提供片上系统控制模块,该片上系统控制模块定义片上系统开关配置,并且具有第一存储器部分和第二存储器部分;使用存储在第一存储器部分中的第一开关协议控制片上系统的第一组开关的开关,第一组开关中的开关具有:用于在片上系统组件和第一组开关中的该开关之间路由电信号的多个第一端子,以及第二端子;第一开关协议定义所述多个第一端子中的一个与第二端子之间的电路径;利用存储在第二存储器部分中的第二开关协议来控制片上系统的第二组开关的开关,第二组开关中的开关具有:用于在第一组开关和第二组开关中的该开关之间路由电信号的多个第三端子,以及第四端子;第二开关协议定义所述多个第三端子中的一个与第四端子之间的电路径。
[0019] 还公开了另一种片上系统中的开关的控制方法,该方法包括:为片上系统提供第一组开关,第一组开关中的每个开关具有:用于在第一组开关中的该开关与片上系统组件之间路由信号的多个第一端子,和第二端子;为片上系统提供第二组开关,第二组开关中的每个开关具有用于在第二组开关中的该开关和第一组开关之间路由电信号的多个第三端子,和第四端子;为片上系统提供用于定义片上系统开关配置的片上系统控制模块,该片上系统控制模块包括第一存储器部分和第二存储器部分:使用存储在第一存储器部分中的第一开关协议来控制第一组开关的开关,对于第一组开关中的该开关,该第一开关协议定义所述多个第一端子中一个与第二端子之间的电路径;以及使用存储在第二存储器部分中的第二开关协议来控制第二组开关的开关,对于第二组开关中的该开关,该第二开关协议定义所述多个第三端子中的一个与第四端子之间的电路径。
[0020] 还公开了另一种控制片上系统的开关的方法,该方法包括:为片上系统提供第一组开关,第一组开关中的每个开关具有用于在第一组开关中的该开关和片上系统组件之间路由电信号的多个第一端子,以及第二端子;为片上系统提供第二组开关,第二组开关中的每个开关具有用于在第一组开关和第二组开关的该开关之间路由电信号的多个第三端子,以及第四端子;为片上系统提供片上系统控制模块,该片上系统控制模块具有存储器部分;以及使用存储在存储器部分中的焊盘分配协议来使第二组开关中的开关是工作的或者不工作的。
[0021] 另外,还描述了一种选择性地将SoC内部信号传输至外部焊盘的方法,其包括:定义用于第一组开关的第一开关协议并定义用于第二组开关的第二开关协议;将第一开关协议存储至SoC控制模块的第一存储器部分并将第二开关协议存储至SoC控制模块的第二存储器部分;将SoC信号耦接至第一组开关的多个第一输入-输出;以及将多个第二开关输入-输出耦接至第一组输入-输出接合焊盘;将来自第一组开关的输入-输出信号耦接至第二组开关的多个第二输入-输出/将来自第二组开关的多个第二输入-输出的输入-输出信号耦接至第一组开关;基于所述第一开关协议,传输第一组开关的所述多个第一输入-输出中的一个至第一开关输入-输出/从第一开关输入-输出传输第一组开关的所述多个第一输入-输出中的一个;以及基于所述第二开关协议,传输第二组开关的所述多个第二输入-输出中的一个至第二组输入-输出接合焊盘/从第二组输入-输出接合焊盘传输第二组开关的所述多个第二输入-输出中的一个。
[0022] 本发明的实施例可提供显著的技术优点。例如,如下面将明白的,第二(或更高)级别的开关在片上系统中的引入(其中开关布置由片上系统控制模块定义)允许增加片上系统信号的焊盘布局(padding out)的灵活性。例如,由于电信号在第一层级SoC开关和第二层级中的多个开关之间进行路由,因此信号可在第一层级开关中的任意开关和与第二层级开关相关联的任意焊盘之间路由。因此,可以在焊盘布局布置中实现增加的灵活性。另外,在焊盘数量少于SoC引脚数量的情况下,SoC设计者能够利用借助第二(或更多)级别开关的引入而在有限数量的焊盘上路由更多SoC信号的能力。
[0023] 此外,本发明的实施例以在下面将详细描述的减少了引脚的布置在片上系统中实现减少的浪费功率。例如,在传统的具有32引脚焊盘布局布置的256引脚SoC中,共有224焊盘未使用,并且这些焊盘的每一个均耗费不必要的功率,使用本发明的实施例可改善这种不期望的情形。
[0024] 此处使用的术语“一”或“一个”被定义为一个或多于一个。类同地,在权利要求中的引语例如“至少一个”和“一个或多个”的使用不应被解释为由不定冠词“一,,或“一个”引入的另一个权利要求要素将包含该引入的权利要求要素的任何特定权利要求限制为仅仅包含一个这种要素的发明,即使当同一权利要求包含引语“一个或多个”或者“至少一个”以及不定冠词例如“一”或“一个”时也是如此次。定冠词的使用也是如此。
[0025] 除非另外说明,术语例如“第一”和“第二”用于区别这些术语描述的更素。因此,这些术语并非必然意图指示这些要素的时间上的或者其它的优先次序。
[0026] 由于实现本发明的装置的很大一部分是由已被本领域技术人员已知的组件形成的,因此将不以超出理解和认识本发明的基本概念所须的程度说明全部的技术细节,这也是为了不使本发明的教导模糊或者分散。
[0027] 某些实施例可以使用各种不同的开关装置实现。例如,尽管在此在复用器作为开关装置的背景下给出了本发明的实施例,但也可使用其他类型的开关装置。这些示例性开关布置仅被呈现用于在讨论本发明的不同方面提供了有用的参考。
[0028] 以下示例性的描述是在从一个或多个片上系统组件路由电信号至外部设备的的背景下给出的。在该示例性描述中,所述开关是复用器,其操作将多个输入信号中的一个路由至输出端子。但是,该布置并不是限制性的,并且在本发明的实施例中,电信号也可从外部设备路由至一个或多个片上系统组件。在这种布置中,开关可作为解复用器操作,以将一个输入信号至路由多个输出端子中的一个。
[0029] 现在参考图2,说明根据本发明实施例的片上系统(SoC)和SoC控制模块。SoC 200包括第一组开关202、第二组开关204、SoC控制模块206、和SoC组件208。第一组开关202输出信号至端子210。在图2的实施例中,端子210示意性地示出了第一组开关202的输出引脚。第二组开关204输出信号至接合焊盘212,用于路由至外部设备(未示出)。
[0030] 第一组开关202包括各开关214a至214m,在图2的实施例中,这些开关中的每个开关都是复用器,但是,正如之前指出的,本发明的实施例可采用其他类型的开关来实现。每个单独的开关214分别包括多个第一输入216a至216m,其被布置用于从SoC组件208接收信号218,信号218用于传输至外部设备(未示出)。每个单独的开关214都具有控制线输入220a至220m,并且该控制线输入上的信号确定在所述多个第一输入216a-216m上接收的哪个信号在第一输出222a-222m上输出。
[0031] 第二组开关204包括各开关224a-224p,其中每个开关都是复用器,但是,正如上述指出的,本发明的实施例可采用其他类型的开关来实现。每个单独的开关224包括多个第二输入226a-226p,其被布置用于从第一组开关202的输出222接收输出信号。
[0032] 图2的实施例示出了这样的示例性情形,其中具有利用第一组开关202和第二组开关204的两级开关。应理解,本发明的实施例可实现多于两级的开关,并且可引入第三级或更高阶级别的开关,以进一步增加SoC设计者可用的焊盘布局选择。
[0033] 在图2的实施例中,在第一组开关202中,总共有256个开关214。即,开关214m中的后缀“m”表示这是第一组开关202中的第256个开关,每个SoC引脚一个开关。另外,与SoC引脚的数量(256)相比,具有减少数量的接合焊盘。在图2的实施例中,共有(最大量)144个接合焊盘,并且开关开关224p的后缀“p”表示这是第二组开关204中的第144个开关,每个接合焊盘一个开关。当然,当接合焊盘的最大数量不同时,如96或32时,可应用类似的描述。
[0034] 当接合焊盘的最大数量小于SoC引脚数,那么第一组开关的输出可以以均匀或近似均匀的分布方式路由至第二组开关的输入。例如,如果接合焊盘的最大数量是144并且SoC引脚数是256,那么输出222a、222b、222c、222d可连接至开关224a、224b、224c的第二输入。输出222e、222f、222g、222h(未示出)可被连接至开关224d、224e(未示出)的第二输入。输出222i、222j、222k、222l(未示出)可被连接至开关224f、224g(未示出)的第二输入,等等。
[0035] 在图2的实施例中,第一组开关202中的开关214a、214b、214c、214d的输出222a、222b、222c、222d中的每一个被馈送作为每个开关224a、224b、224c、224d的输入226。即,到每个开关224a、224b、224c、224d的输入分别同样是开关214a、214b、214c、214d的四个的输出222a、222b、222c、222d。对于第一组开关202中的剩余开关,对于开关214e、214f、214g、
214h(未示出)等等,以及对于第二组开关中,对于开关224e、224f、224g、224h(未示出)等等,应用相同或类似的配置。
[0036] 每个单独的开关224具有控制线输入228a-228p,并且该输入上的信号确定在所述多个第二输入226上接收的哪个信号在第二组开关202中的单独的开关224的第二输出230a-230p上输出,并且之后输出至接合焊盘212从而向前路由至外部设备(未示出)。
[0037] 如上所述,SoC 200包括SoC控制模块206。在图2的实施例中,SoC控制模块206包括第一存储器部分232,其用于存储用于SoC 200的第一组开关202的第一开关协议。SoC控制模块206还包括第二存储器部分234,其用于存储用于SoC 200的第二组开关204的第二开关协议。SoC控制模块206还包括第三存储器部分236,其用于存储焊盘分配协议,该协议将特别参考图4和图5在下文中对其进行详细描述。
[0038] 在图2的实施例中,第一和第二存储器部分232、234可通过SoC200的外围以总线(slave bus)240的寄存器访问238进行布置。因此,第一存储器部分232可通过第一存储器部分232的输入242根据寄存器访问238进行布置,并且第二存储器部分234可通过第二存储器部分234的输入244根据寄存器访问238进行布置。
[0039] 如图2中所见的,用于第一组开关202中的开关的控制线输入220从SoC控制模块206的第一存储器部分232,从第一存储器部分232的输出246提供。另外,用于第二组开关
204中的开关的控制线输入228从SoC控制模块206的第二存储器部分234,从第二存储器部分234的输出248提供。在该示例性实施例中,由于第一组开关202中的每个开关和第二开关
204中的开关具有四个输入,因此需要两比特信号来选择这些输入信号中的哪个被路由至输出。当然,如果实现不同数量的输入信号,那么还须使用相应的控制线输入信号。例如,如果对于第一组开关202或者第二组开关204中的任何开关,有(最多)总共8个输入,那么控制线输入220或228上的信号将是三比特信号。
[0040] 如图2所示,第二组开关204中的每个开关224具有功率控制线输入250a-250p,用于接收焊盘分配协议信号。
[0041] 在图2中还示出了功率减小控制模块252,其在SoC控制模块206的第三存储器部分的控制之下进行操作,以及在第三存储器部分236的输出254上输出的信号。功率减小控制模块252具有输出总线线路256,用于在开关224的功率控制线输入250a-250p上提供焊盘分配协议信号。SoC控制模块206的第三存储器部分236/功率控制模块252的操作将在下面参考图4和图5进行更详细的讨论。
[0042] 在操作中,如上所述,SoC组件208具有信号218,该信号用于通过接合焊盘212传输至外部设备(未示出)。这些信号218被路由至SoC 200的第一组开关202的多个第一输入216。SoC控制模块206的第一存储器部分232存储用于第一组开关202的第一开关协议,该第一开关协议定义哪些输入信号216在第一输出222上输出。在图2的实施例中,考虑开关
214a、214b、214c、214d和开关224a、224b、224c、224d,那么开关214a、214b、214c、214d的第一输出222中的每一个被路由作为到开关224a、224b、224c和224d中的每一个开关的输入
226。即,输出222a上的信号被路由作为输入226a中的一个、输入226b中的一个、输入226c中的一个、和输入226d中的一个。对于分别来自开关214b、214c、214d的输出222b、222c和222d中的任意也是如此。此外,输出信号222a、222b、222c和222d中的任意输出信号也被路由作为开关226b、226c、226d的输入中的一个。因此,作为输入216a、216b、216c、216d提供的四个信号中的任意信号可在第二开关输出230a、230b、230c、230d中的任意输出上输出,因此为SoC设计者在焊盘布局方面提供了增加的灵活性。参考图3可更好地对此进行阐述,其中示出了包括第一子组开关300的第一组开关202和包括第二子组开关302的第二组开关204,第一子组开关300中的每个开关214的输出222电连接至第二子组开关302中的开关224a、
224b、224c、224d的多个第二输入226中的输入。尽管图3的实施例示出了开关被分组在四个开关的子组中,但是应理解,也可使用其他数量的开关的子组。另外,尽管在图2和图3的实施例中,所述多个第一输入216的数量与所述多个第二输入226的数量相同,但是这并不是必须的,并且也可以使用不同的配置。
[0043] 现在回到图2,SoC控制器206的存储器部分232存储第一开关协议,该第一开关协议在第一存储器部分232的输出246上输出作为第一组开关202的控制线输入220。第一开关协议定义在第一组开关202中的开关214的输入216上的哪个信号在输出222上输出。SoC控制器206的第二存储器部分234存储第二开关协议,该第二开关协议在第二存储器部分234的输出248输出,作为第二组开关204的控制线输入228。第二开关协议定义在第二组开关204中的开关224的输入226上的哪个信号在输出230上输出,以传输至接合焊盘212。如上所述,第一和第二存储器部分232、234可经由寄存器访问238和外围从总线240配置。
[0044] 第一组开关202中的任意其余开关214(直到并包括开关214m)和第二组开关204中的任意开关224(直到并包括开关224p)以相同(或相似)的方式执行操作。
[0045] 因此,应理解,图2示出了片上系统200,其包括:第一组202开关214,第一组开关202中的每个开关214具有:多个第一端子216,用于在第一组开关中的该开关与片上系统组件208之间路由电信号,以及第二端子222;第二组204开关224,第二组开关204中的每个开关224具有:多个第三端子226,用于在第一组开关202和第二组开关204中的该开关之间路由电信号,以及第四端子230;以及片上系统控制模块206,其用于定义片上系统开关配置,该片上系统控制模块206包括:第一存储器部分232,其用于存储用于第一组开关202的第一开关协议,对于第一组开关202中的开关214,第一开关协议定义所述多个第一端子216中的一个与第二端子222之间的电路径;以及第二存储器部分234,其用于存储用于第二组开关
204的第二开关协议,对于第二组开关204中的开关224,第二开关协议定义多个第三端子
226中的一个与第四端子230之间的电路径。相应的在片上系统中的开关的控制方法也已经被描述。
[0046] 另外,应理解,图2示出了片上系统控制模块206,其用于定义片上系统200的开关配置,该片上系统控制模块206包括:第一存储器部分232,其用于存储用于该片上系统200的第一组开关202的第一开关协议,第一组开关202中的每个开关214具有:多个第一端子216,用于在第一组开关202中的该开关214与片上系统组件208之间路由电信号,以及第二端子222;对于第一组开关202中的开关214,第一开关协议定义所述多个第一端子216中的一个与第二端子222之间的电路径;以及第二存储器部分234,其用于存储用于该片上系统
200的第二组开关204的第二开关协议,第二组开关204中的每个开关224具有:多个第三端子226,其用于在第一组开关202和第二组开关204之间路由电信号,以及第四端子230;对于第二组开关204中的开关,第二开关协议定义所述多个第三端子226中的一个与第四端子
230之间的电路径。相应的片上系统控制模块的操作方法也已进行了描述。
[0047] 因此,可认为片上系统控制模块206是“知晓封装”的控制模块,因为它被配置来解决封装的焊盘布局布置。
[0048] 另外,本发明的实施例允许将相同的SoC 200用于产品族的不同产品,其中所述不同产品具有不同数量的接合焊盘和/或不同的接合焊盘布置。例如,除了可适合于不同数量的接合焊盘之外,本发明的实施例还可适合于不同的接合焊盘。在某些实施例中,接合焊盘的位置可以不同,从而使得例如,第一组焊盘被配置作为用于256焊盘的封装的焊盘(0:255),并且第二组焊盘可以是焊盘(0:255:奇数)或者焊盘(0:255:偶数)。后两组焊盘都使用128焊盘配置,但是连接至不同的焊盘位置:偶数编号的焊盘或者奇数编号的焊盘。无论在哪种情况下,开关协议(特别是第二开关协议)可配置用于设置第二组开关204中的开关
224的开关布置,以考虑焊盘的最终数量和/或布置。因此,应理解,图2还示出了片上系统控制模块206,其可配置用于定义当片上系统200被布置用于在第二组开关204和第一组接合焊盘212(例如256个接合焊盘,与SoC的引脚数量相同)之间路由电信号时的第二开关协议,以及用于定义当片上系统200被布置用于在第二组开关204和第二组接合焊盘(未示出)(例如,144个接合焊盘)之间路由电信号时的第二开关协议,其中第一组接合焊盘不同于第二组接合焊盘。
[0049] 在图2的实施例中,第一和第二存储器部分232、234每一个都包括一组寄存器,并且可包括例如一组64个8-比特寄存器、一组32个16-比特寄存器、或者一组16个32-比特寄存器,但也可使用其他配置。在一个替换实施例中,这些存储器部分232、234是同一寄存器的不同部分。当然,也可实现其它类型的存储器,例如,在另一个替换实施例中,包括易失性存储器(未示出),指令可以从例如存储装置中载入该易失性存储器中,以在处理器(未示出)的控制下进行运行,以实现上述的开关协议。
[0050] 如上所述,本发明的实施例可实现存储在SoC控制模块206的第三存储器部分236中的焊盘分配协议(至少一个焊盘分配协议)。焊盘分配协议确定第二组开关204中的开关224是工作的(被使能并在操作中)还是不工作的(被禁止,不消耗功率)。在本发明的其中接合焊盘212的数量小于SoC引脚的数量的实施例中,如果开关224与未使用的接合焊盘相关联,则使该开关224是不工作的。因此,存储在第三存储器部分236中的焊盘分配协议可从其输出以连接至开关224的输入250a-250p。以下将参考图5详细讨论可以使开关224是不工作的方式。
[0051] 现在参考图4,将描述存储在SoC控制模块206的第三存储器部分236中的多个焊盘分配协议的使用,由于可以根据对多个焊盘分配协议中的一个的选择来改变焊盘布局设置,因此这提供了进一步的灵活性。在图4的实施例中,在这种情况下SoC控制模块206的第三存储器部分236存储多个焊盘分配协议400,共有八个焊盘分配协议PAC0、PAC1、PAC2、...、PAC7。这些焊盘分配协议400中的每一个可以从第三存储器部分236输出至焊盘分配协议选择器开关402(其可以是SoC 200上的功率减小控制模块的一部分),并且可以在其输入404上被接收。焊盘分配协议选择器开关402具有用于从另一个存储器部分408接收输入控制信号的控制线输入406,该存储器部分408可以是SoC控制模块206的一部分或与SoC控制模块206分离。在图4的实施例中,存储器部分408是非易失性存储器,个闪存IFR(“信息行”,其是闪存的可以用于存储系统相关信息的特定部分)。在图4的实施例中,焊盘分配协议选择器开关402也是复用器,并且,由于有用于接收八个焊盘分配协议的八个输入400,焊盘分配协议选择器开关控制线输入406被布置为从闪存IFR 408接收3比特信号。被选择的焊盘分配协议400在焊盘分配协议选择器开关402的输出410上输出,以用于从功率控制模块252的输出256路由至第二组开关204的输入250a-250p。
[0052] 因此,应理解,图4示出了控制模块206,该控制模块206包括第三存储器部分236,其用于存储用于第二组开关204的焊盘分配协议400,该焊盘分配协议400定义第二组开关204中的开关224是工作的还是不工作的。另外,图4示出了SoC 200,其中第三存储器部分
236被配置用于存储多个焊盘分配协议400,并且该SoC 200进一步包括焊盘分配协议选择器开关402,其用于选择所述多个焊盘分配协议400中的要应用于第二组开关204的一个焊盘分配协议。
[0053] 表1示出了各焊盘分配协议400可采用的形式,其可编程以适应于期望的焊盘布局布置,以及要使用的接合焊盘的数量。在本发明的实施例中,得出这些焊盘分配协议400以在具有少于256个焊盘的封装中的焊盘之间提供均匀或近似均匀的分布,以促进对于该封装的电连接路由。“1”指示焊盘将被接合输出并且相关的开关224是工作的。“0”指示焊盘不被接合输出并且相关的开关224是不工作的。
[0054] 表1
[0055]
[0056]
[0057] 表2示出了闪存IFR 408输出至焊盘分配协议选择器开关402的输入406的3比特信号的选项。
[0058] 表2
[0059]000 256引脚
001 144引脚
010 96引脚
011 80引脚
100 64引脚
101 32引脚
110 保留
111 保留
[0060] 当使开关是不工作的时,该开关被掉电(powered down),以避免用于未被使用的焊盘的开关的任何不必要的功率消耗。在本发明的实施例中,与该焊盘相关联(和/或与该开关相关联)的焊盘输入-输出单元也被掉电。以下参考图5来描述这些布置。
[0061] 根据焊盘分配协议400来使第二组开关204中的开关是工作的或不工作的特征可以是独立提供的,在这种情况下应理解,图2示出了片上系统200,该片上系统200包括:第一组开关202,第一组开关202中的每个开关214具有:多个第一端子216,用于在第一组开关202中的该开关与片上系统组件208之间路由电信号,以及第二端子222;第二组开关,第二组开关中的每个开关具有:多个第三端子226,用于在第一组开关202和第二组开关204中的该开关之间路由电信号,以及第四端子230;片上系统控制模块206,其用于定义片上系统开关布置,片上系统控制模块206包括存储器部分236,用于存储用于第二组开关204的焊盘分配协议400,该焊盘分配协议定义第二组开关中的开关224是工作的还是不工作的。
[0062] 现在将参考图5,描述可以使第二组开关中的开关224是不工作的方法。如图5所示,从开关电源Vdd 502向开关224提供电源。在第二组开关204中的开关224中提供电源隔离开关500,电源隔离开关500将在焊盘分配协议400的控制下进行开关。于是依据在开关224的电源控制线250上接收的信号,根据焊盘分配协议400来实现对电源隔离开关500的控制。取决于开关224是工作的或不工作的,电源隔离开关500可以进行开关来将开关224连接到开关电源Vdd 502或者将其与开关电源Vdd 502断开连接。注意,该操作与如下的例如复用器开关的常规操作十分不同:其中提供选通(strobe)(使能)功能来禁止复用器的正常功能,并且来禁止复用器将在任意输入上接收的数据传递至该输出或每个输出。在本发明的实施例中,电源控制线250在被设置到比如零(0)的逻辑值时,将禁止或断开应用于复用器单元的以及可选地对应的焊盘输入-输出单元的开关电源Vdd。
[0063] 应理解,用于开关224和用于焊盘/输入-输出单元508的电力可由单个电源提供,而不是图5中示出的单独的电源502、506。
[0064] 在本发明的一个实施例中,开关500(或者以下讨论的504)是PMOSFET晶体管,其源节点耦接至Vdd 502(或者,对于开关504,耦接到Vdd 506),其漏极节点耦接至第二开关224的电源引脚,并且其栅极节点耦接至开关224的功率控制线250的逻辑补码(相当于插入反相器)。
[0065] 开关控制信号250的操作如下。当线路250上的信号是逻辑高信号或者“1”时,其逻辑补码将为低或者“0”,并电源开关导通(ON)(在导通状态),并且连接到开关的电源与相应的焊盘I/O单元被连接。
[0066] 当线路250上的信号是逻辑低或者“0”时,其逻辑补码将是高或者“1”,电源开关关断(在非导通状态),并且应用于复用器单元和相应的焊盘I/O单元的电源断开。
[0067] 如在图5中描述的,电源隔离开关500被提供作为开关224的一部分。但是应理解,替代地,也可以提供与开关224分离并且不同的分开的电源隔离开关500。
[0068] 另外,可以提供电源隔离开关504以用于对与接合焊盘相关联的(替代地,与开关224相关联的)输入-输出单元508相关的焊盘电源Vdd 506的开关操作。焊盘电源隔离开关
504可从用于控制开关504的焊盘分配协议400中接收输入控制信号。
[0069] 因此应理解,图5示出了一种片上系统控制模块206,该片上系统控制模块206被配置用于焊盘分配协议400来通过将开关224从开关电源Vdd 502断开而使得第二组开关204中的开关224是不工作的。另外,图5示出了第二组开关204中的开关224,其包括电源隔离开关500,电源隔离开关500的操作由片上系统控制模块206利用焊盘分配协议400进行控制。另外,图5示出了片上系统控制模块206,其被配置来使得与接合焊盘相关联的以及,替代地,与第二组开关204中的开关224相关联的输入-输出单元508,工作或不工作。片上系统控制模块206被配置为通过电源开关504将输入-输出单元从输入-输出单元电源506断开来使输入-输出单元508不工作。
[0070] 在仿真中,已发现第二(或者更多)级别的开关的引入不会在SoC的开关操作中导致不可接受的时延。作为示例,使用Pioneer3 k70 256引脚封装进行仿真。
[0071] 对于Pioneer3 k70 256引脚封装,有41个功率焊盘,49个DDR相关焊盘,34个模拟焊盘,132个普通功能焊盘。Padi_pioneer3包括49个DDR相关焊盘(其中每个具有大约4项功能),132个普通功能焊盘(其中每个具有大约10项功能)。用于padi_pioneer3的门数量是28832。
[0072] 对于4个第二级复用器,使用1812888个Pioneer 3门,预计增加用于第二级复用器的门数为28832x(132x4)/(49x4+132xl0)。预计增加用于第二开关协议信号的门数是132x2xl0。预计面积增加百分比为12682/1812888=0.7%。对于8个第二级复用器,使用
1812888个Pioneer 3门,预计增加用于第二级复用器的门数为28832x(132x8)/(49x4+
132xl0)。预计增加用于第二开关协议信号的门数为132x3x10。预计面积增加百分比为
24043/1812888=13%。因此发现,时序影响不会导致任何问题,因为利用以cmos90TFS技术增加的第二级开关,将增加大约200ps至300ps。
[0073] 至此,应理解,已经提供了一种在片上系统中控制开关或信号路由的新技术。另外,也已描述了一种新的片上系统控制模块。
[0074] 尽管在此参考具体实施例描述了本发明,但是可以进行各种修改和改变而不脱离如下所示的权利要求的范围。例如,可使用一个以上的另外级别的开关/复用操作;也就是说,在片上系统中可以有两个、三个或更多个级别的开关。因此,说明书和附图被认为是示例性的而不是限制性的,并意图将所有的这些改变均包括在本发明的范围内。在此就具体实施例描述的所有益处、优点和问题的解决方案不应解释为任何或所有权利要求的关键的、必须的或实质性的特征或要素。