掌桥专利:专业的专利平台
掌桥专利
首页

一种分时复用的多通道FIFO结构及方法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及FIFO技术领域,具体涉及一种分时复用的多通道FIFO结构及方法。

背景技术

FIFO(First In First Out)是在ASIC或FPGA设计中经常会用到的数据缓冲器,其在数据转存过程中遵循先进先出的规则。就多通道的的FIFO而言,目前常见的方法是采用多个FIFO缓冲器缓冲多个通道的传输数据,当数据处理时再从这些FIFO中读出所需数据。这种方式能够实现多路数据的存储,但各个FIFO的存储空间不能共享,造成不必要的存储空间浪费,最终影响芯片的面积、功耗等。还有一种常见的FIFO结构(以下简称结构二)是,采用一个或多个双端口RAM,并将其分成多个区块,每个区块对应一个通道的数据,通过一组读写逻辑来控制所有通道数据的缓冲存储。这种设计的缺陷是,数据处理的带宽和存储空间的利用率受到限制。

发明内容

本发明所要解决的技术问题是现有的多通道FIFO结构存在存储空间(RAM)资源浪费,以及数据处理带宽受限等问题。本发明目的在于提供一种分时复用的多通道FIFO结构及方法,本发明实现了多通道数据同时写入,多通道数据同时输出的同时,还节约了存储空间。

本发明通过下述技术方案实现:

第一方面,本发明提供了一种分时复用的多通道FIFO结构,该结构包括数据拼接模块、存储模块、写入指针产生模块、读出指针产生模块、区块分配模块和数据解拼接模块;

所述数据拼接模块,用于接收多通道的输入数据,将同一时钟边沿到来的数据拼接为一个长数据;

所述存储模块,用于根据配置划分存储空间为若干区块,在不同区块中存储所述长数据的行数据;

所述写入指针产生模块,用于根据拼接后形成的长数据和区块有效情况,生成能够写入该区块的初始地址,并从初始地址开始生成递增的存储空间地址,得到写入指针;依次将输入数据按照相应的地址存入存储空间;

所述读出指针产生模块,用于根据当数据写入量达到读出地址偏移量时,生成递增的读出地址,得到读出指针;

所述区块分配模块,用于根据输入数据的行同步信号,为每行数据分配一个区块用以存储行数据;

所述数据解拼接模块,用于从所述存储模块中读出的长数据,按照数据拼接时从低位到高位的排列规则,依次拆分所述长数据得到拆分结果;并把所述拆分结果分配到每个输出通道上并行输出。

工作原理是:本发明为了实现多通道数据同时传输,在现有结构二的基础上设计了一种分时复用的多通道FIFO结构,本发明在通道输入侧,将处于同一时钟边沿的所有通道的数据进行拼接,作为一个长数据写入存储器进行存储,较结构二的单通道选择来说,拓宽了数据入口。在存储器的区块使用上,根据输入行数据请求,依次将行数据写入不同区块。在读数据控制中,加入读出地址偏移量。只有写入数据地址达到该偏移量时,读出控制才开始有效,各通道开始读出数据。由于该偏移量的加入,减少了写慢读快造成的读取数据等待问题,数据得以连续输出。在数据输出侧,采用与输入侧相反的处理,依次将每一个拼接的长数据拆分分配到对应的输出通道上。由于偏移量一定小于一整行的数据个数并能根据实际情况设置不同的值,相较于传统的整行存储读写来说,节省了时间并且更为灵活。

本发明为处理大数据量跨时钟域转换提供了一种可能,如在使用多帧合成的方式实现高动态范围成像等场景下,可同时接受多帧到来的大量图像数据,缓冲后同时多通道输出。

进一步地,该结构还包括状态标志产生模块;

所述状态标志产生模块,用于比较所述写入指针与所述读出指针,得到比较结果;根据所述比较结果,产生存储器空/满状态信号。

进一步地,所述的比较所述写入指针与所述读出指针,得到比较结果;根据所述比较结果,产生存储器空/满状态信号;具体包括:

当所述读出指针超过所述写入指针时,则说明FIFO数据已被读空,输出存储器空状态信号;

