加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

Xilinx 7系列FPGA DDR3硬件設(shè)計規(guī)則

2023/02/20
5287
閱讀需 20 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

引言:本文我們介紹Xilinx 7系列FPGA DDR3硬件設(shè)計規(guī)則及約束,包括Bank選擇、管腳位置約束、管腳分配、端接、I/O標(biāo)準(zhǔn)和走線長度。

01、設(shè)計規(guī)則

存儲器類型、存儲器數(shù)量和數(shù)據(jù)寬度受限于所選FPGA器件家族、FPGA速度等級和設(shè)計頻率,頻率范圍取決于器件電氣特性。

02、Bank和管腳選擇

圖1、DDR3 數(shù)據(jù)組連接(DCI級聯(lián)從Bank)

圖2、DDR3地址組連接(DCI級聯(lián)主Bank)

圖3、DDR3 地址/控制組連接(DCI級聯(lián)從Bank)

MIG工具根據(jù)物理層規(guī)則為內(nèi)存接口生成管腳分配。Xilinx7系列FPGA是為非常高性能的內(nèi)存接口而設(shè)計的,使用DDR3 SDRAM物理層必須遵循某些規(guī)則。Xilinx7系列FPGA為每個DQS字節(jié)組提供專用邏輯。每個50管腳bank中有四個DQ字節(jié)組。每個字節(jié)組包括一個支持時鐘輸入/輸出DQS對和10個相關(guān)的DQ數(shù)據(jù)I/O。在典型的DDR3數(shù)據(jù)總線配置中,這10個I/O中有8個用于DQ,一個用于數(shù)據(jù)掩碼(DM),另一個用于內(nèi)存接口中的其他信號。推薦用MIG工具為7系列DDR3接口生成管腳輸出。MIG工具遵循以下規(guī)則:

    • 系統(tǒng)時鐘輸入必須與內(nèi)存接口位于同一列。如果可能,建議將系統(tǒng)時鐘輸入置于地址/控制組中。
    • CK必須連接到其中一個控制字節(jié)組中的p-n差分對。組中的任何p-n對都是可接受的,包括SRCC、MRCC和DQS引腳。如果使用多個CK輸出,例如dual rank,則所有CK輸出必須來自同一字節(jié)通道。由于DDR2和DDR3 SDRAM的專用選通連接,字節(jié)組的DQS信號必須連接到Bank中指定的DQS對。DQ和DM(如果使用)信號必須連接到與相應(yīng)DQ相關(guān)聯(lián)的字節(jié)組引腳。

VRN和VRP用于支持DCI的組的數(shù)字控制阻抗(DCI)參考。

如果滿足以下條件,則非字節(jié)組引腳(即HP Bank中的VRN/VRP引腳和HR Bank中的頂部/底部引腳)可用于地址/控制引腳:--對于HP Bank,使用DCI級聯(lián),或Bank不需要VRN/VRP引腳,僅用于輸出;--相鄰字節(jié)組(T0/T3)用作地址/控制字節(jié)組;

--相鄰字節(jié)組(T0/T3)中存在未使用的引腳,或CK輸出包含在相鄰字節(jié)組中。

從die角度來看,單個接口最多可使用三個垂直Banks。地址/控制必須位于跨三個I/O Banks的接口中間I/O bank中。所有地址/控件必須位于同一個I/O Bank中。地址/控制不能在Bank之間分割??刂凭€(RAS_N、CAS_N、WE_N、CS_N、CKE、ODT)和地址線必須連接到不用于數(shù)據(jù)字節(jié)組的字節(jié)組。復(fù)位RESET_N可連接到器件內(nèi)的任何可用引腳,包括VRN/VRP引腳(如果使用DCI級聯(lián)),只要滿足時序和使用適當(dāng)?shù)腎/O電壓標(biāo)準(zhǔn)。GUI將此管腳限制為接口所用的Bank,以優(yōu)化時序,但這不是必需的。

注意:DCI級聯(lián)設(shè)置詳見:Xilinx FPGA時鐘及I/O接口規(guī)劃(二)相關(guān)章節(jié)介紹。

