|
我現在已經把1024點的資料存到FPGA 的RAM裡面
; W' k: k/ I0 g4 Jsignal tap II也可以看到0~1024點的資料9 ~9 q( G g/ n; S
但是我想取512~1024點的時候
- _4 c0 ~. K) j8 ]& g. m8 j2 p往往在compiler的時候 fitter那邊就是過不去( _ J; n* H5 ? Y
我看了error 說 LEs 不足....# m, c$ Y$ j( y
為什麼只要特別取某區段的資料時都會遇到這個問題呢# k3 W9 Z u9 R8 T1 @: t
程式碼如下7 U+ E- A- A, @% c+ o0 l% I }) ?
ram_data已經存取1024點資料
# q6 t% K: q* j9 M% Q& O" ~9 i- F- t1 `0 x
always@(posedge clk or negedge reset)
6 y- G1 j& W6 \' v begin" Q! U/ f, G9 n4 u
count_L1<=10'd1; % k7 N# Y$ }9 c$ ? c7 N
L1_addr<=10'd0; 7 C5 ^6 E8 h" S) u$ w* A+ ]( d) t; K
if (reset ==1'b0)0 {/ V+ o8 I( h3 h+ c4 @7 g
begin
4 S; Q1 w2 ]% H J+ s" V# | count_L1<=10'd1;6 P! g) D& d2 S$ q! _ G
L1_addr<=10'd0;
+ w4 l4 b. X& n, P) W end3 `/ A. ?8 x" V0 ]5 y l
else if(start_fft_flag == 1'b1) . C/ a: y. r9 [0 r
begin
\* t, o/ N7 G1 p5 \3 D: B realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain
! }% a/ I% ]" r* \3 w3 c' E realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin
w5 Q$ B( Q0 S3 u& j* l count_L1 <= count_L1+1'b1;
8 P+ |* j9 r3 q L1_addr <= L1_addr+1'b1;
" o7 i W: F4 B) ~* a9 ]& ` A if(count_L1==10'd513)
8 f' }. w! `! O( f+ k9 a- _ begin
6 {! E3 b4 p |; d count_L1<=10'd1;
# y e. }8 m; n* g9 A% f* I L1_addr<=10'd0;
3 o% i9 N2 ^! D8 | end ) y" J" k; ~5 W6 m' p
end4 T9 @' p* J* n4 t y
end |
|