|
我現在已經把1024點的資料存到FPGA 的RAM裡面
" R8 l/ O% X: x1 F3 u6 n" `signal tap II也可以看到0~1024點的資料; V3 Z* v( p% _9 x
但是我想取512~1024點的時候
3 }' p: Y& U2 Z: f% t) g& J往往在compiler的時候 fitter那邊就是過不去
" |) [( j9 w, i8 U: w我看了error 說 LEs 不足....
- z6 f; n2 b$ x* i為什麼只要特別取某區段的資料時都會遇到這個問題呢
3 h9 d' P$ k7 x" K/ \程式碼如下
$ y) O4 t. |! x. @* f0 hram_data已經存取1024點資料
- p" R- H* ^" i3 @: `0 Q6 P
0 v( b$ \0 D/ I5 galways@(posedge clk or negedge reset)
8 C# o, E) P5 T9 p2 D. i- R( v/ t begin
6 Y' |% d5 T0 ]2 `* l count_L1<=10'd1;
8 e: R6 W* R4 h L1_addr<=10'd0; - K' G# D0 \4 Z/ r
if (reset ==1'b0)
4 f# Z/ E9 w! Q5 k0 l6 l, t% T begin
. T# d& X" F& X0 C count_L1<=10'd1;" Q, Z- u- l. ^4 n5 Z4 j1 b
L1_addr<=10'd0; a, L0 E: v( G0 v
end) @; G# S/ h+ b, A5 w8 S
else if(start_fft_flag == 1'b1)
4 L6 S1 J& n- |9 d- f+ z! R8 Y begin0 a. g5 K5 a, P
realdata_L1ain <= ram_data[L1_addr]; // 0~512的數值傳到realdata_L1ain 7 F( o( o$ v) _0 W: V3 |0 e- m4 B
realdata_L1bin <= ram_data[L1_addr+512]; //513~1024的數值傳到realdata_L1bin / Q4 k5 t' p( l% d) ]/ K
count_L1 <= count_L1+1'b1;# T& J' N4 g9 s) t# Y
L1_addr <= L1_addr+1'b1; 5 G$ f! X" u: w8 l% b0 R5 ^+ `+ p' D
if(count_L1==10'd513)
* H# F; `! r, E2 v/ @% ? begin
$ c O- Q+ [) [; X" \2 X; t count_L1<=10'd1;5 u, a4 ~4 e) ~8 a* a) B
L1_addr<=10'd0; 1 o! e7 O2 A& ]+ u& s( S# ^" z1 X
end
: a! R1 h9 u3 F( f$ l3 b! {: f5 x end' L9 M1 `5 H9 Y. j* R! f
end |
|