CN104461934B - 一种适合ddr存储器的时域解卷积交织装置及方法 - Google Patents
一种适合ddr存储器的时域解卷积交织装置及方法 Download PDFInfo
- Publication number
- CN104461934B CN104461934B CN201410638172.1A CN201410638172A CN104461934B CN 104461934 B CN104461934 B CN 104461934B CN 201410638172 A CN201410638172 A CN 201410638172A CN 104461934 B CN104461934 B CN 104461934B
- Authority
- CN
- China
- Prior art keywords
- ram
- data
- ddr
- write
- logic control
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种适合DDR存储器的时域解卷积交织装置及方法,所述装置包括两个双读写RAM、FIFO、两个逻辑控制电路,第一逻辑控制电路负责将输入数据或输出数据与两个RAM之间进行交换;第二逻辑控制电路负责两个RAM与DDR接口之间进行数据交换,在DDR中为通道0至通道50各自分配连续的物理地址空间;当所述第一逻辑控制电路每更新第一RAM或第二RAM内的一组数据时,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入对应的第一RAM或第二RAM;每次连续读/写一行,可以读一行、写一行交替进行,也可以读完所有行再写。本发明的适合DDR存储的解卷积交织装置及方法复用DDR存储单元,节省片外RAM,并且提高了DDR效率。
Description
技术领域
本发明涉及数字信号处理领域,特别涉及一种适合DDR存储器的时域解卷积交织装置及方法。
背景技术
现有技术中,数字电视地面广播传输系统中的涉及时域符号的卷机交织,相应的在接收端需对符号进行解卷积交织处理。解卷积交织需要较大的存储空间,一种典型情况,交织宽度B=52,交织深度M=720,一个符号设需要24bit,则需要约3Mbit的存储空间。
大的存储空间可以采用外接专用RAM(Random-Access Memory,随机存取存储器),这就增加的芯片成本。而芯片公用的DDR(Double Data Rate RAM双倍速率同步动态随机存储器),存储空间很大,解卷积交织装置可以使用此公用DDR来缓存数据。
对于DDR而言,每次读、写操作都需要固定的准备时间和数据处理时间,而对同一bank内、同一行、不同列的连续读操作或者写操作,只需花费一次固定时间。即DDR对连续的不跨行读操作或写操作效率较高,对单个的读写操作效率较低。解卷积交织由于每个通道的延时不同,每次读、写数据的地址都不连续,会显著降低DDR的效率。
针对上述问题,本发明提供了一种适合DDR存储的解卷积交织方法,以复用DDR存储单元,节省片外RAM,并且提高DDR效率。
发明内容
鉴于现有技术中的问题,本发明的目的在于提供一种适合DDR存储的解卷积交织装置及方法,以提高DDR效率,节省片外RAM。
在第一方面,本发明提供一种适合DDR存储器的时域解卷积交织装置,所述装置包括第一双读写口RAM、第二双读写口RAM、一个深度为4的FIFO、第一逻辑控制电路和第二逻辑控制电路,所述第一双读写口RAM或者第二双读写口RAM的物理地址和逻辑地址的对应关系如图2所示,其中,第一逻辑控制电路负责将输入数据或输出数据与第一RAM或第二RAM之间进行交换,具体为:每输入一个有效数据,将该数据缓存到第一RAM或第二RAM的一个逻辑地址中,同时从FIFO中读取一个数据作为输出,并在两个时钟周期后,将上述逻辑地址缓存的数据送入FIFO中;对应于输入的有效数据的逻辑地址存储顺序为:ROW依次加1,从0至51之间变化,并且ROW每增加到51时,COL依次加1,从0至m之间变化,m为自然数,m可根据数据宽度及DDR接口的数据位宽来进行设置;第二逻辑控制电路负责第一RAM或第二RAM与DDR接口之间进行数据交换,其中,在DDR中为通道0至通道50各自分配连续的物理地址空间;当所述第一逻辑控制电路每更新第一RAM或第二RAM内的一组数据时,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入对应的第一RAM或第二RAM;所述的第一RAM或第二RAM中数据的逻辑地址读写顺序为:COL依次加1,从0至m之间变化,COL每增加到m时ROW依次加1,COL从0至51之间变化;每次连续读、写一行,可以读一行、写一行交替进行,也可以读完所有行之后再进行写操作。这里的“可以”可以理解成:能够。
优选地,DDR物理地址分配中已预先保证每一行在DDR中对应连续的物理存储地址,从而可以连续读、写DDR。即:DDR物理地址分配中已预先保证第一RAM或第二RAM每一行数据的存储地址,从而可以连续读、写DDR。
优选地,所述第一RAM或第二RAM在写入新值的下一周期,输出旧值。
优选地,所述第一RAM或第二RAM在写入新值的下一周期,输出所述新值。
优选地,所述的第一RAM或第二RAM在写入新值的下一周期,输出所述新值是通过以下步骤实现:使用同步2分频时钟,外部每次写操作,内部先读取并缓存旧值,再写入新值,同时输出缓存,以使得外部实现写新值、读旧值。
在第二方面,本发明提供一种适合DDR存储器的时域解卷积交织方法,所述方法中采用了第一双读写口RAM、第二双读写口RAM、一个深度为4的FIFO、第一逻辑控制电路和第二逻辑控制电路,所述第一双读写口RAM或者第二双读写口RAM的物理地址和逻辑地址的对应关系如图2所示,其中,第一逻辑控制电路负责将输入数据或输出数据与第一RAM或第二RAM之间进行交换,具体为:每输入一个有效数据,将该数据缓存到第一RAM或第二RAM的一个逻辑地址中,同时从FIFO中读取一个数据作为输出,并在两个时钟周期后,将上述逻辑地址缓存的数据送入FIFO中;对应于输入的有效数据的逻辑地址存储顺序为:ROW依次加1,从0至51之间变化,并且ROW每增加到51时,COL依次加1,从0至m之间变化,m为自然数,m可根据数据宽度及DDR接口的数据位宽来进行设置;第二逻辑控制电路负责第一RAM或第二RAM与DDR接口之间进行数据交换,其中,在DDR中为通道0至通道50各自分配连续的物理地址空间;当所述第一逻辑控制电路每更新第一RAM或第二RAM内的一组数据时,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入对应的第一RAM或第二RAM;所述的第一RAM或第二RAM中数据的逻辑地址读写顺序为:COL依次加1,从0至m之间变化,COL每增加到m时ROW依次加1,COL从0至51之间变化;每次连续读、写一行,可以读一行、写一行交替进行,也可以读完所有行再进行写操作。这里的“可以”能够理解成:能够。
优选地,DDR物理地址分配中已预先保证每一行在DDR中对应连续的物理存储地址,从而可以连续读、写DDR。
优选地,所述第一RAM或第二RAM在写入新值的下一周期,输出旧值。
优选地,所述第一RAM或第二RAM在写入新值的下一周期,输出所述新值。
优选地,所述的第一RAM或第二RAM在写入新值的下一周期,输出所述新值是通过以下步骤实现:使用同步二分频时钟,所述的第一RAM或第二RAM的外部每次写操作,内部先读取并缓存旧值,再写入新值,同时输出所述缓存,以使得外部完成所述的写新值和读旧值的功能。
附图说明
下面结合附图对本发明进行进一步说明,但是这些示例性的说明只是用于解释本发明,并不构成对本发明的任何不当的限制。
图1为本发明实施例的解卷积交织结构图示意图;
图2为本发明实施例的RAM逻辑地址与物理地址对应关系示意图;
图3为本发明实施例的二分频实现等效写入新值、输出旧值RAM模型示意图。
具体实施方式
下面结合附图和具体实施方式,对本发明的方法进行进一步详细的说明。
本发明的目的是设计一种适合DDR存储的解卷积交织装置及方法,以提高DDR效率,节省片外RAM。所述解卷积交织装置也可以称为解卷积交织模块。
图1是解卷积交织装置/模块示意图,如其所示,解卷积交织模块由2个具有双读写口的随机存取存储器RAM、1个深度为4的先入先出存储器FIFO和两个逻辑控制电路组成。所述逻辑控制电路也可以称为逻辑控制单元。所述2个具有双读写口的随机存取存储器RAM可以分别称为第一RAM、第二RAM,或者分别称为:第一双读写口RAM、第二双读写口RAM,或者分别称为:第一双读写RAM、第二双读写RAM。所述两个逻辑控制电路可以分别称为第一逻辑控制电路、第二逻辑控制电路。所述双读写口的含义是指具有两个读口、两个写口。所述逻辑控制电路也可以称为控制逻辑电路。图1中DIN代表输入数据,DOUT代表输出数据。
图2是RAM逻辑地址与物理地址对应关系示意图,如其所示,为所述的双读写口RAM的物理地址和逻辑地址的对应关系。
第一逻辑控制电路负责将输入数据、输出数据和RAM之间的交换,具体为:每输入一个有效数据,将该数据缓存到一个RAM的一个逻辑地址中,同时从FIFO中读取一个数据作为输出,并在两个周期后,将RAM中该逻辑地址对应存储的旧值输出至FIFO中。
其中,FIFO的作用是,RAM的输出相对于输入有2个周期的延时,当每个周期输入数据可能有效或无效,相应的输出值也需要更新或保持,于是采用FIFO以解决上述问题。
数据的逻辑地址存储顺序为:ROW依次+1,从0~51之间变化,ROW每增加到51,COL依次+1,从0~m之间变化,m可根据数据宽度及DDR接口数据位宽来设置为合适的值。m为自然数。
另外,RAM要求在写入新值的下一周期,输出旧值;针对代工厂有可能不支持这种RAM,而是在写入新值的下一周期,输出新值的情况,即写穿透,参见图3,图3是二分频实现等效写新值、出旧值RAM模型示意图。即可以使用同步二分频时钟,RAM外部每次写操作,RAM内部先读旧值并缓存该旧值,再写入新值,同时输出缓存的旧值,以使得外部实现写新值、读旧值的功能。图3中DIN代表输入数据,DOUT代表输出数据,CLK代表时钟,D_new代表输入的新值,D_old代表RAM中的旧值(或者称为已经存储的值),No care代表:不关心该值,或者对该值不必关心。
第二逻辑控制电路负责RAM数据和DDR接口之间数据的交换,其中,在DDR中为通道0~通道50各自分配连续的物理地址空间;第一逻辑控制电路每更新一片RAM内数据,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入该RAM中。
其中,RAM数据的逻辑地址读写顺序为:COL依次+1,从0~m之间变化,COL没增加到m,ROW依次+1,从0~51之间变化;每次连续读、写一行RAM,可以读、写一行交替进行,也可以读完所有行再写。DDR物理地址分配中,已保证每一行在DDR中对应连续的物理存储地址,从而可以连续读、写DDR,提高DDR效率。
要说明的是,前文中以及图2-3中COL的中文含义是列,ROW的中文含义是行,CLK表示时钟。
另外,要说明的是,前文中提及RAM的地方,如果没有特别指明是第一RAM还是第二RAM,则表示可以是第一RAM,也可以是第二RAM。
本领域技术人员知道,本文中的实施例中描述的各示例模块、单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器器(RAM)、内存、只读存储器器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储器介质中。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种适合DDR存储器的时域解卷积交织装置,所述装置包括第一双读写口RAM、第二双读写口RAM、一个深度为4的FIFO、第一逻辑控制电路和第二逻辑控制电路,其中,
第一逻辑控制电路负责将输入数据或输出数据与第一RAM或第二RAM之间进行交换,具体为:每输入一个有效数据,将该数据缓存到第一RAM或第二RAM的一个逻辑地址中,同时从FIFO中读取一个数据作为输出,并在两个时钟周期后,将上述逻辑地址缓存的数据送入FIFO中;
对应于输入的有效数据的逻辑地址存储顺序为:ROW依次加1,从0至51之间变化,并且ROW每增加到51时,COL依次加1,从0至m之间变化,m为自然数,m可根据数据宽度及DDR接口的数据位宽来进行设置;
第二逻辑控制电路负责第一RAM或第二RAM与DDR接口之间进行数据交换,其中,在DDR中为通道0至通道50各自分配连续的物理地址空间;当所述第一逻辑控制电路每更新第一RAM或第二RAM内的一组数据时,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入对应的第一RAM或第二RAM;
所述的第一RAM或第二RAM中数据的逻辑地址读写顺序为:COL依次加1,从0至m之间变化,COL每增加到m时ROW依次加1,COL从0至51之间变化;每次连续读、写一行,可以读一行、写一行交替进行,也可以读完所有行再写。
2.根据权利要求1所述的适合DDR存储器的时域解卷积交织装置,其特征在于:DDR物理地址分配中已预先保证每一行在DDR中对应连续的物理存储地址,从而可以连续读、写DDR。
3.根据权利要求1或2所述的适合DDR存储器的时域解卷积交织装置,其特征在于:所述第一RAM或第二RAM在写入新值的下一周期,输出旧值。
4.根据权利要求1或2所述的适合DDR存储器的时域解卷积交织装置,其特征在于:所述第一RAM或第二RAM在写入新值的下一周期,输出所述新值。
5.根据权利要求4所述的适合DDR存储器的时域解卷积交织装置,其特征在于:所述的第一RAM或第二RAM在写入新值的下一周期,输出所述新值是通过以下步骤实现:使用同步2分频时钟,外部每次写操作,内部先读取并缓存旧值,再写入新值,同时输出缓存,以使得外部实现写新值、读旧值。
6.一种适合DDR存储器的时域解卷积交织方法,所述方法中采用了第一双读写口RAM、第二双读写口RAM、一个深度为4的FIFO、第一逻辑控制电路和第二逻辑控制电路,其中,
第一逻辑控制电路负责将输入数据或输出数据与第一RAM或第二RAM之间进行交换,具体为:每输入一个有效数据,将该数据缓存到第一RAM或第二RAM的一个逻辑地址中,同时从FIFO中读取一个数据作为输出,并在两个时钟周期后,将上述逻辑地址缓存的数据送入FIFO中;
对应于输入的有效数据的逻辑地址存储顺序为:ROW依次加1,从0至51之间变化,并且ROW每增加到51时,COL依次加1,从0至m之间变化,m为自然数,m可根据数据宽度及DDR接口的数据位宽来进行设置;
第二逻辑控制电路负责第一RAM或第二RAM与DDR接口之间进行数据交换,其中,在DDR中为通道0至通道50各自分配连续的物理地址空间;当所述第一逻辑控制电路每更新第一RAM或第二RAM内的一组数据时,第二逻辑控制电路将该组数据放入DDR相应物理地址空间中,并读取下一组数据放入对应的第一RAM或第二RAM;
所述的第一RAM或第二RAM中数据的逻辑地址读写顺序为:COL依次加1,从0至m之间变化,COL每增加到m时ROW依次加1,COL从0至51之间变化;每次连续读、写一行,可以读一行、写一行交替进行,也可以读完所有行再写。
7.根据权利要求6所述的适合DDR存储器的时域解卷积交织方法,其特征在于:DDR物理地址分配中已预先保证每一行在DDR中对应连续的物理存储地址,从而可以连续读、写DDR。
8.根据权利要求6或7所述的适合DDR存储器的时域解卷积交织方法,其特征在于:所述第一RAM或第二RAM在写入新值的下一周期,输出旧值。
9.根据权利要求6或7所述的适合DDR存储器的时域解卷积交织方法,其特征在于:所述第一RAM或第二RAM在写入新值的下一周期,输出所述新值。
10.根据权利要求9所述的适合DDR存储器的时域解卷积交织方法,其特征在于:所述的第一RAM或第二RAM在写入新值的下一周期,输出所述新值是通过以下步骤实现:使用同步二分频时钟,所述的第一RAM或第二RAM的外部每次写操作,内部先读取并缓存旧值,再写入新值,同时输出所述缓存,以使得外部完成写新值和读旧值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410638172.1A CN104461934B (zh) | 2014-11-07 | 2014-11-07 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410638172.1A CN104461934B (zh) | 2014-11-07 | 2014-11-07 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461934A CN104461934A (zh) | 2015-03-25 |
CN104461934B true CN104461934B (zh) | 2017-06-30 |
Family
ID=52908020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410638172.1A Active CN104461934B (zh) | 2014-11-07 | 2014-11-07 | 一种适合ddr存储器的时域解卷积交织装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461934B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509382B (zh) * | 2018-03-27 | 2022-06-07 | 南开大学 | 一种基于fpga实现超长序列快速卷积运算的方法 |
CN110390392B (zh) * | 2019-08-01 | 2021-02-19 | 上海安路信息科技有限公司 | 基于fpga的卷积参数加速装置、数据读写方法 |
CN112882657B (zh) * | 2021-02-08 | 2023-07-14 | 浙江大华技术股份有限公司 | 数据读取方法及装置、存储介质、电子装置 |
CN113890673B (zh) * | 2021-09-01 | 2023-03-14 | 哲库科技(北京)有限公司 | 译码方法、译码装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1638287A (zh) * | 2004-02-03 | 2005-07-13 | 上海奇普科技有限公司 | 数字传输中的一种卷积交织与去交织的方法 |
CN101577556A (zh) * | 2009-06-17 | 2009-11-11 | 北京九方中实电子科技有限责任公司 | 一种矩形交织的实现方法 |
US7644340B1 (en) * | 2005-07-08 | 2010-01-05 | Marvell International Ltd. | General convolutional interleaver and deinterleaver |
CN101237240B (zh) * | 2008-02-26 | 2011-07-20 | 北京海尔集成电路设计有限公司 | 一种利用外部存储器实现卷积交织/解交织的方法及设备 |
CN103544113A (zh) * | 2012-07-09 | 2014-01-29 | 成都林海电子有限责任公司 | 基于数据块的卷积交织在fpga中ram的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127199B2 (en) * | 2007-04-13 | 2012-02-28 | Rgb Networks, Inc. | SDRAM convolutional interleaver with two paths |
-
2014
- 2014-11-07 CN CN201410638172.1A patent/CN104461934B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1638287A (zh) * | 2004-02-03 | 2005-07-13 | 上海奇普科技有限公司 | 数字传输中的一种卷积交织与去交织的方法 |
US7644340B1 (en) * | 2005-07-08 | 2010-01-05 | Marvell International Ltd. | General convolutional interleaver and deinterleaver |
CN101237240B (zh) * | 2008-02-26 | 2011-07-20 | 北京海尔集成电路设计有限公司 | 一种利用外部存储器实现卷积交织/解交织的方法及设备 |
CN101577556A (zh) * | 2009-06-17 | 2009-11-11 | 北京九方中实电子科技有限责任公司 | 一种矩形交织的实现方法 |
CN103544113A (zh) * | 2012-07-09 | 2014-01-29 | 成都林海电子有限责任公司 | 基于数据块的卷积交织在fpga中ram的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104461934A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461934B (zh) | 一种适合ddr存储器的时域解卷积交织装置及方法 | |
CN105144585B (zh) | 具有存储器的集成电路装置以及实施集成电路装置中的存储器的方法 | |
CN103810112B (zh) | 一种非易失性内存系统及其管理方法 | |
CN102103548B (zh) | 提高双倍数据速率同步随机存储器读写速率的方法及装置 | |
CN102932696B (zh) | 一种星载高速数据复接器系统及实现方法 | |
CN104239232B (zh) | 一种基于fpga内dpram的乒乓缓存操作结构 | |
CN101697491B (zh) | 一种使用sdram实现时域卷积交织和解交织的方法 | |
CN112463665B (zh) | 一种用于多通道显存交织模式的切换方法及装置 | |
CN101515898A (zh) | 芯片的统计数据的管理方法和装置 | |
CN104536913B (zh) | 一种基于多块ram的大数运算电路的数据转移方法 | |
US9558810B2 (en) | Semiconductor device | |
CN102375720A (zh) | 异步先入先出存储器fifo的读写控制处理方法、电路及系统 | |
CN104993837B (zh) | 一种卷积交织方法和卷积交织器 | |
CN103257846B (zh) | 一种用于压缩采样的伪随机序列产生装置 | |
CN103811047B (zh) | 一种基于分块dram的低功耗刷新方法 | |
CN103020014A (zh) | 一种大点数fft的实现方法 | |
CN103700393B (zh) | 用于dram的中间电路和方法 | |
CN106133838A (zh) | 一种可扩展可配置的fpga存储结构和fpga器件 | |
CN103561360A (zh) | 串行处理光传送网开销的装置及方法 | |
CN101488763A (zh) | Dtmb符号解交织方法 | |
CN102332296A (zh) | 一种存储器电路的数据读取及数据写入方法 | |
CN106919516A (zh) | Ddr地址映射系统和方法 | |
US9183908B2 (en) | Method and apparatus for memory access | |
CN104425012A (zh) | 一种nand闪存单元 | |
CN103916140B (zh) | 卷积交织/解交织的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |