CN101308450A - Fifo控制电路及控制方法 - Google Patents

Fifo控制电路及控制方法 Download PDF

Info

Publication number
CN101308450A
CN101308450A CNA2008101158089A CN200810115808A CN101308450A CN 101308450 A CN101308450 A CN 101308450A CN A2008101158089 A CNA2008101158089 A CN A2008101158089A CN 200810115808 A CN200810115808 A CN 200810115808A CN 101308450 A CN101308450 A CN 101308450A
Authority
CN
China
Prior art keywords
address
fifo
write
virtual
current
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
CNA2008101158089A
Other languages
English (en)
Other versions
CN101308450B (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.)
Wuxi Vimicro Corp
Original Assignee
Vimicro Corp
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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN2008101158089A priority Critical patent/CN101308450B/zh
Publication of CN101308450A publication Critical patent/CN101308450A/zh
Application granted granted Critical
Publication of CN101308450B publication Critical patent/CN101308450B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明公开了一种FIFO控制电路和一种FIFO控制方法。本发明FIFO控制电路中增加根据预读请求计算虚拟读地址的虚拟读地址单元、以及针对预读请求产生虚拟空信号的虚拟空标记产生单元,以保证在FIFO中存储的数据已全部被之前的预读请求预订完时,不会再对该FIFO进行预读操作;或者在FIFO控制电路中增加根据预写请求计算虚拟写地址的虚拟读地址单元、以及针对预写请求产生虚拟满信号的虚拟空标记产生单元,以保证FIFO中剩余的空闲存储空间已被之前的预写请求预订完时,不会再对该FIFO进行预写操作,从而支持请求-应答方式数据传输中的预请求机制。

Description

FIFO控制电路及控制方法
技术领域
本发明涉及存储器技术,特别涉及一种先进先出存储器(FIFO)控制电路和一种FIFO的控制方法。
背景技术
现有直接内存存取(DMA)控制器能够连接在先进可延伸接口(Advanced eXtensible Interface,AXI)总线上,作为AXI总线主设备(Master),并基于AXI总线的请求-应答机制对AXI总线上的从设备(Slaver)例如存储器进行读写操作。
如图1所示,现有DMA控制器通常包括:实现预设功能的功能模块、读FIFO模块、写FIFO模块、以及DMA控制模块。其中,功能模块用于执行上述对从设备的读写操作,并通过读FIFO模块和写FIFO模块与DMA控制模块并行相连,DMA控制模块则连接在AXI总线上。
如果功能模块需要对AXI总线上的从设备进行写操作,则需要先将待写入从设备的数据写入至写FIFO模块中;然后由DMA控制模块通过AXI总线向对应的从设备发送AXI总线写请求,在通过AXI总线接收到该从设备的写有效应答后,DMA控制模块再从写FIFO中读取待写入从设备的数据并通过AXI总线发送至对应的从设备,实现对从设备的写操作。
如果功能模块需要对AXI总线上的从设备进行读操作,则需要先将AXI总线读请求写入至写FIFO模块中;然后由DMA控制模块通过AXI总线向对应的从设备发送AXI总线读请求,在通过AXI总线接收到该从设备的读有效应答后,DMA控制模块还会同时接收到该从设备反馈的数据,并将从设备反馈的数据写入至读FIFO模块中,然后再由功能模块从读FIFO模块中读取,实现对从设备的读操作。
现有写FIFO模块和读FIFO模块的内部结构相同,均包括用作FIFO的双端口存储器、以及FIFO控制电路,二者的名称不同仅仅是为了区分与功能模块的不同交互方式。
图2为现有读/写FIFO模块的结构示意图。如图2所示,现有如图1所示的读/写FIFO模块中通常包括:FIFO和FIFO控制电路。
其中,FIFO控制电路包括:写地址单元和读地址单元、以及空满标记产生单元。
当写使能有效时,写地址单元在写时钟信号的控制下,向FIFO输出写控制信号和当前写地址,以保证每次接收到的写数据能够存储于FIFO中对应当前写地址的存储空间,写地址单元同时还根据每次接收到的写数据长度计算下一次写入的写地址。
当读使能有效时,读地址单元在读时钟信号的控制下,向FIFO输出读控制信号和当前读地址,以保证能够从FIFO中对应当前读地址的存储空间内读取数据,读地址单元同时还根据每次读取的读数据长度计算下一次读取的读地址。
上述写时钟信号和读时钟信号可以为DMA控制器中的内部时钟信号。
空满标记产生单元,在当前写地址的格雷码与当前读地址的格雷码的差等于FIFO深度时、即当前写地址格雷码与当前读地址格雷码的最高两位有效位不同、且其余所有低位均相同时产生满信号,以保证FIFO中不具有空闲存储空间时不再对FIFO进行写操作;在当前写地址的格雷码与当前读地址的格雷码相同时产生空信号,以保证FIFO中未存储有数据时不再对FIFO进行读操作。
如果图2所示的结构为图1中的写FIFO模块,则图2所示的写数据为功能模块写入的待写入从设备的数据,读数据为DMA控制模块读取的待写入从设备的数据,满信号输出给功能模块、空信号输出给DMA控制模块。
如果图2所示的结构为图1中的读FIFO模块,则图2所示的写数据为DMA控制模块写入的从设备反馈的数据、读数据为功能模块读取的从设备反馈的数据,满信号输出给DMA控制模块、空信号输出给功能模块。
基于AXI总线的请求-应答机制,除第一次读/写操作之外,DMA控制器只有等待从设备反馈读/写有效应答并完成上一次读/写操作所涉及的数据传输后,才能够再次发出AXI总线读/写请求以开始当前读/写操作,使得数据传输效率不高。因此,AXI总线还支持传输预请求机制,即DMA控制器中的DMA控制模块可以在上一次读/写操作所涉及的数据传输过程中,针对当前读/写操作向AXI总线上的从设备发出AXI总线预读/写请求,从而消除每次读/写操作之间的等待时间。
此外,DMA控制模块在向AXI总线上的从设备发出AXI总线预写请求的同时,还需要向读FIFO模块发出预读请求,以便于写FIFO模块能够获知将有待写入从设备的数据会被DMA控制模块读取并写入至AXI总线上的从设备;DMA控制模块在向AXI总线上的从设备发出AXI总线预读请求的同时,以便于读FIFO模块能够获知将有AXI总线上的从设备反馈的数据会被DAM控制写入。
然而,如图2所示的现有读/写FIFO模块没有为DMA控制模块的预请求提供输入端,也无法针对预读/写请求产生相应的空/满信号,因而无法支持请求-应答方式数据传输中的预请求机制。
发明内容
有鉴于此,本发明提供了一种FIFO控制电路和一种FIFO的控制方法,能够支持请求-应答方式数据传输中的预请求机制。
本发明提供的一种FIFO控制电路,包括:
写地址单元,向FIFO输出写控制信号和当前真实写地址,并根据每次接收到的写数据长度计算下一次写入的真实写地址;
读地址单元,向FIFO输出读控制信号和当前真实读地址,并根据每次读取的读数据长度计算下一次读取的真实读地址;
空满标记产生单元,在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
该FIFO控制电路还包括:
虚拟读地址单元,根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址并输出至虚拟空标记产生单元;
虚拟空标记产生单元,在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
该FIFO控制电路进一步包括:
虚拟写地址单元,根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址并输出至虚拟满标记产生单元;
虚拟满标记产生单元,在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
该FIFO控制电路与FIFO构成直接内存存取DMA控制器内的写FIFO模块;
写数据来自DMA控制器中的功能模块;
预读请求来自DMA控制器中的DMA控制模块;
读数据和虚拟空信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
本发明提供的另一种FIFO控制电路,包括:
写地址单元,向FIFO输出写控制信号和当前真实写地址,并根据每次接收到的写数据长度计算下一次写入的真实写地址;
读地址单元,向FIFO输出读控制信号和当前真实读地址,并根据每次读取的读数据长度计算下一次读取的真实读地址;
空满标记产生单元,在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
该FIFO控制电路还包括:
虚拟写地址单元,根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址并输出至虚拟满标记产生单元;
虚拟满标记产生单元,在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
该FIFO控制电路进一步包括:
虚拟读地址单元,根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址并输出至虚拟空标记产生单元;
虚拟空标记产生单元,在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
该FIFO控制电路与FIFO构成直接内存存取DMA控制器内的读FIFO模块;
读数据输出至DMA控制器中的功能模块;
写数据和预写请求来自DMA控制器中的DMA控制模块;
虚拟满信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
本发明提供的一种FIFO的控制方法,包括:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
该控制方法同时还包括如下步骤:
根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址;
在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
写数据来自直接内存存取DMA控制器中的功能模块;
预读请求来自DMA控制器中的DMA控制模块;
读数据和虚拟空信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
本发明提供的另一种FIFO的控制方法,包括:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;
该控制方法同时还包括如下步骤:
根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址;
在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
读数据输出至DMA控制器中的功能模块;
写数据和预写请求来自DMA控制器中的DMA控制模块;
虚拟满信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
由上述技术方案可见,本发明在现有FIFO控制电路中增加根据预读请求计算虚拟读地址的虚拟读地址单元、以及针对预读请求产生虚拟空信号的虚拟空标记产生单元,以保证在FIFO中存储的数据已全部被之前的预读请求预订完时,不会再对该FIFO进行预读操作;或者在现有FIFO控制电路中增加根据预写请求计算虚拟写地址的虚拟读地址单元、以及针对预写请求产生虚拟满信号的虚拟空标记产生单元,以保证FIFO中剩余的空闲存储空间已被之前的预写请求预订完时,不会再对该FIFO进行预写操作,从而支持请求-应答方式数据传输中的预请求机制。
附图说明
图1为现有DMA控制器的结构示意图。
图2为现有读/写FIFO模块的结构示意图。
图3为本发明实施例中写FIFO模块的结构示意图。
图4为本发明实施例中读FIFO模块的结构示意图。
图5为本发明实施例中通用FIFO模块的结构示意图。
图6为本发明实施例中一种FIFO控制方法的流程示意图。
图7为本发明实施例中另一种FIFO控制方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
DMA控制模块向写FIFO发送预读请求,真实上就是预订FIFO中已存储的数据,因此,本发明在现有写FIFO模块的FIFO控制电路中,增加了根据预读请求计算虚拟读地址的虚拟读地址单元、以及针对预读请求产生虚拟空信号的虚拟空标记产生单元,以保证在FIFO中存储的数据已全部被之前的预读请求预订完时,DMA控制模块不再发出预读请求,即不会再对写FIFO模块中的FIFO进行预读操作。
DMA控制模块向读FIFO发送预写请求,真实上就是预订FIFO中剩余的空闲存储空间,因此,本发明在现有读FIFO模块的FIFO控制电路中,增加了根据预写请求计算虚拟写地址的虚拟读地址单元、以及针对预写请求产生虚拟满信号的虚拟空标记产生单元,以保证FIFO中剩余的空闲存储空间已被之前的预写请求预订完时,DMA控制模块不再发出预写请求,即不会再对读FIFO模块中的FIFO进行预写操作。
下面,分别对本发明改进后的写FIFO模块和读FIFO模块中的FIFO控制电路进行详细说明。
图3为本发明实施例中写FIFO模块的结构示意图。如图3所示,实施例中的写FIFO模块包括:FIFO和FIFO控制电路。
图3中的FIFO控制电路仍包括如图2所示的:写地址单元和读地址单元、以及空满标记产生单元。
当写使能有效时,写地址单元在写时钟信号的控制下,向FIFO输出写控制信号和当前真实写地址,以保证每次接收到的写数据能够存储于FIFO中对应当前真实写地址的存储空间,写地址单元同时还根据每次接收到的写数据长度计算下一次写入的真实写地址。
其中,图3中的写数据为功能模块写入的AXI总线写请求和待写入从设备的数据、或AXI总线读请求。
当读使能有效时,读地址单元在读时钟信号的控制下,向FIFO输出读控制信号和当前真实读地址,以保证能够从FIFO中对应当前真实读地址的存储空间内读取数据,读地址单元同时还根据每次读取的读数据长度计算下一次读取的真实读地址。
其中,图3中的读数据为DMA控制模块读取的AXI总线写请求和待写入从设备的数据。
空满标记产生单元,在当前真实写地址的格雷码与当前真实读地址的格雷码的差等于FIFO深度时,产生真实满信号并输出给功能模块,以保证FIFO中不具有空闲存储空间时不再对FIFO进行写操作;在当前真实读地址的格雷码与当前真实写地址的格雷码相同时,产生真实空信号并输出给DMA控制模块,以保证FIFO中未存储有数据时不再对FIFO进行读操作。
本实施例图3中的FIFO控制电路还包括:虚拟读地址单元、以及虚拟空标记产生单元。
虚拟读地址单元在读时钟信号的控制下,接收DMA控制模块发送的预读请求,根据预读请求对应的预读数据长度更新当前虚拟读地址,以表示FIFO中存储的该预读请求对应的预读数据长度的数据已被预订,并将当前虚拟读地址输出至虚拟空标记产生单元。
其中,更新当前虚拟读地址的方式可以为:从当前虚拟读地址的初始值开始,每次接收到预读请求后,累加预读请求对应的预读数据长度。较佳地,当前虚拟读地址、真实读地址、真实写地址的初始值相同。
虚拟空标记产生单元与写地址单元和虚拟读地址单元相连,接收写地址单元输出的当前真实写地址和虚拟读地址单元输出的当前虚拟读地址,在当前虚拟读地址的格雷码与当前真实写地址的格雷码相同时,产生虚拟空信号并输出给DMA控制模块,以保证在FIFO中存储的数据已全部被之前的预读请求预订完时,DMA控制模块不再发出预读请求,即不会再对写FIFO模块中的FIFO进行预读操作。
其中,真实读/写地址和虚拟读地址的格雷码均可按照现有方法转换得到,因此,格雷码的转换过程和原理、以及基于格雷码比较的空满信号判断机制的原理在本文中不再赘述。
图4为本发明实施例中读FIFO模块的结构示意图。如图4所示,实施例中的读FIFO模块包括:FIFO和读FIFO控制电路。
图4中的FIFO控制电路仍包括如图2所示的:写地址单元和读地址单元、以及空满标记产生单元。
当写使能有效时,写地址单元在写时钟信号的控制下,向FIFO输出写控制信号和当前真实写地址,以保证每次接收到的写数据能够存储于FIFO中对应当前真实写地址的存储空间,写地址单元同时还根据每次接收到的写数据长度计算下一次写入的真实写地址。
其中,图4中的写数据为DMA控制模块写入的从设备反馈的数据。
当读使能有效时,读地址单元在读时钟信号的控制下,向FIFO输出读控制信号和当前真实读地址,以保证能够从FIFO中对应当前真实读地址的存储空间内读取数据,读地址单元同时还根据每次读取的读数据长度计算下一次读取的真实读地址。
其中,图4中的读数据为功能模块读取的从设备反馈的数据。
实际应用中,也可以不需要写使能和读使能,而直接设置写地址单元和读地址单元在任何情况下均处于工作状态。
空满标记产生单元,在当前真实写地址的格雷码与当前真实读地址的格雷码的差等于FIFO深度时,产生真实满信号并输出给DMA控制模块,以保证FIFO中不具有空闲存储空间时不再对FIFO进行写操作;在当前真实读地址的格雷码与当前真实写地址的格雷码相同时,产生真实空信号并输出给功能模块,以保证FIFO中未存储有数据时不再对FIFO进行读操作。
本实施例图4中的FIFO控制电路还包括:虚拟写地址单元、以及虚拟满标记产生单元。
虚拟写地址单元在写时钟信号的控制下,接收DMA控制模块发送的预写请求,根据预写请求对应的预写数据长度更新当前虚拟写地址,以表示FIFO中与该预写请求对应的预写数据长度相等的部分空闲存储空间已被预订,并将当前虚拟写地址输出至虚拟满标记产生单元。
其中,更新当前虚拟写地址的方式可以为:从当前虚拟写地址的初始值开始,每次接收到预写请求后,累加预写请求对应的预写数据长度。较佳地,当前虚拟写地址、真实读地址、真实写地址的初始值相同。
虚拟满标记产生单元与读地址单元和虚拟写地址单元相连,接收读地址单元输出的当前真实读地址和虚拟写地址单元输出的当前虚拟写地址,在当前虚拟写地址的格雷码与当前真实读地址的格雷码的差等于FIFO深度时产生虚拟满信号并输出给DMA控制模块,以保证在FIFO中剩余的空闲存储已全部被之前的预写请求预订完时,DMA控制模块不再发出预写请求,即不会再对读FIFO模块中的FIFO进行预写操作。
其中,真实读/写地址和虚拟写地址的格雷码均可按照现有方法转换得到,因此,格雷码的转换过程和原理、以及基于格雷码比较的空满信号判断机制的原理在本文中不再赘述。
可见,本发明实施例中的写FIFO模块和读FIFO模块的FIFO控制电路经上述改进后,均能够支持请求-应答方式数据传输中的预请求机制。
当然,本发明实施例中还提供了一种通用的FIFO模块,如图5所示,该通用FIFO模块的FIFO控制电路出了包括图2中的写地址单元和读地址单元、以及空满标记产生单元之外,既包括图3中的虚拟读地址单元和虚拟空标记产生单元,又包括图4中的虚拟写地址单元和虚拟满标记产生单元。因此,该通用FIFO模块既可以作为写FIFO模块,也可以作为读FIFO模块。
除了如图3~图5中所示的FIFO控制电路,本发明实施例还提供了两种FIFO控制方法。
图6为本发明实施例中一种FIFO控制方法的流程示意图。
该方法包括现有FIFO控制方法的如下步骤:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号。
如图6所示,该方法同时还包括如下步骤:
步骤601,根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址。
本步骤中,更新当前虚拟读地址的方式可以为:从当前虚拟读地址的初始值开始,每次接收到预读请求后,累加预读请求对应的预读数据长度。较佳地,当前虚拟读地址、真实读地址、真实写地址的初始值相同。
步骤602,在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
上述流程中,写数据来自如图1所示的DMA控制器中的功能模块;预读请求来自如图1所示的DMA控制器中的DMA控制模块;读数据和虚拟空信号输出如图1所示的至DMA控制器中的DMA控制模块,且DMA控制模块连接在AXI总线上。
图7为本发明实施例中另一种FIFO控制方法的流程示意图。
该方法包括现有FIFO控制方法的如下步骤:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号。
如图7所示,该方法同时还包括如下步骤:
步骤701,根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址。
本步骤中,更新当前虚拟写地址的方式可以为:从当前虚拟写地址的初始值开始,每次接收到预写请求后,累加预写请求对应的预写数据长度。较佳地,当前虚拟写地址、真实读地址、真实写地址的初始值相同。
步骤702,在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
上述流程中,读数据输出至如图1所示的DMA控制器中的功能模块;写数据和预写请求来自如图1所示的DMA控制器中的DMA控制模块;虚拟满信号输出至如图1所示的DMA控制器中的DMA控制模块,且DMA控制模块连接在AXI总线上。
由上述实施例可见,本发明所提供的FIFO控制电路和FIFO控制方法能够支持AXI总线请求-应答方式数据传输中的预请求机制。当然,本发明所提供的FIFO控制电路和FIFO控制方法也适用于其他相同或相似的请求-应答方式数据传输中的预请求机制。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (10)

1、一种先进先出存储器FIFO控制电路,包括:
写地址单元,向FIFO输出写控制信号和当前真实写地址,并根据每次接收到的写数据长度计算下一次写入的真实写地址;
读地址单元,向FIFO输出读控制信号和当前真实读地址,并根据每次读取的读数据长度计算下一次读取的真实读地址;
空满标记产生单元,在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
其特征在于,该FIFO控制电路还包括:
虚拟读地址单元,根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址并输出至虚拟空标记产生单元;
虚拟空标记产生单元,在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
2、如权利要求1所述的FIFO控制电路,其特征在于,该FIFO控制电路进一步包括:
虚拟写地址单元,根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址并输出至虚拟满标记产生单元;
虚拟满标记产生单元,在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
3、如权利要求1或2所述的控制电路,其特征在于,该FIFO控制电路与FIFO构成直接内存存取DMA控制器内的写FIFO模块;
写数据来自DMA控制器中的功能模块;
预读请求来自DMA控制器中的DMA控制模块;
读数据和虚拟空信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
4、一种先进先出存储器FIFO控制电路,包括:
写地址单元,向FIFO输出写控制信号和当前真实写地址,并根据每次接收到的写数据长度计算下一次写入的真实写地址;
读地址单元,向FIFO输出读控制信号和当前真实读地址,并根据每次读取的读数据长度计算下一次读取的真实读地址;
空满标记产生单元,在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
其特征在于,该FIFO控制电路还包括:
虚拟写地址单元,根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址并输出至虚拟满标记产生单元;
虚拟满标记产生单元,在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
5、如权利要求4所述的FIFO控制电路,其特征在于,该FIFO控制电路进一步包括:
虚拟读地址单元,根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址并输出至虚拟空标记产生单元;
虚拟空标记产生单元,在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
6、如权利要求4或5所述的FIFO控制电路,其特征在于,该FIFO控制电路与FIFO构成直接内存存取DMA控制器内的读FIFO模块;
读数据输出至DMA控制器中的功能模块;
写数据和预写请求来自DMA控制器中的DMA控制模块;
虚拟满信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
7、一种先进先出存储器FIFO的控制方法,该方法包括:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
其特征在于,该控制方法同时还包括如下步骤:
根据接收到预读请求所对应的预读数据长度,更新当前虚拟读地址;
在当前虚拟读地址与当前真实写地址的格雷码相同时,产生虚拟空信号。
8、如权利要求7所述的控制方法,其特征在于,
写数据来自直接内存存取DMA控制器中的功能模块;
预读请求来自DMA控制器中的DMA控制模块;
读数据和虚拟空信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
9、一种先进先出存储器FIFO的控制方法,该方法包括:
向FIFO输出写控制信号和当前真实写地址,根据每次接收到的写数据长度计算下一次写入的真实写地址;且,向FIFO输出读控制信号和当前真实读地址,根据每次读取的读数据长度计算下一次读取的真实读地址;在当前真实读地址与当前真实写地址的格雷码相同时产生真实空信号;
在当前真实写地址与当前真实读地址的格雷码之差等于FIFO的深度时产生真实满信号;
其特征在于,该控制方法同时还包括如下步骤:
根据接收到预写请求所对应的预写数据长度,更新当前虚拟写地址;
在当前虚拟写地址与当前真实读地址的格雷码之差等于FIFO的深度时,产生虚拟满信号。
10、如权利要求9所述的控制方法,其特征在于,
读数据输出至DMA控制器中的功能模块;
写数据和预写请求来自DMA控制器中的DMA控制模块;
虚拟满信号输出至DMA控制器中的DMA控制模块;
其中,DMA控制模块连接在先进可延伸接口AXI总线上。
CN2008101158089A 2008-06-27 2008-06-27 Fifo控制电路及控制方法 Expired - Fee Related CN101308450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101158089A CN101308450B (zh) 2008-06-27 2008-06-27 Fifo控制电路及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101158089A CN101308450B (zh) 2008-06-27 2008-06-27 Fifo控制电路及控制方法

Publications (2)

Publication Number Publication Date
CN101308450A true CN101308450A (zh) 2008-11-19
CN101308450B CN101308450B (zh) 2011-07-20

Family

ID=40124920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101158089A Expired - Fee Related CN101308450B (zh) 2008-06-27 2008-06-27 Fifo控制电路及控制方法

Country Status (1)

Country Link
CN (1) CN101308450B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447931B (zh) * 2008-12-26 2011-05-11 华为技术有限公司 一种排他操作的实现方法和装置
CN103677732A (zh) * 2012-09-03 2014-03-26 上海贝尔股份有限公司 Fifo装置及其方法
CN108462655A (zh) * 2016-12-12 2018-08-28 中国航空工业集团公司西安航空计算技术研究所 Fc链路弹性缓冲区电路
CN108595350A (zh) * 2018-01-04 2018-09-28 深圳开阳电子股份有限公司 一种基于axi的数据传输方法和装置
CN111400205A (zh) * 2020-02-29 2020-07-10 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN112416823A (zh) * 2020-11-15 2021-02-26 珠海市一微半导体有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片
CN113687791A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 基于预读取和分支判断机制的存储器数据快速读取装置
CN113687792A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 一种存储器数据快速读取方法
CN113760792A (zh) * 2021-09-10 2021-12-07 西安电子科技大学重庆集成电路创新研究院 基于fpga的图像存取的axi4总线控制电路及其数据传输方法
CN117851312A (zh) * 2024-03-07 2024-04-09 北京象帝先计算技术有限公司 数据读取系统、电子组件、电子设备及数据读取方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447931B (zh) * 2008-12-26 2011-05-11 华为技术有限公司 一种排他操作的实现方法和装置
CN103677732A (zh) * 2012-09-03 2014-03-26 上海贝尔股份有限公司 Fifo装置及其方法
CN103677732B (zh) * 2012-09-03 2016-11-02 上海贝尔股份有限公司 Fifo装置及其方法
CN108462655A (zh) * 2016-12-12 2018-08-28 中国航空工业集团公司西安航空计算技术研究所 Fc链路弹性缓冲区电路
CN108462655B (zh) * 2016-12-12 2021-07-16 中国航空工业集团公司西安航空计算技术研究所 Fc链路弹性缓冲区电路
CN108595350A (zh) * 2018-01-04 2018-09-28 深圳开阳电子股份有限公司 一种基于axi的数据传输方法和装置
CN111400205B (zh) * 2020-02-29 2022-05-24 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN111400205A (zh) * 2020-02-29 2020-07-10 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN112416823A (zh) * 2020-11-15 2021-02-26 珠海市一微半导体有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片
CN112416823B (zh) * 2020-11-15 2024-05-03 珠海一微半导体股份有限公司 一种突发模式下的传感器数据读写控制方法、系统及芯片
CN113687791A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 基于预读取和分支判断机制的存储器数据快速读取装置
CN113687792B (zh) * 2021-09-07 2023-09-26 天津津航计算技术研究所 一种存储器数据快速读取方法
CN113687791B (zh) * 2021-09-07 2023-09-26 天津津航计算技术研究所 基于预读取和分支判断机制的存储器数据快速读取装置
CN113687792A (zh) * 2021-09-07 2021-11-23 天津津航计算技术研究所 一种存储器数据快速读取方法
CN113760792A (zh) * 2021-09-10 2021-12-07 西安电子科技大学重庆集成电路创新研究院 基于fpga的图像存取的axi4总线控制电路及其数据传输方法
CN117851312A (zh) * 2024-03-07 2024-04-09 北京象帝先计算技术有限公司 数据读取系统、电子组件、电子设备及数据读取方法
CN117851312B (zh) * 2024-03-07 2024-06-21 北京象帝先计算技术有限公司 数据读取系统、电子组件、电子设备及数据读取方法

Also Published As

Publication number Publication date
CN101308450B (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
CN101308450B (zh) Fifo控制电路及控制方法
CN103077123A (zh) 一种数据写入和读取方法及装置
CN101324869B (zh) 一种基于axi总线的多路复用器
CN113254368A (zh) 从axi总线到opb总线的数据写入方法及读取方法
CN109359073B (zh) 一种基于spi总线的设备间通信方法及装置
CN112380157A (zh) 一种带fifo缓存和校验功能的iic总线的通信装置
CN108268414A (zh) 基于spi模式的sd卡驱动器及其控制方法
CN101089838A (zh) 一种实现i2c读写时序的方法
CN100549938C (zh) Fifo控制电路及控制方法
CN105677598A (zh) 基于i2c接口快速读取多个mems传感器数据的模块和方法
CN212486527U (zh) 一种基于modbus协议的从站转换装置
CN103488600A (zh) 通用从机同步串行接口电路
CN101667133B (zh) 固件更新方法和使用该方法更新固件的芯片
US20140025979A1 (en) Interface device and interface method
JP2010267259A (ja) メモリデバイスおよびメモリデバイス制御装置
CN115033172B (zh) 一种存储模块管控方法、装置、设备及存储介质
CN102693199B (zh) Idma接口及其控制方法
CN115312094A (zh) Sram控制系统、方法、fpga芯片及电子设备
CN100365606C (zh) 安全数字存储卡数据的存储器直接存取方法及其接口电路
CN208077160U (zh) 基于spi模式的sd卡驱动器
CN105681651A (zh) 一种嵌入式高速实时场景图像生成装置
CN102522113B (zh) 一种sdram桥接电路
CN102385555A (zh) 一种缓存系统和数据缓存的方法
CN101354634A (zh) Ata端口接多路sata端口存储设备系统及控制方法
CN101458673A (zh) 使用地址快取的序列传输接口的内存模块、序列传输控制器与控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: WUXI VIMICRO ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGXING MICROELECTRONICS CO., LTD.

Effective date: 20110130

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100083 15/F, SHINING BUILDING, NO.35, XUEYUAN ROAD, HAIDIAN DISTRICT, BEIJING TO: 214028 610, NATIONAL INTEGRATED CIRCUIT DESIGN PARK (CHUANGYUAN BUILDING), NO.21-1, CHANGJIANG ROAD, NEW DISTRICT, WUXI CITY, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110130

Address after: 214028 national integrated circuit design (21-1), Changjiang Road, New District, Jiangsu, Wuxi, China, China (610)

Applicant after: Wuxi Vimicro Co., Ltd.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Applicant before: Beijing Vimicro Corporation

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110720

Termination date: 20170627

CF01 Termination of patent right due to non-payment of annual fee