Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 如何在RAM裡搜尋資料

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-27 19:45:57 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
小弟使用verilog寫一個檔案要將1000個資料輸入到RAM裡,現在要找RAM裡的二筆資料為71(第I筆),第I+188筆資料也為71,& ^7 W" T8 r7 e, `
如果找到就開始輸出RAM裡的資料,現在問題來了  i( p5 u0 ]0 G! X) T+ M
我要下什麼語法,才有法子去搜尋RAM裡的資料?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
8#
 樓主| 發表於 2008-4-29 08:33:43 | 只看該作者
原帖由 kevin 於 2008-4-28 08:47 PM 發表 3 |& S- H, j1 c1 V; l$ B
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.4 }; {- Y" u6 l7 @

+ q$ W* T& ?' Z5 D: [0 q- t3766
0 q6 ~; L0 [, y# E7 D  C
3 ^" K4 V, ~# a1 E再配合一些control logic即可達到目的 ...
: ^, [1 c; y5 ~7 d0 n; ?
* E, ~& p/ m* J' ]
殘念,我是使用@ltera cyc1one 系列的板子,無法使用CAM,不過謝謝大大的幫忙.
7#
發表於 2008-4-28 20:47:10 | 只看該作者
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.
- P8 }2 [0 _' v$ U  |
. R7 C0 L5 r5 S/ r1 {) J
) c4 n: b! I) N8 r
! t0 p4 A! C  l: T2 H2 o5 H再配合一些control logic即可達到目的.

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
6#
 樓主| 發表於 2008-4-28 13:44:13 | 只看該作者
原帖由 addn 於 2008-4-28 11:22 AM 發表
4 ~6 k; A( ?7 ~, _; s, r您好
/ d& S! X. H) X- E依你的需求,想要做到1個clk做一次動作,
/ y7 Q/ `0 B5 j8 x似忽不容易
0 h$ L; O  b& r2 J6 y( ?+ Z4 c! w. w
由於你的資料蠻多筆的,不然可以試試關聯記憶體架構

. w' K3 V7 m* i+ m. ?7 R8 }
# h! R" T& y  z& ]1個clk做一次動作的方式,我是指,每次只做一個資料的比對,所以在1000筆資料裡,找到第i筆與第i+188筆資料為71的最差時間為812個clk
5#
發表於 2008-4-28 11:22:43 | 只看該作者
您好
. @( y- f- g5 g+ p依你的需求,想要做到1個clk做一次動作,3 u4 N* H. {2 V3 T
似忽不容易
2 Y) L: l7 u3 S
+ S4 O9 q. G8 w6 H由於你的資料蠻多筆的,不然可以試試關聯記憶體架構
4#
 樓主| 發表於 2008-4-28 10:15:56 | 只看該作者
原帖由 michael6172 於 2008-4-28 09:34 AM 發表
: N$ k- W2 i+ E你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
7 G, h7 K" p! v% }( Q# |

7 Z; s) p- n$ u' J: j我的想法是ram先存1000筆資料,然後開始找第1筆跟第189筆資料看是不是71,如果是ram就輸出,如果不是第1筆資料丟掉,將最新資料放進第1筆資料的位址' b$ L+ w0 P3 w! f9 V1 n
接下來,找第2筆與第190筆,看是不是71,如果是RAM輸出,如果不是最新資料放進第2筆的位置,依此類推
% p5 _8 a- C% o( ?& c& a! H7 r以上動作是1個clk做一次動作.
& c' u& [/ ^8 `9 ~5 q所以我想問說,有什麼方法可以比對RAM裡面的值
3#
發表於 2008-4-28 09:34:52 | 只看該作者
你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
2#
發表於 2008-4-28 08:31:03 | 只看該作者
你應該可以用比較器與計數器來達成這樣子的功能。
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-23 12:49 AM , Processed in 0.156000 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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