CN204143430U - 弹性先进先出存储器 - Google Patents
弹性先进先出存储器 Download PDFInfo
- Publication number
- CN204143430U CN204143430U CN201420548589.4U CN201420548589U CN204143430U CN 204143430 U CN204143430 U CN 204143430U CN 201420548589 U CN201420548589 U CN 201420548589U CN 204143430 U CN204143430 U CN 204143430U
- Authority
- CN
- China
- Prior art keywords
- controller
- counter
- read
- memory bank
- writing
- 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
Links
Abstract
本实用新型公开了一种弹性先进先出存储器,应用于USB3.0中,该弹性先进先出存储器采用主控制器开启或者关闭读控制器和写控制器,采用写控制器控制写计数器进行计数,为存储体提供数据的写地址,并将外部输入的数据写入存储体,采用读控制器控制读计数器进行计数,为存储体提供数据的读地址,并输出存储体中的数据,采用同步电路获取写计数器和读计数器的地址值,并将地址值传送给写控制器和读控制器,以进行比较,同时,采用基于地址的握手逻辑来同步写控制器和读控制器的状态信号,从而克服了现有技术中跨时钟域数据传输不稳定的问题,进而使得跨时钟域数据传输更加可靠和稳定。
Description
技术领域
本实用新型涉及存储器技术领域,尤其涉及一种弹性先进先出存储器。
背景技术
在PCI-E、USB3.0等高速通信协议中,高速链接两端的器件时钟通常是独立的。当一端的数据传送到另一端时,数据和时钟被恢复出来,由于恢复出来的时钟和本地时钟之间存在差异,所以业界通常会采取措施来弥补这种差异以保证数据的正确交换。在USB3.0中,协议规定使用弹性缓冲器(Elasticity buffer),并通过增加和删除SKP命令集(SKP ordered set)的方法来实现数据在两个时钟域间的交换。
在USB3.0规范中,链接两端的时钟精度要求为+/-300ppm,因此两端的时钟偏差之和可能为600ppm,加上SSC(Spread Spectrum Clocking,扩频时钟)产生的5000ppm的偏差,最大的偏差总共为5600ppm。发送端口每354个符号发送一个SKP命令集,并且最多允许一次发送4个SKP命令集。接收机必须具备缓冲8个符号的能力,在USB3.0规范中,每一个SKP命令集包含两个连续的SKP特殊编码符号。
在进行电路设计时,通常要考虑到跨时钟域的电路设计问题,比如亚稳态等,现有技术中虽然采用SKP命令集的增加和删除来消除两端时钟的频率偏差,但是跨时钟域数据传输仍然较不稳定,从而使得跨时钟域数据传输实现可靠和稳定并不是一件容易的事情。
实用新型内容
针对上述存在的问题,本实用新型提供一种弹性先进先出存储器,应用于USB3.0中,以克服现有技术中跨时钟域数据传输不稳定的问题,从而使得跨时钟域数据传输更加可靠和稳定。
为了实现上述目的,本实用新型采取的技术方案为:
一种弹性先进先出存储器,应用于USB3.0中,其中,包括:主控制器、写控制器、读控制器、写计数器、读计数器、存储体、同步电路和握手逻辑;
所述主控制器电性连接所述写控制器和所述读控制器,所述主控制器开启或者关闭所述写控制器和所述读控制器;
所述写控制器电性连接所述写计数器和所述存储体,所述写控制器控制所述写计数器进行计数,且所述写控制器将外部输入的数据写入所述存储体;
所述读控制器电性连接所述读计数器和所述存储体,所述读控制器控制所述读计数器进行计数,且所述读控制器输出所述存储体中的数据;
所述写计数器电性连接所述存储体,所述写计数器为所述存储体提供数据的写地址;
所述读计数器电性连接所述存储体,所述读计数器为所述存储体提供数据的读地址;
所述同步电路电性连接所述写计数器、所述读计数器、所述写控制器和所述读控制器,所述同步电路获取所述写计数器和所述读计数器的地址值,并将所述地址值传送给所述写控制器和所述读控制器;
所述握手逻辑电性连接所述写控制器和所述读控制器,所述握手逻辑将所述写控制器的状态信号同步到所述读控制器。
上述的弹性先进先出存储器,其中,所述读控制器和所述写控制器均具有寄存功能。
上述的弹性先进先出存储器,其中,所述读控制器和所述写控制器均具有比较功能。
上述的弹性先进先出存储器,其中,所述写控制器具有删除和插入SKP命令集功能,所述读控制器具有插入SKP命令集功能。
上述的弹性先进先出存储器,其中,所述写计数器和所述读计数器均为格雷码计数器。
上述的弹性先进先出存储器,其中,所述写计数器和所述读计数器的频率为125GHz。
上述的弹性先进先出存储器,其中,所述存储体为异步存储体。
上述的弹性先进先出存储器,其中,所述存储体的数据位宽为40比特。
上述技术方案具有如下优点或者有益效果:
本实用新型提供的弹性先进先出存储器,应用于USB3.0中,该弹性先进先出存储器采用主控制器开启或者关闭读控制器和写控制器,采用写控制器控制写计数器进行计数,为存储体提供数据的写地址,并将外部输入的数据写入存储体,采用读控制器控制读计数器进行计数,为存储体提供数据的读地址,并输出存储体中的数据,采用同步电路获取写计数器和读计数器的地址值,并将地址值传送给写控制器和读控制器,以进行比较,同时,采用握手逻辑同步写控制器和读控制器的状态信号,由于握手逻辑是基于地址的同步握手方式,从而能够实现读、写时钟域的精确同步,从而克服了现有技术中跨时钟域数据传输不稳定的问题,进而使得跨时钟域数据传输更加可靠和稳定;本实用新型提供的弹性先进先出存储器,能够有效的在写时钟域和读时钟域间实现5Gbps的数据传输,并且通过了仿真验证、FPGA验证和CMOS65nm、45nm流片验证,成功应用于Qualchip USB3.0MassStorge Demo系统上。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本实用新型及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比例绘制附图,重点在于示出本实用新型的主旨。
图1是本实用新型实施例1提供的弹性先进先出存储器的结构示意图。
具体实施方式
实施例1:
图1是本实用新型实施例1提供的弹性先进先出存储器的结构示意图;如图所示,本实用新型实施例1提供的弹性先进先出存储器,应用于USB3.0中,该弹性先进先出存储器包括:主控制器、写控制器、读控制器、写计数器、读计数器、存储体、同步电路和握手逻辑;主控制器电性连接写控制器和读控制器,用以开启或者关闭写控制器和读控制器;写控制器电性连接写计数器和存储体,用以控制写计数器进行计数,并且将外部输入的数据写入存储体中;读控制器电性连接读计数器和存储体,用以控制读计数器进行计数,并且输出存储体中的数据;写计数器电性连接存储体,为存储体提供数据的写地址;读计数器电性连接存储体,为存储体提供数据的读地址;同步电路电性连接写计数器、读计数器、写控制器和读控制器,同步电路获取写计数器和读计数器的地址值(写计数器中的写地址值和读计数器中的读地址值),并将地址值传送给写控制器和读控制器;握手逻辑电性连接写控制器和读控制器,用以将写控制器的状态信号同步到读控制器。
在本实用新型实施例1提供的弹性先进先出存储器中,写控制器具有删除和插入SKP命令集功能,读控制器具有插入SKP命令集功能。
在本实用新型实施例1提供的弹性先进先出存储器中,写计数器和读计数器均为格雷码计数器,且计数频率均为125GHz,采用格雷码计数器能够实现地址同步时消除亚稳态的负面影响。
在本实用新型实施例1提供的弹性先进先出存储器中,存储体为异步存储体,且存储体的数据位宽为40比特,从而符合USB3.0规范规定的传输速率5GHz。
在使用本实用新型实施例1提供的弹性先进先出存储器进行存储时,主控制器开启写控制器,写控制器控制写计数器进行计数,并且写计数器的计数值作为存储体的写地址,写控制器将外部输入的数据通过该写地址存储到存储体中;当存储体中存储的数据占用整个存储空间一半时(亦或略低于存储空间的一半,也可高于存储空间的一半),主控制器开启读控制器,读控制器控制读计数器进行计数,以读计数器的计数值为读地址,从存储体中读出相应的数据。在读写控制器开始工作后,握手逻辑持续将写控制器的状态信号同步到读控制器。
在此过程中,写计数器和读计数器还实时将其地址值传送给同步电路,通过该同步电路进行地址值稳定后,将写地址值和读地址值传送给写控制器和读控制器,写控制器和读控制器均进行比较操作,当写地址值与读地址值之差接近存储体的深度时,业界认为该存储体将满,从而使得写控制器产生满信号,写控制器便在数据流中删除SKP命令集;当写地址值和读地址值相近或者相等时(即:写地址值与读地址值之差接近为0时),业界认为该存储体将空,从而使得读控制器产生空信号,读控制器便在数据流中插入SKP命令集;需要说明的是,每次只删除或者插入一个SKP命令集,SKP命令集为两个字节,而输入输出的数据均为四个字节,因此,两次增加或者删除行为才能引起写计数器、读计数器的一次计数变化。
写控制器控制SKP删除,读控制器控制SKP增加。不过,作为本设计的另一种方案,SKP的增加也可以在写控制器中实现。
在使用本实用新型实施例1提供的弹性先进先出存储器进行存储时,其中,握手逻辑的主要作用是:通过握手协议,解决写时钟域产生的信号到读时钟域的同步问题,本实用新型的握手逻辑采用判断地址的方法,以满信号overflow的产生为例,其流程如下:(1)写控制器检测到存储体满,将当前的写计数器产生的写地址锁存到overflow地址寄存器overflow-wreg中,并在下一周期通过写是时钟域的满请求寄存器产生满请求信号overflow-rqt;(2)读时钟域收到overflow-rqt信号,把overflow-wreg数据读入到读时钟域的地址寄存器overflow-rreg中;(3)读时钟域比较overflow-rreg中的地址数据和读控制器提供的当前读时钟域的读地址信号,当两地址(写地址和读地址)的值相等时,在当前的读时钟周期内产生一个时钟周期的overflow信号,通过此方式,写时钟域的满信号同步到读时钟域;(4)读时钟域的响应寄存器产生响应信号overflow-ack;(5)写时钟域收到overflow-ack,则撤销overflow-rqt信号;(6)读时钟域检测到overflow-rqt已被撤销,则撤销overflow-ack;(7)写时钟域收到overflow-ack的撤销,本次握手结束,等待下一次握手请求,通过这种的握手方式,状态信号与数据流的对应关系通过地址精确的对应起来,实现输出数据流中数据和状态的精确同步,便于其它连接本存储体的模块根据二者作出正确的判断和响应。
综上所述,本实用新型实施例1提供的弹性先进先出存储器,应用于USB3.0中,该弹性先进先出存储器采用主控制器开启或者关闭读控制器和写控制器,采用写控制器控制写计数器进行计数,为存储体提供数据的写地址,并将外部输入的数据写入存储体,采用读控制器控制读计数器进行计数,为存储体提供数据的读地址,并输出存储体中的数据,采用同步电路获取写计数器和读计数器的地址值,并将地址值传送给写控制器和读控制器,以进行比较,同时,采用握手逻辑同步写控制器和读控制器的状态信号,由于握手逻辑是基于地址的同步握手方式,从而能够实现读、写时钟域的精确同步,从而克服了现有技术中跨时钟域数据传输不稳定的问题,进而使得跨时钟域数据传输更加可靠和稳定;本实用新型实施例1提供的弹性先进先出存储器,能够有效的在写时钟域和读时钟域间实现5Gbps的数据传输,并且通过了仿真验证、FPGA验证和CMOS65nm、45nm流片验证,成功应用于Qualchip USB3.0MassStorge Demo系统上。
本领域技术人员应该理解,本领域技术人员结合现有技术以及上述实施例可以实现所述变化例,在此不予赘述。这样的变化例并不影响本实用新型的实质内容,在此不予赘述。
以上对本实用新型的较佳实施例进行了描述。需要理解的是,本实用新型并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本实用新型技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本实用新型的实质内容。因此,凡是未脱离本实用新型技术方案的内容,依据本实用新型的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本实用新型技术方案保护的范围内。
Claims (8)
1.一种弹性先进先出存储器,应用于USB3.0中,其特征在于,包括:主控制器、写控制器、读控制器、写计数器、读计数器、存储体、同步电路和握手逻辑;
所述主控制器电性连接所述写控制器和所述读控制器,所述主控制器开启或者关闭所述写控制器和所述读控制器;
所述写控制器电性连接所述写计数器和所述存储体,所述写控制器控制所述写计数器进行计数,且所述写控制器将外部输入的数据写入所述存储体;
所述读控制器电性连接所述读计数器和所述存储体,所述读控制器控制所述读计数器进行计数,且所述读控制器输出所述存储体中的数据;
所述写计数器电性连接所述存储体,所述写计数器为所述存储体提供数据的写地址;
所述读计数器电性连接所述存储体,所述读计数器为所述存储体提供数据的读地址;
所述同步电路电性连接所述写计数器、所述读计数器、所述写控制器和所述读控制器,所述同步电路获取所述写计数器和所述读计数器的地址值,并将所述地址值传送给所述写控制器和所述读控制器;
所述握手逻辑电性连接所述写控制器和所述读控制器,所述握手逻辑将所述写控制器的状态信号同步到所述读控制器。
2.如权利要求1所述的弹性先进先出存储器,其特征在于,所述读控制器和所述写控制器均具有寄存功能。
3.如权利要求2所述的弹性先进先出存储器,其特征在于,所述读控制器和所述写控制器均具有比较功能。
4.如权利要求1所述的弹性先进先出存储器,其特征在于,所述写控制器具有删除和插入SKP命令集功能,所述读控制器具有插入SKP命令集功能。
5.如权利要求1所述的弹性先进先出存储器,其特征在于,所述写计数器和所述读计数器均为格雷码计数器。
6.如权利要求1所述的弹性先进先出存储器,其特征在于,所述写计数器和所述读计数器的频率为125GHz。
7.如权利要求1所述的弹性先进先出存储器,其特征在于,所述存储体为异步存储体。
8.如权利要求1所述的弹性先进先出存储器,其特征在于,所述存储体的数据位宽为40比特。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420548589.4U CN204143430U (zh) | 2014-09-23 | 2014-09-23 | 弹性先进先出存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420548589.4U CN204143430U (zh) | 2014-09-23 | 2014-09-23 | 弹性先进先出存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN204143430U true CN204143430U (zh) | 2015-02-04 |
Family
ID=52420104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201420548589.4U Active CN204143430U (zh) | 2014-09-23 | 2014-09-23 | 弹性先进先出存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN204143430U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267925A (zh) * | 2014-09-23 | 2015-01-07 | 无锡华大国奇科技有限公司 | 弹性先进先出存储器及存储方法 |
CN105573932A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于寄存器的多位宽数据跨时钟域访问方法 |
-
2014
- 2014-09-23 CN CN201420548589.4U patent/CN204143430U/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104267925A (zh) * | 2014-09-23 | 2015-01-07 | 无锡华大国奇科技有限公司 | 弹性先进先出存储器及存储方法 |
CN104267925B (zh) * | 2014-09-23 | 2018-05-22 | 无锡华大国奇科技有限公司 | 弹性先进先出存储器及存储方法 |
CN105573932A (zh) * | 2015-12-11 | 2016-05-11 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于寄存器的多位宽数据跨时钟域访问方法 |
CN105573932B (zh) * | 2015-12-11 | 2018-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于寄存器的多位宽数据跨时钟域访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202870808U (zh) | 一种spi串口模块的fpga实现装置 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN102708086B (zh) | 一种应用于usb3.0的弹性缓冲结构及方法 | |
CN104808966B (zh) | 有效编码的方法和装置 | |
CN106095334B (zh) | 一种基于fpga的高速数据采集存储系统 | |
CN109828941A (zh) | Axi2wb总线桥实现方法、装置、设备及存储介质 | |
CN104022775A (zh) | 一种面向SerDes技术中基于FIFO协议的数字接口电路 | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN103413094A (zh) | 一种适用于航天器ctu的遥测加密系统 | |
CN104639410A (zh) | 一种现场总线光纤通信接口的设计方法 | |
CN103164314B (zh) | 基于异步物理层接口的PCIe接口芯片硬件验证方法 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN204143430U (zh) | 弹性先进先出存储器 | |
CN102035600A (zh) | 一种高速1553b光纤总线物理接口板 | |
US10049076B2 (en) | Methods and systems for implementing high speed serial interface bus having inhomogeneous lane bundles and encodings | |
CN104991880A (zh) | 一种基于pci-e接口的fc-ae-asm通讯板卡 | |
CN202904568U (zh) | 一种应用于usb3.0的弹性缓冲结构 | |
CN104467865A (zh) | 串行通信协议控制器、字节拆分电路及8b10b编码器 | |
CN104267925A (zh) | 弹性先进先出存储器及存储方法 | |
CN208673327U (zh) | 地址扩展电路和i2c通信接口芯片 | |
CN103901831A (zh) | 多控制器之间的通信系统 | |
CN103888211A (zh) | 一种交叉芯片间进行数据传输的方法及装置 | |
CN103412615A (zh) | 一种用于uart接口芯片的无毛刺自适应时钟切换方法 | |
CN203658995U (zh) | 一种串行数据传输系统 | |
CN102693200A (zh) | 一种基于cpld的spi通信端口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |