一种具有重映射功能的芯片系统及芯片重映射配置系统的制作方法

文档序号:25867263发布日期:2021-07-13 16:27阅读:104来源:国知局
一种具有重映射功能的芯片系统及芯片重映射配置系统的制作方法

本申请涉及芯片技术领域,特别是涉及一种具有重映射功能的芯片系统及芯片重映射配置系统。



背景技术:

在设计芯片的过程中,研发团队在关于芯片管脚如何排布的问题上往往会进行反复斟酌,需要综合考虑各种应用场景来得到一个比较合理的排布。但是,随着芯片设计技术越来越成熟,芯片的功能越来越复杂,其管脚也越来越多,往往在不同的应用场景下,需要不同的管脚排布。

因此,在芯片制造完成后,如果还可以由软件配置重新映射芯片管脚的排布,那么用户就可以根据自己的应用需求定义管脚,大大提高了芯片的灵活性,同时节省了芯片设计过程中关于管脚如何排布问题的时间。

在现有方案中,主要是使用多路选择器来实现芯片管脚的重映射的。图1为现有技术中的一种具有重映射功能的芯片系统。如图1所示,芯片管脚重映射电路设置于芯片内核101和芯片管脚驱动电路(即i/o驱动电路)102之间,使用多路选择器实现芯片i/o管脚映射,芯片的管脚可以配置为输入或输出,因此有两组多路选择器,一组控制输入的映射,一组控制输出的映射。芯片内核101的任一输出管脚px_out可以输出到芯片管脚驱动电路102的任意一个管脚padx,芯片管脚驱动电路102的任一管脚padx也可以输入到芯片内核101的任意一输入管脚px_in。芯片管脚可以由软件配置多路选择器的控制信号来进行重映射。这种使用多路选择器实现芯片管脚重映射的方法,假设有n个管脚需要做重映射,则需要n个n选1的多路选择器,即需要需要n×(n-1)个二选一数据选择器(mux),所需控制寄存器位宽为n×log2n,其成本代价随着管脚数量的增加成平方次增加。当芯片功能比较复杂,管脚数量比较多时,使用多路选择器的方式实现芯片输入输出(i/o)映射代价太大。

提供一种较低成本的芯片管脚重映射方案,是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种具有重映射功能的芯片系统及芯片重映射配置系统,相较于现有采用多路选择器实现芯片重映射的方式降低了成本。

为解决上述技术问题,本申请提供一种具有重映射功能的芯片系统,包括:芯片内核,芯片管脚驱动电路,以及设于所述芯片内核和所述芯片管脚驱动电路之间的第一芯片管脚映射电路;

其中,所述第一芯片管脚映射电路包括输入动态互连网络和输出动态互连网络;所述输出动态互连网络的输入端口与所述芯片内核的第一输出端口对应连接,所述输出动态互连网络的输出端口与所述芯片管脚驱动电路的第一输出管脚对应连接;所述输入动态互连网络的输入端口与所述芯片管脚驱动电路的第一输入管脚对应连接,所述输入动态互连网络的输出端口与所述芯片内核的第一输入端口对应连接;

所述输入动态互连网络和所述输出动态互连网络均包含无阻塞网络结构。

可选的,所述输入动态互连网络和所述输出动态互连网络均由benes网络构成。

可选的,所述输入动态互连网络和所述输出动态互连网络均具体为:具有n个输入端口和n个输出端口的第一benes网络;

所述第一benes网络中的输入端口和输出端口均连接位宽为1的传输线;n为2的幂次方。

可选的,所述输入动态互连网络和所述输出动态互连网络均具体包括:第二benes网络和第三benes网络;

其中,n个所述第二benes网络对应连接一个所述第三benes网络,所述第二benes网络具有k个输入端口和k个输出端口,所述第三benes网络具有n个输入端口和n个输出端口;所述第三benes网络的输入端口和输出端口均连接位宽为k的总线;k、n均为2的幂次方。

可选的,所述输入动态互连网络和所述输出动态互连网络均具体包括多组网络结构;

一组所述网络结构包括一个所述第三benes网络和与所述第三benes网络对应的所述第二benes网络。

可选的,在所述输出动态互连网络中,所述第二benes网络的输入端口与所述芯片内核的第一输出端口对应连接,一个所述第二benes网络的所有输出端口均与对应的所述第三benes网络的一个输入端口连接,所述第三benes网络输出端口与所述芯片管脚驱动电路的第一输出管脚对应连接;

