【技术实现步骤摘要】
任意深度异步FIFO存储器
本申请涉及存储电路,具体地,涉及任意深度的异步FIFO(FirstInFirstOut,先进先出)存储器。
技术介绍
在多时钟域系统的SOC(SystemOnChip,片上系统)设计中,常常用异步FIFO来解决不同时钟域之间的数据传输问题。经过多年的发展,异步FIFO的设计也已经比较成熟,既可以使相异时钟域数据传输的时序要求变得宽松,也提高了它们之间的传输效率。图1展示了现有技术的异步FIFO的框图。参看图1,异步FIFO包括3个主要部件,FIFO存储器(双端口存储器(图1的DualPortRAM))、写入单元与读出单元。图1中左侧部分是向FIFO存储器写入数据的写入单元,右侧部分是从FIFO存储器读出数据的读出单元。写入单元与读出单元位于不同的时钟域,分别称为写时钟域与读时钟域。写入单元向FIFO存储器写入数据,读出单元从FIFO存储器读出数据。FIFO存储器被视作例如环形队列,向其的写入操作发生在队列的队尾,而读出操作发生在队头。从而写入单元维护FIFO存储器的写指针( ...
【技术保护点】
1.一种异步FIFO存储器,包括双端口存储器、写地址译码器、读地址译码器、满检测单元、读指针同步单元、空检测单元与写指针同步单元;/n所述写指针译码器、满检测单元与读指针同步单元位于第一时钟域;/n所述读指针译码器、空检查单元与写指针同步单元位于第二时钟域;/n所述写指针译码器耦合到所述双端口存储器的写端口,并向所述双端口存储器的写端口提供写指针;/n所述读指针译码器耦合到所述双端口存储器的读端口,并向所述双端口存储器的写端口提供读指针;/n其特征在于,/n所述写指针译码器包括第一状态计数器、写指针计数器、第一格雷码译码器与反向格雷码译码器;/n所述第一状态计数器按二进制从 ...
【技术特征摘要】
1.一种异步FIFO存储器,包括双端口存储器、写地址译码器、读地址译码器、满检测单元、读指针同步单元、空检测单元与写指针同步单元;
所述写指针译码器、满检测单元与读指针同步单元位于第一时钟域;
所述读指针译码器、空检查单元与写指针同步单元位于第二时钟域;
所述写指针译码器耦合到所述双端口存储器的写端口,并向所述双端口存储器的写端口提供写指针;
所述读指针译码器耦合到所述双端口存储器的读端口,并向所述双端口存储器的写端口提供读指针;
其特征在于,
所述写指针译码器包括第一状态计数器、写指针计数器、第一格雷码译码器与反向格雷码译码器;
所述第一状态计数器按二进制从0到M-1再从2^(n+1)-M到2^(n+1)-1的范围以步长为1连续循环计数,其中M是所述异步FIFO存储器的深度;
所述第一状态计数器耦合到所述写指针计数器、所述第一格雷码译码器与所述反向格雷码译码器;
所述写指针计数器按二进制从0到M-1以步长为1连续循环计数,所述写指针计数器的计数值作为所述写指针译码器提供给所述双端口存储器的写端口的写指针;
所述第一格雷码译码器的输出耦合到所述写指针同步单元;
所述反向格雷码译码器的输出耦合到所述满检测单元。
2.根据权利要求1所述的异步FIFO存储器,其中
所述读指针译码器包括第二状态计数器、读指针计数器与第二格雷码译码器;
所述第二状态计数器按二进制从0到M-1再从2^(n+1)-M到2^(n+1)-1的范围以步长为1连续循环计数,其中M是所述异步FIFO存储器的深度;
所述第二状态计数器耦合到所述读指针计数器与所述第二格雷码译码器;
所述读指针计数器按二进制从0到M-1以步长为1连续循环计数,所述读指针计数器的计数值作为所述读指针译码器提供给所述双端口存储器的读端口的读指针;
所述第二格雷码译码器将所述第二状态计数器提供的二进制计数值转换为格雷码;
所述第二格雷码译码器的输出耦合到所述读指针同步单元;
所述第二格雷码译码器的输出也耦合到所述空检测单元。
3.根据权利要求1或2之一所述的异步FIFO存储器,其中
若所述第一状态计数器输出的计数值i在0~(M-1)范围,所述反向格雷码译码器将所述第一状态计数器输出的计数值i转换为G(M-1-i),其中G(i)代表二进制值i的格雷码;
若所述第一状态计数器输出的计数值2^(n+1)-M+i在2^(n+1)-M到2^(n+1)-1范围,所述反向格雷码译码器将所述第一状态计数器输出的计数值2^(n+1)-M+i转换为G(2^(n+1)-1-i),其中n为Log2(M)向上取整的结果。
4.根据权利要求2或3所述的异步FIFO存储器,其中
所述读指针同步单元的输出与所述反向格雷码译码器的输出耦合到所述满检测单元;
所述写指针同步单元的输出与所述第二格雷码译码器的输出耦合到所述空检测单元。
5.根据权利要求4所述的异步FIFO存储器,其中
所述满检测单元依据所述读指针同步单元的输出与所述反向格雷码译码器的输出的最高位相反而其他位相同而输出满状态标记,否则输出非满状态标记。
6.根据权利要求4或5所述的异步FIFO存储器,其中
所述空检测单元依据所述写指针同步单元的输出与所述第二向格雷码译码器的输出相同而输出空状态标记,否则输出非空状态标记。
7.一种异步FIFO存储器,包括双端口存储器、写地址译码器、读地址译码器、满检测单元、读指针同步单元、空检测单元与写指针同步单元;
所述写指针译码器、满检测单元与读指针同步单元位于第一时钟域;
所述读指针译码器、空检查单元与写指针同步单元位于第二时钟域;
所述写指针译码器耦合到所述双端口存储器的写端口,并向所述双端口存储器的写端口提供写指针;
所述读指针译码器耦合到所述双端口存储器的读端口,并向所述双端口存储器的写端口提供读指针;
其特征在于,
所述写指针译码器包括第一状态计数器、写指针计数器与第一格雷码译码器;
所述读指针译码器包括第二状态计数器、读指针计数器、第二格雷码译码器与反向格雷码转换单元;
所述第一状态计数器与第二状态计数器各自均按二进制从0到M-1再从2^(n+1)-M到2^(n+1)-1的范围以步长为1连续循环计数,其中M是所述异步FIFO存储器的深度;
所述第二状态计...
【专利技术属性】
技术研发人员:王寅,
申请(专利权)人:厦门鑫忆讯科技有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。