当所述写入指针达到本区块最大值,且再次从初始值计数达到所述读出指针时,则说明FIFO数据已被写满,输出存储器满状态信号。

进一步地,所述数据拼接模块包括预处理单元和拼接处理单元,所述预处理单元的一端对应接入各个输入通道中的输入数据,所述预处理单元的另一端连接所述拼接处理单元;所述拼接处理单元,用于对所述预处理单元预处理后的数据进行拼接处理,输出拼接后的长数据;

所述预处理单元包括若干个选择器和若干个第一D触发器(即锁存器),一个选择器对应连接一个第一D触发器;所述选择器的输入端接入输入通道的输入数据,所述选择器的输出端连接第一D触发器(即锁存器)的输入端;所述第一D触发器(即锁存器)的输出端连接所述拼接处理单元;

还包括第二D触发器及或门,一个第二D触发器对应一个第一D触发器,所述第二D触发器的输入端接入对应输入通道输入数据的有效性标志信号,且对应输入通道输入数据的有效性标志信号还连接对应的第一D触发器;所述第二D触发器的输出端连接所述或门的输入端,所述或门的输出端输出长数据的有效性信号ff_ivalid。

进一步地,所述数据拼接模块拼接后长数据的bit位宽IN_WIDTH=IDATA_WIDTH×CH_NUM,其中,IDATA_WIDTH为输入数据bit位宽,CH_NUM为同时输入通道数目。

进一步地,所述存储模块为DPRAM存储模块,所述DPRAM存储模块采用双口随机访问存储器作为数据存储器。

进一步地,所述写入指针产生模块包括第三选择器和第一计数器,所述第三选择器的输入端接入各个区块的初始地址,所述第三选择器的输出端连接所述第一计数器的输入端;所述第三选择器的输入端还接入写能信号block_w_en来标识当前数据写到的区块;所述第一计数器的输入端还接入写时钟信号w_clock和长数据的有效性信号ff_ivalid,所述第一计数器的输出端输出写入指针信号p_write;

所述第三选择器,用于控制写入指针选择区块的有效性(即控制写入指针在哪个区块有效);

所述第一计数器,用于记录每个区块写入地址的累加计算。

进一步地,所述读出指针产生模块包括第四选择器和第二计数器,所述第四选择器的输入端接入各个区块的初始地址,所述第四选择器的输出端连接所述第二计数器的输入端;所述第四选择器的输入端还接入读能信号block_r_en来标识当前数据读到的区块;所述第二计数器的输入端还接入读时钟信号r_clock,所述第二计数器的输出端输出读出指针信号p_read;

所述第四选择器,用于控制读出指针选择区块的有效性(即控制读出指针在哪个区块有效);

所述第二计数器,用于记录每个区块读出地址的累加计算。

进一步地,所述读出地址偏移量的计算公式为:

r_offset=(R-W)×data_num/R

其中,r_offset为读出地址偏移量,R为读数据时钟频率,W为写数据时钟频率,data_num为输入的一行数据个数。

第二方面,本发明又提供了一种分时复用的多通道FIFO并行传输方法,该方法应用于所述的一种分时复用的多通道FIFO结构,该方法包括:

获取多通道输入的输入数据,对所述输入数据进行数据拼接处理,将同一时钟边沿到来的输入数据拼接为一个长数据;

根据所述长数据和存储模块中的区块有效情况,生成能够写入该区块的初始地址,并从初始地址开始生成递增的存储空间地址,得到写入指针;

根据所述写入指针,将所述长数据写入DPRAM存储模块的各个区块中;

进行当数据写入量是否达到读出地址偏移量的判断,当数据写入量达到读出地址偏移量时,生成递增的读出地址,得到读出指针;

根据所述读出指针,从DPRAM存储模块中读出长数据,对所述长数据进行数据接拼接处理,依次拆分所述长数据得到拆分结果;并把所述拆分结果分配到每个输出通道上并行输出。

其中,所述的将所述长数据写入DPRAM存储模块的各个区块中,是根据输入数据的行同步信号,为每行数据分配一个区块用以存储行数据。

本发明与现有技术相比,具有如下的优点和有益效果:

1、本发明实现了多通道数据同时传输,即同时接收多通道的输入数据,写入存储空间缓冲,并通过多通道同时输出。解决了现有FIFO结构无法实现多通道数据同时写入的情况,且存在存储空间浪费问题。

