|
我現在已經把1024點的資料存到FPGA 的RAM裡面2 Y+ Y7 {# l. n8 z; z) S
signal tap II也可以看到0~1024點的資料. N- h7 \6 Y# F* M3 _/ U; b9 W
但是我想取512~1024點的時候1 Y' ^' o7 E4 `
往往在compiler的時候 fitter那邊就是過不去
8 s1 }. Z+ a) G3 a* f8 f- c& `3 ~我看了error 說 LEs 不足....
" N* T$ Y1 ^. V+ ^* e+ G# A為什麼只要特別取某區段的資料時都會遇到這個問題呢* R" L( `, V$ P* t
程式碼如下
- K/ }8 D% g2 y/ k% s; tram_data已經存取1024點資料
5 ?* y9 y$ m* E9 n+ [/ s8 i# j& K. R& J4 C$ P5 S$ [6 |
always@(posedge clk or negedge reset)
. n4 |) P6 N4 i$ d begin( o2 v' |6 ^. y* `3 q, `* Q
count_L1<=10'd1; 8 @8 G7 s. f( K9 }
L1_addr<=10'd0;
+ r- B" s1 {4 H- P if (reset ==1'b0)8 v4 M: a* Y, e: h* I& _
begin) c' `8 M# ~( z- V4 R/ n9 B3 w
count_L1<=10'd1;
) | H) e2 {' o7 A. F8 R' ~) t& K6 B L1_addr<=10'd0;
/ z+ g; T# Z1 C1 m end
$ c" S" a, Y1 w" r; q else if(start_fft_flag == 1'b1) 4 ?; N/ ^; c: T, m) o, f" ^$ w/ D; [
begin
6 T: i( h# ?' l- Z- G/ g realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain 7 @. Q9 s+ p+ E3 G/ C2 Z ]
realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin
9 \$ V K- t: H, d$ ?0 r& G1 _ count_L1 <= count_L1+1'b1;$ h* w5 c4 @6 J
L1_addr <= L1_addr+1'b1;
1 e" s# D0 }% _0 a- \6 h if(count_L1==10'd513)
4 {5 _2 g% L$ m( ]! U begin
/ R6 o+ z. ~% l7 f8 K) z count_L1<=10'd1;6 v2 L- N ?( R/ c( @1 r
L1_addr<=10'd0;
) L+ U" p8 x$ V end a1 v" J. y. x4 f' g
end9 q# X0 e/ I" r( [% m# e/ D
end |
|