N
news reader
Guest
In my interleaver design for FPGA, I am using an external SDRAM for data
storage.
The clock cycles required to write a frame into the RAM and read a frame
back to error correction unit ain't enough.
The interleaver has 40 rows, which contain 200 * 0, 1, ...39 pieces of data.
And one row of the RAM contains 256 data. The write/read pointers are
increased by 200*i or decreased by 200*i (0<i<39) for each write/read
operation.
As a result, nearly everytime I write one data or read one data, I have to
go
through a "open a new row, write or read 1 data, close the row" cycle. To
open
a row and close it, the memory requires some 10 clock cycles.
How is it possible to design it in such a way that memory write is in
sequential
order? That is, when a new frame arrives, I write into the RAM column by
until current row is filled, then open the next row.
I may have to read in a random access, but I can save a lot of clock cycles
in
the memory write.
FYI, my resources is some RTL logic and an SDRAM. The design can be made
with the FPGA's LUTs, but i don't own the resource.
storage.
The clock cycles required to write a frame into the RAM and read a frame
back to error correction unit ain't enough.
The interleaver has 40 rows, which contain 200 * 0, 1, ...39 pieces of data.
And one row of the RAM contains 256 data. The write/read pointers are
increased by 200*i or decreased by 200*i (0<i<39) for each write/read
operation.
As a result, nearly everytime I write one data or read one data, I have to
go
through a "open a new row, write or read 1 data, close the row" cycle. To
open
a row and close it, the memory requires some 10 clock cycles.
How is it possible to design it in such a way that memory write is in
sequential
order? That is, when a new frame arrives, I write into the RAM column by
until current row is filled, then open the next row.
I may have to read in a random access, but I can save a lot of clock cycles
in
the memory write.
FYI, my resources is some RTL logic and an SDRAM. The design can be made
with the FPGA's LUTs, but i don't own the resource.