2、现有方案采用行数据拼接存储,一个通道的行数据全部传输完,才能开始下一个通道的行数据传输;而本发明方案采用全通道数据拼接,实现了多通道数据同时传输,从而在大数据量传输的场景下,提高了数据的实时性。

3、本发明DPRAM区块分配,循环利用区块,从而可以配置少量区块重复读写传输大量数据,进而节约了DPRAM资源。

4、本发明由于加入了读地址偏移量,只有写入一定数量的数据后才开始读出数据,使得读出操作开始后可以连续进行,减少了写慢读快导致的读操作等待。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为本发明一种分时复用的多通道FIFO结构的结构示意图。

图2为本发明一种分时复用的多通道FIFO并行传输方法流程图。

图3为本发明数据拼接模块的结构示意图。

图4为本发明DPRAM存储模块的结构示意图。

图5为本发明写入指针产生模块的结构示意图。

图6为本发明读出指针产生模块的结构示意图。

图7为本发明区块分配模块的结构示意图。

图8为本发明状态标志产生模块的结构示意图。

图9为本发明数据解拼接模块的结构示意图。

具体实施方式

在下文中,可在本发明的各种实施例中使用的术语“包括”或“可包括”指示所发明的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本发明的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

在本发明的各种实施例中,表述“或”或“A或/和B中的至少一个”包括同时列出的文字的任何组合或所有组合。例如,表述“A或B”或“A或/和B中的至少一个”可包括A、可包括B或可包括A和B二者。

在本发明的各种实施例中使用的表述(诸如“第一”、“第二”等)可修饰在各种实施例中的各种组成元件,不过可不限制相应组成元件。例如,以上表述并不限制所述元件的顺序和/或重要性。以上表述仅用于将一个元件与其它元件区别开的目的。例如,第一用户装置和第二用户装置指示不同用户装置,尽管二者都是用户装置。例如,在不脱离本发明的各种实施例的范围的情况下,第一元件可被称为第二元件,同样地,第二元件也可被称为第一元件。

应注意到:如果描述将一个组成元件“连接”到另一组成元件,则可将第一组成元件直接连接到第二组成元件,并且可在第一组成元件和第二组成元件之间“连接”第三组成元件。相反地,当将一个组成元件“直接连接”到另一组成元件时,可理解为在第一组成元件和第二组成元件之间不存在第三组成元件。

在本发明的各种实施例中使用的术语仅用于描述特定实施例的目的并且并非意在限制本发明的各种实施例。如在此所使用,单数形式意在也包括复数形式,除非上下文清楚地另有指示。除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

如图1至图9所示,本发明一种分时复用的多通道FIFO结构,如图1所示,该结构包括数据拼接模块、DPRAM存储模块、写入指针产生模块、读出指针产生模块、区块分配模块、数据解拼接模块和状态标志产生模块;

所述数据拼接模块,用于接收多通道的输入数据,将同一时钟边沿到来的数据拼接为一个长数据;

所述DPRAM存储模块,用于根据配置划分存储空间为若干区块,在不同区块中存储所述长数据的行数据;

所述写入指针产生模块,用于根据拼接后形成的长数据和区块有效情况,生成能够写入该区块的初始地址,并从初始地址开始生成递增的存储空间地址,得到写入指针;依次将输入数据按照相应的地址存入存储空间;

所述读出指针产生模块,用于根据当数据写入量达到读出地址偏移量时,生成递增的读出地址,得到读出指针;

所述区块分配模块,用于根据输入数据的行同步信号,为每行数据分配一个区块用以存储行数据;

所述数据解拼接模块,用于从所述DPRAM存储模块中读出的长数据,按照数据拼接时从低位到高位的排列规则,依次拆分所述长数据得到拆分结果;并把所述拆分结果分配到每个输出通道上并行输出;

所述状态标志产生模块,用于比较所述写入指针与所述读出指针,得到比较结果;根据所述比较结果,产生存储器空/满状态信号。

作为进一步地实施,所述的比较所述写入指针与所述读出指针,得到比较结果;根据所述比较结果,产生存储器空/满状态信号;具体包括:

