CN109960664B - 一种多模块共享的容量统一分配并独立使用的fifo控制装置 - Google Patents

一种多模块共享的容量统一分配并独立使用的fifo控制装置 Download PDF

Info

Publication number
CN109960664B
CN109960664B CN201910208863.0A CN201910208863A CN109960664B CN 109960664 B CN109960664 B CN 109960664B CN 201910208863 A CN201910208863 A CN 201910208863A CN 109960664 B CN109960664 B CN 109960664B
Authority
CN
China
Prior art keywords
fifo
capacity
fifos
block
input
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
Application number
CN201910208863.0A
Other languages
English (en)
Other versions
CN109960664A (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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201910208863.0A priority Critical patent/CN109960664B/zh
Publication of CN109960664A publication Critical patent/CN109960664A/zh
Application granted granted Critical
Publication of CN109960664B publication Critical patent/CN109960664B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种多模块共享的容量统一分配并独立使用的FIFO控制装置,该装置包括N个block、K个小容量FIFO和配置共享FIFO单元;block用于发送和接收数据实现与外部的通信;配置共享FIFO单元用于读取各block对K个小容量FIFO的读写访问信号,实现为各block配置FIFO容量、分发和收集各block对FIFO的控制;其中,block为功能模块;FIFO的上限地址回环边界根据配置的FIFO容量变化。该装置能够减小芯片面积和降低芯片成本;该装置结构简单,易于实现,具有较高的可移植性。

Description

一种多模块共享的容量统一分配并独立使用的FIFO控制装置
技术领域
本发明属于集成电路设计领域,尤其是一种多模块共享的容量统一分配并独立使用的FIFO控制装置。
背景技术
集成电路领域,芯片制造工艺确定的情况下,芯片面积决定芯片的成品率和芯片成本;芯片面积越大,成品率越低,成本越高。共享芯片内多个功能模块的资源,是增加功能集成度、提高芯片成品率、降低芯片成本的一个主要途径。在集成电路领域,处理器芯片内多个功能模块均会使用RAM作为数据缓冲区或存储区,而芯片内RAM占用的面积是片内寄存器和组合逻辑占用面积的数倍。但是通常芯片内各个模块各自按照峰值需求占用固定容量的RAM作为FIFO使用,而在特定应用环境下,芯片中只有一部分功能模块充分利用固定容量的RAM存储数据,而其他模块未充分利用固定容量的RAM,造成资源浪费。在集成电路领域,芯片内各个功能模块各自按照峰值需求占用固定容量RAM造成的浪费,是提升功能集成度,和降低芯片成本必须重点解决的问题。
“一种多路读写多容量选择的FIFO控制器”的专利中,描述了通过多路选择器,将多用户设备按照地址划分切换为控制同一块FIFO,实现FIFO容量可选和共享FIFO访问。该专利描述的技术,虽然可以实现多个用户设备共享FIFO资源,但是该结构只能实现多用户设备分时使用FIFO,无法实现多用户设备按照地址划分同时使用FIFO,即共享使用该FIFO的用户设备无法同时工作,使得系统的适用性严重降低。
多个设备既可以按照分配容量共享使用FIFO,又可以同时使用分配的FIFO的技术亟待发展。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种多模块共享的容量统一分配并独立使用的FIFO控制装置。
为达到上述目的,本发明采用以下技术方案予以实现:
一种多模块共享的容量统一分配并独立使用的FIFO控制装置包括N个block和配置共享FIFO单元;
block用于发送和接收数据实现与外部的通信;
为各block配置所需的大容量FIFO、分发和收集各block对FIFO的控制;
其中,block为功能模块;大容量FIFO的上限地址回环边界根据配置的各block数据存储所需的FIFO容量变化。
进一步的,配置共享FIFO单元包括FIFO选择信号生成器、N个译码器、N个多路选择器和K个小容量FIFO;
FIFO选择信号生成器用于根据N个block的FIFO容量配置值vol1~volN和FIFO访问地址高位值addr1[MSB:MSB+1-log2K]~addrN[MSB:MSB+1-log2K],输出N个选择信号adrh1~adrhN
N个译码器用于将N个block的FIFO访问信号分发给K个小容量FIFO,每个FIFO会有自N个block分发来的N组信号,N组信号之间通过与操作或者或操作将结果传递给每个FIFO,其中,译码器与FIFO的对应关系由选择信号决定;
K个小容量FIFO用于接收结果并输出数据;
N个多路选择器用于将K个小容量FIFO的输出数据传递给N路block,其中,FIFO与多路选择器的对应关系由选择信号决定;
其中,访问信号和结果均包括控制Ctrl1~N、写数据Wdata1~N和地址Addr1~N
进一步的,当FIFO控制信号低电平有效高电平无效时,K个小容量FIFO中的每个FIFO使用与操作处理多路译码器发来的N路控制信号。
进一步的,当FIFO控制信号高电平有效低电平无效时,K个小容量FIFO中的每个FIFO使用或操作处理多路译码器发来的N路控制信号。
进一步的,FIFO选择信号生成器包括第一层二输入加法器、第二层二输入加法器和第三层二选一的多路选择器;
第一层二输入加法器的一个输入端为上一个容量配置值voli-1,另一个输入端为生成adrhi-1的逻辑提供的sumi
第二层二输入加法器的一个输入端为第一层二输入加法器的输出sumi+1,另一个输入端为对应的FIFO地址的高位addri[MSB:MSB+1-log2K];
第三层二选一的多路选择器的1端输入为第二层二输入加法器的输出,0端连接0,经使能eni信号选择后输出adrhi
其中,eni是N个block中第i个使能信号,在blocki容量值voli为0时,eni值为0,否则eni值为1;i的取值范围为1-N。
进一步的,每个最小单元FIFO的地址addri[MSB-log2K:0]均不超过对应的FIFO分配的地址容量。
与现有技术相比,本发明具有以下有益效果:
本发明的多模块共享的容量统一分配并独立使用的FIFO控制装置,芯片内多个模块按照各自数据存储峰值需求或不同时间的数据存储峰值需求,通过动态调整FIFO容量分配,增加数据存储需求大的模块FIFO容量,减小数据存储需求小的模块FIFO容量,扩展芯片的适用环境;芯片内多个模块,可以按照分配容量同时使用共享的FIFO,不仅未影响各功能的并行使用,还减少芯片实现的存储体,减小芯片面积和降低芯片成本;该装置结构简单,易于实现,具有较高的可移植性。
附图说明
图1为本发明的多模块共享的容量统一分配并独立使用的FIFO控制装置的应用示意图;
图2为本发明的配置共享FIFO单元结构示意图;
图3为本发明的FIFO选择信号生成器结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
通常总线上集成多路外设,各外设作为总线从机或者直接连接在总线上,或者经过译码逻辑后连接在总线上,无论何种方式不影响各外设与外部发送和接收通信时数据的存储访问;通常采用FIFO实现各block发送、接收数据的存储访问。
参见图1,图1为本发明的多模块共享的容量统一分配并独立使用的FIFO控制装置的应用示意图;block1~blockN是使用FIFO存储数据的功能相同或不同的block;各block内部不实现FIFO,只进行FIFO的读写访问,并且FIFO的上限地址回环边界为配置的FIFO容量;并将对FIFO的读写访问信号作为接口引出;各block的FIFO访问信号接入配置共享FIFO单元即可;配置共享FIFO单元例化实现多个block配置共享使用的接收FIFO和发送FIFO。
通过独立于各个block的容量配置模块,或者在各block内部配置自身FIFO容量,将各模块配置后的FIFO容量信息全部连接到配置共享FIFO单元。
配置共享FIFO单元,实现各个模块按需求的FIFO容量的统一分配、各个模块对FIFO访问控制的分发和收集、各block独立同时使用分配后的FIFO空间、FIFO的集成;通过对配置共享FIFO单元的多次复用实例化,可以形成例如发送FIFO、接收FIFO等不同用于的FIFO集成。
参见图2,图2为本发明的配置共享FIFO单元结构示意图;配置共享FIFO单元的输入为N个block的FIFO访问的发送信号和容量配置信号vol1~N,访问的发送信号包含控制Ctrl1~N、写数据Wdata1~N、地址Addr1~N;输出为N个block的FIFO输出数据。
配置共享FIFO单元由FIFO选择信号生成器、N个译码器、N个多路选择器、K个小容量FIFO组成,其中FIFO选择信号生成器的输入为N个block的容量配置信号vol1~N和地址Addr1~N。每个block的FIFO访问的发送信号,包含控制Ctrl1~N、写数据Wdata1~N、地址Addr1~N通过译码器分发到K个小容量FIFO的某一个,N个block的FIFO访问发送信号,包含控制Ctrl1~N、写数据Wdata1~N、地址Addr1~N通过N译码器分发使得每个FIFO会有从N个block分发来的N组信号,N组信号之间通过与操作,即FIFO控制信号高电平无效使用与操作,或者或操作,即FIFO控制信号低电平无效使用或操作将结果,结果包含控制、写入数据、地址信号传递给每个FIFO。
K个小容量FIFO输出数据经一个多路选择器传递给某一路block;每个FIFO连接N个多路选择器,K个小容量FIFO连接N个K路输出的多路选择器,将结果传递给N路block。用于分发各block FIFO访问的K路输出译码器的选择信号,和用于收集K个小容量FIFO数据的多路选择器的选择信号均由FIFO选择信号生成器生成;FIFO选择信号生成器,生成N个选择信号adrh1~N供N个译码器和N个多路选择器使用。
参见图3,图3为本发明的FIFO选择信号生成器结构示意图;FIFO选择信号生成器,输入有N个block的FIFO容量配置值vol1~volN,和FIFO访问地址高位值addr1[MSB:MSB+1-log2K]~addrN[MSB:MSB+1-log2K],输出FIFO选择信号adrh1~adrhN,作为N个译码器和N个多路选择器的选择信号使用。
FIFO选择信号生成器内,en1~N是N个block的使能信号,在blocki容量分配为0时,eni值为0,否则为eni值为1。Adrh1在en1为1时,值为1,否则为0。表示adrh2~adrhN任意一个FIFO选择信号;adrhi均使用相同的逻辑生成,生成adrhi的逻辑级联生成adrhi-1的逻辑和生成adrhi+1,每一级提供累加数据sumi+1。生成adrhi的逻辑结构由三级层次构成,第一层二输入加法器、第二层二输入加法器和第三层二选一的多路选择器;生成adrhi的逻辑的第一层二输入加法器的两个输入端分别为上一个容量配置值voli-1和生成adrhi-1的逻辑提供的sumi;第二层二输入加法器的一个输入端为第一层二输入加法器输出,另一个输入端为对应的FIFO地址的高位addri[MSB:MSB+1-log2K];第三层二选一的多路选择器的1端连接第二层二输入加法器的输出结果,0端连接0,选择信号eni在voli为非零配置值时为1,在voli为0时为0。
FIFO选择信号生成器的输出adrhi,是以sumi作为选择FIFO的基址,addri[MSB:MSB+1-log2K]作为变址,sumi+addri[MSB:MSB+1-log2K]=adrhi作为FIFO选择信号,而addri[MSB-log2K:0]作为每个最小单元FIFO的地址,所以只要addri[MSB-log2K:0]不超过该FIFO分配的地址容量,则不同block访问各最小容量的FIFO不会冲突同,从而实现配置共享FIFO,同时独立使用FIFO。
本发明的多模块共享的容量统一分配并独立使用的FIFO控制装置应用于一款多路UART按需求配置FIFO容量并独立共享使用FIFO的SoC中,有效节省了芯片资源,降低芯片成本;该SoC芯片已完成流片,所述电路结构功能正常。该多模块共享的容量统一分配并独立使用的FIFO控制装置装置结构简单,易于实现,具有较高的可移植性。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (5)

1.一种多模块共享的容量统一分配并独立使用的FIFO控制装置,其特征在于,包括N个block和配置共享FIFO单元;
block用于发送和接收数据实现与外部的通信;
配置共享FIFO单元用于读取各block对小容量FIFO的读写访问信号,为各block配置所需的大容量FIFO、分发和收集各block对FIFO的控制;
其中,block为功能模块;大容量FIFO的上限地址回环边界根据配置的各block数据存储所需的FIFO容量变化;
配置共享FIFO单元包括FIFO选择信号生成器、N个译码器、N个多路选择器和K个小容量FIFO;
FIFO选择信号生成器用于根据N个block的FIFO容量配置值vol1~volN和FIFO访问地址高位值addr1[MSB:MSB+1-log2K]~addrN[MSB:MSB+1-log2K],输出N个选择信号adrh1~adrhN
N个译码器用于将N个block的FIFO访问信号分发给K个小容量FIFO,每个FIFO会有自N个block分发来的N组信号,N组信号之间通过与操作或者或操作将结果传递给每个FIFO,其中,译码器与FIFO的对应关系由选择信号决定;
K个小容量FIFO用于接收结果并输出数据;
N个多路选择器用于将K个小容量FIFO的输出数据传递给N路block,其中,FIFO与多路选择器的对应关系由选择信号决定;
其中,访问信号和结果均包括控制Ctrl1~N、写数据Wdata1~N和地址Addr1~N
2.根据权利要求1所述的多模块共享的容量统一分配并独立使用的FIFO控制装置,其特征在于,当FIFO控制信号低电平有效高电平无效时,K个小容量FIFO中的每个FIFO使用与操作处理多路译码器发来的N路控制信号。
3.根据权利要求1或2所述的多模块共享的容量统一分配并独立使用的FIFO控制装置,其特征在于,当FIFO控制信号高电平有效低电平无效时,K个小容量FIFO中的每个FIFO使用或操作处理多路译码器发来的N路控制信号。
4.根据权利要求1所述的多模块共享的容量统一分配并独立使用的FIFO控制装置,其特征在于,FIFO选择信号生成器包括第一层二输入加法器、第二层二输入加法器和第三层二选一的多路选择器;
第一层二输入加法器的一个输入端为上一个容量配置值voli-1,另一个输入端为生成adrhi-1的逻辑提供的sumi
第二层二输入加法器的一个输入端为第一层二输入加法器的输出sumi+1,另一个输入端为对应的FIFO地址的高位addri[MSB:MSB+1-log2K];
第三层二选一的多路选择器的1端输入为第二层二输入加法器的输出,0端连接0,经使能eni信号选择后输出adrhi
其中,eni是N个block中第i个使能信号,在blocki容量值voli为0时,eni值为0,否则eni值为1;i的取值范围为1-N。
5.根据权利要求4所述的多模块共享的容量统一分配并独立使用的FIFO控制装置,其特征在于,每个最小单元FIFO的地址addri[MSB-log2K:0]均不超过对应的FIFO分配的地址容量。
CN201910208863.0A 2019-03-19 2019-03-19 一种多模块共享的容量统一分配并独立使用的fifo控制装置 Active CN109960664B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910208863.0A CN109960664B (zh) 2019-03-19 2019-03-19 一种多模块共享的容量统一分配并独立使用的fifo控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910208863.0A CN109960664B (zh) 2019-03-19 2019-03-19 一种多模块共享的容量统一分配并独立使用的fifo控制装置

Publications (2)

Publication Number Publication Date
CN109960664A CN109960664A (zh) 2019-07-02
CN109960664B true CN109960664B (zh) 2023-05-02

Family

ID=67024571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910208863.0A Active CN109960664B (zh) 2019-03-19 2019-03-19 一种多模块共享的容量统一分配并独立使用的fifo控制装置

Country Status (1)

Country Link
CN (1) CN109960664B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118467425A (zh) * 2024-07-09 2024-08-09 江苏云途半导体有限公司 一种基于多入口fifo的通信模块共享数据缓存方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016050059A1 (zh) * 2014-09-30 2016-04-07 深圳市中兴微电子技术有限公司 共享存储并发访问处理方法及装置、存储介质
CN106774277A (zh) * 2017-01-17 2017-05-31 爱普(福建)科技有限公司 一种多虚拟控制器之间的数据共享方法
CN106776357A (zh) * 2016-12-28 2017-05-31 无锡芯响电子科技有限公司 一种多路读写多容量选择的fifo控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100452640B1 (ko) * 2002-11-11 2004-10-14 한국전자통신연구원 데이터 패킷 수신 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016050059A1 (zh) * 2014-09-30 2016-04-07 深圳市中兴微电子技术有限公司 共享存储并发访问处理方法及装置、存储介质
CN106776357A (zh) * 2016-12-28 2017-05-31 无锡芯响电子科技有限公司 一种多路读写多容量选择的fifo控制器
CN106774277A (zh) * 2017-01-17 2017-05-31 爱普(福建)科技有限公司 一种多虚拟控制器之间的数据共享方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Blocking Analysis for Spin Locks in Real-Time Parallel Tasks";Son Dinh等;《IEEE Transactions on Parallel and Distributed Systems》;20180401;第29卷(第4期);第789-802页 *
"基于RAM存储阵列的并行多通道FIFO设计";袁亚鹏等;《微电子学与计算机》;20181231;第35卷(第12期);第27-32页 *

Also Published As

Publication number Publication date
CN109960664A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
EP2313890B1 (en) Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules
CN102799563A (zh) 一种可重构计算阵列及构建方法
CN106776357B (zh) 一种多路读写多容量选择的fifo控制器
CN112214427B (zh) 缓存结构、工作量证明运算芯片电路及其数据调用方法
CN104598405A (zh) 扩展芯片及可扩展的芯片系统及控制方法
US8305789B2 (en) Memory/logic conjugate system
CN109960664B (zh) 一种多模块共享的容量统一分配并独立使用的fifo控制装置
CN103365801A (zh) 存储器系统、用于控制存储器系统的方法和信息处理设备
CN210573518U (zh) 一种基于PCIe Switch的扩展存储卡
CN109189347A (zh) 一种共享存储模块、服务器及系统
US20140129745A1 (en) Asymmetric fifo memory
Zhang et al. A multi-VC dynamically shared buffer with prefetch for network on chip
CN209248436U (zh) 一种扩展板卡及服务器
KR20100127317A (ko) 멀티포트 메모리 슈퍼셀 및 데이터 경로 스위칭 회로를 갖는 집적 회로
US8687975B2 (en) Integrated circuit with optical interconnect
CN104409099A (zh) 基于FPGA的高速eMMC阵列控制器
CN100536460C (zh) 一种调度和仲裁的装置
CA2483541A1 (en) Adaptive processor architecture incorporating a field programmable gate array control element having at least one embedded microprocessor core
CN117196931A (zh) 面向传感器阵列的数据处理方法、fpga及电子设备
US9582462B2 (en) Computer system and method for sharing computer memory
CN106547707A (zh) 阵列处理器中簇内存储并行访问局部优先交换电路
Guthmuller et al. Architectural exploration of a fine-grained 3D cache for high performance in a manycore context
CN215341078U (zh) 存储访问电路、集成芯片及电子设备
CN111142808B (zh) 存取设备及存取方法
CN109542351A (zh) 一种固态硬盘的功耗控制方法及固态硬盘

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant