如何確定FPGA電路中DDR4的Speed bin 是否兼容?
- 2019 年 10 月 3 日
- 筆記
原創 by DeeZeng [ Intel FPGA筆記 ]
實際工作中,經常會碰到因為DDR3/4 或其他料件換料了,需要判斷FPGA工程中IP設置需要重新改動,或是兼容直接換料就可行。
我個人傾向用 跑的速度的 speed bin 去設定,然後確認speed bin 是兼容的。
比如 DDR4 將換成2666 的chip, 但Arria 10 工程 只跑2133 或2400 的速度, 那我就按照2133 或 2400 的 speed bin 來設置。
但會需要確認 2133 、2400 speed bin 是被 2666 的chip 向下兼容的。
怎樣查看Speed Bin 是否兼容呢?
很簡單, DDR4的datasheet中就有提,比如 Micron的這顆(隨便找的一顆)
比如 我們選定 2666 的 component speed bin 是 075E。 那考慮兼容的時候 就會看到 不兼容 2400的 083E
這樣設定IP的時候 我們就可以設定 2133 的093 或 093E speed bin 或 2400的 083 speed bin,而2400的083E speed bin 是不行的。
為什麼會這樣呢? 那有些參數是隨 clock rate 變化的比如多少UI 是沒影響。 但tRCD,tRP則是另外的情況,當然我們直接看兼容表就行了。
從兼容表也可以看出,並不是速度快就能直接替代速度慢的,有些參數還是不行的。 選替代料的時候需要注意一下。
是不是很簡單,查看一下兼容表確認下就好!
題外話:Data Bus Inversion(DBI) 這個功能可以在IP 中使能與否。
打開它可以讓DQ IO 翻轉更少,降低功耗。但它同時會增加latency(畢竟要多出一些判斷來確定DQ 如何翻轉)
可以在 Speed Bin 中看到:
所以打開DBI 與否 對 CL 的設定是有影響的。