在所述输入动态互连网络中,所述第二benes网络的输入端口与所述芯片管脚驱动电路的第一输入管脚对应连接,一个所述第二benes网络的所有输出端口均与对应的所述第三benes网络的一个输入端口连接,所述第三benes网络输出端口与所述芯片内核的第一输入端口对应连接。

可选的,在所述输出动态互连网络中,所述第二benes网络的输入端口与所述芯片管脚驱动电路的第一输入管脚对应连接,一个所述第二benes网络的所有输出端口均与对应的所述第三benes网络的一个输入端口连接,所述第三benes网络输出端口与所述芯片内核的第一输入端口对应连接;

在所述输入动态互连网络中,所述第二benes网络的输入端口与所述芯片内核的第一输出端口对应连接,一个所述第二benes网络的所有输出端口均与对应的所述第三benes网络的一个输入端口连接,所述第三benes网络输出端口与所述芯片管脚驱动电路的第一输出管脚对应连接。

可选的,还包括:设于所述芯片内核和所述芯片管脚驱动电路之间的第二芯片管脚映射电路;

所述第二芯片管脚映射电路包括输入多路选择器电路和输出多路选择器电路;一个所述输出多路选择器电路的输入端口与所述芯片内核的各第二输出端口对应连接,各所述输出多路选择器电路的输出端口与所述芯片管脚驱动电路的各第二输出管脚对应连接;一个所述输入多路选择器电路的输入端口与所述芯片管脚驱动电路的各第二输入管脚对应连接,各所述输入多路选择器电路的输出端口与所述芯片内核的各第二输入端口对应连接。

可选的,还包括:设于所述芯片内核和所述芯片管脚驱动电路之间的现场可编程逻辑门阵列;

所述现场可编程逻辑门阵列的第一输入端口与所述芯片内核的第三输出端口对应连接,所述现场可编程逻辑门阵列的第一输出端口与所述芯片管脚驱动电路的第三输出管脚对应连接,所述现场可编程逻辑门阵列的第二输入端口与所述芯片管脚驱动电路的第三输入管脚对应连接,所述现场可编程逻辑门阵列的第二输出端口与所述芯片内核的第三输入端口对应连接。

为解决上述技术问题,本申请还提供一种芯片重映射配置系统,包括上述任意一项所述的具有重映射功能的芯片系统,还包括:用于控制第一芯片管脚映射电路中各数据选择器的寄存器状态的上位机。

本申请所提供的具有重映射功能的芯片系统,以互连网络的方式来实现芯片输入输出管脚的映射,采用包含无阻塞网络的动态互连网络代替多路选择器实现重映射功能,针对芯片内核和芯片管脚驱动电路之间的输入信号和输出信号分别设置输入动态互连网络和输出动态互连网络;其中,输出动态互连网络的输入端口与芯片内核的第一输出端口对应连接,输出动态互连网络的输出端口与芯片管脚驱动电路的第一输出管脚对应连接;输入动态互连网络的输入端口与芯片管脚驱动电路的第一输入管脚对应连接,输入动态互连网络的输出端口与芯片内核的第一输入端口对应连接。无阻塞网络结构采用递归的方式进行扩张构造,从而相较于现有技术中采用多路选择器实现芯片管脚重映射的方案延缓了交叉点数随入线、出线数增长的速度,进而降低了实现芯片管脚重映射的成本。

本申请还提供一种芯片重映射配置系统,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中的一种具有重映射功能的芯片系统;

图2为本申请实施例提供的第一种具有重映射功能的芯片系统的结构示意图;

图3为本申请实施例提供的一种输出动态互连网络的结构示意图;

图4为本申请实施例提供的一种b[2]结构的结构示意图;

图5为本申请实施例提供的另一种输出动态互连网络的结构示意图;

其中,101为芯片内核,102为芯片管脚驱动电路。

具体实施方式

本申请的核心是提供一种具有重映射功能的芯片系统及芯片重映射配置系统,相较于现有采用多路选择器实现芯片重映射的方式降低了成本。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

图2为本申请实施例提供的第一种具有重映射功能的芯片系统的结构示意图。

