本文作者:AMD 工程師 Sowmya Ramakrishnan
本篇博文提供了有關(guān) AMD Versal 自適應(yīng) SoC 中 eMMC 燒錄和啟動(dòng)設(shè)置的技巧和指南。它還可用于調(diào)試 eMMC 燒錄/啟動(dòng)失敗。提交服務(wù)申請(qǐng)個(gè)案前,應(yīng)先復(fù)查以下檢查表。
1. AMD 是否支持對(duì)此 eMMC 閃存器件進(jìn)行 Versal 啟動(dòng)和配置?
對(duì)于具有正式的業(yè)界規(guī)范的閃存器件(如 eMMC),我們遵循相應(yīng)的規(guī)范版本來提供器件支持,而不是通過枚舉每個(gè)特定制造商、制造商家族和器件的部件號(hào)來提供支持。這樣即可在初始閃存選擇以及長(zhǎng)期設(shè)計(jì)維護(hù)方面為設(shè)計(jì)師提供廣泛的可能性。
下表來自 UG908。Versal 中的 eMMC 接口支持 1.8V 下的 eMMC 規(guī)格版本 4.51。
https://docs.amd.com/r/en-US/ug908-vivado-programming-debugging/Versal-Configuration-Memory-Devices

AMD Versal 和 AMD UltraScale+ MPSoC 與其他先前架構(gòu)之間的區(qū)別在于 Versal 中沒有 NAND。eMMC1 模式取代了 NAND 模式,在提供相似性能的同時(shí)減少了管腳數(shù)。

下方設(shè)計(jì)咨詢答復(fù)記錄 (DAAR) 描述了在 eMMC 器件中觀察到的一個(gè)問題,此類器件要求 CMD6 R1b 繁忙時(shí)間大于 1 ms,這導(dǎo)致主啟動(dòng)失敗。
設(shè)計(jì)咨詢答復(fù)記錄 (DAAR) :
https://docs.amd.com/r/en-US/000034596/000034596-Design-Advisory-for-Zynq-UltraScale-MPSoC/RFSoC-and-Versal-Primary-Boot-failure-with-some-eMMC-parts
雖然目前在 Versal 器件中尚未報(bào)告任何操作失敗,但認(rèn)識(shí)此問題并查閱 Versal 的關(guān)聯(lián)勘誤表文檔是非常重要的。
2. PCB 準(zhǔn)則和硬件注意事項(xiàng)
下一步是檢查 PCB 和開發(fā)板硬件。
AMD 參考板/評(píng)估板:
如果您當(dāng)前使用的是 AMD 參考板,那么下列建議均已納入考量。對(duì)于 AMD 參考板,建議運(yùn)行 BEAM/BIT 工具以檢查開發(fā)板/硬件完整性。請(qǐng)參閱相應(yīng)產(chǎn)品指南以獲取更多信息。您可跳至下一章節(jié)。
其他(定制)開發(fā)板:
UG863 中“SD/SDIO/eMMC”主題下的“eMMC”節(jié)包含 Versal 器件的印刷電路板 (PCB) 布局、設(shè)計(jì)考慮因素以及靜態(tài)時(shí)序分析指南和公式。請(qǐng)確保您的定制 PCB 遵循 UG863 中列出的建議。 這些建議提供了有助于最大程度優(yōu)化性能的準(zhǔn)則。
UG863:
https://docs.amd.com/r/en-US/ug863-versal-pcb-design/SD/SDIO/eMMC
對(duì)于靜態(tài)時(shí)序分析,在《DC 和 AC 開關(guān)特性》數(shù)據(jù)手冊(cè) (DS956-DS959) 的“PMC eMMC 控制器接口”章節(jié)中包含相應(yīng)器件家族的 eMMC 接口的時(shí)序要求。DH0092 的“數(shù)據(jù)手冊(cè)”部分列出了可用的 Versal 子家族。請(qǐng)務(wù)必參考適用于您的器件的數(shù)據(jù)手冊(cè)。 另外,還應(yīng)參考相應(yīng)閃存的數(shù)據(jù)手冊(cè),確保時(shí)序得到滿足。
DH0092:
https://docs.amd.com/v/u/en-US/dh0092-versal-boot-config
PCB 走線延遲取決于特定 PCB 的材料和走線寬度。
Issue 需要注意的是,為了確保 PCB 上的信號(hào)完整性正確無誤,必須確保 Versal 器件的近端或遠(yuǎn)端沒有任何反射??梢栽?eMMC 時(shí)鐘、命令和數(shù)據(jù)線路上布局 30 ohm 串聯(lián)終端電阻器,并使其盡可能靠近 Versal 自適應(yīng) SoC。
出于信號(hào)完整性考量,請(qǐng)確保對(duì) IBIS 模型仿真進(jìn)行復(fù)查。時(shí)鐘與數(shù)據(jù)信號(hào)完整性對(duì)于 eMMC 器件正常工作至關(guān)重要,運(yùn)行速度越高,其重要性越高。
Versal 自適應(yīng) SoC 上有兩個(gè) SD_eMMC 控制器。SD_eMMC 控制器可用于 SD 或 eMMC 模式,它們互斥。SD_eMMC1 控制器用于 eMMC v4.51 啟動(dòng)模式。在 eMMC1 啟動(dòng)模式下,根據(jù) REF_CLK 頻率,RCU BootROM 以 8.7 MHz 到 19.3 MHz 之間的 eMMC1 器件時(shí)鐘頻率運(yùn)行。eMMC1 啟動(dòng)模式支持 1.8V 以及 1 位、4 位和 8 位數(shù)據(jù)接口,時(shí)鐘頻率最高可達(dá) 200 MHz。BootROM 使用自動(dòng)寬度檢測(cè)來判定初始啟動(dòng)的數(shù)據(jù)總線寬度。自動(dòng)總線寬度檢測(cè)首先檢查 8 位數(shù)據(jù)總線寬度,然后是 4 位數(shù)據(jù)總線寬度,最后是 1 位數(shù)據(jù)總線寬度。
有三種操作模式:
25 MHz 下的傳統(tǒng) MMC 速度模式
50 MHz 下的高速 SDR 模式和 DDR 模式
200 MHz 下的 HS200 模式,數(shù)據(jù)率最高可達(dá) 1600 Mb/s
請(qǐng)復(fù)查《AM011》的 MIO 連接選項(xiàng),確保遵循相關(guān)選項(xiàng)設(shè)置。若以 eMMC 作為主啟動(dòng)選項(xiàng),須使用 PMC MIO Bank 500 的 MIO 0-11。
AM001:
https://docs.amd.com/r/en-US/am011-versal-acap-trm/PMC-MIO-Pin-Tables
SD_eMMC0 控制器不支持 eMMC 主啟動(dòng)。
3. MIO 和時(shí)鐘配置
下一步是檢查 MIO 和時(shí)鐘配置。
MIO 配置
確保選中 SD1/eMMC1 啟動(dòng)模式,并確保將總線位置更改為 PMC MIO 0-11 以進(jìn)行啟動(dòng)。


