|
我現在已經把1024點的資料存到FPGA 的RAM裡面
) Q% V7 Z4 I8 x* S/ m* wsignal tap II也可以看到0~1024點的資料
: g- w5 G5 ?& N( B但是我想取512~1024點的時候
1 F1 ]% q8 j8 i$ @往往在compiler的時候 fitter那邊就是過不去
1 e+ A' O6 l9 m+ Z6 v. o0 T我看了error 說 LEs 不足....+ B3 P6 y& ?% t! C* g3 Z. z
為什麼只要特別取某區段的資料時都會遇到這個問題呢: r2 j% k8 S3 |, N% Q1 d9 n( ?
程式碼如下7 M7 s$ s. c! P" x
ram_data已經存取1024點資料
4 |' x7 H9 \9 m d1 ]( {. }
* A/ F3 X; s/ malways@(posedge clk or negedge reset)
* _( @: {+ O. s begin. [7 ?% s! s# u, u# g6 E7 _
count_L1<=10'd1;
8 R1 u5 q/ h* p5 |; Q$ C8 w; I L1_addr<=10'd0; ! ]/ N! C3 g% u8 V5 v7 h1 t
if (reset ==1'b0)# D0 J1 U5 f8 e3 H f
begin" g# ~) r) L/ h( p
count_L1<=10'd1;
Z+ e0 t& D: [$ s1 G( B! ` L1_addr<=10'd0;) `5 {( x8 |, x* `6 z9 d
end8 r' T! O* F7 t' \6 }3 m5 @
else if(start_fft_flag == 1'b1) 5 J ~" Y2 x- E% S6 Y1 q) A) J
begin
5 @9 M0 R1 ]# W' X+ z* j7 Y realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain
* j/ f3 t3 D0 i1 Y! m: D P( v3 s) k realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin
) o6 d9 X* V0 K" C count_L1 <= count_L1+1'b1;
" [( }4 N0 l' o L1_addr <= L1_addr+1'b1; ! M1 w. o1 f' y$ G9 `; s/ ^
if(count_L1==10'd513) ) u9 S1 C7 V' c [2 U
begin
4 L. ~& e1 z) [' C# W count_L1<=10'd1;
' m9 \( z8 q1 g$ C8 R L1_addr<=10'd0;
& t' D5 h# b( t4 f end
" Z$ L( k# U6 g8 O- V, f end! V' ^6 W8 B; O6 }9 k4 n
end |
|