如图2所示,本申请实施例提供的具有重映射功能的芯片系统包括:芯片内核101,芯片管脚驱动电路102,以及设于芯片内核101和芯片管脚驱动电路102之间的第一芯片管脚映射电路;

其中,第一芯片管脚映射电路包括输入动态互连网络和输出动态互连网络;输出动态互连网络的输入端口与芯片内核101的第一输出端口对应连接,输出动态互连网络的输出端口与芯片管脚驱动电路102的第一输出管脚对应连接;输入动态互连网络的输入端口与芯片管脚驱动电路102的第一输入管脚对应连接,输入动态互连网络的输出端口与芯片内核101的第一输入端口对应连接;

输入动态互连网络和输出动态互连网络均包含无阻塞网络结构。

芯片内核101为芯片的核心逻辑电路。芯片管脚(i/opad)驱动电路用于控制芯片输入输出管脚的输入输出工作方式。芯片内核101的输入端口最终连接到芯片管脚驱动电路102的输入管脚上,芯片内核101的输出端口最终连接到芯片管脚驱动电路102的输出管脚上。本申请实施例采用包含无阻塞网络结构的输入动态互连网络实现从芯片管脚驱动电路102的输入管脚到芯片内核101的输入端口的连接,采用包含无阻塞网络结构的输出动态互连网络实现从芯片内核101的输出端口到芯片管脚驱动电路102的输出管脚的连接,在无阻塞网络部分相较于采用多路选择器的方式将节约所需二选一数据选择器的数量。

一个n×n的交换结构若能够实现全排列p(n,n),则该交换结构是无阻塞的。无阻塞网络结构通常应用于交互机的互连中,主要包括benes网络、clos网络及waksman网络等网络类型。clos网络为利用小规模纵横开关按照三级互连结构递归构建的多级互连网络。benes网络是由交换单元连接构成的一种非阻塞性clos网络特例。waksman网络在benes网络的基础上进一步减少了交换单元的数量,其所需的交换单元数据为构成同规格交换结构所需交换单元的下界。故在本申请实施例提供的具有重映射功能的芯片系统中,输入动态互连网络和输出动态互连网络均可以由benes网络构成。

本申请实施例提供的具有重映射功能的芯片系统,以互连网络的方式来实现芯片输入输出管脚的映射,采用包含无阻塞网络的动态互连网络代替多路选择器实现重映射功能,针对芯片内核和芯片管脚驱动电路之间的输入信号和输出信号分别设置输入动态互连网络和输出动态互连网络;其中,输出动态互连网络的输入端口与芯片内核的第一输出端口对应连接,输出动态互连网络的输出端口与芯片管脚驱动电路的第一输出管脚对应连接;输入动态互连网络的输入端口与芯片管脚驱动电路的第一输入管脚对应连接,输入动态互连网络的输出端口与芯片内核的第一输入端口对应连接。无阻塞网络结构采用递归的方式进行扩张构造,从而相较于现有技术中采用多路选择器实现芯片管脚重映射的方案延缓了交叉点数随入线、出线数增长的速度,进而降低了实现芯片管脚重映射的成本。

实施例二

图3为本申请实施例提供的一种输出动态互连网络的结构示意图;图4为本申请实施例提供的一种b[2]结构的结构示意图。

在上述实施例的基础上,如图3所示,在本申请实施例提供的具有重映射功能的芯片系统中,输入动态互连网络和输出动态互连网络均具体为:具有n个输入端口和n个输出端口的第一benes网络;

第一benes网络中的输入端口和输出端口均连接位宽为1的传输线;n为2的幂次方。

在具体实施中,图3仅示出本申请实施例提供的输出动态互连网络,输入动态互联网络与输出动态互连网络结构一致,数据传输方向不同。输入动态互连网络和输出动态互连网络各自均可以采用一个完整的benes网络,即第一benes网络。第一benes网络可以保证芯片内核101的输入输出端口可以任意映射到芯片管脚驱动电路102的管脚上。

分别在芯片内核101的输入输出端口中选取n个端口,在芯片管脚驱动电路102的输入输出管脚中选取n个管脚,需保证n是2的幂次方。通过在该n个端口和n个管脚中设置第一benes网络来实现映射的全排列,即输出可以是输入的任意组合。记具有n个输入端口和n个输出端口的第一benes网络为b[n]。

