|
我現在已經把1024點的資料存到FPGA 的RAM裡面) y" w9 I9 O- V4 w2 ]
signal tap II也可以看到0~1024點的資料
& S: o. Q, K0 |: m5 R但是我想取512~1024點的時候( ]7 N# R8 j3 ^
往往在compiler的時候 fitter那邊就是過不去
% v6 V) z7 s' \% ^+ s, P! ^我看了error 說 LEs 不足....
4 x3 \/ l" a' c+ k' S為什麼只要特別取某區段的資料時都會遇到這個問題呢1 U& h1 j& A$ P7 E
程式碼如下
; e; ?0 `3 @7 N' K& f6 g" v! yram_data已經存取1024點資料$ H0 S1 _7 Z0 [7 O) h+ f
5 Y+ e( Z. c* d U1 p, m; X
always@(posedge clk or negedge reset)- a. f4 c6 }4 F* p) o; g C
begin+ A& P. G* `' t5 {: L1 O! Y5 U
count_L1<=10'd1; 7 E3 S6 L# R( u+ E: C' d* b
L1_addr<=10'd0;
% A) V! S1 R3 e5 Y# ]+ z if (reset ==1'b0)
& L& z1 z3 A2 n- p begin' P# B& H9 a$ j3 d' q6 b
count_L1<=10'd1;
! C2 {' r% B& ?" d8 k/ s L1_addr<=10'd0;/ y# y& o5 I3 l: Q1 p, ]/ E) K! L
end) z, G, e$ x' c; g( b& w
else if(start_fft_flag == 1'b1)
6 r1 y: Z3 ^8 d8 A5 r( D1 @6 q begin& w6 r9 T% ~% V" s' N" ^
realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain , c' K: j4 A) c/ S( F( r
realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin 2 ^( ?0 \/ [4 R
count_L1 <= count_L1+1'b1;8 b; j: L/ O# U4 x: o% E/ c' M
L1_addr <= L1_addr+1'b1;
6 ~' h q8 A3 y$ i if(count_L1==10'd513) & E- |! M+ M0 t# y8 e' U
begin
f3 U- m9 j$ ~! n7 L( J count_L1<=10'd1;1 _$ k5 I% q9 {, t! _0 N7 A5 C
L1_addr<=10'd0; ! }" b" e) _: W
end $ ~) P( H- j6 e* z( v
end
& r6 U! M) W7 w end |
|