Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-27 19:45:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟使用verilog寫一個檔案要將1000個資料輸入到RAM裡,現在要找RAM裡的二筆資料為71(第I筆),第I+188筆資料也為71,
  O9 c( |. P. A! J如果找到就開始輸出RAM裡的資料,現在問題來了
* ^# B, K% c4 `! f我要下什麼語法,才有法子去搜尋RAM裡的資料?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-4-28 08:31:03 | 只看該作者
你應該可以用比較器與計數器來達成這樣子的功能。
3#
發表於 2008-4-28 09:34:52 | 只看該作者
你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
4#
 樓主| 發表於 2008-4-28 10:15:56 | 只看該作者
原帖由 michael6172 於 2008-4-28 09:34 AM 發表
+ s/ w2 d7 l$ D0 R' C0 v+ ]. T你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
8 B) b7 |" L8 _& ~
+ o. t, g& h" I. \0 H- P
我的想法是ram先存1000筆資料,然後開始找第1筆跟第189筆資料看是不是71,如果是ram就輸出,如果不是第1筆資料丟掉,將最新資料放進第1筆資料的位址
3 _. ^+ o% y. X5 F6 W接下來,找第2筆與第190筆,看是不是71,如果是RAM輸出,如果不是最新資料放進第2筆的位置,依此類推
2 Q7 f9 [/ c, x7 z1 H6 R( w以上動作是1個clk做一次動作.
; ]! S* w3 o! l, k0 [所以我想問說,有什麼方法可以比對RAM裡面的值
5#
發表於 2008-4-28 11:22:43 | 只看該作者
您好
# V; Q6 G: l0 P2 {依你的需求,想要做到1個clk做一次動作,
+ U' {  m2 r& `% v6 u% Q+ y" s似忽不容易
* c/ s9 R+ N% i3 l8 i, A. V2 t
( b+ f: U1 d4 ^  x由於你的資料蠻多筆的,不然可以試試關聯記憶體架構
6#
 樓主| 發表於 2008-4-28 13:44:13 | 只看該作者
原帖由 addn 於 2008-4-28 11:22 AM 發表 ' L* R2 b2 k  F; G
您好% l# f: g: R1 n: e" d
依你的需求,想要做到1個clk做一次動作,
. o$ i4 W& L9 @+ |' u3 o似忽不容易
1 x% L( j, n) |$ V
- A- R6 I3 T5 E$ a- \9 V由於你的資料蠻多筆的,不然可以試試關聯記憶體架構
2 [. k, a$ ]5 S- [3 Z+ i7 R% V
4 u3 M, O8 F' T4 r# n
1個clk做一次動作的方式,我是指,每次只做一個資料的比對,所以在1000筆資料裡,找到第i筆與第i+188筆資料為71的最差時間為812個clk
7#
發表於 2008-4-28 20:47:10 | 只看該作者
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.5 b- G* |( t- M6 ?2 J2 z  |

  N" [* [  E( V! T
* a+ Y1 i7 @+ c# O( W1 }: }
. K2 @" X9 Y% t$ D) l( h0 O" R再配合一些control logic即可達到目的.

本帖子中包含更多資源

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

x
8#
 樓主| 發表於 2008-4-29 08:33:43 | 只看該作者
原帖由 kevin 於 2008-4-28 08:47 PM 發表 3 T* q6 y  W( o; M5 I
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.
) d9 s0 j( d* N9 Y
( J( f9 b' C2 @: c0 C# ?( ^3766
! E, H( D5 a1 ~* j9 Q, F7 y$ Y- f% X; Q
再配合一些control logic即可達到目的 ...
+ L  Y1 X4 \8 Q9 A' _. S
7 U7 x2 V# J( _
殘念,我是使用@ltera cyc1one 系列的板子,無法使用CAM,不過謝謝大大的幫忙.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-23 03:53 AM , Processed in 0.156001 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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