如图4所示,b[2]结构为第一benes网络的基本单元,具有两种互连状态,一种是直接通过状态,即out1=in1,out2=in2;另一种是交叉通过状态,即out1=in2,out2=in1。b[2]结构可以通过两个二选一数据选择器实现,其需要1bit寄存器控制互联状态,reg_ctrl=0时为直接通过状态,reg_ctrl=1时为交叉通过状态。

由图3可得,一个b[n]结构可以拆成两个b[n/2]结构和n个b[2]结构。b[n/2]结构进一步进行拆分,直到得到基本单元b[2]结构,因此b[n]网络可以通过迭代的方式构建。

由此可以得到,一个b[n]网络=共有(2*log2(n)-1)级,每一级有n/2个基本单元b[2]结构,因此一个b[n]网络一共有:(n*log2(n)-n/2)个基本单元b[2]结构,则所需的二选一数据选择器的个数为n*(2*log2(n)-1)。相较于现有的采用多路选择器的方案,当n≥8时,所需二选一数据选择器的数量有所降低,从而降低了芯片输入输出映射的成本,成本代价从传统方案的o(n2)降低到了o(n×(log2n))。

在控制过程中,通过寄存器配置各个基本单元b[2]结构的控制位,可以完成{in1...inn}到{out1...outn}的任意组合映射。寄存器的配置值可以由路由算法得出,该算法只需在上位机中进行计算,而无需在嵌入式程序的运行。

可选的,在芯片内核101和芯片管脚驱动电路102之间可以不仅仅只设置第一benes网络,例如可以将芯片内核101的输入输出端口和芯片管脚驱动电路102的输入输出管脚分为多组,其中一组由第一benes网络连接,另外的组由其他benes网络连接,构成方式可以参考第一benes网络。这些组之间的管脚无法实现重映射,但可以在组内实现任意端口到管脚之间的重映射。

实施例三

图5为本申请实施例提供的另一种输出动态互连网络的结构示意图。

在上述实施例的基础上,在本申请实施例提供的具有重映射功能的芯片系统中,输入动态互连网络和输出动态互连网络均具体包括:第二benes网络和第三benes网络;

其中,n个第二benes网络对应连接一个第三benes网络,第二benes网络具有k个输入端口和k个输出端口,第三benes网络具有n个输入端口和n个输出端口;第三benes网络的输入端口和输出端口均连接位宽为k的总线;k、n均为2的幂次方。

考虑到芯片中同一功能或类似功能的管脚往往是排在一起的,往往没有必要建立所有管脚之间的重映射。因此,在本申请实施例中,通过将芯片管脚分为若干组,组内可以任意映射,不同的组之间也可以以组为单位任意映射。

在具体实施中,第二benes网络和第三benes网络除了彼此间的连接外,在所在的动态互连网络中具有两种连接形式,即第二benes网络位于输入侧,或第二benes网络位于输出侧。

若第二benes网络位于输入侧,在输出动态互连网络中,第二benes网络的输入端口与芯片内核的第一输出端口对应连接,一个第二benes网络的所有输出端口均与对应的第三benes网络的一个输入端口连接,第三benes网络输出端口与芯片管脚驱动电路的第一输出管脚对应连接;(如图5所示)

在输入动态互连网络中,第二benes网络的输入端口与芯片管脚驱动电路的第一输入管脚对应连接,一个第二benes网络的所有输出端口均与对应的第三benes网络的一个输入端口连接,第三benes网络输出端口与芯片内核的第一输入端口对应连接。

若第二benes网络位于输出侧,则在输出动态互连网络中,第二benes网络的输入端口与芯片管脚驱动电路的第一输入管脚对应连接,一个第二benes网络的所有输出端口均与对应的第三benes网络的一个输入端口连接,第三benes网络输出端口与芯片内核的第一输入端口对应连接;

在输入动态互连网络中,第二benes网络的输入端口与芯片内核的第一输出端口对应连接,一个第二benes网络的所有输出端口均与对应的第三benes网络的一个输入端口连接,第三benes网络输出端口与芯片管脚驱动电路的第一输出管脚对应连接。

可选的,在输入动态互连网络和输出动态互连网络中,第二benes网络可以处于不同的位置,即并不限定第二benes网络均处于输入侧或均处于输出侧。

