|
我現在已經把1024點的資料存到FPGA 的RAM裡面8 m# `$ Q# m4 x
signal tap II也可以看到0~1024點的資料
" _6 L3 K; h. V但是我想取512~1024點的時候, k& I- C; x/ }% x8 @ {5 }8 C2 k) ~
往往在compiler的時候 fitter那邊就是過不去
! N( `# w3 V# N; C/ d我看了error 說 LEs 不足....* h9 o8 F2 A4 u- g
為什麼只要特別取某區段的資料時都會遇到這個問題呢 ~# B) w. A; g8 z
程式碼如下% ^, V& L% I, V+ p
ram_data已經存取1024點資料
7 x! v$ }& \- l
. ?; |, Y+ |: `' S; { h. I# }always@(posedge clk or negedge reset)
# o+ i. L4 U7 {0 D h6 l6 [ begin
$ L3 g4 |/ y) Y0 O2 P count_L1<=10'd1;
0 a( d4 N8 F5 T" w5 e( L L1_addr<=10'd0; . D( h; d. A) R7 l" x7 Q
if (reset ==1'b0)3 q4 y; f0 {; B+ k2 I1 h. y
begin* h G1 C! p4 c* v
count_L1<=10'd1;
2 I* a( q! ]' k8 b L1_addr<=10'd0;
$ o9 \& r7 I0 M* } end
* p5 c% I6 o! `5 q! [" m8 p3 {3 } else if(start_fft_flag == 1'b1)
) u, }6 O2 T( [7 V6 } begin
# o3 \* u. j- W realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain
( \* V9 `' L( d& d9 y8 i realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin ' t! ]/ b; ?) q8 [
count_L1 <= count_L1+1'b1;( m6 V8 e/ Q5 A9 S
L1_addr <= L1_addr+1'b1;
# M& J+ p4 B. u V. p( _1 I* _ if(count_L1==10'd513)
. G8 J0 M0 D+ m begin
1 t* q p+ H$ b' R count_L1<=10'd1;' t: L1 t7 |- W; |
L1_addr<=10'd0; 6 ~ |& Z1 k. E4 Y* a
end
: t$ N3 K/ @9 V; w. _ end
; R- ~- ]- I& j2 x' n5 |0 z end |
|