当所述读出指针超过所述写入指针时,则说明FIFO数据已被读空,输出存储器空状态信号;

当所述写入指针达到本区块最大值,且再次从初始值计数达到所述读出指针时,则说明FIFO数据已被写满,输出存储器满状态信号。

作为进一步地实施,所述数据拼接模块包括预处理单元和拼接处理单元,所述预处理单元的一端对应接入各个输入通道中的输入数据,所述预处理单元的另一端连接所述拼接处理单元;所述拼接处理单元,用于对所述预处理单元预处理后的数据进行拼接处理,输出拼接后的长数据;

所述预处理单元包括若干个选择器和若干个第一D触发器(即锁存器),一个选择器对应连接一个第一D触发器;所述选择器的输入端接入输入通道的输入数据,所述选择器的输出端连接第一D触发器(即锁存器)的输入端;所述第一D触发器(即锁存器)的输出端连接所述拼接处理单元;

还包括第二D触发器及或门,一个第二D触发器对应一个第一D触发器,所述第二D触发器的输入端接入对应输入通道输入数据的有效性标志信号,且对应输入通道输入数据的有效性标志信号还连接对应的第一D触发器;所述第二D触发器的输出端连接所述或门的输入端,所述或门的输出端输出长数据的有效性信号ff_ivalid。

作为进一步地实施,所述数据拼接模块拼接后长数据的bit位宽IN_WIDTH=IDATA_WIDTH×CH_NUM,其中,IDATA_WIDTH为输入数据bit位宽,CH_NUM为同时输入通道数目。

作为进一步地实施,所述存储模块为DPRAM存储模块,所述DPRAM存储模块采用双口随机访问存储器作为数据存储器。

作为进一步地实施,所述写入指针产生模块包括第三选择器和第一计数器,所述第三选择器的输入端接入各个区块的初始地址,所述第三选择器的输出端连接所述第一计数器的输入端;所述第三选择器的输入端还接入写能信号block_w_en来标识当前数据写到的区块;所述第一计数器的输入端还接入写时钟信号w_clock和长数据的有效性信号ff_ivalid,所述第一计数器的输出端输出写入指针信号p_write;

所述第三选择器,用于控制写入指针选择区块的有效性(即控制写入指针在哪个区块有效);

所述第一计数器,用于记录每个区块写入地址的累加计算。

作为进一步地实施,所述读出指针产生模块包括第四选择器和第二计数器,所述第四选择器的输入端接入各个区块的初始地址,所述第四选择器的输出端连接所述第二计数器的输入端;所述第四选择器的输入端还接入读能信号block_r_en来标识当前数据读到的区块;所述第二计数器的输入端还接入读时钟信号r_clock,所述第二计数器的输出端输出读出指针信号p_read;

所述第四选择器,用于控制读出指针选择区块的有效性(即控制读出指针在哪个区块有效);

所述第二计数器,用于记录每个区块读出地址的累加计算。

作为进一步地实施,所述读出地址偏移量的计算公式为:

r_offset=(R-W)×data_num/R

其中,r_offset为读出地址偏移量,R为读数据时钟频率,W为写数据时钟频率,data_num为输入的一行数据个数。

工作原理是:本发明为了实现多通道数据同时传输,在现有结构二的基础上设计了一种分时复用的多通道FIFO结构,本发明在通道输入侧,将处于同一时钟边沿的所有通道的数据进行拼接,作为一个长数据写入DPRAM存储器进行存储,较结构二的单通道选择来说,拓宽了数据入口。在DPRAM存储器的区块使用上,根据输入行数据请求,依次将行数据写入不同区块。在读数据控制中,加入读出地址偏移量。只有写入数据地址达到该偏移量时,读出控制才开始有效,各通道开始读出数据。由于该偏移量的加入,减少了写慢读快造成的读取数据等待问题,数据得以连续输出。在数据输出侧,采用与输入侧相反的处理,依次将每一个拼接的长数据拆分分配到对应的输出通道上。由于偏移量一定小于一整行的数据个数并能根据实际情况设置不同的值,相较于传统的整行存储读写来说,节省了时间并且更为灵活。

