如何確定FPGA電路中DDR4的Speed bin 是否兼容?

  • 2019 年 10 月 3 日
  • 筆記

原創 by DeeZeng [ Intel FPGA筆記 ]

DDR4 是否兼容,拿更快速度的DDR4,是否可以不改FPGA工程,直接換料就能直接用?

實際工作中,經常會碰到因為DDR3/4 或其他料件換料了,需要判斷FPGA工程中IP設置需要重新改動,或是兼容直接換料就可行。

 


那如何判斷DDR4是否兼容呢?
 比如由於DDR4的更新換代,速度慢的已經不生產了,而FPGA速度一般固定在那了。
那我們IP是以 原來速度慢的如2133 設定,還是以新的 2666設定再將clock設定對應到2133呢?
1. 以速度慢的設定,會擔心是否兼容
2. 以速度快的設定,會擔心只是降速可行嗎,CL那些設定是否需要變動。
 speed grade 
 
那如何設定比較好?

我個人傾向用 跑的速度的 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的這顆(隨便找的一顆)

 
Datasheet中有一個 Backward Compatibility 表格:

比如 我們選定 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則是另外的情況,當然我們直接看兼容表就行了。

從兼容表也可以看出,並不是速度快就能直接替代速度慢的,有些參數還是不行的。 選替代料的時候需要注意一下。

 

這樣我們就可以以運行速度進行IP設置,且能確定是否兼容!

是不是很簡單,查看一下兼容表確認下就好!


 

題外話:Data Bus Inversion(DBI)  這個功能可以在IP 中使能與否。

              打開它可以讓DQ IO 翻轉更少,降低功耗。但它同時會增加latency(畢竟要多出一些判斷來確定DQ 如何翻轉)

speed bin

 

可以在 Speed Bin 中看到:

DBI speed bin

所以打開DBI 與否 對 CL 的設定是有影響的。