復(fù)位配置
控制器可以通過 PMC 復(fù)位控制器進(jìn)行復(fù)位,或通過寫入控制器的軟件復(fù)位寄存器來復(fù)位。PMC 復(fù)位會(huì)影響整個(gè)控制器,并將所有寄存器設(shè)置為其復(fù)位默認(rèn)狀態(tài)。
可以使用 powercontrol [emmc_hwreset] 寄存器位來復(fù)位連接的 eMMC 卡。

時(shí)鐘配置
SD/eMMC 控制器具有以下三個(gè)從 PMC 時(shí)鐘控制器接收的系統(tǒng)時(shí)鐘:
用于 DIV_CLK 模塊和控制器的 SDx_REF_CLK 參考時(shí)鐘
用于 SD DLL 模塊的 SD_DLL_REF_CLK 參考時(shí)鐘
控制器邏輯始終由 10 位分頻器的 DIV_CLK 輸出提供時(shí)鐘,該分頻器由 SDx_REF_CLK 參考時(shí)鐘信號(hào)提供時(shí)鐘。
然后,該控制器支持廣泛的 I/O 時(shí)鐘頻率。
整體時(shí)鐘架構(gòu)圖如下所示:

根據(jù)所需的 I/O 時(shí)鐘頻率,該控制器始終從以下兩個(gè)可能的源之一來驅(qū)動(dòng) I/O 接口時(shí)鐘 SDx_CLK:分別是來自時(shí)鐘分頻器的 DIV_CLK 和三個(gè) DLL 模塊時(shí)鐘。
該控制器的 I/O 時(shí)鐘模式為:

1.傳統(tǒng) MMC 速度與默認(rèn) MMC 速度相關(guān)。
2.默認(rèn)情況下,eMMC 僅以傳統(tǒng) MMC 速度模式啟動(dòng)。軟件驅(qū)動(dòng)程序可以切換到高速模式以獲得更高的吞吐量。
3.吞吐量基于 8 位 I/O 接口寬度。
MIO 默認(rèn)設(shè)置
在 Versal 器件中,使用的 MIO 采用以下默認(rèn)設(shè)置。
默認(rèn)驅(qū)動(dòng)強(qiáng)度 (12 mA)
默認(rèn)斜率 (slow)
默認(rèn)弱上拉 (enabled)
啟用 Schmitt 觸發(fā)器輸入
這些設(shè)置可在 AMD Vivado Design Suite 中更改。

-
amd
+關(guān)注
關(guān)注
25文章
5686瀏覽量
140002 -
emmc
+關(guān)注
關(guān)注
7文章
263瀏覽量
56025 -
燒錄
+關(guān)注
關(guān)注
8文章
317瀏覽量
37101 -
Versal
+關(guān)注
關(guān)注
1文章
175瀏覽量
8479
原文標(biāo)題:開發(fā)者分享 | AMD Versal? 自適應(yīng) SoC:eMMC 燒錄/啟動(dòng)調(diào)試檢查表(上)
文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
在AMD Versal自適應(yīng)SoC上使用QEMU+協(xié)同仿真示例
使用Aurora 6466b協(xié)議實(shí)現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應(yīng)SoC的對(duì)接
【ALINX 技術(shù)分享】AMD Versal AI Edge 自適應(yīng)計(jì)算加速平臺(tái)之 Versal 介紹(2)
AMD Versal自適應(yīng)SoC中eMMC燒錄/啟動(dòng)調(diào)試檢查表(下)
AMD Versal自適應(yīng)SoC內(nèi)置自校準(zhǔn)的工作原理
常規(guī)的PCB設(shè)計(jì)檢查表
Versal 自適應(yīng)SoC設(shè)計(jì)指南
Versal自適應(yīng)SoC系統(tǒng)集成和 確認(rèn)方法指南
AMD率先推出符合DisplayPort? 2.1 8K視頻標(biāo)準(zhǔn)的FPGA和自適應(yīng)SoC
AMD Versal自適應(yīng)SoC CPM5 QDMA的Tandem PCIe啟動(dòng)流程介紹
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(上)
AMD Versal自適應(yīng)SoC器件Advanced Flow概覽(下)
AMD Versal自適應(yīng)SoC中eMMC燒錄/啟動(dòng)調(diào)試檢查表(上)
評(píng)論