本发明为处理大数据量跨时钟域转换提供了一种可能,如在使用多帧合成的方式实现高动态范围成像等场景下,可同时接受多帧到来的大量图像数据,缓冲后同时多通道输出。

实施例2

如图1至图9所示,本实施例与实施例1的区别在于,基于实施例1所述的一种分时复用的多通道FIFO结构,本实施例的详细实现方案如下:

1、参数、信号定义,见表1所示:

表1参数定义

2、数据拼接模块

数据拼接模块接收所有通道的输入数据,将同一时钟边沿到来的所有通道数据拼接为一个长数据,输送给DPRAM存储模块进行存储。为叙述方便,以输入数据位宽IDATA_WIDTH为10bit,同时输入通道数CH_NUM为CH0~CH15共16个通道,每行输入数据个数为1024个数据,每帧包含960行,为本发明的一个实施例进行说明。本发明方案提及的参数可根据实际应用场景进行配置。

①对于所有通道数据同时到来的情况,直接使用各通道锁存一拍后的数据拼接为一个IN_WIDTH=IDATA_WIDTH×CH_NUM宽度,本实施例即10bit*16CH==160bit的长数据。

②对于所有通道数据未同时到来的情况,无效的通道数据使用’d0作为该通道的当前数据,与所有通道进行数据拼接。

CH**_IVALID信号用以标志各通道输入数据的有效/无效状态,只要有一个通道的CH**_IVALID有效数据就要进行拼接存储,因此使用各通道CH**_IVALID或运算锁存一拍后的结果ff_ivalid来标志拼接后长数据的有效/无效状态。

数据拼接后,数据拼接模块输出IN_WIDTH bit本实施例即160bit位宽的数据流。当ff_ivalid为高电平时,输出数据有效,当ff_ivalid为低电平时,输出数据无效。数据拼接模块的结构如图3所示。

3、DPRAM存储模块

DPRAM存储模块使用双口随机访问存储器作为数据存储器,并根据配置划分存储空间为若干区块。在本实施例中拼接后的数据位宽为160bit,故配置DPRAM数据位宽WIDTH为160bit,由每行1024个数据配置FIFO深度DEEPTH为1024。区块数目BLOCK_NUM标志了可以同时容纳的数据行数,为叙述便利,在此实施例中区块数目配置为4个,即该DPRAM可以同时容纳4行拼接后的长数据。构建好的DPRAM存储模块如图4所示,拼接数据按照写指针指定的地址存入存储器,从读出指针指定的地址空间读出数据。

4、写入指针产生模块

写指针产生模块结构如图5所示,根据区块有效情况,生成能够写入该区块的初始地址。从初始存储地址开始生成递增的存储空间地址,依次将数据按照相应的地址存入存储空间。

在本实施例中,FIFO的深度DEEPTH==1024,区块数BLOCK_NUM==4,故DPRAM中各区块的地址分布为:

区块0地址:0~1023;

区块1地址:1024~2047;

区块2地址:2048~3071;

区块3地址:3072~4095。

①当block_w_en[3:0]==’d0001时,指示区块0有效,初始化写指针地址为0。ff_ivalid有效指示输入有效数据,计数器从0开始随写时钟w_clock递增计数,计数值即当前写指针地址。当计数到本区块最大地址1023后,再次从本区块初始地址0开始计数。

②当block_w_en[3:0]==’d0010时,指示区块1有效,初始化写指针地址为1024。ff_ivalid有效指示输入有效数据,计数器从1024开始随写时钟w_clock递增计数,计数值即当前写指针地址。当计数到本区块最大地址2047后,再次从本区块初始地址1024开始计数。

③当block_w_en[3:0]==’d0100时,指示区块2有效,初始化写指针地址为2048。ff_ivalid有效指示输入有效数据,计数器从2048开始随写时钟w_clock递增计数,计数值即当前写指针地址。当计数到本区块最大地址3071后,再次从本区块初始地址2048开始计数。

④当block_w_en[3:0]==’d1000时,指示区块3有效,初始化写指针地址为3072。ff_ivalid有效指示输入有效数据,计数器从3072开始随写入时钟w_clock递增计数,计数值即当前写指针地址。当计数到本区块最大地址4095后,再次从本区块初始地址3072开始计数。

5、读出指针产生模块

