关于PCI布线的问题,时钟到各器件等长?
看了一下前辈们的讨论,也看了一下自己手头上的板子的情况。
发现,现在布的嵌入式板上的PCI总线,其时钟都没有做等长处理,拿最近的一块板来讲,总线上挂了7个设备,比较了一下各设备的时钟,发现最长的是2.1ns,最短的为0.2ns(PCI桥的反馈时钟线长)。几乎超出 控制时钟SKEW为2ns的原则。板正常工作。
看到很多文章,特别是桥、及PCI规范,都说PCI时钟要等长,准备下一板中布成等长成,但又有一考虑,离桥最近的器件,其PCI时钟线必然是很长的,此时会不会超出器件的时序需求?
考虑了时钟线等,但时钟与数据线的匹配,又如何考虑呢?
數據線一般不用考慮,但走線的方向一般先到pci slot再到onboard pci device.clk就有要求了.做intel的案子.到南橋的線要比到pci slot的時鐘線短2500mil.到onboard的device的時鐘線要比到slot的時鍾線長2500mil.先要看你的板子上最長的時鐘線是哪些?包括到SIO/BIOS/TPM等設備.找出最長的設備後再按照這個關係去線PCI SLOT的時鐘線,再繞到南橋的時鐘線長.
谢谢。
“到onboard的device的時鐘線要比到slot的時鍾線長2500mil.”
这个可以理解,就是到卡上的时钟和到onboard的device的時鐘線等长,记得卡上的PCI时钟就是控制在2500mil的。
但“到南橋的線要比到pci slot的時鐘線短2500mil”
那到南桥的时钟,与其它的PCI时钟,不就是不等长了吗,差2500mil?
这里面是什么原因?
讨论]关于PCI布线的问题,时钟到各器件等长?
记号
因為南橋是pci信號的Host端,再具體的原理我也明白了.盼著高手來賜教
任何一个PCI设备都可能是host呀
前面算错了,“那到南桥的时钟,与其它的PCI时钟,不就是不等长了吗,差2500mil?”
应该是相差了 5000mil。
刚才算了一下自己板上最大的时钟线差,为 11112mil,!
PCI是有一定宽容度的(skew),由于PCI的arbitor在南桥里面,所有PCI SLOT,PCI onboard Device都以CLK到南桥距离为基准(假设这个距离是Z),其他CLK到slot和device的距离符合以下原则:
Onboard Device: z<x<z+6 inchs
SLOT: z<x<z+3 inchs(PCI CARD要预留3inchs的长度)
如果系统里面还有其他arbitor,比如ISA bridage等等,我建议CLK到它的长度满足 Z+1<x<Z+3.
你用INTEL的芯片是这样子控制,但如果其它厂家的芯片呢,所以我们要理解原理,PCI总线一般都是用共同时钟的方式,所以按照共同时钟的方法计算就可以了.
建议如下:
PCI时钟线有skew的,如果做到等长当然最好,但是结构设计或layout原因实际情况不是这样,只要在skew内,不等长同样也是允许的,但是要把握两个原则:
1.CLK到PCI arbitor必须是最短
2.在所有CLK的远端预留10pf 电容的位置用于紧急情况下调整timing。
总线是分时工作的!只要同一组PCI等长就可以了!