03、管腳交換(Pin Swapping)

管腳可在每個字節(jié)組(數(shù)據(jù)和地址/控制)內(nèi)自由交換,但DQS對必須在支持時鐘的DQS對上,CK必須在p-n對上。字節(jié)組(數(shù)據(jù)和地址/控制)可相互自由交換。地址/控制字節(jié)組中的管腳可在其字節(jié)組內(nèi)和字節(jié)組之間自由交換。不允許進行其他引腳交換。

04、控制器之間的Bank共享

內(nèi)存接口中使用的Bank中的未使用部分管腳不允許與另一個內(nèi)存接口共享??刂艬ank中所有FIFO和相位器的專用邏輯設(shè)計為僅使用單個內(nèi)存接口運行,不能與其他內(nèi)存接口共享。除了MIG核心支持的雙控制器中的共享地址和控制。

05、系統(tǒng)時鐘、PLL和MMCM分配和約束

強烈建議PLL和MMCM時鐘位于存儲器接口Bank中,以滿足指定的接口性能。MIG工具盡可能遵循這兩條規(guī)則。唯一的例外是一個16位接口,其中可能沒有多余的管腳用于時鐘輸入。在這種情況下,時鐘輸入需要從相鄰的一個bank通過頻率主干線(frequency backbone)到PLL。PLL的系統(tǒng)時鐘輸入必須來專用時鐘I/O。


圖4、系統(tǒng)時鐘連接

系統(tǒng)時鐘輸入只能用于同一列中的接口。如果時鐘來自另一列,則額外的PLL或MMCM和時鐘路由將導(dǎo)致過多的額外抖動。

來自PLL的未使用的輸出可以用作時鐘輸出。只能更改這些輸出的設(shè)置。與整體PLL行為和所用輸出相關(guān)的設(shè)置不得受到干擾。

PLL不能在接口之間共享。

05、DDR3 PCB布線

時鐘、地址和控制線需要按照Fly-by拓撲結(jié)構(gòu)布線。Fly-by是指這組線路以菊花鏈的方式布線,并在線路末端適當(dāng)?shù)囟私印=M內(nèi)每個信號到給定組件的走線長度必須匹配。每個DDR的數(shù)據(jù)總線布線應(yīng)盡可能的短。每個信號應(yīng)盡量在單個PCB層上布線,以盡量減少由額外過孔引起的阻抗不連續(xù)性。

VREF布線

在利用MIG工具例化IP核時,會選擇內(nèi)部VREF或者外部VREF。

內(nèi)部VREF:只用于當(dāng)數(shù)據(jù)速率不超過800Mb/s的情況。

外部VREF:對于給定FPGA速度等級下的最大指定數(shù)據(jù)速率,外部VREF必須跟蹤提供給DRAM和地面的VDD電壓的中點。VREF跟蹤可以用電阻分壓器穩(wěn)壓器來完成。在這些數(shù)據(jù)速率下,不應(yīng)使用提供固定參考電壓而不考慮VDD電壓的穩(wěn)壓器。VREF走線需要大于最小間距,以減少與其他干擾信號的耦合。

VCCAUX_IO

VCCAUX_IO依據(jù)存儲器的性能可以設(shè)置為1.8V或者2.0V。如果需要進行不同的存儲器或者FPGA器件遷移,此時,VCCAUX_IO供電可以考慮設(shè)置為可調(diào)整的。

端接

 

圖5、DDR3地址/控制信號端接

強烈建議進行信號模擬仿真(IBIS或其他)。地址(A,BA)命令(RAS_N、CAS_N、WE_N)和控制(CS_N,ODT)信號的加載取決于各種因素,例如速度要求、終端拓撲、無緩沖DIMM的使用和多列DIMM,并且可能是達到性能目標(biāo)的一個限制因素。

在1333Mb/s及更高速度下運行,單端走線需要控制在40Ω,并且需要進行端接處理。低于1333Mb/s時,50Ω是可接受的。圖6和圖7適用于1333 Mb/s及更高速率的情況。

圖6、40Ω端接到VTT

圖7、80Ω分立端接到VTT

