Chip123 科技應用創新平台

標題: RAM疑問 [打印本頁]

作者: daiyoung    時間: 2012-8-27 04:59 PM
標題: RAM疑問
我現在已經把1024點的資料存到FPGA 的RAM裡面% g. h, E3 r* V0 ]
signal tap II也可以看到0~1024點的資料
! N( s5 ~9 o/ Q8 g但是我想取512~1024點的時候
; W5 z, R# C5 x6 ^往往在compiler的時候 fitter那邊就是過不去
8 H# F: v# Z9 x+ f7 [  W我看了error 說 LEs 不足....( I% `+ l( ]% g5 r0 w. K& Z
為什麼只要特別取某區段的資料時都會遇到這個問題呢/ q" v$ q0 L& C, t# J7 s
程式碼如下$ E8 }- r6 z6 S- G# v: b3 L
ram_data已經存取1024點資料
# m! ^3 c& T! U) z: Q4 t
1 k4 P# }6 y9 q& l' e  W: e  Kalways@(posedge clk or negedge reset)
1 S. H' }# n0 w        begin* v- P$ v( V) t( m  f4 m8 \
                count_L1<=10'd1;                7 [* ?' t( g& \& u% m
                L1_addr<=10'd0;        8 g* x/ O+ K! G2 Q% Q
                if (reset ==1'b0)
+ @  I+ I1 ^5 v+ p7 P  M" t( B! p; u                        begin
: j0 U4 ^" E# {: F* A7 w                                count_L1<=10'd1;
. D- N% _9 T, ^( T: _; c                                L1_addr<=10'd0;
* `2 s) z  e3 g- A8 U                        end  ^4 f# J" ?2 M! A# b4 j+ ]. v
                else if(start_fft_flag == 1'b1)   
! j6 O' l0 y& c0 ^+ _                        begin  E: O* b2 y- q! F+ j5 G
                                realdata_L1ain  <= ram_data[L1_addr];                           // 0~512的數值傳到realdata_L1ain                         
+ C5 F% N6 ]5 a0 b# K$ F                                realdata_L1bin  <= ram_data[L1_addr+512];                   //513~1024的數值傳到realdata_L1bin         
8 T  u" a9 f* H% ~                                count_L1        <= count_L1+1'b1;" M, |/ k! a' u+ D9 W; k7 t- Q
                                L1_addr         <= L1_addr+1'b1;                               
0 F( C* D; a  I  D" U) K2 I' A$ ?                                if(count_L1==10'd513)                / Z( J; @7 u, C. R2 Y; [5 n
                                        begin
4 v  F, C& }8 {* d2 [, e% M                                                count_L1<=10'd1;
! W8 m; h! |7 J' ]& F& [+ P4 w                                                L1_addr<=10'd0;       
; t# p7 j% n0 O! B: k" r* R                                        end                                                        ) _; B9 u- _% a: H  F
                        end8 L5 Z$ \  N( D; w, ]. P
        end
作者: eric994    時間: 2012-8-31 01:59 PM
你的寫法不對,這樣合不出block ram  W- A" _: j* h' I4 e' b: c
不能同時做這兩行
3 w) F2 J& ~' ?! b$ Qrealdata_L1ain  <= ram_data[L1_addr];  M  `" W: w. \& c, @* W. X
realdata_L1bin  <= ram_data[L1_addr+512]
- h% C9 n- q, m1 y4 \) m4 X5 H) C當合不出Block ram時
! O7 {7 R0 m5 P$ atool就會用LE去合,想當然而,一定不足的
作者: michael6172    時間: 2012-9-11 11:36 AM
如果你硬要這樣取值的話,把RAM 拆成兩顆就可以了




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2