作者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