如图5所示,以第二benes网络位于输入侧的输出动态互连网络为例(输入动态互联网络与输出动态互连网络结构一致,数据传输方向不同),选择k×n个芯片内核101的输出端口和k×n个芯片管脚驱动电路102的输出管脚,将之分成n组,每组对应k个输出端口和k个输出管脚,k和n都是2的幂次方。

第二benes网络由n个b[k]结构(对应芯片101的输出端口{in1_1...in1_k......inn_1...inn_k})组成,用于实现组内管脚映射,其中每个端口均需要1bit寄存器控制。

第三benes网络由1个b[n]结构(对应芯片管脚驱动电路102的输出管脚{out1...outn})组成,其每个端口均连接位宽为k的总线,用于实现以组为单位的组件管脚映射。

仍以总管脚个数为n(n≥16),每组对应8个端口为例,则共有n/8个输入位宽为1bit的b[8]结构和1个输入位宽为8bit的b[n/8]结构。n/8个输入位宽为1bit的b[8]结构所需1bit二选一数据选择器的个数为n/8×8×(2×log2(8)-1)=5×n;1个输入输出位宽8bit的b[n/8]结构所需的8bit位宽二选一数据选择器的个数为n/8×(2×log2(n/8)-1),而1个8bit二选一数据选择器等价于8个1bit二选一数据选择器,故需要1bit二选一数据选择器的个数为n×(2×log2(n/8)-1)。

通过这种分组方式进行映射,相较于实施例二的方案可以进一步减少芯片管脚映射所需的成本。

可选的,在芯片内核101和芯片管脚驱动电路102之间可以不仅仅只设置一组第二benes网络和第三benes网络,即输入动态互连网络和输出动态互连网络均具体包括多组网络结构;一组网络结构包括一个第三benes网络和与第三benes网络对应的第二benes网络。其中,不同网络结构中的第二benes网络和第三benes网络的形式可以不同,其连接方式均可以参考图5。

实施例四

在上述实施例的基础上,本申请实施例提供的具有重映射功能的芯片系统可以不仅仅设置具有无阻塞网络结构的第一芯片管脚映射电路,还可以包括:设于芯片内核101和芯片管脚驱动电路102之间的第二芯片管脚映射电路;

第二芯片管脚映射电路包括输入多路选择器电路和输出多路选择器电路;一个输出多路选择器电路的输入端口与芯片内核101的各第二输出端口对应连接,各输出多路选择器电路的输出端口与芯片管脚驱动电路102的各第二输出管脚对应连接;一个输入多路选择器电路的输入端口与芯片管脚驱动电路102的各第二输入管脚对应连接,各输入多路选择器电路的输出端口与芯片内核101的各第二输入端口对应连接。

在具体实施中,第一芯片管脚映射电路可以仅对应芯片系统的部分管脚,而其余管脚可以采用如图1所示的多路选择器结构。

实施例五

在上述实施例的基础上,本申请实施例提供的具有重映射功能的芯片系统可以不仅仅设置具有无阻塞网络结构的第一芯片管脚映射电路,还可以包括:设于芯片内核101和芯片管脚驱动电路102之间的现场可编程逻辑门阵列;

现场可编程逻辑门阵列的第一输入端口与芯片内核101的第三输出端口对应连接,现场可编程逻辑门阵列的第一输出端口与芯片管脚驱动电路102的第三输出管脚对应连接,现场可编程逻辑门阵列的第二输入端口与芯片管脚驱动电路102的第三输入管脚对应连接,现场可编程逻辑门阵列的第二输出端口与芯片内核101的第三输入端口对应连接。

在具体实施中,第一芯片管脚映射电路可以仅对应芯片系统的部分管脚,而其余管脚的重映射功能采用现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)实现。

实施例六

上文详述了具有重映射功能的芯片系统对应的各个实施例,在此基础上,本申请还公开了与上述具有重映射功能的芯片系统对应的芯片重映射配置系统。本申请实施例公开的芯片重映射配置系统可以包括上述任意一项实施例提供的具有重映射功能的芯片系统,还包括:用于控制第一芯片管脚映射电路中各数据选择器的寄存器状态的上位机。

上位机通过路由算法计算得到芯片管脚映射的目标组合所对应的第一芯片管脚映射电路中各数据选择器的寄存器状态,从而实现对第一芯片管脚映射电路中各数据选择器控制,进而实现芯片系统的重映射。

以上对本申请所提供的一种具有重映射功能的芯片管脚电路及芯片进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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