CN103246623B - Soc计算设备扩展系统 - Google Patents
Soc计算设备扩展系统 Download PDFInfo
- Publication number
- CN103246623B CN103246623B CN201310188627.XA CN201310188627A CN103246623B CN 103246623 B CN103246623 B CN 103246623B CN 201310188627 A CN201310188627 A CN 201310188627A CN 103246623 B CN103246623 B CN 103246623B
- Authority
- CN
- China
- Prior art keywords
- sdram
- chip
- bus
- soc
- external memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Programmable Controllers (AREA)
- Advance Control (AREA)
Abstract
本发明提供了一种SOC计算设备扩展系统,包括:片上系统;可编程器件,通过第一总线与所述片上系统相连;片外存储器,通过第二总线与所述可编程器件相连;其中,所述片上系统包括共享控制器,该共享控制器对所述片上系统和可编程器件针对该片外存储器的访问请求进行仲裁,以使所述片上系统和可编程器件通过该片外存储器进行数据共享。本发明能够兼顾产品的通用性和经济性,而且可以最大限度地满足系统功能需求的易变性。
Description
技术领域
本发明涉及通用SOC的计算能力扩展技术,尤其涉及一种采用存储器接口的SOC计算设备扩展系统。
背景技术
随着片上嵌入式计算机技术的发展,片上系统(SOC,System on Chip)的集成度越来越高,性能及功能也越来越强大,其复杂度也不断提高。
但是,现有技术中SOC的通用性和经济性是一对不可调和的矛盾。通用性是靠SOC在设计时预先加入各种可能的接口电路及各种可能的计算处理逻辑来保证,但这往往使SOC的设计极其复杂,以至于为了一个简单的应用往往需要选择功能性能远超过所需程度的SOC芯片。而经济性通常是通过为某具体应用定制SOC来实现的,但这样的定制方法有其局限性。因为定制的前提是该应用的功能要求和性能要求已经固定,不会发生变化,另外还需要该应用的需求量足够大以摊平定制造成的成本上升问题。
发明内容
本发明要解决的技术问题是提供一种SOC计算设备扩展系统,能够兼顾产品的通用性和经济性,而且可以最大限度地满足系统功能需求的易变性。
为解决上述技术问题,本发明提供了一种SOC计算设备扩展系统,包括:
片上系统;
可编程器件,通过第一总线与所述片上系统相连;
片外存储器,通过第二总线与所述可编程器件相连;
其中,所述片上系统包括共享控制器,该共享控制器对所述片上系统和可编程器件针对该片外存储器的访问请求进行仲裁,以使所述片上系统和可编程器件通过该片外存储器进行数据共享。
根据本发明的一个实施例,所述片外存储器为SDRAM,所述第一总线和第二总线为SDRAM总线。
根据本发明的一个实施例,所述片上系统还包括:
主设备;
第一SDRAM主控制器,接收该主设备的访问请求,并根据该访问请求针对的地址范围访问所述可编程器件或经由该可编程器件访问该片外存储器。
根据本发明的一个实施例,若所述访问请求针对的地址范围落入所述可编程器件的地址空间,则该第一SDRAM主控制器经由所述第一总线访问该可编程器件;若所述访问请求针对的地址范围落入所述片外存储器的地址空间,则该第一SDRAM主控制器请求所述共享控制器进行仲裁,并在获得授权后经由该第一总线、可编程器件和第二总线访问该片外存储器。
根据本发明的一个实施例,所述可编程器件包括:
功能单元;
SDRAM输入输出处理单元,经由该第二总线与所述片外存储器相连;
SDRAM从控制器,与所述第一SDRAM主控制器和功能单元相连,若所述主设备的访问请求针对该可编程器件,则该第一SDRAM主控制器经由所述第一总线、SDRAM从控制器与所述功能单元进行数据交互,若所述主设备的访问请求针对该片外存储器,则该第一SDRAM主控制器请求所述共享控制器进行仲裁,并在获得授权后经由该第一总线、SDRAM从控制器和第二总线访问该片外存储器;
第二SDRAM主控制器,与所述功能单元、SDRAM输入输出处理单元和共享控制器相连,接收该功能单元针对该片外存储器的访问请求,请求所述共享控制器进行仲裁,并在获得授权后经由该SDRAM输入输出处理单元和第二总线访问该片外存储器。
根据本发明的一个实施例,所述功能单元的功能是可配置的。
根据本发明的一个实施例,在所述片上系统访问该功能单元时,该功能单元被允许同时访问所述片外存储器。
根据本发明的一个实施例,所述可编程器件为现场可编程门阵列。
与现有技术相比,本发明具有以下优点:
本发明实施例的SOC计算设备扩展系统中,通过通用的存储器总线接口将可编程器件挂接在SOC上,并通过通用的存储器总线接口将片外存储器挂接在该可编程器件上,SOC和可编程器件可以通过片外存储器共享数据,SOC的功能可以相对较为简单,可以通过可编程器件的配置来实现多种功能需求,从而能够兼顾产品的通用性和经济型。
附图说明
图1是本发明实施例的SOC计算设备扩展系统的整体结构框图;
图2是本发明实施例的SOC计算设备扩展系统的详细结构框图。
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。
参考图1,本实施例的SOC计算设备扩展系统主要包括:片上系统11、通过第一总线14与片上系统11相连的可编程器件12、通过第二总线15与可编程器件12相连的片外存储器13。其中,片上系统11内包含有共享控制器(图1未示出),该共享控制器对片上系统11和可编程器件针对该片外存储器13的访问请求进行仲裁,使片上系统11和可编程器件12通过该片外存储13器进行数据共享。进一步而言,该共享控制器对第二总线15的占用进行仲裁,使得同一时间内仅有片上系统11和可编程器件12二者其中之一可以通过第二总线15访问片外存储器13。
作为一个优选的实施例,该可编程器件12为现场可编程门阵列(FPGA),该片外存储器13为同步动态随机存储器(SDRAM)。相应地,该第一总线14和第二总线15为SDRAM总线。其中,片外存储器13可以是单独的一片存储器,也可以包括多片拼接在一起的存储器。
下面参考图2进行说明,图2示出了本实施例的SOC计算设备扩展系统详细结构框图。
片上系统11主要包括主设备、第一SDRAM主控制器115和共享控制器114。在图2所示的实施例中,主设备包括处理器(CPU)111以及其他主设备112(例如DMA控制器等)。处理器111以及其他主设备112可以通过互连结构113与第一SDRAM主控制器115以及共享控制器114相连。
处理器111以及其他主设备112发出的访问请求传输至第一SDRAM主控制器115,第一SDRAM主控制器115对接收到的访问请求进行判断。如果该访问请求针对的地址范围落入可编程器件12的地址空间内,则第一SDRAM主控制器通过第一SDRAM总线14访问可编程器件12。如果该访问请求针对的地址范围落入片外存储器13的地址空间内,则第一SDRAM主控制器115请求共享控制器114进行仲裁,并且在获得共享控制器114的授权后经由第一SDRAM总线14、可编程器件12和第二SDRAM总线15访问该片外存储器13。
进一步而言,在请求仲裁时,第一SDRAM主控制器115向共享控制器114发送仲裁请求信号SocBusReq,共享控制器114接收到该仲裁请求信号SocBusReq后进行仲裁,如果仲裁结果是向第一SDRAM主控制器115授权,则发送授权信号SocBusGnt至第一SDRAM主控制器115。第一SDRAM主控制器115接收到该授权信号SocBusGnt后,可以占用第二SDRAM总线15访问片外存储器13。
可编程器件12可以包括功能单元121、SDRAM输入输出处理单元122、SDRAM从控制器123以及第二SDRAM主控制器124。其中,SDRAM从控制器123通过第一SDRAM总线14与第一SDRAM主控制器115相连,通过数据通路32与功能单元121相连,通过数据通路31与SDRAM输入输出处理单元122相连;功能单元121通过数据通路32与SDRAM从控制器123相连,通过数据通路33与第二SDRAM主控制器12相连;第二SDRAM主控制器124通过数据通路33与功能单元121相连,通过数据通路36与SDRAM输入输出处理单元122相连,通过仲裁控制线与共享控制器114相连;SDRAM输入输出处理单元122通过第二SDRAM总线15与片外存储器13相连。
进一步而言,功能单元121可以是FPGA中实现的各种逻辑功能,而且由于FPGA本身的可配置性,功能单元121的功能可以进行灵活配置,以满足不同的应用需求,例如可以实现各种可能的并行计算、事务处理或实现各种外围设备接口。由于各种功能可以通过可配置的功能单元121实现,因此使得片上系统11不需要很强的计算能力,也不需要集成很多专用的处理加速模块,这些模块可以通过FPGA中的功能单元121来实现。
采用该架构,可以很快实现一个既有较强事务处理能力,又有很强计算处理能力的系统,其充分利用片上系统11的事务处理能力,又可以利用可编程器件12方便地扩展外围计算设备,形成一个性能和功能都比较强大的系统。就目前而言,通用的FPGA成本低廉,却能通过配置提供强大的并行计算能力。因此,本实施例的系统可以大大降低片上系统11设计的复杂性,使得片上系统11可以仅需要专注于通信、存储以及一般的常规计算。另外,由于专用的计算功能可以通过FPGA中的功能单元121实现,也就降低了对专用模块的规格定义的要求,而通常这部分规格定义也是一款产品成功与否的关键,但是利用FPGA的可重编程特性,该问题得到解决。
另外,SDRAM从控制器123可以根据第一SDRAM主控制器115传递的主设备的访问请求工作,若主设备的访问请求针对可编程器件12,则第一SDRAM主控制器经由第一总线14、SDRAM从控制器123和功能单元121进行数据交互,例如可以和功能单元121中包含的片上存储器或者寄存器进行数据交互;若主设备的访问请求针对的是片外存储器13,则第一SDRAM主控制器115请求共享控制器114进行仲裁,并在获得共享控制器114的授权后经由第一总线14、SDRAM从控制器123和第二总线15访问该片外存储器13。换言之,在片上系统11访问片外存储器13时,SDRAM从控制器123可以经由数据通路31的旁路直接与SDRAM输入输出处理单元122进行数据交互,进而经由第二SDRAM总线15访问片外存储器13。
第二SDRAM主控制器124用于生成访问SDRAM的接口时序,在接收功能单元121针对片外存储器13的访问请求时,请求共享控制器114进行仲裁,例如可以向共享控制器114发送仲裁请求信号ExtBusReq来请求仲裁,共享控制器114仲裁后可以发送授权信号ExtBusGnt来向第二SDRAM主控制器124授权,第二SDRAM主控制器124收到该授权信号ExtBusGnt后,经由SDRAM输入输出处理单元122和第二SDRAM总线15访问片外存储器13,使得功能单元121与片外存储器13之间进行数据交互。
SDRAM输入输出处理单元122用于对数据通路31和36的选择,对传输数据以及控制信号的再同步,另外还可以用于第二SDRAM总线15的三态合成。进一步而言,SDRAM输入输出处理单元122对数据通道31的处理,及时直接将旁路自SDRAM从控制器123的数据通道31连接到第二SDRAM总线15上,该第二SDRAM总线15中的数据总线是经过三态合成处理的。SDRAM输入输出处理单元122对数据通道36的处理,就是将来自第二SDRAM主控制器124的数据通道36连接到第二SDRAM总线15上,其中第二SDRAM总线15中的数据总线是经过三态合成处理的。
需要说明的是,共享控制器114对针对片外存储器13的访问请求进行仲裁,使得在同一时间片上系统11和可编程器件12二者中仅有一个可以访问片外存储器13。但是,在片上系统11访问可编程器件12本身时,可编程器件12是可以同时访问片外存储器13的。
另外,第二SDRAM总线15是接收数据通道31还是数据通道36的数据,取决于共享控制器114的仲裁,共享控制器114通过授权信号SocBusGnt通知第一SDRAM主控制器115获得总线使用权,或者通过授权信号ExtBusGnt通知第二SDRAM主控制器124获得总线使用权,第一SDRAM主控制器115和第二SDRAM主控制器124一旦获得授权就可以经由SDRAM输入输出处理单元122以及第二SDRAM总线15访问片外存储器13。
此外,可编程器件12还可以包括扩展外设接口(Peripheral I/O),用于和其他外围设备相连,该扩展外设接口可以是各种通用接口或者自定义接口。
以上实施例中的数据交互和数据共享策略完全是通过简单的硬件实现,且对与运行在片上系统11上的软件而言是完全透明的,可以将可编程器件12当作是片上系统11的总线设备统一管理,本文中将该数据协调方式称之为紧耦合数据协调方式。下面对片上系统11和可编程器件12通过第一SDRAM总线14、第二SDRAM总线15实现紧耦合数据协调方式的流程进行详细说明。
实现片上系统11中的主设备可以通过第一SDRAM主控制器115访问外部设备,包括如下步骤:
步骤1,假如主设备的访问请求的物理地址落在片外存储器13的地址空间内,则进入步骤2;假如主设备的访问请求的物理地址落在片外存储器13的地址空间外,则进入步骤3;
步骤2,片上系统11中的第一SDRAM主控制器115向共享控制器114请求第二SDRAM总线15的使用权,假如获得来自共享控制器114的授权,则前进至步骤4,否则继续执行步骤2,直至获得授权;
步骤3,片上系统11的第一SDRAM主控制器115获得第一SDRAM总线14的使用权,进入步骤8;
步骤4,片上系统11的第一SDRAM主控制器115使用第一SDRAM总线14,进入步骤5;
步骤5,可编程器件12的SDRAM从控制器123判断操作的地址范围,如果属于片外存储器13的地址空间,则进入步骤6,如果超出片外存储器13的地址空间,则进入步骤8;
步骤6,可编程器件12的SDRAM从控制器123直接旁路来自片上系统11的请求,经过数据通路31连接SDRAM输入输出处理单元122,进入步骤7;
步骤7,经过SDRAM输入输出处理单元122处理,通过第二SDRAM总线15访问片外存储器13,然后结束;
步骤8,可编程器件12的SDRAM从控制器解析SDRAM总线协议,操作可编程器件12内的片上存储器,然后结束。
可编程器件12中的功能单元121可以通过第二SDRAM主控制器124访问外部设备,包括如下步骤:
步骤1,可编程器件12的第二SDRAM主控制器向共享控制器114申请第二SDRAM总线15的使用权,如果获得来自共享控制器114的授权,则进入步骤2,否则继续步骤1,直至获得第二SDRAM总线15的使用权;
步骤2,可编程器件12内的第二SDRAM主控制器124通过数据通路36访问SDRAM输入输出处理单元122,进入步骤3;
步骤3,来自第二SDRAM主控制器124的操作经过SDRAM输入输出处理单元122的处理,经由第二SDRAM总线15访问片外存储器13。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。因此,凡是未脱离本发明技术方案的内容,只是依据本发明的技术实质对以上实施例所做的任何简单的修改、等同的变换,均仍属于本发明技术方案的保护范围内。
Claims (5)
1.一种SOC计算设备扩展系统,其特征在于,包括:
片上系统;
可编程器件,通过第一总线与所述片上系统相连,所述可编程器件可通过配置以实现多种功能需求;
片外存储器,通过第二总线与所述可编程器件相连;
其中,所述片上系统包括共享控制器,该共享控制器对所述片上系统和可编程器件针对该片外存储器的访问请求进行仲裁,以使所述片上系统和可编程器件通过该片外存储器进行数据共享,
其中,所述片外存储器为SDRAM,所述第一总线和第二总线为SDRAM总线,其中,所述片上系统还包括:主设备以及第一SDRAM主控制器,所述第一SDRAM主控制器接收该主设备的访问请求,并根据该访问请求针对的地址范围访问所述可编程器件或经由该可编程器件访问该片外存储器,
其中,所述可编程器件包括:
功能单元;
SDRAM输入输出处理单元,经由该第二总线与所述片外存储器相连;
SDRAM从控制器,与所述第一SDRAM主控制器和功能单元相连,若所述主设备的访问请求针对该可编程器件,则该第一SDRAM主控制器经由所述第一总线、SDRAM从控制器与所述功能单元进行数据交互,若所述主设备的访问请求针对该片外存储器,则该第一SDRAM主控制器请求所述共享控制器进行仲裁,并在获得授权后经由该第一总线、SDRAM从控制器和第二总线访问该片外存储器;
第二SDRAM主控制器,与所述功能单元、SDRAM输入输出处理单元和共享控制器相连,接收该功能单元针对该片外存储器的访问请求,请求所述共享控制器进行仲裁,并在获得授权后经由该SDRAM输入输出处理单元和第二总线访问该片外存储器。
2.根据权利要求1所述的SOC计算设备扩展系统,其特征在于,若所述访问请求针对的地址范围落入所述可编程器件的地址空间,则该第一SDRAM主控制器经由所述第一总线访问该可编程器件;若所述访问请求针对的地址范围落入所述片外存储器的地址空间,则该第一SDRAM主控制器请求所述共享控制器进行仲裁,并在获得授权后经由该第一总线、可编程器件和第二总线访问该片外存储器。
3.根据权利要求1中所述的SOC计算设备扩展系统,其特征在于,所述功能单元的功能是可配置的。
4.根据权利要求1中所述的SOC计算设备扩展系统,其特征在于,在所述片上系统访问该功能单元时,该功能单元被允许同时访问所述片外存储器。
5.根据权利要求1至4中任一项所述的SOC计算设备扩展系统,其特征在于,所述可编程器件为现场可编程门阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188627.XA CN103246623B (zh) | 2013-05-20 | 2013-05-20 | Soc计算设备扩展系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188627.XA CN103246623B (zh) | 2013-05-20 | 2013-05-20 | Soc计算设备扩展系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103246623A CN103246623A (zh) | 2013-08-14 |
CN103246623B true CN103246623B (zh) | 2016-08-31 |
Family
ID=48926150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310188627.XA Active CN103246623B (zh) | 2013-05-20 | 2013-05-20 | Soc计算设备扩展系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103246623B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657297B (zh) * | 2015-02-03 | 2018-02-09 | 杭州士兰控股有限公司 | 计算设备扩展系统及扩展方法 |
CN104598406B (zh) * | 2015-02-03 | 2018-02-09 | 杭州士兰控股有限公司 | 扩展功能单元及计算设备扩展系统和扩展方法 |
CN104598407B (zh) * | 2015-02-03 | 2018-11-30 | 杭州士兰控股有限公司 | 片上系统及控制方法 |
CN107038132B (zh) * | 2017-04-17 | 2019-12-24 | 北京疯景科技有限公司 | 对多路外设进行同步控制的电路及方法 |
CN112100098B (zh) * | 2020-09-17 | 2021-08-03 | 广东高云半导体科技股份有限公司 | Ddr控制系统及ddr存储系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221541A (zh) * | 2007-01-09 | 2008-07-16 | 张立军 | 用于soc的可编程通信控制器及其编程模型 |
CN101415270A (zh) * | 2008-11-27 | 2009-04-22 | 深圳华为通信技术有限公司 | 移动终端及其处理模块的通讯方法 |
CN102855338A (zh) * | 2011-06-28 | 2013-01-02 | 重庆重邮信科通信技术有限公司 | 现场可编程门阵列原型验证装置及验证方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976108B2 (en) * | 2001-01-31 | 2005-12-13 | Samsung Electronics Co., Ltd. | System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities |
US20050091432A1 (en) * | 2003-10-28 | 2005-04-28 | Palmchip Corporation | Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs |
US8667197B2 (en) * | 2010-09-08 | 2014-03-04 | Intel Corporation | Providing a fine-grained arbitration system |
CN102520961B (zh) * | 2011-12-22 | 2014-08-27 | 福州大学 | 片外在线可编程的soc系统及其控制方法 |
-
2013
- 2013-05-20 CN CN201310188627.XA patent/CN103246623B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221541A (zh) * | 2007-01-09 | 2008-07-16 | 张立军 | 用于soc的可编程通信控制器及其编程模型 |
CN101415270A (zh) * | 2008-11-27 | 2009-04-22 | 深圳华为通信技术有限公司 | 移动终端及其处理模块的通讯方法 |
CN102855338A (zh) * | 2011-06-28 | 2013-01-02 | 重庆重邮信科通信技术有限公司 | 现场可编程门阵列原型验证装置及验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103246623A (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103246623B (zh) | Soc计算设备扩展系统 | |
US6754881B2 (en) | Field programmable network processor and method for customizing a network processor | |
CN110196824A (zh) | 实现数据传输的方法及装置、电子设备 | |
CN107111572B (zh) | 用于避免死锁的方法和电路 | |
CN112783818B (zh) | 一种多核嵌入式系统的在线升级方法及系统 | |
US10037301B2 (en) | Circuits and methods for inter-processor communication | |
CN104714907B (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
US11714776B2 (en) | Enabling a multi-chip daisy chain topology using peripheral component interconnect express (PCIe) | |
CN108255776A (zh) | 一种兼容apb总线的i3c主设备、主从系统及通信方法 | |
CN104050133A (zh) | 一种基于fpga实现dsp与pc借助pcie总线进行通信的通信装置与通信方法 | |
US6567881B1 (en) | Method and apparatus for bridging a digital signal processor to a PCI bus | |
KR20170014909A (ko) | 이중 버스를 구비하여 처리 속도를 향상시킨 반도체 칩 프로세서 구조 | |
WO2017071429A1 (zh) | 一种数据访问方法及总线 | |
US11386037B2 (en) | Management of access restriction within a system on chip | |
CN101930422A (zh) | 一种基于多层ahb总线的多核cpu互连结构 | |
CN103093446B (zh) | 基于多处理器片上系统的多源图像融合装置和方法 | |
CN106326130A (zh) | 寄存器地址空间的控制方法、控制器及片上系统 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN105718394A (zh) | 一种粗粒度可重构系统的片上缓存访存接口及其访问方法 | |
CN111506461B (zh) | 一种基于总线、用于测试的反压模块及其实现方法 | |
US8473920B2 (en) | Application initiated tracing of its operation beginning with reset | |
WO2023041036A1 (zh) | 处理器诊断装置、处理器诊断方法和电子设备 | |
TWI750386B (zh) | 匯流排系統 | |
CN107229793B (zh) | 一种高级可扩展接口总线平台的测试方法及装置 | |
US20220365900A1 (en) | Programmed Input/Output Message Control Circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |