CN102053815B - 同步fifo电路*** - Google Patents

同步fifo电路*** Download PDF

Info

Publication number
CN102053815B
CN102053815B CN2009102017557A CN200910201755A CN102053815B CN 102053815 B CN102053815 B CN 102053815B CN 2009102017557 A CN2009102017557 A CN 2009102017557A CN 200910201755 A CN200910201755 A CN 200910201755A CN 102053815 B CN102053815 B CN 102053815B
Authority
CN
China
Prior art keywords
data
storage
module
basic unit
read
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
CN2009102017557A
Other languages
English (en)
Other versions
CN102053815A (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.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit 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 Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN2009102017557A priority Critical patent/CN102053815B/zh
Publication of CN102053815A publication Critical patent/CN102053815A/zh
Application granted granted Critical
Publication of CN102053815B publication Critical patent/CN102053815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种同步FIFO电路***,包括:多个基本存储单元电路,各基本存储单元电路通过级联方式依次连接;前级基本存储单元电路的阻塞控制输出作为后级基本存储单元电路的阻塞控制输入,第一个基本存储单元电路的前级阻塞控制输入为0,即不阻塞,最后一个基本存储单元电路的阻塞控制输出悬空;后级基本存储单元电路的数据输出作为前级基本存储单元电路的数据源1的输入,最后一个基本存储单元电路的数据源1的输入为全0。本发明能够实现版图的快速定制,并可优化集成电路芯片面积,适用于诸如内存管理模块等逻辑设计中。

Description

同步FIFO电路***
技术领域
本发明涉及数字电路逻辑设计领域,特别是涉及一种版图可定制的级联阻塞式同步FIFO(first in first out先进先出)电路***。
背景技术
同步FIFO是数字电路***中的一种常用功能模块,主要用于解决逻辑设计中数据先进先出的存储问题,可以进行数据的同步读取或写入操作。传统的同步FIFO由读、写指针控制电路和存储体三部分组成。随着存储深度的加深,读、写指针控制电路的规模也相应增大,芯片面积随之增大,且不得不依赖自动布局布线工具来实现版图,因此很难实现面积优化。
发明内容
本发明要解决的技术问题是提供一种同步FIFO电路***,能够实现版图的快速定制,并可优化集成电路芯片面积。
为解决上述技术问题,本发明的同步FIFO电路***包括:多个基本存储单元电路,各基本存储单元电路通过级联方式依次连接;
前级基本存储单元电路的阻塞控制输出作为后级基本存储单元电路的阻塞控制输入,第一个基本存储单元电路的前级阻塞控制输入为0,即不阻塞,最后一个基本存储单元电路的阻塞控制输出悬空;后级基本存储单元电路的数据输出作为前级基本存储单元电路的数据源1的输入,最后一个基本存储单元电路的数据源1的输入为全0;读取操作得到的数据为0表示同步FIFO电路***为空,即所有的数据都已被读取完毕;写入操作的数据要求为非零值,写入0表示当前写入操作无效。
所述基本存储单元电路包括:
数据选择器模块,用于选择需要被锁存的数据源;
存储单元模块,与数据选择器模块、阻塞逻辑模块、读写控制逻辑模块相连接,用于锁存并保持写操作的数据;
阻塞逻辑模块,与读写控制逻辑模块、存储单元模块相连接,用于产生相应的阻塞控制信号,控制所述存储单元模块的阻塞状态;
读写控制逻辑模块,与所述数据选择器模块、存储单元模块相连接,根据外部读选择输入信号或写选择输入信号控制所述存储单元的操作类型。
本发明针对传统同步FIFO电路***需要依赖自动布局布线工具实现版图设计所存在的缺点,结合具体的应用环境对传统同步FIFO电路***进行改进,采用级联式的阻塞技术构造同步FIFO电路***;使之既能满足实际应用需求,又能优化其版图面积且可以实现简单快速的定制,并能实现与传统同步FIFO电路***相似的功能。本发明对于同步FIFO设计方法的开拓很有裨益,适用于诸如内存管理模块等逻辑设计中。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明的基本存储单元电路一实施例原理框图;
图2是本发明的同步FIFO电路***一实施例结构框图。
具体实施方式
在一些诸如内存管理模块的设计中,写操作涉及的数据均为非零数据,而且数据的读、写操作发生在不同的时钟周期内,因此传统同步FIFO电路***通常具有的两套独立的读、写指针控制电路是完全可以改进的。
参见图1所示,在一实施例中所述基本存储单元电路,包括:数据选择器模块110;存储单元模块120;阻塞逻辑模块130;读写控制逻辑模块140。
数据选择器模块110,根据读写控制逻辑模块140提供的控制信号,从数据源1和数据源2中选择在下一时钟周期需要被锁存的数据源,作为存储单元模块120的输入。数据源1是后级存储单元中锁存的数据。数据源2是写操作需要存储的数据。
存储单元模块120,根据读写控制逻辑模块140提供的控制信号,锁存并保持数据选择器模块110提供的写操作的数据;存储单元模块120锁存后的存储数据输出同时作为阻塞逻辑模块130的输入使用。数据锁存采用同步时钟锁存的方式。读写控制逻辑模块140提供的控制信号决定下一时钟周期存储单元模块120是否锁存数据选择器模块110输入的数据。
阻塞逻辑模块130,根据存储单元模块120输出的存储数据产生后级基本存储单元电路100(结合图2所示)的阻塞控制信号并输出,同时将阻塞控制信号反馈给读写控制逻辑模块140。阻塞控制信号由存储单元模块120的存储数据按位或并取反之后与前级阻塞控制信号异或得到;若异或结果为0,则当前存储单元在下一次写操作时将被阻塞;若异或结果为1,则存储单元模块120在下一次写操作时不会被阻塞,即数据将被写入该存储单元模块120。阻塞逻辑模块130产生的后级基本存储单元电路100的阻塞控制信号若为1,则后级存储单元模块120在下一次写操作时会被阻塞;若为0,则后级存储单元模块120的阻塞与否取决于后级存储单元模块120中锁存的数据是否为0,数据为0则不阻塞,数据为1则阻塞。
读写控制逻辑模块140,根据外部输入的读选择、写选择信号,结合阻塞逻辑模块130输出的阻塞控制信号,产生读控制信号、写控制信号输出给数据选择器模块110和存储单元模块120使用。外部输入的读选择、写选择信号在一个时钟周期内只有一个有效或两个都无效。若为读选择信号有效(即读操作),则读写控制逻辑模块140输出的控制信号使存储单元模块120在下一时钟周期锁存数据选择器模块110提供的数据源1;若为写信号有效(即写操作),则读写控制逻辑模块140输出的控制信号使存储单元模块120在下一时钟周期根据阻塞情况决定是否锁存数据选择器模块110提供的数据源2;若读、写操作都无效,则读写控制逻辑模块140输出的控制信号使存储单元模块120在下一时钟周期保持当前数据。
图2是本发明的同步FIFO电路***200一实施例结构示意图。
所述同步FIFO电路***200由N个基本存储单元电路100(在下面的描述中简称为存储单元)通过级联构成,N为存储深度,根据图2存储顺序从右至左依次为存储单元0,存储单元1,依次类推,直至存储单元N-1。前级存储单元的阻塞控制输出作为后级存储单元的阻塞控制输入。存储单元0的前级阻塞控制输入为0,即不阻塞。存储单元N-1的阻塞控制输出悬空。后级存储单元的数据输出作为前级存储单元的数据源1的输入。存储单元N-1的数据源1的输入为全0。
上电复位后所有基本存储单元的初始值均为0。整个电路***的数据存取操作基于时钟进行,数据读取或数据写入操作在不同的时钟周期内完成,不可同时进行。
读取操作得到的数据为0表示同步FIFO电路***为空,即所有的数据都已被读取完毕。写入操作的数据要求为非零值,写入0表示当前写入操作无效。
若数据存储深度为N,基本存储单元从0至N-1依次排序,数据从第0个基本存储单元开始依次存储,直至第N-1个基本存储单元;在已达到最大存储深度的情况下,无法继续存储新的数据,即新的数据丢失。
读取操作始终获取第0个基本存储单元的数据;当第0个基本存储单元的数据被读取后,第1个基本存储单元的数据被存储到第0个基本存储单元,第2个基本存储单元的数据被存储到第1个基本存储单元,依次类推,第N-1个基本存储单元的数据被存储到第N-2个基本存储单元,第N-1个基本存储单元存储数据0。
若第0个基本存储单元的数据为0,会阻塞第1个基本存储单元的数据写入操作;若第1个基本存储单元的数据为0,会阻塞第2个基本存储单元的数据写入操作,依次类推;保证写入的数据按照先后次序依次存储。
基本存储单元电路100的规模小,结构简单,十分易于通过手工方式实现版图以得到较优的面积。本发明的同步FIFO电路***200由于采用N个基本存储单元电路100通过简单级联构成,因此可手工实现版图以达到结合芯片具体情况优化集成电路芯片面积的目的。
以上通过具体实施例对本发明进行了详细的描述说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可以做出许多改进和变形,这些均视为本发明的保护范围。

Claims (10)

1.一种同步FIFO电路***,其特征在于,包括:多个基本存储单元电路,各基本存储单元电路通过级联方式依次连接;
前级基本存储单元电路的阻塞控制输出作为后级基本存储单元电路的阻塞控制输入,第一个基本存储单元电路的前级阻塞控制输入为0,即不阻塞,最后一个基本存储单元电路的阻塞控制输出悬空;后级基本存储单元电路的数据输出作为前级基本存储单元电路的数据源1的输入,最后一个基本存储单元电路的数据源1的输入为全0;数据源1是后级存储单元中锁存的数据;
读取操作得到的数据为0表示同步FIFO电路***为空,即所有的数据都已被读取完毕;
写入操作的数据要求为非零值,写入0表示当前写入操作无效。
2.如权利要求1所述的同步FIFO电路***,其特征在于,所述基本存储单元电路包括:
数据选择器模块,用于选择需要被锁存的数据源;
存储单元模块,与数据选择器模块、阻塞逻辑模块、读写控制逻辑模块相连接,用于锁存并保持写操作的数据;
阻塞逻辑模块,与读写控制逻辑模块、存储单元模块相连接,用于产生相应的阻塞控制信号,控制所述存储单元模块的阻塞状态;
读写控制逻辑模块,与所述数据选择器模块、存储单元模块相连接,根据外部读选择输入信号或写选择输入信号控制所述存储单元的操作类型;
数据存取操作基于时钟进行,数据读取或数据写入操作在不同的时钟周期内完成,不可同时进行。
3.如权利要求2所述的同步FIFO电路***,其特征在于:所述数据选择器模块根据所述读写控制逻辑模块提供的控制信号,从数据源1和数据源2中选择需要被锁存的数据源,作为所述存储单元模块的输入;数据源2是写操作需要存储的数据;所述读写控制逻辑模块提供的控制信号决定下一时钟周期即将被锁存的数据源。
4.如权利要求2所述的同步FIFO电路***,其特征在于:所述存储单元模块,根据所述读写控制逻辑模块提供的控制信号,锁存并保持所述数据选择器模块提供的写操作的数据;存储单元模块锁存后的存储数据输出同时作为所述阻塞逻辑模块的输入;
数据锁存采用同步时钟锁存的方式;
上电复位后所有基本存储单元的初始值均为0;
所述读写控制逻辑模块提供的控制信号决定下一时钟周期所述存储单元模块是否锁存所述数据选择器模块输入的数据。
5.如权利要求2所述的同步FIFO电路***,其特征在于:所述阻塞逻辑模块,根据所述存储单元模块输出的存储数据产生后级基本存储单元电路的阻塞控制信号并输出,同时将阻塞控制信号反馈给所述读写控制逻辑模块。
6.如权利要求2或5所述的同步FIFO电路***,其特征在于:阻塞控制信号由所述存储单元模块的存储数据按位或并取反之后与前级阻塞控制信号异或得到;若异或结果为0,则当前存储单元模块在下一次写操作时将被阻塞;若异或结果为1,则当前存储单元模块在下一次写操作时不会被阻塞。
7.如权利要求5所述的同步FIFO电路***,其特征在于:所述阻塞逻辑模块产生的后级基本存储单元电路的阻塞控制信号若为1,则后级存储单元模块在下一次写操作时会被阻塞;若为0,则后级存储单元模块的阻塞与否取决于后级存储单元模块中锁存的数据是否为0,如果该锁存的数据为0则不阻塞,如果该锁存的数据为1则阻塞。
8.如权利要求2所述的同步FIFO电路***,其特征在于:所述读写控制逻辑模块,根据外部输入的读选择、写选择信号,结合所述阻塞逻辑模块输出的阻塞控制信号,产生读控制信号、写控制信号输出给所述数据选择器模块和存储单元模块;
所述外部输入的读选择、写选择信号在一个时钟周期内只有一个有效或两个都无效;若为读选择信号有效,则所述读写控制逻辑模块输出的控制信号使存储单元模块在下一时钟周期锁存所述数据选择器模块提供的数据源1;若为写信号有效,则读写控制逻辑模块输出的控制信号使存储单元模块在下一时钟周期根据阻塞情况决定是否锁存数据选择器模块提供的数据源2;数据源2是写操作需要存储的数据;若读、写操作都无效,则读写控制逻辑模块输出的控制信号使存储单元模块在下一时钟周期保持当前数据。
9.如权利要求1所述的同步FIFO电路***,其特征在于:若数据存储深度为N,基本存储单元从0至N-1依次排序,数据从第0个基本存储单元开始依次存储,直至第N-1个基本存储单元;在已达到最大存储深度的情况下,无法继续存储新的数据,即新的数据丢失;若第0个基本存储单元的数据为0,会阻塞第1个基本存储单元的数据写入操作;若第1个基本存储单元的数据为0,会阻塞第2个基本存储单元的数据写入操作,依次类推;保证写入的数据按照先后次序依次存储。
10.如权利要求9所述的同步FIFO电路***,其特征在于:读取操作始终获取第0个基本存储单元的数据;当第0个基本存储单元的数据被读取后,第1个基本存储单元的数据被存储到第0个基本存储单元,第2个基本存储单元的数据被存储到第1个基本存储单元,依次类推,第N-1个基本存储单元的数据被存储到第N-2个基本存储单元,第N-1个基本存储单元存储数据0。
CN2009102017557A 2009-11-05 2009-11-05 同步fifo电路*** Active CN102053815B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102017557A CN102053815B (zh) 2009-11-05 2009-11-05 同步fifo电路***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102017557A CN102053815B (zh) 2009-11-05 2009-11-05 同步fifo电路***

Publications (2)

Publication Number Publication Date
CN102053815A CN102053815A (zh) 2011-05-11
CN102053815B true CN102053815B (zh) 2012-10-31

Family

ID=43958177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102017557A Active CN102053815B (zh) 2009-11-05 2009-11-05 同步fifo电路***

Country Status (1)

Country Link
CN (1) CN102053815B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106646296B (zh) * 2016-09-30 2019-11-19 上海联影医疗科技有限公司 磁共振接收链路及接收方法
CN113900975B (zh) * 2021-12-08 2022-03-08 苏州浪潮智能科技有限公司 一种同步fifo
CN114816319B (zh) * 2022-04-21 2023-02-17 中国人民解放军32802部队 一种fifo存储器的多级流水读写方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
CN1051995A (zh) * 1989-11-21 1991-06-05 德国Itt工业股份有限公司 数据驱动阵列处理器
EP0606600A1 (en) * 1993-01-11 1994-07-20 Hewlett-Packard Company Improved single and multistage stage FIFO designs for data transfer synchronizers
CN1478226A (zh) * 2000-06-09 2004-02-25 ŦԼ�и��ױ��Ǵ�ѧ�йܻ� 混合异步同步***的低等待时间fifo电路
CN101566941A (zh) * 2009-06-03 2009-10-28 北京中星微电子有限公司 一种基于静态存储器的fifo存储单元

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873703A (en) * 1985-09-27 1989-10-10 Hewlett-Packard Company Synchronizing system
CN1051995A (zh) * 1989-11-21 1991-06-05 德国Itt工业股份有限公司 数据驱动阵列处理器
EP0606600A1 (en) * 1993-01-11 1994-07-20 Hewlett-Packard Company Improved single and multistage stage FIFO designs for data transfer synchronizers
CN1478226A (zh) * 2000-06-09 2004-02-25 ŦԼ�и��ױ��Ǵ�ѧ�йܻ� 混合异步同步***的低等待时间fifo电路
CN101566941A (zh) * 2009-06-03 2009-10-28 北京中星微电子有限公司 一种基于静态存储器的fifo存储单元

Also Published As

Publication number Publication date
CN102053815A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
KR100528482B1 (ko) 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템
EP2917844B1 (en) Configurable embedded memory system
CN102970013B (zh) 基于扫描链的芯片内部寄存器复位方法及复位控制装置
CN109687848B (zh) 一种逻辑功能可配置的可逆触发器及其配置方法
US10971237B2 (en) Semiconductor device
CN102053815B (zh) 同步fifo电路***
US6112268A (en) System for indicating status of a buffer based on a write address of the buffer and generating an abort signal before buffer overflows
US9189199B2 (en) Folded FIFO memory generator
US8321649B2 (en) Memory controller address and data pin multiplexing
CN101825997A (zh) 一种异步先入先出存储器
CN105488237A (zh) 基于fpga的寄存器使能信号优化方法
US9478272B1 (en) Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry
CN206431615U (zh) 一种多路读写多容量选择的fifo控制器
CN113900975B (zh) 一种同步fifo
US10074409B2 (en) Configurable storage blocks having simple first-in first-out enabling circuitry
US7366031B2 (en) Memory arrangement and method for addressing a memory
KR101404844B1 (ko) 듀얼 포트 메모리 및 그 방법
CN110097902B (zh) 针对同一端口的读写控制模块及方法、双端口存储器
CN100395693C (zh) 一种动态自管理缓冲装置
US8028107B2 (en) Apparatus and method for serial to parallel in an I/O circuit
CN103594110A (zh) 替代双端口静态存储器的存储器结构
CN117112030B (zh) 一种寄存器组地址自动累加电路及应用方法
US6680990B1 (en) Elastic integrated circuit
CN110225211B (zh) 多通道脉冲编码调制语音交换***及方法
JPH035986A (ja) Fifoメモリ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Gu Fumin

Inventor after: Ji Xinhua

Inventor before: Gu Fumin

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: GU FUMIN TO: GU FUMIN JI XINHUA

C14 Grant of patent or utility model
GR01 Patent grant