I am working towards the implementation of a channel decoder on an FPGA. Esentially , the problem sums up to this :
1) I have a matrix . I do some computations on the rows. Then, I do some computations on the columns.
The decoder basically picks up each row of the matrix, performs some operations and move onto the next row. It does the same with the columns.
The decoder however operates on a 1023 * 1023 matrix i.e I have 1023 rows and 1023 columns.
Small test case that works : I first created a reg [1022:0] product_code[0:1] i.e 2 rows and 1023 columns. The output is as expected. However, the LUT utilization shows up to be 9 percent approximately. Then , I increase the size to 10 rows and 1023 columns(reg [1022:0] product_code[0:9]) which works as expected too. But the resource utilization has gone up to 27 percent.
Now my goal is to work get 1023 rows and 1023 columns. I does not even synthesize. Is there a better way to store such matrix on the FPGA ?
I would really appreciate any feedback !!!