Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-4-27 19:45:57 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
小弟使用verilog寫一個檔案要將1000個資料輸入到RAM裡,現在要找RAM裡的二筆資料為71(第I筆),第I+188筆資料也為71,* n  S5 K) ]6 w* R4 N, G5 p/ L( N7 d
如果找到就開始輸出RAM裡的資料,現在問題來了
7 a2 [. W9 ^7 \' Z7 t1 F; B我要下什麼語法,才有法子去搜尋RAM裡的資料?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2008-4-28 10:15:56 | 顯示全部樓層
原帖由 michael6172 於 2008-4-28 09:34 AM 發表
" o, s7 m- n2 m9 Y/ L你的想法好像要把verilog當C來寫耶,二樓大大的方法可以用用看,不過要花蠻多時間去搜尋^^
- |. @. W) }0 r. |- o; m
. k: ?5 [/ s. {" G
我的想法是ram先存1000筆資料,然後開始找第1筆跟第189筆資料看是不是71,如果是ram就輸出,如果不是第1筆資料丟掉,將最新資料放進第1筆資料的位址5 [: \% r8 C" u# x. W% k% w7 M; x* T
接下來,找第2筆與第190筆,看是不是71,如果是RAM輸出,如果不是最新資料放進第2筆的位置,依此類推
; ?" L, t4 t3 _/ ^# }以上動作是1個clk做一次動作.
2 K9 s* \7 Z, {8 q; i4 ]! |所以我想問說,有什麼方法可以比對RAM裡面的值
3#
 樓主| 發表於 2008-4-28 13:44:13 | 顯示全部樓層
原帖由 addn 於 2008-4-28 11:22 AM 發表
9 r# k5 \) q8 G: M# `5 H2 Z3 z您好3 P- W- m; s0 _7 A5 w4 [
依你的需求,想要做到1個clk做一次動作,
4 T: j% @$ E0 H" @似忽不容易. c( n: _+ T& p) C7 P4 N6 V; g9 I
! G) p2 g) z  k2 j5 G. [% p0 ~6 p
由於你的資料蠻多筆的,不然可以試試關聯記憶體架構

# h5 E+ d& g/ W! i5 \; l
9 g$ I0 _$ }5 f, [1 D) i: s+ j1個clk做一次動作的方式,我是指,每次只做一個資料的比對,所以在1000筆資料裡,找到第i筆與第i+188筆資料為71的最差時間為812個clk
4#
 樓主| 發表於 2008-4-29 08:33:43 | 顯示全部樓層
原帖由 kevin 於 2008-4-28 08:47 PM 發表 . f# B' S- l3 d& \
如果用在FPGA design的話,可採用CAM(Content Addressable Memories)來比對data(即=71),CAM 做input data(=71) 的 search,當match時,則輸出match的address.速度很快.
1 v* L% G, ]. R- @8 t- k! G0 b# J5 T! U9 B; b, K! U( }
37665 L/ r. R0 u) J( g" Z

- d7 _, o5 f& o0 n0 s# l再配合一些control logic即可達到目的 ...

- u1 X) X" y. O" b. _7 a: K
7 X5 k, D& n" f" w! [+ X4 @9 P殘念,我是使用@ltera cyc1one 系列的板子,無法使用CAM,不過謝謝大大的幫忙.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 04:15 AM , Processed in 0.119516 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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