Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-27 19:45:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟使用verilog寫一個檔案要將1000個資料輸入到RAM裡,現在要找RAM裡的二筆資料為71(第I筆),第I+188筆資料也為71,# h" V0 U1 {& z" i* |
如果找到就開始輸出RAM裡的資料,現在問題來了7 M6 O8 s) Z+ K, l, N
我要下什麼語法,才有法子去搜尋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 發表
6 `' A+ G  }4 {& I* @) E你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
/ Y/ L& f- p3 s' W
4 ?, |8 n% ~0 R3 S9 H% k! M( R4 q
我的想法是ram先存1000筆資料,然後開始找第1筆跟第189筆資料看是不是71,如果是ram就輸出,如果不是第1筆資料丟掉,將最新資料放進第1筆資料的位址
# _, w) X0 x6 P5 d' i2 ]. ~' k, p接下來,找第2筆與第190筆,看是不是71,如果是RAM輸出,如果不是最新資料放進第2筆的位置,依此類推
- g& R1 }! T- n- h( o: U/ ~以上動作是1個clk做一次動作." c$ N' A) L1 h+ Y" u# S
所以我想問說,有什麼方法可以比對RAM裡面的值
5#
發表於 2008-4-28 11:22:43 | 只看該作者
您好
' N1 l+ s8 s8 N/ y6 v/ b/ r依你的需求,想要做到1個clk做一次動作,
; h$ \4 E2 `& t' A% B( h8 A) \似忽不容易, o/ t* T$ A9 K

+ o, j3 e  N0 p' b由於你的資料蠻多筆的,不然可以試試關聯記憶體架構
6#
 樓主| 發表於 2008-4-28 13:44:13 | 只看該作者
原帖由 addn 於 2008-4-28 11:22 AM 發表
- o( D2 ?" e4 j0 `2 ]4 C您好
. K8 W, W& F+ a5 q# ?+ G7 x依你的需求,想要做到1個clk做一次動作,  {& C" h) e. H7 j. H
似忽不容易
% i- M* h6 ]/ ?  f
+ z, f7 F# R! n; x1 H) e6 r2 b由於你的資料蠻多筆的,不然可以試試關聯記憶體架構

2 w+ H7 V+ V( T2 u1 I! \
$ N2 t( R9 z9 ]6 q; F) h1個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.速度很快.3 l9 t9 `9 q+ l, o! m

& k* i. h" m4 u8 s3 d# ]8 G  R. o& v6 r& g, N

$ g2 K5 N( J# X' d  o" r0 z! O! a再配合一些control logic即可達到目的.

本帖子中包含更多資源

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

x
8#
 樓主| 發表於 2008-4-29 08:33:43 | 只看該作者
原帖由 kevin 於 2008-4-28 08:47 PM 發表 3 x: X) a% P8 k' U2 H, ~
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.5 ^7 P  d" P' l- g' ?4 y
6 |) x* P" S7 L6 W! u0 t; P- T
3766( P3 U( ~0 }5 l7 s7 J* |  b$ j' E9 n0 e
( A1 O) }6 G5 D! N5 j
再配合一些control logic即可達到目的 ...

8 i- Y( g: V3 b% g) f9 M  g  e+ _( p8 a; t+ m
殘念,我是使用@ltera cyc1one 系列的板子,無法使用CAM,不過謝謝大大的幫忙.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-1-23 04:09 AM , Processed in 0.156001 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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