Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] RAM疑問

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-8-27 16:59:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我現在已經把1024點的資料存到FPGA 的RAM裡面
1 m& A: o0 ^- e2 @/ s% v  a- ^signal tap II也可以看到0~1024點的資料
1 H. w% S' ]4 G! C  ~+ P$ A7 ]但是我想取512~1024點的時候* V7 P+ k$ D3 f
往往在compiler的時候 fitter那邊就是過不去" q5 N! ~- _" q* Q
我看了error 說 LEs 不足....
+ ~! }0 U: L7 V為什麼只要特別取某區段的資料時都會遇到這個問題呢
  R2 K4 f* h3 l, k程式碼如下0 t" X& P1 l+ U' ?
ram_data已經存取1024點資料) W9 |! [0 T7 G9 h
6 _: a/ g0 Q) w- j, W5 y" a
always@(posedge clk or negedge reset)
4 h# U" t& H0 {& G" |: P0 H% W        begin
2 E2 E3 u. y8 C; q  U- J: f& u                count_L1<=10'd1;               
4 C; l' p% A$ c9 u1 [                L1_addr<=10'd0;        1 }+ R6 M5 }4 ~+ M
                if (reset ==1'b0)
1 k! ?' \: b! a8 @3 d- S  z                        begin
7 V" a: ?; J& V2 Q* n+ i                                count_L1<=10'd1;
* m- d7 c0 e% Q5 g1 U( X                                L1_addr<=10'd0;
' l" x% [& ?+ V8 [# `                        end
$ p# j6 t* _( T( Q0 [                else if(start_fft_flag == 1'b1)   
) ?6 O+ T  y/ r- m                        begin! @+ \7 q3 ^  r* I$ N2 D
                                realdata_L1ain  <= ram_data[L1_addr];                           // 0~512的數值傳到realdata_L1ain                         
8 F3 }/ F8 e: e& Q                                realdata_L1bin  <= ram_data[L1_addr+512];                   //513~1024的數值傳到realdata_L1bin          : k7 ~" ]: n5 W' S' y$ K
                                count_L1        <= count_L1+1'b1;) k( |9 w' E. S9 b) _& B
                                L1_addr         <= L1_addr+1'b1;                                : l: V& K# ?2 o
                                if(count_L1==10'd513)                2 f6 {! L6 M: r+ A( l; i
                                        begin4 o0 A2 y, J0 o3 h$ P4 m
                                                count_L1<=10'd1;1 h% }6 d2 a% c3 f/ e6 @
                                                L1_addr<=10'd0;       
" H- ^4 M' ~: O/ Q' p4 t' s                                        end                                                       
7 C# a$ a  l# F7 }$ W                        end
1 ?5 ^' i$ i, Y3 O1 w+ g: A        end
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2012-8-31 13:59:54 | 只看該作者
你的寫法不對,這樣合不出block ram; N2 b' |  X/ V  o9 T
不能同時做這兩行: `9 q1 S6 \/ P
realdata_L1ain  <= ram_data[L1_addr];
) w  @3 c4 u  s6 ]realdata_L1bin  <= ram_data[L1_addr+512]
7 W! h( }8 n: J: `當合不出Block ram時
8 {* Q! \, l% R/ ]: Vtool就會用LE去合,想當然而,一定不足的
3#
發表於 2012-9-11 11:36:50 | 只看該作者
如果你硬要這樣取值的話,把RAM 拆成兩顆就可以了
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-7 05:49 PM , Processed in 0.100006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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