[問題]關於verilog記憶體取值問題??
因為要用verilog寫FFT,所以會遇到一些記憶體上的取值問題
程式碼大概如下:
reg [15:0] ram [1023:0];
//寫入部分,寫入1024筆data
ram [addr] <= data_in;
addr <= addr + 1'b1;
//讀取部分,配合radix-2蝶型模組運算,所以這樣設計
//realdata_a和realdata_b是要進入設計好的butterfly模組做相加,相乘
realdata_a <= ram[addr_r];
realdata_b <= ram[addr_r+512];
addr_r <= addr_r + 1'b1;
我去start compilation後,會發生LEs過大(約80000),外加時間過久(約50分鐘...)
但是我在做64點FFT的時候就可以用這種取值的方式,擴大到1024就不行了
有神人可以告訴我這樣取值的方式,為什麼會造成這樣的結果呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.135.101.71
推
04/09 13:21, , 1F
04/09 13:21, 1F