CN104102473A - 一种实现数据高速分发的装置 - Google Patents

一种实现数据高速分发的装置 Download PDF

Info

Publication number
CN104102473A
CN104102473A CN201310129304.3A CN201310129304A CN104102473A CN 104102473 A CN104102473 A CN 104102473A CN 201310129304 A CN201310129304 A CN 201310129304A CN 104102473 A CN104102473 A CN 104102473A
Authority
CN
China
Prior art keywords
register
data
module
downstream traffic
sent
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.)
Granted
Application number
CN201310129304.3A
Other languages
English (en)
Other versions
CN104102473B (zh
Inventor
熊泽磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Depp Information Technology Co., Ltd.
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201310129304.3A priority Critical patent/CN104102473B/zh
Publication of CN104102473A publication Critical patent/CN104102473A/zh
Application granted granted Critical
Publication of CN104102473B publication Critical patent/CN104102473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种实现数据高速分发的装置,应用在FPGA芯片内部,该装置包括,上游业务模块,第一寄存器、下游业务模块以及数据缓冲模块,该装置执行如下流程:上游业务模块将数据发送到第一寄存器中,数据缓冲模块暂存并转发所述数据以供下游业务模块读取。通过本发明的技术方案,有效解决了现有技术中系统布局布线压力大,芯片资源利用率低的问题。

Description

一种实现数据高速分发的装置
技术领域
本发明涉及一种可编程的逻辑器件,尤其涉及一种实现数据高速分发的装置。
背景技术
随着半导体工艺技术的发展,越来越多的运算和存储模块被集成在同一个芯片内,使得FPGA芯片(Field Programmable Gate Array,现场可编程门阵列)的应用也越来越广。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,经过几十年的发展,其功能日渐强大。
在FPGA的设计中,通常采用星形拓扑结构来实现数据的高速分发。现有技术中是利用FIFO模块(First Input First Output,先入先出)来实现的。其实现方法主要有两种:一是利用FPGA芯片的RAM(Random AccessMemory,随机存储器)资源来实现,RAM资源是芯片内部读写速度最快的资源,极其珍贵,大批量的消耗势必会影响整个芯片的处理速率。另一种方法是利用寄存器来实现,这种方法虽然节省了分布RAM资源,但是增加了另一个珍贵资源LUT(Look-Up Table,查找表)的消耗,并且要求所使用的寄存器在地域上集中在一起,这样不利于整个系统的布局布线。现有技术中的两种方法都有共同的缺陷,当数据位宽增加时,消耗的各种资源都是成比例增加的;硬件实现上也都要求地域固定,也就是说,总线设计时会消耗比较多的长线资源,这就会对系统的布局布线造成很大的压力。
发明内容
有鉴于此,本发明提供一种实现数据高速分发的装置,以解决上述现有技术的不足。
具体地,所述装置应用在FPGA芯片内部,该装置包括:上游业务模块,第一寄存器、下游业务模块以及数据缓冲模块,其中,上游业务模块通过第一寄存器连接数据缓冲模块的一端,下游业务模块连接数据缓冲模块的另一端,
所述数据缓冲模块包括第二寄存器、第三寄存器、输入控制单元和输出控制单元,其中
输入控制单元用于定期判断第二寄存器是否可用,如果是,则将第一寄存器中的上游业务模块发送的数据传送到第二寄存器中,
输出控制单元用于判断第三寄存器是否为空,如果第三寄存器为空,则输出无效信号,如果第三寄存器非空,则输出有效信号,
其中所述无效信号表示下游业务模块不能从第三寄存器中读取数据,所述有效信号表示下游业务模块可以从第三寄存器中读取数据,
输出控制单元进一步用于在第三寄存器为空的时候将第二寄存器中的所述数据传送到第三寄存器中。
由以上技术方案可见,本发明通过设置数据缓冲模块,方便整个系统的布局布线,提高了芯片的资源利用率。
附图说明
图1是本发明一种实施方式的逻辑结构图;
图2是本发明一种实施方式的数据缓冲模块逻辑结构图;
图3是现有设计思路数据缓冲模块的时序仿真图;
图4是本发明一种实施方式数据缓冲模块的时序仿真图;
图5是本发明一种实施方式数据缓冲模块的物理架构图。
具体实施方式
针对现有技术中FPGA设计利用FIFO模块实现星形拓扑分发数据所存在的消耗资源多且布局布线压力大等问题,本发明提供了一种实现数据高速分发的装置,应用在FPGA芯片内部。
请参考图1和图2,该装置包括上游业务模块,第一寄存器、下游业务模块以及数据缓冲模块。上游业务模块通过第一寄存器连接数据缓冲模块的一端,下游业务模块连接数据缓冲模块的另一端。具体地,所述数据缓冲模块包括第二寄存器、第三寄存器、输入控制单元以及输出控制单元。在传送数据时,该装置执行如下处理流程:
步骤101,上游业务模块将数据传送到第一寄存器中暂存。
步骤102,数据缓冲模块中的输入控制单元定期判断第二寄存器是否可用,如果是,将第一寄存器中的上游业务模块发送的数据传送到第二寄存器中。
步骤103,输出控制单元判断第三寄存器是否为空,如果是,则将第二寄存器中的所述数据传送到第三寄存器中暂存。
步骤104,输出控制单元进一步判断第三寄存器是否为空,如果第三寄存器为空,则输出无效信号,如果第三寄存器非空,则输出有效信号。其中所述无效信号表示下游业务模块不能从第三寄存器中读取数据,有效信号表示下游业务模块可以从第三寄存器中读取数据。
步骤105,下游业务模块在输出控制单元输出有效信号的时候读取第三寄存器中的所述数据。
上述步骤中,上游业务模块将需要下游业务模块处理的数据传送给数据缓冲模块,具体地,上游业务模块先将所述数据发送到第一寄存器中暂存,与此同时数据缓冲模块中的输入控制单元就会判断第二寄存器是否可用。在FPGA芯片的时序逻辑设计中,每个信号的处理都与时钟息息相关,通常取时钟的边沿去触发预定的程序,所以在实现中所述输入控制单元是依据时钟周期定期判断第二寄存器中的数据是否有效,如果第二寄存器中的数据无效,则意味着第二寄存器可用,其可以存储数据,此时就会将第一寄存器中的数据传送到第二寄存器中暂存。输出控制单元用于判断第三寄存器是否为空,具体地,如果第三寄存器为空,则意味着第三寄存器有存储空间,此时就会将第二寄存器中的数据传送到第三寄存器中暂存,于此同时,输出控制单元在判断第三寄存器非空的时候输出有效信号,以此信号通知下游业务模块可以读取所述数据,而输出控制单元在判断第三寄存器为空的时候输出无效信号,以此信号告知下游业务模块此时没有可供其读取的数据。在一种优选的实施方式中,有效信号可以用高电平表示,无效信号可以用低电平表示。这是因为在硬件实施中,不论第三寄存器是否为空都会有信号输出,如果不设置信号有效类别,则下游业务模块在其可用的时候就会去读取,所以本发明通过设置输出信号类别来告知下游业务模块区分。数据缓冲模块通过所述第三寄存器与下游业务模块通信,下游业务模块可以在其可用的时候从第三寄存器读取数据。
以上描述可以看出,数据缓冲模块对数据的分发处理分为两部分处理,一个是数据信息的传送,一个是对数据信息传送的逻辑控制。具体地,数据信息在传送过程中采用第二寄存器和第三寄存器寄存,是两级寄存,并且两级寄存之间是直接寄存,没有引入运算单元,效率高且节约宝贵的FPGA内部资源。所述对数据信息传送的逻辑控制是根据输入控制单元和输出控制单元对寄存器是否可用的判断来实现,具体地,是判断下级寄存器是否能够接收数据。这样的话,只有所述逻辑控制才消耗LUT资源,数据信息的传送只是消耗了寄存器资源,而且数据信息采用两级寄存,从而避免了对长线资源的消耗。
请参考表1,在各种位宽下数据缓冲模块和FIFO模块消耗的资源的对比表。我们可以看出,在存储转发的数据位宽相同的条件下,数据缓冲模块消耗的只有大量的较为廉价的寄存器资源,而LUT资源的消耗比FIFO模块少得多。另一方面,当数据位宽增加的时候,数据缓冲模块需要扩展数据传输的通道,此时,只需要扩展数据信息使用的寄存器,不需要增加珍贵资源LUT的消耗,而FIFO模块的寄存器资源和LUT资源的消耗都有增加。
表1
请参考图3所示的时序仿真图,依据上述数据缓冲模块的设计思路,在实现中,当第三寄存器中的数据被下游业务模块读取的时候,输出控制模块就会将第二寄存器中的数据传送到第三寄存器中,这两个动作是在同一个时钟周期内完成的。此时,如果没有连续判断单元,输入控制单元会在下个时钟周期才会判断第二寄存器是无效的状态,继而将第一寄存器中的数据传送到第二寄存器,这样就浪费了一个时钟周期,所以在上游业务模块和下游业务模块都全速处理的情况下,数据传输的效率也只能是66%。为了实现数据的高速分发,在一种优选的实施方式中,本发明所述的数据缓冲模块还包括连续判断单元,所述连续判断单元执行步骤105。
步骤105,连续判断单元判断下游业务模块是否能够连续可用,如果是,则触发输入控制单元将第一寄存器中的数据传入第二寄存器。
本步骤中,若连续判断单元判断下游业务模块连续可用,说明下游业务模块可以连续地从第三寄存器中读取数据,进而说明第三寄存器连续为空,此时不需要输入控制单元等到下个周期去判断,而是直接触发输入控制单元将第一寄存器中的数据传入第二寄存器中,这样的话数据就可以连续地从第一寄存器传送到第二寄存器,再到第三寄存器,最后被下游业务模块读取。请参考图4的时序仿真图,通过设置连续判断单元,可以实现数据的连续读写操作,在上游业务模块和下游业务模块都有能力全速处理的情况下,数据传输的效率达到100%,真正实现数据的高速分发。
在FPGA芯片内,有多个下游业务模块,对应地,所述数据缓冲模块中有数量相同输出控制单元,每一个输出控制单元都对应一个下游业务模块。数据缓冲模块作为星形拓扑结构的中心点处理数据,消耗较少的资源就可以实现数据的高速分发。
在一种优选的实施方式中,本发明所述的数据缓冲模块可以参考如图5所示的物理架构图,并且可以定义如表2所示的接口信号。
表2
通过以上描述可以看出,本发明设计数据缓冲模块,有效地提高了芯片的资源利用率,并通过连续判断单元优化了数据缓冲模块的存储转发效率,由66%提高到100%,实现数据高速分发。进一步,将数据缓冲模块作为星形拓扑的中心点,在FPGA中实现星形数据高速分发总线的设计,减少了对长线资源的消耗,放松了芯片整体布局布线的约束。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (3)

1.一种实现数据高速分发的装置,应用在FPGA芯片内部,该装置包括:上游业务模块,第一寄存器、下游业务模块以及数据缓冲模块,其特征在于:
上游业务模块通过第一寄存器连接数据缓冲模块的一端,下游业务模块连接数据缓冲模块的另一端,
所述数据缓冲模块包括第二寄存器、第三寄存器、输入控制单元和输出控制单元,其中
输入控制单元用于定期判断第二寄存器是否可用,如果是,则将第一寄存器中的上游业务模块发送的数据传送到第二寄存器中,
输出控制单元用于判断第三寄存器是否为空,如果第三寄存器为空,则输出无效信号,并将第二寄存器中的数据传送到第三寄存器中,如果第三寄存器非空,则输出有效信号,
其中所述无效信号表示下游业务模块不能从第三寄存器中读取数据,所述有效信号表示下游业务模块可以从第三寄存器中读取数据。
2.根据权利要求1所述的装置,其特征在于,数据缓冲模块进一步包括连续判断单元,用于判断下游业务模块是否能够连续读取数据,如果是,则触发输入控制单元将第一寄存器中的数据传送到第二寄存器中。
3.根据权利要求1所述的装置,其特征在于,所述下游业务模块有多个,所述数据缓冲模块中包括数量与下游业务模块对应的输出控制单元。
CN201310129304.3A 2013-04-12 2013-04-12 一种实现数据高速分发的装置 Active CN104102473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310129304.3A CN104102473B (zh) 2013-04-12 2013-04-12 一种实现数据高速分发的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310129304.3A CN104102473B (zh) 2013-04-12 2013-04-12 一种实现数据高速分发的装置

Publications (2)

Publication Number Publication Date
CN104102473A true CN104102473A (zh) 2014-10-15
CN104102473B CN104102473B (zh) 2017-08-11

Family

ID=51670654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310129304.3A Active CN104102473B (zh) 2013-04-12 2013-04-12 一种实现数据高速分发的装置

Country Status (1)

Country Link
CN (1) CN104102473B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636507B1 (en) * 1999-03-08 2003-10-21 Sony Corporation Frame data exchanging method and apparatus
CN1466348A (zh) * 2002-06-15 2004-01-07 华为技术有限公司 高速数据链路控制协议发送处理模块及其数据处理方法
CN101017429A (zh) * 2007-03-07 2007-08-15 北京中星微电子有限公司 提高先入先出fifo性能的方法和先入先出fifo电路
CN101141261A (zh) * 2007-10-10 2008-03-12 山东大学 片上网络数字路由器及其并行数据传输方法
CN101202034A (zh) * 2006-12-13 2008-06-18 雅马哈株式会社 数据处理装置、音源设备及图像设备
CN101383712A (zh) * 2008-10-16 2009-03-11 电子科技大学 一种片上网络的路由节点微结构
CN101398797A (zh) * 2007-09-25 2009-04-01 株式会社瑞萨科技 并行数据输出控制电路及半导体装置
US20090178043A1 (en) * 2008-01-03 2009-07-09 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
CN102331981A (zh) * 2011-09-16 2012-01-25 国电南瑞科技股份有限公司 一种用于fpga中实现数据无冲突实时存取的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636507B1 (en) * 1999-03-08 2003-10-21 Sony Corporation Frame data exchanging method and apparatus
CN1466348A (zh) * 2002-06-15 2004-01-07 华为技术有限公司 高速数据链路控制协议发送处理模块及其数据处理方法
CN101202034A (zh) * 2006-12-13 2008-06-18 雅马哈株式会社 数据处理装置、音源设备及图像设备
CN101017429A (zh) * 2007-03-07 2007-08-15 北京中星微电子有限公司 提高先入先出fifo性能的方法和先入先出fifo电路
CN101398797A (zh) * 2007-09-25 2009-04-01 株式会社瑞萨科技 并行数据输出控制电路及半导体装置
CN101141261A (zh) * 2007-10-10 2008-03-12 山东大学 片上网络数字路由器及其并行数据传输方法
US20090178043A1 (en) * 2008-01-03 2009-07-09 L3 Communications Integrated Systems, L.P. Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms
CN101383712A (zh) * 2008-10-16 2009-03-11 电子科技大学 一种片上网络的路由节点微结构
CN102331981A (zh) * 2011-09-16 2012-01-25 国电南瑞科技股份有限公司 一种用于fpga中实现数据无冲突实时存取的方法

Also Published As

Publication number Publication date
CN104102473B (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
US11677662B2 (en) FPGA-efficient directional two-dimensional router
CN102023942B (zh) Spi外设访问装置及方法
CN109564638B (zh) 人工智能处理器及其所应用的处理方法
CN101236601B (zh) 图像识别加速装置及具有图像识别加速装置的微处理器芯片
CN102279753A (zh) 可重构系统配置管理的方法及用于可重构系统的配置管理单元
US10564929B2 (en) Communication between dataflow processing units and memories
CN101853149A (zh) 多核系统中单生产者/单消费者队列的处理方法及装置
CN102508803A (zh) 一种矩阵转置存储控制器
US10659396B2 (en) Joining data within a reconfigurable fabric
US9887849B2 (en) Reduced wake up delay for on-die routers
CN104424367A (zh) 一种优化寄存器控制信号的工艺映射方法及集成电路
Ho et al. Long wires and asynchronous control
US20180212894A1 (en) Fork transfer of data between multiple agents within a reconfigurable fabric
US10374981B1 (en) Data transfer circuitry given multiple source elements
CN101833431B (zh) 基于fpga实现的双向高速fifo存储器
CN202183093U (zh) 用于可重构系统的配置管理单元
CN103729320B (zh) 一种基于fpga实现cy7c68013通信的方法
CN104102473A (zh) 一种实现数据高速分发的装置
US20190171416A1 (en) Power control for a dataflow processor
CN101324863B (zh) 一种同步静态存储器的控制装置及方法
CN201662798U (zh) 一种端口映射设备转换装置及控制系统
CN106095722A (zh) 一种应用于片上网络的虚通道低功耗电路
CN103166863A (zh) 集总式8x8低延迟高带宽交叉点缓存队列片上路由器
CN111581132B (zh) 一种基于fpga的可扩展的多端口ddr3控制器
US9753524B1 (en) Methods and apparatus for limiting a number of current changes while clock gating to manage power consumption of processor modules

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20181102

Address after: 310051 05, room A, 11 floor, Chung Cai mansion, 68 Tong Xing Road, Binjiang District, Hangzhou, Zhejiang.

Patentee after: Hangzhou Depp Information Technology Co., Ltd.

Address before: 310051, 6 floor, Chung Cai mansion, 68 Tong he road, Binjiang District, Hangzhou, Zhejiang.

Patentee before: Hangzhou Dipu Polytron Technologies Inc

TR01 Transfer of patent right