作者bighead319 (大頭)
看板Electronics
標題Re: [問題] sdram位址線接錯
時間Thu Jan 22 22:47:24 2009
※ 引述《screws (screws)》之銘言:
: 想請問一個問題
: 如果我不小心把cpu到sdram的address bus接錯了.
: 假設是a0,a1接錯了,這樣會發生什麼事?
: 是可以照常存取,還是會出錯呢?
: 我想了一天,一直覺得不會最後讀取出來的資料不會錯
: 可是我同事在奸笑...= =真的會讀出錯的資料嗎?
基本上沒差,假設是10bit好了,CPU送出的位址為 (a0, a1, ..., a9)
不管你接到RAM裡面的順序是(a0,a1,...,a9)或是(a9,a8,...,a0),
基本上RAM看到這位址從0-1023的map都是1對1的,事實上就是bit reverse 的關係,
即使你想惡搞他,故意把他接成(a1,a3,a5,a7,a9,a0,a2,...,a8),他還是1對1對應,
還是不會有問題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.14.152
1F:推 proach:er....請注意這是SDRAM,不是一般的SRAM ^^; 01/22 22:49
2F:→ bighead319:啊,看錯了,如果是SDRAM就會有page 切換損失clock的 01/22 22:52
3F:→ bighead319:問題了,但資料基本上應該不會讀錯,只是會有delay問題 01/22 22:53
4F:→ bighead319:SDRAM的讀取特性,可以去廠商的網頁找到,都會寫 01/22 22:55
5F:推 screws:我的認知是輸入addr 再由ras & cas來選擇所需的資料. 01/22 22:56
6F:→ screws:可是我本來的a0,a1正好交換,只不過是放到錯的位置放錯的資 01/22 22:57
7F:→ bighead319:你同事偷笑的原因應該在於當連續讀取的data放在不同 01/22 22:58
8F:→ screws:料.可是最後再讀回來會是正確的.有錯請指正 ^^ 01/22 22:58
9F:→ bighead319:page時,中間會需要停頓切換,不在於資料讀錯 01/22 22:59
10F:→ bighead319:你要不要先想想看我上面寫的,address亂寫基本上不會 01/22 23:00
11F:→ bighead319:讓data覆蓋,因為他就是一個1-1的函數映設關係 01/22 23:00
12F:→ bighead319:比較危險的是,SDRAM的特性是在page切換時,輸入的位址 01/22 23:01
13F:→ bighead319:會被忽視(若是同bank),這時資料可能你以為寫進去了, 01/22 23:02
14F:→ bighead319:但實際上並沒有,你去看看micron提供的檔案就知道了 01/22 23:02
15F:→ screws:感謝~我上micron的網站找找... 01/22 23:07
16F:→ rickhsu:有些疑問不太懂..除了cpu存取.dma是不是也會有機會存取?? 01/23 00:13