Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 5888|回復: 2
打印 上一主題 下一主題

[問題求助] RAM疑問

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-8-27 16:59:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我現在已經把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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2012-8-31 13:59:54 | 只看該作者
你的寫法不對,這樣合不出block ram0 d, {: k7 T: G- y# P0 y
不能同時做這兩行; E1 c4 }( l+ e4 q3 \. \6 t5 j
realdata_L1ain  <= ram_data[L1_addr];
8 L- K( y0 R5 y% s0 c& Wrealdata_L1bin  <= ram_data[L1_addr+512]
! V% ]6 p% U2 T8 w當合不出Block ram時
9 y3 U: h# X- `+ f0 a7 Itool就會用LE去合,想當然而,一定不足的
3#
發表於 2012-9-11 11:36:50 | 只看該作者
如果你硬要這樣取值的話,把RAM 拆成兩顆就可以了
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-18 01:57 AM , Processed in 0.127016 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表