在1333Mb/s及更高速度下運行時,差分信號走線阻抗需要控制在80Ω,并且進行端接處理。低于1333Mb/s時,100Ω是可接受的。圖8適用于1333Mb/s及更高速率。

圖8、80Ω差分端接

對于CK_P/CLK_N差分時鐘,推薦端接方案如圖9所示。

圖9、CK時鐘端接

使用VTT電源時,必須小心管理來自端接的高頻電流。建議每四個端接使用一個1μF旁路電容,每25個端接使用一個100μF旁路電容。

地址和控制信號(A、BA、RAS、CAS、WE、CS、CKE、ODT)將通過板載DIMM終端終止。如果不存在DIMM終端或正在使用組件,則應(yīng)在線路遠端使用40Ω的上拉至VTT(圖6)。除了需要差分端接的CK/CK_N,如圖1-93所示??梢允褂肰CCO的80Ω分立式端接和GND的80Ω端接(圖7),但需要更多的功耗。對于雙向信號,需要在信號的兩端端接。ODT應(yīng)該在內(nèi)存端使用。為了在HP bank中獲得最佳性能,應(yīng)該使用DCI。為了在HR banks中獲得最佳性能,IN_TERM(內(nèi)部端接)需要使用。差分信號應(yīng)使用存儲設(shè)備內(nèi)部終端或負載處的80Ω差分終端進行端接(圖8)。對于雙向信號,需要在信號的兩端端接。ODT應(yīng)該在內(nèi)存端使用。為了在HP bank中獲得最佳性能,應(yīng)該使用DCI。為了在HR banks中獲得最佳性能,IN_TERM(內(nèi)部端接)需要使用。所有端接必須盡可能靠近負載。端接可以放置在負載之前或之后,前提是終端放置在負載引腳的小距離內(nèi)??赏ㄟ^模擬確定允許距離。在FPGA上需要DCI(HP bank)或IN_TERM(HR bank),以滿足指定的性能。

復(fù)位信號不需要端接。在內(nèi)存初始化過程中,該信號應(yīng)被拉低,并將一個4.7 kΩ的電阻器連接到GND(如圖5所示)。ODT端接是必需的,它在存儲器內(nèi)部進行端接。應(yīng)使用MIG工具指定存儲器系統(tǒng)的配置,以便正確設(shè)置模式寄存器。

如果DM不是由FPGA驅(qū)動的(未使用數(shù)據(jù)掩碼或禁用數(shù)據(jù)掩碼的情況),則應(yīng)將DM拉至GND。在這種情況下,用于DM的下拉電阻器的值不應(yīng)大于ODT值的四倍。

走線長度

該部分描述的走線長度要求主要用于高速操作。當(dāng)決定有效走線長度時應(yīng)考
封裝延遲,同一封裝內(nèi)的不同部分會有不同的內(nèi)部走線偏移(延遲)。

使用Vivado Design Suite生成封裝長度。以下命令生成一個csv文件,其中包含所考慮器件的每個管腳的封裝遲值。

link_design -part <part_number>
write_csv <file_name>

例如,要獲取7系列FPGA xc7z035ffg676-2的封裝延遲信息,在Vivado Tcl控制臺依次輸入以下命令:
link_design -part xc7z035ffg676-2

write_csv flight_time

這將生成一個名為flight_time.csv在當(dāng)前目錄中包含每個pin的封裝走線延遲信息。在對DDR3 SDRAM接口應(yīng)用特定的走線匹配準(zhǔn)則時,對于整個電氣傳播延遲,應(yīng)該考慮這個額外的封裝延遲時間。

圖10、封裝走線延遲文件flight_time.csv

當(dāng)在同一封裝中不同尺寸的芯片之間遷移時,同一封裝管腳可能會有不同的延遲。每個器件的延遲值都必須考慮在內(nèi),并且每個引腳都應(yīng)該使用延遲中值。否則,可能會降低目標(biāo)器件的最大性能。

DDR3 SDRAM信號之間最大電氣延遲如下:

任何DQ或DM與其相關(guān)DQS/DQS之間的最大電氣延遲必須≤±5ps。

