发明内容
本发明的目的在于克服现有技术的缺点和不足而提供一种新的片上系统,对不同类型的数据采用不同的传输通道。
本发明提供的片上系统,包括多个功能模块,所述多个功能模块之间用内部总线连接,所述内部总线包括独立的两个传输通道,为:
用于传输控制/状态信息的控制/状态通道;和
用于传输除控制/状态信息之外的其它数据的数据通道;
所述控制/状态通道和数据通道各自包括有数据线、地址线和控制线;其中,
所述片上系统的控制/状态通道为主从设备结构,所述控制/状态通道所连接的多个功能模块中的一个为主设备,主设备之外的功能模块作为从设备;
所述控制/状态通道的数据线包括:
所有从设备共用的写数据线;和
从设备与主设备之间的读数据线。
上述技术方案中,所述控制/状态通道的地址线由所有从设备共用。
上述技术方案中,所述所述控制/状态通道的控制线包括:由各个从设备至主设备的中断请求信号线、由主设备至各个从设备的选通信号线和所有从设备共用的命令信号线。
上述技术方案中,所述片上系统的数据通道为主从设备结构,所述数据通道所连接的多个功能模块包括至少一个主设备和至少一个从设备;所述地址线和所述控制线从所述主设备连接至所述从设备;所述数据线包括分离的写数据线和读数据线,所述写数据线从所述主设备连接至所述从设备,所述读数据线从所述从设备连接至所述主设备。
上述技术方案中,所述数据通道所连接的多个功能模块包括多个主设备,所述数据通道中还包括与从设备关联的第一多路选择器和仲裁器,所述仲裁器根据所述多个主设备发送的地址和控制信号进行仲裁运算,并根据仲裁结果分配所述多个主设备的总线使用权,所述仲裁器还与所述第一多路选择器连接并控制所述第一多路选择器对来自所述多个主设备的信号进行选择。
上述技术方案中,所述数据通道所连接的多个功能模块包括多个从设备,所述数据通道中还包括与主设备关联的第二多路选择器,所述第二多路选择器对来自所述多个从设备的信号进行选择。所述第二多路选择器与所述仲裁器连接,并由所述仲裁器控制所述第二多路选择器对来自所述多个从设备的信号进行选择。所述仲裁器为采用轮转调度算法的仲裁器。
本发明具有如下有益效果:
1.本发明的核心是采用控制/状态通道和数据通道分开的策略来设计片上系统总线,根据系统内部两类数据不同特点设计的两个通道具有不同的拓扑结构和通信协议,能够大大简化系统内部各个功能模块的接口设计,增加系统总的通信带宽,非常适合数据交互密集型片上系统芯片的设计。
2.本发明的控制/状态通道与数据通道分开,两个通道使用不同的地址空间和数据线,能够简化地址译码电路设计,避免由于两类不同数据传输协议不同所作的折衷处理。
3、本发明的控制/状态通道和数据通道均采用主、从设备握手方式来交换数据。由于控制\状态寄存器和其它数据位于不同的地址空间,可以分别编解码,便于简化各个模块接口逻辑的设计。
4.本发明的数据通道使用分布式从设备关联仲裁器,只有在多个主设备共享的从设备端才需要设计相应的仲裁器,系统内部允许多个多个主设备—从设备对同时进行通信,这样设计可以极大地提高系统内部数据通信带宽。
5.本发明的数据通道使用简单的握手协议来完成数据传输,允许响应速度慢的功能模块在数据传输的过程中插入等待周期。这种设计方法有利于功能模块的设计重用,便于将性能不同的功能模块集成到一个系统芯片内。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
一个片上系统中通常包括有多个功能模块,各个功能模块均有总线接口,利用片上系统的内部总线连接起来。在本发明如图1所示的实施例中,片上系统包括功能模块0~5(可以扩展)以及控制台。控制台是片上系统的一个特殊的功能模块,往往由一个嵌入式的RISC CPU或者与RISC CPU具有相同或类似功能的功能模块来担任。在其它可能的实施例中,控制台也可以集成到其它功能模块内。从下文的描述会知道,该控制台将作为本发明的控制/状态通道中的主设备。
如图1所示,在本发明中,片上系统的内部总线包括独立的两个通道:控制/状态通道10和数据通道20。功能模块0~5以及控制台利用控制/状态通道10和数据通道20连接起来。控制/状态通道10用于传输片上系统中的控制\状态信息数据,而数据通道20用于传输片上系统中除控制\状态信息数据之外的其它数据。由于控制台只用于控制/状态通道10,因此没有连接到数据通道20上。对于控制/状态通道10和数据通道20,每一个通道都包括有用于传输相应数据的数据线、地址线和控制线,这将在下文中分别详细说明。
控制/状态通道
图2示出了本发明中控制/状态通道的结构,其中包括有控制/状态通道的数据线、地址线和控制线。
如图2所示,控制/状态通道采用主从设备结构,即功能模块之间采用主从设备握手方式来交换数据。在控制/状态通道上,多个功能模块中只有一个主设备,其它功能模块均为从设备。该主设备就是图1和图2中的控制台,从设备为功能模块0~5。
在图2中,控制/状态通道的地址线用CAddr示出,连接于控制台和各个作为从设备的功能模块0~5之间,由各个作为从设备的功能模块0~5共用。由于控制/状态通道所传输的数据为控制/状态信息,其操作目标是各个功能模块0~5内部的状态寄存器和控制寄存器,因此不需要太宽的地址线。在本发明的一个实施例中,控制/状态通道的地址线CAddr宽度为5位,可以寻址32个不同地址的寄存器。较窄的地址线宽度可以简化译码电路设计的难度,加快电路响应时间。但是应当理解,地址线CAddr的宽度也可根据用户实际需要作其它变化。
在图2中,控制/状态通道的控制线包括:命令信号线或者说读写使能信号线CR/Wn、选通信号线CSel、中断请求信号线IRQ。
中断请求信号线IRQ的方向为由作为从设备的各个功能模块0~5到控制台,用于传输从设备向控制台发送的中断请求信号。在一个实施例中,中断请求信号高电平有效,当某一功能模块0~5需要与控制台进行数据交互时,利用该信号通知控制台。在图2中用在IRQ之后添加下划线和与功能模块号相同的数字来区别不同从设备与控制台之间的中断请求信号线,如IRQ_0~IRQ_5。
选通信号线CSel的方向为由控制台到各个作为从设备的功能模块0~5,用于传输控制台向从设备发送的选通信号。在一个实施例中,选通信号线CSel为高电平有效。与中断请求信号线IRQ类似,在图2中用CSel_0~CSel_5区别不同从设备的选通信号线。
命令信号线或者说读写使能信号线CR/Wn由各个从设备共用,用于传输控制台向各个从设备发送的读写操作命令。在一个实施例中,读写使能信号线CR/Wn的高电平表示读操作命令,低电平表示写操作命令。当该信号为高电平(逻辑1)时,控制台读已经经选通信号线CSel选通的功能模块的内部寄存器;当该信号为低电平(逻辑0)时,控制台向已经经选通信号线CSel选通的功能模块的内部寄存器写数据。
如图2所示,与现有技术中片上系统的数据线相似,控制/状态通道的数据线也由分离的写数据线CDadaOut和读数据线CDataIn组成。在图2中,写数据线CDadaOut由各个从设备共用,其方向为由控制台到作为从设备的功能模块0~5。读数据线CDataIn的方向为由作为从设备的各个功能模块0~5到控制台;每一个作为从设备的功能模块0~5都分别有读数据线CDataIn与作为主设备的控制台连接,在图2中用在CDataIn之后添加下划线和与功能模块号相同的数字来区别不同从设备与控制台的读数据线,如CDataIn_0~CDataIn_5。由于控制/状态通道只用来传递各个功能模块的控制/状态信息,不需要太宽的数据线。在本发明的一个实施例中,控制/状态通道的数据线宽度为32位,但是应当理解,数据线的宽度也可根据用户实际需要作其它变化。
根据前述对控制/状态通道的描述以及图2可知,对于每一个控制/状态通道中的从设备,例如图2中的功能模块0~5,都用相同的方式与控制/状态通道中的数据线、地址线和控制线连接,因此每一个从设备都可具有相同的总线接口,这是非常方便于片上系统的功能模块扩展的。例如在图2中,片上系统可以扩展到具有作为从设备的功能模块N-1和功能模块N(图中未示出),N可以为任意个符合用户需求的从设备个数。并且,功能模块N-1和功能模块N与功能模块0~5具有相同的总线接口,该总线接口除了与控制/状态通道中从设备共用的读写使能信号线CR/Wn、地址线CAddr和写数据线CDadaOut连接外,还分别通过选通信号线CSel_(N-1)、CSel_N以及中断请求信号线IRQ_(N-1)、IRQ_N与控制台连接,这都是与功能模块0~5一致的。
控制/状态通道上通常只有读、写两种操作,都是由控制台负责发起。控制台在选择想要操作的从设备时,利用选通信号线CSel通知该功能模块,然后发出读写操作命令CR/Wn,从控制/状态通道的读数据线CDataIn上得到需要的数据,或者将数据送到控制/状态通道的写数据线CDadaOut上。
图3示出了控制/状态通道的读操作时序图。如图3所示,在时钟信号Clk的时钟周期2,控制台通过上拉选通信号线CSel的电平选择要读取数据的从设备,然后上拉读写使能信号线CR/Wn的电平发出读操作命令,同时通过地址线CAddr送出被读寄存器的地址Addr0。在时钟信号Clk的时钟周期3,被寻址的从设备驱动自己的控制/状态通道中读数据线CDataIn,将地址Addr0上的数据Data0送到控制/状态通道的读数据线CDataIn上。在连续读取操作时,在时钟周期3控制台还可以同时发送下一次读取数据的地址Addr1,从设备将该地址Addr1上的数据Data1在时钟周期4送到控制/状态通道的读数据总线上。多个读数据操作的时序依此类推,包括地址Addr2和数据Data2,图3中共包含了三个数据读取周期。
图4示出了控制/状态通道的写操作时序图。如图4所示,在时钟信号Clk的时钟周期2,控制台通过上拉选通信号线CSel的电平选择要读取数据的模块,下拉读写使能信号线CR/Wn的电平发出读操作命令,并通过地址线CAddr送出被写寄存器的地址Addr0,同时驱动控制/状态通道的写数据线CDadaOut。数据写入操作在一个时钟周期内完成。多个写数据操作的时序依此类推,包括地址Addr1和Addr2以及相应和数据Data1和Data2,再图4中共包含了三个数据写入周期。
数据通道
在本发明中,片上系统芯片内部利用数据通道来交换其它数据。为了提高系统的性能,必须尽量提高数据通信的带宽,同时降低数据传输的延时。在本发明中,数据通道也采用主从设备结构,即功能模块之间采用主从设备握手方式来交换数据,并可支持多个总线主设备。当片上系统内部包括多个主设备时,采用分布式仲裁机制,将仲裁器与从设备关联。其中,主设备来的地址线、控制线信号进入仲裁器,仲裁器根据用户选择的算法分配总线的所有权。仲裁器产生与该从设备关联的多路选择器的控制信号以及与所有相关主设备(操作该从设备的主设备)关联的多路选择器的控制信号。与现有技术中片上系统的数据线相似,数据通道的数据线也由分离的写数据线和读数据线组成,其中写数据线的方向为从主设备到从设备,而读数据线的方向为从从设备到主设备。
在图5的实施例中示出了一个片上系统的数据通道结构,在该实施例中,片上系统内部包括两个总线主设备和两个总线从设备,分别为主设备0和主设备1以及从设备0和从设备1,两个主设备0和主设备1均可以操作两个从设备0和从设备1,其中,图5中的主设备和从设备可以是图1中的任一功能模块(包括控制台)。
在图5中,主设备0与其地址线501、控制线502和写数据线503连接,主设备1与其地址线501、控制线502和写数据线503连接。两个从设备0和1都分别关联有一个多路选择器和一个仲裁器,第一多路选择器S0与仲裁器0与从设备0关联,第一多路选择器S1与仲裁器1与从设备1关联。另外,为了选择从多个从设备返回的数据,两个主设备端也分别关联有一个多路选择器,其中,第二多路选择器M0与主设备0关联,第二多路选择器M1与主设备1关联。
如图5所示,数据通道中的地址线501和511、控制线502和512以及写数据线503和513均从主设备0和1连接至从设备0和1。从主设备0来的地址线501、控制线502和写数据线503信号以及从主设备1来的地址线511、控制线512和写数据线513信号需要经过第一多路选择器S0选择后将其中的一路通过地址线51、控制线52和写数据线53送入从设备0;同样的,从主设备0来的地址线501、控制线502和写数据线503信号以及从主设备1来的地址线511、控制线512和写数据线513信号需要经过第一多路选择器S1选择后将其中的一路通过地址线51’、控制线52’和写数据线53’送入从设备1。
如图5所示,第一多路选择器S0和S1进行选择时所依据的信号分别来自于仲裁器0和仲裁器1,其中,仲裁器0向第一多路选择器S0连接有主设备选择信号线505,仲裁器1向第一多路选择器S1连接有主设备选择信号线515。以与从设备0关联的第一多路选择器S0和仲裁器0为例,从两个主设备0和1来的地址线501和511、控制线502和512信号进入仲裁器0,仲裁器0根据用户选择的仲裁算法分配总线的所有权;仲裁器0产生一主设备选择信号并通过主设备选择信号线505发送至第一多路选择器S0,第一多路选择器S0根据其接收到的主设备选择信号将主设备0或者主设备1的地址线、控制线和写数据线信号送入从设备0。与从设备1关联的第一多路选择器S1和仲裁器1的工作方式与第一多路选择器S0和仲裁器0相同,其中仲裁器1产生一主设备选择信号并通过主设备选择信号线515发送至第一多路选择器S1。
数据通道中的读数据线504和514从从设备0和从设备1连接至主设备0和主设备1。其中,从设备0来的读数据线504和从设备1来的读数据线514均连接到与主设备0关联的第二多路选择器M0以及和主设备1关联的第二多路选择器M1,由第二多路选择器M0和M1进行选择后将其中的一路通过读数据线54和读数据线54’发送至主设备0和主设备1。
数据通道中的从设备对主设备的应答信号通过应答信号线从从设备传输至主设备。其中,从设备0的应答信号通过其应答信号线500分别传输至第二多路选择器M0和M1,从设备1的应答信号通过其应答信号线510分别传输至第二多路选择器M0和M1。第二多路选择器M0对来自从设备0和从设备1的应答信号进行选择后将其中的一路应答信号通过应答信号线50传输至主设备0,第二多路选择器M1对来自从设备0和从设备1的应答信号进行选择后将其中的一路应答信号通过应答信号线50’传输至主设备1。
如图5所示,仲裁器0和仲裁器1在仲裁之后,还要向第二多路选择器M0和第二多路选择器M1发送总线使用准许信号Gnt。因此,仲裁器0向第二多路选择器M0和第二多路选择器M1之间分别连接由总线使用准许信号线508和509,仲裁器1向第二多路选择器M0和第二多路选择器M1之间分别连接由总线使用准许信号线518和519。第二多路选择器M0选择总线使用准许信号线508和518中的一路通过总线使用准许信号线58发送给主设备0,第二多路选择器M1选择总线使用准许信号线509和519中的一路通过总线使用准许信号线59发送给主设备1。
如前所示,第二多路选择器M0和第二多路选择器M1需要对读数据线504和514、应答信号线500和510、总线使用准许信号线508和518以及509和519上的信号进行选择,以便将其中的一路信号传输给主设备0和主设备1。第二多路选择器M0和第二多路选择器M1进行选择时所依据的信号也分别来自于仲裁器0和仲裁器1。如图5所示,仲裁器0分别向第一多路选择器M0和第二多路选择器M1连接有从设备选择信号线506和507,以便由仲裁器0向第一多路选择器M0和第二多路选择器M1发送从设备选择信号;仲裁器1分别向第一多路选择器M0和第二多路选择器M1连接有从设备选择信号线516和517,以便由仲裁器1向第一多路选择器M0和第二多路选择器M1发送从设备选择信号。第一多路选择器M0根据仲裁器0通过从设备选择信号线506和仲裁器1通过从设备选择信号线516发送的从设备选择信号进行选择操作,而第二多路选择器M1根据仲裁器0通过从设备选择信号线507和仲裁器1通过从设备选择信号线517发送的从设备选择信号进行选择操作。
在数据通道中,由于其所传输的数据相比于控制/状态通道较多,因此需要较宽的地址线和数据线。在本发明的一个实施例中,数据通道的地址线501和511的宽度为32位,可以寻址4GByte的不同地址空间,数据通道的数据线(包括读数据线504、514和写数据线503、513)的宽度为128位。但是应当理解,数据通道地址线和数据线的宽度也可根据用户实际需要作其它变化。
在图5中,数据通道的控制线501和511的方向为从主设备到主设备所操作的从设备,其所传输的信号包括:总线使用请求信号Req、总线周期标志信号Frame、地址有效标志信号AValid、猝发传输长度BSize、命令信号或者说读写使能信号R/Wn、写数据有效标志信号WValid、数据总线上字节使能标志DataBE、最后一个写数据标志信号WLast、主设备可以接收读数据标志RReady。其中,
总线使用请求信号Req用于传输主设备向从设备发送的总线使用请求。在一个实施例中,总线使用请求Req为高电平有效,当某一主设备需要使用总线传输数据时,利用该信号通知从设备。
总线周期标志信号Frame用于传输一次总线周期标志。在一个实施例中,总线周期标志信号Frame为高电平有效。
地址有效标志信号AValid用于传输一次总线操作请求中的地址有效标志。在一个实施例中,地址有效标志信号AValid为高电平有效。
猝发传输长度BSize用于传输一次总线操作中的猝发传输长度。在一个实施例中,猝发传输长度BSize使用8位总线宽度,一次数据读写操作最多可以传输256个数据。
命令信号线或者说读写使能信号线R/Wn用于传输主设备向各个从设备发送的读写操作命令。在一个实施例中,读写使能信号线R/Wn的高电平表示读操作命令,低电平表示写操作命令。
写数据有效标志信号WValid用于传输一次总线写操作中写数据总线上的数据有效标志。在一个实施例中,写数据有效标志信号WValid为高电平有效。
数据总线上字节使能标志DataBE用于传输一次总线操作中写数据线和读数据线上相应字节有效标志。在一个实施例中,字节使能标志DataBE使用16位总线宽度,分别表示一次数据传输中各个字节数据是否有效。在一个实施例中,字节使能标志DataBE为高电平有效,DataBE[0]为高电平表示字节0有效,DataBE[1]为高电平表示字节1有效,以此类推。
最后一个写数据标志信号WLast用于传输一次总线写操作中最后一个写数据操作的标志。在一个实施例中,最后一个写数据标志信号WLast为高电平有效。
主设备可以接收读数据标志RReady用于传输一次总线读操作中主设备接收读数据准备就绪标志。在一个实施例中,主设备可以接收读数据标志RReady为高电平有效。
在数据通道中,应答信号线500和510传输的应答信号包括:总线操作应答信号Ack、从设备可以接收数据标志WReady、读数据有效标志RValid、最后一个读数据标志RLast。其中,
总线操作应答信号Ack用于传输一次总线周期应答标志,当一个从设备能够响应寻址它的主设备的请求时,利用该信号通知主设备。在一个实施例中,总线操作应答信号Ack为高电平有效。
从设备可以接收数据标志WReady用于传输一次总线写操作就绪标志,当一个从设备能够接收写总线上的数据时,利用该信号通知主设备。在一个实施例中,从设备可以接收数据标志WReady为高电平有效。
读数据有效标志RValid用于传输一次总线读操作数据有效标志,当一个从设备将有效数据送到读数据总线上时,利用该信号通知主设备。在一个实施例中,读数据有效标志RValid为高电平有效。
最后一个读数据标志RLast用于传输一次总线读操作的最后一个数据标志,当一个从设备将最后一个数据送到读数据总线上时,利用该信号通知主设备。在一个实施例中,最后一个读数据标志RLast为高电平有效。
根据前述对数据通道的描述以及图5可知,对于数据通道中的主设备和从设备,都用相同的方式与数据通道中的数据线、地址线和控制线连接,因此每一个主设备或者从设备都可具有相同的总线接口,这是非常方便于片上系统的功能模块扩展的。
数据通道上通常只有读、写两种操作,都是由主设备负责发起。主设备需要使用总线时,利用总线使用请求信号Req发起总线使用请求,从设备利用与其关联的仲裁器发出的总线使用准许信号Gnt来应答。主设备利用总线周期标志信号Frame来表示一次总线操作,同时送出地址Addr、地址有效信号AValid及命令信号R/Wn,从设备通过译码,确定是否响应本次操作,利用总线操作应答信号Ack通知主设备。如果响应本次总线操作,从设备根据命令信号R/Wn接收写数据线上的数据,或者将有效数据送到读数据线上。
图6示出了数据通道的读操作时序图。如图6所示,在时钟周期1主设备上拉Req信号发出数据通道操作请求。在时钟周期2仲裁器上拉Gnt信号同意该主设备使用数据通道。在时钟周期3主设备上拉Frame信号表示开始一次数据通道操作,上拉R/Wn信号发出数据通道读命令,送出本次读操作的最低地址,上拉AValid信号表示地址有效,同时送出本次猝发传输的长度BSize。在时钟周期4主设备上拉RReady信号表示进入读就绪状态,可以接收从设备来的读数据了。主设备通过设置DataBE中的适当位确定屏蔽那些无效数据字节。在时钟周期5从设备通过地址译码决定响应本次读操作,上拉Ack信号进行总线应答。由于内部数据还没有准备好,因此继续保持RValid为零,插入等待周期。时钟周期6和7均为从设备插入的等待周期。在时钟周期8从设备上拉RValid信号开始向数据通道的读数据线Rdata上传送数据,RReady和RValid同时有效的周期为一个数据传输周期。附图6中共有8个数据传输周期(BSize=8)。时钟周期15为最后一个数据传输周期,主设备通过上拉RLast表示该周期为最后一个读数据周期。在时钟周期16主设备下拉Frame信号标志本次读操作结束,同时下拉AValid、RReady和RLast信号。从设备下拉Ack和RValid信号,恢复到空闲状态。
图7示出了数据通道的写操作时序图。如图7所示,在时钟周期1主设备上拉Req信号发出数据通道操作请求。在时钟周期2仲裁器上拉Gnt信号同意该主设备使用数据通道。在时钟周期3主设备上拉Frame信号表示开始一次数据通道操作,下拉R/Wn信号发出数据通道写命令,送出本次写操作的最低地址,上拉AValid信号表示地址有效,同时送出本次猝发传输的长度BSize。与数据通道读操作不同,主设备送出要传送的第一个数据,并上拉WValid信号。通过设置DataBE中的适当位可以屏蔽掉一些字节。在时钟周期5从设备通过地址译码决定响应本次读操作,上拉Ack信号进行总线应答。由于从设备内部空间已经就绪,可以接收写数据线Wdata上的数据,上拉WReady信号。WReady和WValid同时有效的周期为一个数据传输周期,附图7中周期5、6、7、8均为数据传输周期。在时钟周期9从设备内部不能再接收写数据线上的数据,下拉WReady信号插入一个等待周期。在时钟周期10从设备内部空间已经就绪,可以继续接收写数据线上的数据,上拉WReady信号开始新的数据传输周期。时钟周期15为最后一个数据传输周期,主设备通过上拉WLast表示该周期为最后一个写数据周期。在时钟周期16主设备下拉Frame信号标志本次写操作结束,同时下拉AValid、WValid和RWast信号。从设备下拉Ack和WReady信号,恢复到空闲状态。
为了提高系统内部数据通信带宽,数据通道使用从设备关联仲裁策略。如果某一个从设备需要响应多个主设备的操作请求时,为了避免总线操作冲突,需要使用一个仲裁器来分配该从设备的使用权。在一个实施例中,仲裁器使用轮转调度算法来决定响应哪一个主设备的操作请求。如图8所示,仲裁器接收来自所有关联主设备的主设备操作请求,根据仲裁器内优先级队列中存储的优先级顺序,由仲裁器内部的请求信号排队逻辑选出当前优先级最高的请求信号,并由仲裁器内的仲裁与输出控制信号生成逻辑对相应的主设备做出应答(例如图5中的总线使用准许信号508和509),同时送出对多路选择器的选择控制信号(例如图5中仲裁器0的主设备选择信号505和从设备选择信号506和507)。当一次总线操作完成时,请求信号撤销,仲裁器对其优先级队列内的优先级顺序进行重新排序,近期最少服务的主设备排在最高优先级,刚获得服务的主设备排在最低优先级。其中,图8中的N为操作同一个从设备的主设备个数。
尽管在上文中仅用两个主设备和两个从设备为例来说明本发明数据通道的结构,但是本领域的技术人员根据上述描述可以很容易地得到具有更多主设备和/或更多从设备的数据通道的实施方式,也很容易得到具有更少主设备和/或更少从设备的数据通道的实施方式。例如,很明显,当片上系统的数据通道中仅有一个主设备时,可以省去从设备端的第一多路选择器和仲裁器;当片上系统的数据通道中仅有一个从设备时,可以省去主设备端的第二多路选择器。
在本发明中,作为主设备或者从设备的各功能模块可采用硬件描述语言(Hardware Description Language HDL)编写、综合、仿真、调试后下载到FPGA器件或者专用集成电路内,即可实现所需的片上系统芯片。或者,各功能模块也可专用集成电路(ASIC)来实现,
用户根据自己的需要设计或者选用不同的功能模块,可以构造出高性能的、适合不同应用的专用集成电路。