|
我現在已經把1024點的資料存到FPGA 的RAM裡面/ w2 g! {" d6 c" e1 M
signal tap II也可以看到0~1024點的資料% S" X: g) W, _5 n5 \% g5 H
但是我想取512~1024點的時候1 `4 R! V# U" ^3 a2 F( d2 y
往往在compiler的時候 fitter那邊就是過不去1 ^* Z" m3 e6 E- d+ o5 _9 q
我看了error 說 LEs 不足....# B" U, x' N: N* \; k9 s
為什麼只要特別取某區段的資料時都會遇到這個問題呢5 C0 e9 }. j+ n
程式碼如下2 ]1 M- I# X; v! x) H% s C
ram_data已經存取1024點資料
% C3 F4 l5 M( e* \% @
' K8 P9 ~; k8 jalways@(posedge clk or negedge reset)
# C: t, {6 {- t+ n, b& [* ?+ j! I begin
& `% }, q5 K* c O) ^1 f7 A count_L1<=10'd1; 0 x- o& v! b& f/ m6 v7 m
L1_addr<=10'd0;
7 I/ E* g9 ]! ?8 y; P% w if (reset ==1'b0). }' {: N. T) h( \7 R' R
begin
, b3 i2 @$ ~' {4 E count_L1<=10'd1;
' U" s7 x% O B L1_addr<=10'd0;, R3 X. `7 F7 u& |* s+ c. i
end: u; R8 U* i! c% n
else if(start_fft_flag == 1'b1)
& D+ _/ i: L. A7 R. ~8 m% k- c4 _4 Q begin
+ p, C, ~; k; H3 R realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain ! a/ I* R3 `/ K- U* P4 _/ P
realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin / _3 }2 P/ |2 |8 ]0 ~ S0 d
count_L1 <= count_L1+1'b1;, O/ N+ I: V: j* q' G H2 R, [
L1_addr <= L1_addr+1'b1; 3 O3 M$ U6 P0 n$ R3 B3 g, ]$ T
if(count_L1==10'd513)
4 E2 r4 \" C$ \9 @+ R begin
u, R: g P% R count_L1<=10'd1;
% H) K5 t: a% F! I+ O7 j L1_addr<=10'd0;
- {" v' x$ D0 I* C/ e4 E end
! ~7 O+ \9 S- w9 Z8 e( ^( I end7 Z3 R& [9 I* N* \% o8 h: k
end |
|