任何地址和控制信號與相應(yīng)的CK/CK#之間的最大電延遲必須≤±25ps,8ps是最佳目標(biāo)。

CK/CK信號必須在DQS/DQS信號之后到達每個存儲器件。CK/CK與DQS/DQS之間允許的偏差范圍必須在0到1600ps之間。對于組件/UDIMM,CK/CK和DQS/DQS之間的建議偏差為150ps到1600ps,RDIMM為450ps到750ps,根據(jù)此要求進行設(shè)計時,必須考慮從FPGA到DIMM上的內(nèi)存組件的總CK/CK和DQS/DQS傳播延遲。

CK/CK必須在DQS/DQS之后到達每個內(nèi)存組件,以確保校準(zhǔn)可以將DQS/DQS與正確的CK/CK時鐘周期對齊。如果違反此規(guī)范,則會發(fā)現(xiàn)寫入校準(zhǔn)失敗。

如果存儲器接口未在最大頻率下運行,則可以增加指定的DQ到DQS偏移限制。表1顯示了這些情況下的最大余量值(±)??v軸是以Mb/s為單位的比特率

表1、DQ和DQS走線最大偏移

例如,如果FPGA -3等級速度器件,DDR3速率可達1866Mbps,當(dāng)使用DDR3存儲器以1600Mbps速度運行時,則根據(jù)表,DQ和DQS的偏差極限值為±31.3ps,如果接口以1066Mbp速率運行,則偏差極限值為±150ps。

類似地,如果存儲器接口沒有以最大頻率操作,則可以增加指定的CK到地址/控制時序偏差限制。表2顯示了這些情況下的余量極限(±)。

表2、CK和地址/控制信號走線最大偏移

例如,如果FPGA -3等級速度器件,DDR3速率可達1866Mbps,當(dāng)使用DDR3存儲器以1600Mbps速度運行時,則根據(jù)表,CK和地址/控制信號的偏差極限值為±94.1ps,如果接口以1066Mbp速率運行,則偏差極限值為±150ps。

另外,I/O Bank內(nèi)不同字節(jié)組內(nèi)偏移應(yīng)≤1ns。

05、I/O標(biāo)準(zhǔn)配置

XDC約束文件包含時序、管腳和I/O標(biāo)準(zhǔn)信息。系統(tǒng)時鐘約束設(shè)置接口的工作頻率,并通過MIG GUI進行設(shè)置。如果需要更改,則必須重新運行它,因為其他內(nèi)部參數(shù)會受到影響。例如:
create_clock -period 1.875 [get_ports sys_clk_p]clk_ref約束設(shè)置IDELAY參考時鐘的頻率,通常為200 MHz。例如:
create_clock -period 5 [get_ports clk_ref_p]

圖11、DDR3 I/O約束

MIG工具根據(jù)所選的數(shù)據(jù)速率和電壓輸入設(shè)置VCAUX_IO約束,如圖11所示。

這些規(guī)則適用于DDR3 SDRAM的I/O標(biāo)準(zhǔn)選擇:

MIG工具生成的設(shè)計使用SSTL15_T_DCI和DIFF_SSTL15_T_DCI標(biāo)準(zhǔn),用于HP Bank中的所有雙向I/O(DQ、DQ)。在HR Bank中,該工具使用SSTL15和DIFF_SSTL15標(biāo)準(zhǔn),并在GUI中選擇內(nèi)部終端(IN_TERM)屬性.

SSTL15和DIFF_SSTL15標(biāo)準(zhǔn)用于單向輸出,如控制/地址等;

LVCMOS15用于驅(qū)動至DDR3存儲器的復(fù)位信號RESET_N。

06、存儲器通用布線規(guī)則

在確定信號走線長度時,在布線約束中包括封裝延遲。當(dāng)封裝延遲的最小值和最大值可用時,使用最小值和最大值之間的中值。

同一字節(jié)(Byte)中的DQ和DQS信號應(yīng)在同一層從FPGA布線至DRAM,扇出區(qū)域除外。

對于Fly-by布線,地址、命令、控制和時鐘信號可以在不同的層上布線任何信號層交換過孔都需要在50mil周長范圍內(nèi)有一個接地過孔。