读出指针的产生在传统实现方法的基础上,加入读地址偏移量r_offset的设置。只有当数据写入地址p_write≥r_offset时,才开始读数据操作,生成从初始地址递增的读出地址。

r_offset的计算方式如下:

r_offset=(R-W)*data_num/R

在此公式中,写时钟频率为WHz,读时钟频率为RHz,且R>W,一行长数据的数据个数为data_num个。

读地址偏移量的设定需要大于等于计算出的r_offset,这样的设置使得读数据开始后直到本行数据写完,读出指针不会超过写指针,从而保证读操作是连续不间断的。

与写指针类似使用计数的形式实现读地址的递增。读出指针产生模块结构如图6所示。

6、区块分配模块

区块分配模块根据行同步信号h_sync,为每行数据分配一个区块用以存储行数据。block_w/r_en[BLOCK_NUM-1:0]信号的每个比特从低位到高位,依次对应区块0~(BLOCK_NUM-1)。初始化时将block_w/r_en[BLOCK_NUM-1:0]最低位设置为1,每来一次h_sync行同步信号,block_w/r_en[BLOCK_NUM-1:0]循环左移一位,对应使能一个区块。该实例中配置4个区块,表示该FIFO最大能够分配4个区块,同时容纳4行拼接后的长数据。区块分配模块结构如图7所示。

7、状态标志产生模块

状态标志产生模块,用于比较所述写入指针与所述读出指针,得到比较结果;根据所述比较结果,产生存储器空/满状态信号。

具体包括:

当所述读出指针超过所述写入指针时,则说明FIFO数据已被读空,输出存储器空状态信号;

当所述写入指针达到本区块最大值,且再次从初始值计数达到所述读出指针时,则说明FIFO数据已被写满,输出存储器满状态信号。

FIFO空满状态的判断可以使用指针附加位比较法或地址空间比较法,在此不做赘述。

以下简单地给出一种通过格雷码转换来实现的结构,如图8所示。

8、数据解拼接模块

数据解拼接模块将从DPRAM存储模块中读出的长数据,依照拼接时从低位到高位的排列规则,依次拆分长数据,得到拆分结果,并把所述拆分结果分配到每个输出通道上并行输出。

对于每个通道数据的有效标志信号CH**_OVALID,将输入侧的CH**_IVALID进行锁存,直到开始读出条件满足(即写地址达到读地址偏移量),输出时序即为CH**_OVALID。本模块结构如图9所示。

以上技术方案,与现有方案采用行数据拼接存储,一个通道的行数据全部传输完,才能开始下一个通道的行数据传输相比,本发明方案采用全通道数据拼接,实现了多通道数据同时传输,从而在大数据量传输的场景下,提高了数据的实时性。同时,DPRAM区块分配,循环利用区块,从而可以配置少量区块重复读写传输大量数据,进而节约了DPRAM资源。另外,本发明由于加入了读地址偏移量,只有写入一定数量的数据后才开始读出数据,使得读出操作开始后可以连续进行,减少了写慢读快导致的读操作等待。

实施例3

如图2所示,本实施例与实施例1的区别在于,本实施例提供了一种分时复用的多通道FIFO并行传输方法,该方法应用于实施例1所述的一种分时复用的多通道FIFO结构,该方法包括:

获取多通道输入的输入数据,对所述输入数据进行数据拼接处理,将同一时钟边沿到来的输入数据拼接为一个长数据;

根据所述长数据和存储模块中的区块有效情况,生成能够写入该区块的初始地址,并从初始地址开始生成递增的存储空间地址,得到写入指针;

根据所述写入指针,将所述长数据写入DPRAM存储模块的各个区块中;

进行当数据写入量是否达到读出地址偏移量的判断,当数据写入量达到读出地址偏移量时,生成递增的读出地址,得到读出指针;

根据所述读出指针,从DPRAM存储模块中读出长数据,对所述长数据进行数据接拼接处理,依次拆分所述长数据得到拆分结果;并把所述拆分结果分配到每个输出通道上并行输出。

其中,所述的将所述长数据写入DPRAM存储模块的各个区块中,是根据输入数据的行同步信号,为每行数据分配一个区块用以存储行数据。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120114696904