CN102053815A - 同步fifo电路系统 - Google Patents
同步fifo电路系统 Download PDFInfo
- Publication number
- CN102053815A CN102053815A CN2009102017557A CN200910201755A CN102053815A CN 102053815 A CN102053815 A CN 102053815A CN 2009102017557 A CN2009102017557 A CN 2009102017557A CN 200910201755 A CN200910201755 A CN 200910201755A CN 102053815 A CN102053815 A CN 102053815A
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种同步FIFO电路系统,包括:多个基本存储单元电路,各基本存储单元电路通过级联方式依次连接;前级基本存储单元电路的阻塞控制输出作为后级基本存储单元电路的阻塞控制输入,第一个基本存储单元电路的前级阻塞控制输入为0,即不阻塞,最后一个基本存储单元电路的阻塞控制输出悬空;后级基本存储单元电路的数据输出作为前级基本存储单元电路的数据源1的输入,最后一个基本存储单元电路的数据源1的输入为全0。本发明能够实现版图的快速定制,并可优化集成电路芯片面积,适用于诸如内存管理模块等逻辑设计中。
Description
技术领域
本发明涉及数字电路逻辑设计领域,特别是涉及一种版图可定制的级联阻塞式同步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;
读取操作得到的数据为0表示同步FIFO电路系统为空,即所有的数据都已被读取完毕;
写入操作的数据要求为非零值,写入0表示当前写入操作无效。
2.如权利要求1所述的同步FIFO电路系统,其特征在于,所述基本存储单元电路包括:
数据选择器模块,用于选择需要被锁存的数据源;
存储单元模块,与数据选择器模块、阻塞逻辑模块、读写控制逻辑模块相连接,用于锁存并保持写操作的数据;
阻塞逻辑模块,与读写控制逻辑模块、存储单元模块相连接,用于产生相应的阻塞控制信号,控制所述存储单元模块的阻塞状态;
读写控制逻辑模块,与所述数据选择器模块、存储单元模块相连接,根据外部读选择输入信号或写选择输入信号控制所述存储单元的操作类型;
数据存取操作基于时钟进行,数据读取或数据写入操作在不同的时钟周期内完成,不可同时进行。
3.如权利要求2所述的同步FIFO电路系统,其特征在于:所述数据选择器模块根据所述读写控制逻辑模块提供的控制信号,从数据源1和数据源2中选择需要被锁存的数据源,作为所述存储单元模块的输入;数据源2是写操作需要存储的数据;所述读写控制逻辑模块提供的控制信号决定下一时钟周期即将被锁存的数据源。
4.如权利要求2所述的同步FIFO电路系统,其特征在于:所述存储单元模块,根据所述读写控制逻辑模块提供的控制信号,锁存并保持所述数据选择器模块提供的写操作的数据;存储单元模块锁存后的存储数据输出同时作为所述阻塞逻辑模块的输入;
数据锁存采用同步时钟锁存的方式;
上电复位后所有基本存储单元的初始值均为0;
所述读写控制逻辑模块提供的控制信号决定下一时钟周期所述存储单元模块是否锁存所述数据选择器模块输入的数据。
5.如权利要求2所述的同步FIFO电路系统,其特征在于:所述阻塞逻辑模块,根据所述存储单元模块输出的存储数据产生后级基本存储单元电路的阻塞控制信号并输出,同时将阻塞控制信号反馈给所述读写控制逻辑模块。
6.如权利要求1或5所述的同步FIFO电路系统,其特征在于:阻塞控制信号由所述存储单元模块的存储数据按位或并取反之后与前级阻塞控制信号异或得到;若异或结果为0,则当前存储单元模块在下一次写操作时将被阻塞;若异或结果为1,则当前存储单元模块在下一次写操作时不会被阻塞。
7.如权利要求5所述的同步FIFO电路系统,其特征在于:所述阻塞逻辑模块产生的后级基本存储单元电路的阻塞控制信号若为1,则后级存储单元模块在下一次写操作时会被阻塞;若为0,则后级存储单元模块的阻塞与否取决于后级存储单元模块中锁存的数据是否为0,如果该锁存的数据为0则不阻塞,如果该锁存的数据为1则阻塞。
8.如权利要求2所述的同步FIFO电路系统,其特征在于:所述读写控制逻辑模块,根据外部输入的读选择、写选择信号,结合所述阻塞逻辑模块输出的阻塞控制信号,产生读控制信号、写控制信号输出给所述数据选择器模块和存储单元模块;
所述外部输入的读选择、写选择信号在一个时钟周期内只有一个有效或两个都无效;若为读选择信号有效,则所述读写控制逻辑模块输出的控制信号使存储单元模块在下一时钟周期锁存所述数据选择器模块提供的数据源1;若为写信号有效,则读写控制逻辑模块输出的控制信号使存储单元模块在下一时钟周期根据阻塞情况决定是否锁存数据选择器模块提供的数据源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。
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 true CN102053815A (zh) | 2011-05-11 |
CN102053815B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106646296A (zh) * | 2016-09-30 | 2017-05-10 | 上海联影医疗科技有限公司 | 磁共振接收链路及接收方法 |
CN114816319A (zh) * | 2022-04-21 | 2022-07-29 | 中国人民解放军32802部队 | 一种fifo存储器的多级流水读写方法和装置 |
WO2023103337A1 (zh) * | 2021-12-08 | 2023-06-15 | 苏州浪潮智能科技有限公司 | 一种同步fifo |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4873703A (en) * | 1985-09-27 | 1989-10-10 | Hewlett-Packard Company | Synchronizing system |
DE58908974D1 (de) * | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Datengesteuerter Arrayprozessor. |
CA2106271C (en) * | 1993-01-11 | 2004-11-30 | Joseph H. Steinmetz | Single and multistage stage fifo designs for data transfer synchronizers |
KR100761430B1 (ko) * | 2000-06-09 | 2007-09-27 | 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 | 혼합형 비동기 및 동기 시스템을 위한 낮은 대기시간fifo 회로 |
CN101566941B (zh) * | 2009-06-03 | 2013-08-07 | 北京中星微电子有限公司 | 一种基于静态存储器的fifo存储单元 |
-
2009
- 2009-11-05 CN CN2009102017557A patent/CN102053815B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106646296A (zh) * | 2016-09-30 | 2017-05-10 | 上海联影医疗科技有限公司 | 磁共振接收链路及接收方法 |
CN106646296B (zh) * | 2016-09-30 | 2019-11-19 | 上海联影医疗科技有限公司 | 磁共振接收链路及接收方法 |
WO2023103337A1 (zh) * | 2021-12-08 | 2023-06-15 | 苏州浪潮智能科技有限公司 | 一种同步fifo |
CN114816319A (zh) * | 2022-04-21 | 2022-07-29 | 中国人民解放军32802部队 | 一种fifo存储器的多级流水读写方法和装置 |
CN114816319B (zh) * | 2022-04-21 | 2023-02-17 | 中国人民解放军32802部队 | 一种fifo存储器的多级流水读写方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102053815B (zh) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100528482B1 (ko) | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 | |
US9075930B2 (en) | Configurable embedded memory system | |
US7808825B2 (en) | Non-volatile memory device and method of programming the same | |
CN109687848B (zh) | 一种逻辑功能可配置的可逆触发器及其配置方法 | |
US10971237B2 (en) | Semiconductor device | |
JP6517626B2 (ja) | 再構成可能な半導体装置 | |
CN112000603B (zh) | 一种握手协议电路、芯片及计算机设备 | |
CN106776357A (zh) | 一种多路读写多容量选择的fifo控制器 | |
CN101458967B (zh) | 双向移位寄存器 | |
CN102053815B (zh) | 同步fifo电路系统 | |
CN111832240A (zh) | Fifo数据传输方法及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 | |
JPS6244851A (ja) | メモリ アクセス回路 | |
US9189199B2 (en) | Folded FIFO memory generator | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
CN206431615U (zh) | 一种多路读写多容量选择的fifo控制器 | |
CN1841978B (zh) | 实现多路信号再定时的方法及装置 | |
US6848042B1 (en) | Integrated circuit and method of outputting data from a 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 | |
JPH035986A (ja) | Fifoメモリ | |
KR20130069350A (ko) | 듀얼 포트 메모리 및 그 방법 | |
CN103594110A (zh) | 替代双端口静态存储器的存储器结构 | |
CN112542187B (zh) | 一种高速读ID和芯片状态的电路和flash存储器 |
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 |