確保存儲器ODT設(shè)置與傳輸線阻抗匹配。

系統(tǒng)時鐘推薦設(shè)計如圖12所示。

圖12、系統(tǒng)時鐘推薦設(shè)計

6. 信號線必須參考連續(xù)參考平面布線,避免跨分割層布線(圖13)。

圖13、信號跨分割層布線

7. 使布線至少與參考平面保持30mil的距離,并離板邊一定距離。

8. 在扇出區(qū)域中,通路空隙孔中間的布線信號線。避免在通孔空隙邊緣布線。

圖14、扇出區(qū)域布線

9. 使用V字形布線,以允許使用地縫過孔。

圖15、地縫過孔

10. 在器件邊緣和器件內(nèi)部盡可能多地添加接地過孔,為信號和電源提供更好的接地回路,尤其是角落。

11.對于ADDR/CMD/CTRL VTT終端,每四個終端電阻器應(yīng)配備一個1.0μF電容器,在電阻器之間物理交錯。

圖16、ADD/CMD端接布局

12. 為了優(yōu)化信號路由,圖17中給出了一個組件布局的建議。

圖17、DDR優(yōu)化布局

圖18、5片DDR優(yōu)化布局

 

延伸閱讀:Artix-7 and Spartan-7 FPGAs DDR2/DDR3 PCB設(shè)計指導(dǎo)

Xilinx Virtex-6/Spartan-6 FPGA DDR3信號完整性分析和PCB布局指南

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
M1A3P250-FG144I 1 Microsemi FPGA & SoC Field Programmable Gate Array, 6144 CLBs, 250000 Gates, 350MHz, 6144-Cell, CMOS, PBGA144, 13X 13 MM, 1.45 MM HEIGHT, 1 MM PITCH, FBGA-144
暫無數(shù)據(jù) 查看
XC7A50T-2CSG324I 1 AMD Xilinx Field Programmable Gate Array, 4075 CLBs, 1286MHz, 52160-Cell, CMOS, PBGA324, BGA-324

ECAD模型

下載ECAD模型
$88.72 查看
EP4CE115F29I7N 1 Intel Corporation Field Programmable Gate Array, 7155 CLBs, 472.5MHz, 114480-Cell, PBGA780, 29 X 29 MM, 1 MM PITCH, LEAD FREE, FBGA-780
$517.65 查看
賽靈思

賽靈思

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產(chǎn)商。該公司發(fā)明了現(xiàn)場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導(dǎo)體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉(zhuǎn)型為All Programmable FPGA、 SoC 和 3D IC 的全球領(lǐng)先提供商。且行業(yè)領(lǐng)先的器件與新一代設(shè)計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機構(gòu)

賽靈思(英語:Xilinx)是一家位于美國的可編程邏輯器件的生產(chǎn)商。該公司發(fā)明了現(xiàn)場可編程邏輯門陣列,并由此成名。賽靈思還是第一個無廠半導(dǎo)體公司(Fabless)。28nm時代,賽靈思提出All Programmable 的概念,從單一的FPGA企業(yè)戰(zhàn)略轉(zhuǎn)型為All Programmable FPGA、 SoC 和 3D IC 的全球領(lǐng)先提供商。且行業(yè)領(lǐng)先的器件與新一代設(shè)計環(huán)境以及 IP 完美地整合在一起,可滿足客戶對可編程邏輯乃至可編程系統(tǒng)集成的廣泛需求賽靈思于1984年創(chuàng)建于美國加利福尼亞州的硅谷,總部位于硅谷核心的圣何塞,并在科羅拉多州、愛爾蘭、新加坡 印度、中國、日本擁有分支機構(gòu)收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

專注FPGA技術(shù)開發(fā),涉及Intel FPGA、Xilinx FPGA技術(shù)開發(fā),開發(fā)環(huán)境使用,代碼風(fēng)格、時序收斂、器件架構(gòu)以及軟硬件項目實戰(zhàn)開發(fā),個人公眾號:FPGA技術(shù)實戰(zhàn)。