|
我現在已經把1024點的資料存到FPGA 的RAM裡面( u& Y# f9 W4 Y: N. m! _
signal tap II也可以看到0~1024點的資料
9 T" B) m' R+ U! F% \但是我想取512~1024點的時候3 S8 e U9 k- @$ \4 \
往往在compiler的時候 fitter那邊就是過不去" T3 m8 I n! x2 ]
我看了error 說 LEs 不足....% h9 O f3 ~# ]8 u, j: e' N4 x
為什麼只要特別取某區段的資料時都會遇到這個問題呢+ o4 Y) L/ O$ N: x
程式碼如下
4 p5 K2 G' v! c2 pram_data已經存取1024點資料* L" v( n2 d5 d# @
. x9 ^5 L! C6 H) K6 p2 z+ t; d/ i7 y' t) A
always@(posedge clk or negedge reset)
, L" S4 _+ t" l6 Y begin
( t. y( k; d- a n* `$ }/ p+ x: A6 \ count_L1<=10'd1;
' ~7 C1 }3 Q7 `' M7 w L1_addr<=10'd0; , R/ N+ r/ K( a6 [9 R* r' l* F: }
if (reset ==1'b0)1 K6 o. A! W9 p! g) G! O T
begin1 J. a5 h6 I7 Y$ |0 j/ Y9 P
count_L1<=10'd1; g" m! D1 z. P2 X, r. m/ O
L1_addr<=10'd0;1 n- H7 {" `# E" j7 l# X1 R" W' t1 ~
end
* J9 F! E0 @& e0 \7 _8 Q& D2 ]! E else if(start_fft_flag == 1'b1)
6 l; h: ]4 q$ n6 G& k begin: n; L5 s% t% D/ V8 }0 U5 |- H
realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain
4 |; t5 W$ o8 V realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin / t5 K1 G. ]6 | N8 _- S
count_L1 <= count_L1+1'b1;; w9 t) H# C7 F2 N/ ]7 m' i: b
L1_addr <= L1_addr+1'b1; n# _. o( ^. y6 n1 t. P
if(count_L1==10'd513)
# ]( m- @- K/ [$ x! o) r/ z begin. q/ d! U8 q7 v. Y* \8 x+ r+ q
count_L1<=10'd1;
7 L$ W4 D4 X9 A! j- Q$ Y5 P' o L1_addr<=10'd0; 5 h% E$ U7 Y' o+ v
end |/ Z/ l1 W( T# L1 x+ N' ?
end
4 P0 _) V, c6 K& S) T! p, M1 n) g end |
|