How to use TI CCS to find the optimum RAM slave ratio with AM335x

如何使用 TI CCS 找出 RAM slave ration 的最佳參數


開始之前

以 TI AM335X RAM 的設定,個人認為可以分成 3 個大主題來談。


這邊主要是紀錄 DDR PHY registers 這個主題,如何使用 TI CSS 進行 software leveling 找出最佳的 slave ratio 參數。

環境設定

在進行 software leveling 前你需要準備好下列相關環境。



執行步驟


1. 完成 AM335X 的 GEL 檔案

GEL 檔案裡的參數,請依照自己客製化的硬體進行修改

2. 使用 CCS 進行連線

先將 JTAG 與待測物進行連接,啟動 CCS 後於 Target Configurations 中,新增 AM335X 的連線設定。

經測試連線,確定沒問題後,於該設定檔點擊滑鼠右鍵,執行 Launch Selected Configuration ,畫面便會切換到 CSS Debug 去。

Debug 視窗,於 CortxA8 的欄位,點及滑鼠右鍵 Connect Target

3. 載入 DDR3_slave_ratio_search_auto 和 GEL

這邊分別要將 GEL 和 DDR3_slave_ratio_search_auto.out 載入至待測物

DDR3_slave_ratio_search_auto
先於 Debug 視窗執行 CPU Reset (HW),接著將 DDR3_slave_ratio_search_auto 載入至待測物,步驟如下:
工具列:Run -> Load -> Load Program
GEL 檔案
工具列:Tools -> GEL Files

於 GEL Files 視窗,將準備好的 GEL 檔案載入至 CCS

4. 開始進行 software leveling

進行 software leveling 前,需將待測物進行初始化。如果你的 GEL 檔案是參考 TI 所修改過來,那步驟會類似如下:

工具列:Scripts -> AM335X System Initialization -> Initialization

初始化完成後,選取 Debug 視窗中的 main() at DDR3_slave_ratio_search_auto_AM335x.c 接著點擊 Resume ,在 Console 的視窗中便會開始運作該程式。

將 Ratio Seed spreadsheet 概算出來的數值,依據填入至 DDR3_slave_ratio_search_auto 程式中。

如果參數順利收斂的話,會產生類似下列的表格
***************************************************************
The Slave Ratio Search Program Values are...
***************************************************************
PARAMETER MAX | MIN | OPTIMUM | RANGE
***************************************************************
DATA_PHY_RD_DQS_SLAVE_RATIO 0x06f | 0x005 | 0x03a | 0x06a
DATA_PHY_FIFO_WE_SLAVE_RATIO 0x1dd | 0x05b | 0x11c | 0x182
DATA_PHY_WR_DQS_SLAVE_RATIO 0x0d3 | 0x064 | 0x09b | 0x06f
DATA_PHY_WR_DATA_SLAVE_RATIO 0x10a | 0x09c | 0x0d3 | 0x06e
***************************************************************

使用新參數

將 OPTIMUN 欄位的參數填入 RAM Initialization 的流程裡面就完成了調整。

此外,在 TI wiki 上面也有提到,這隻程式所計算出來的參數,基本上只要符合一個範圍即可,所以同一塊板子每次都會得都不同的參數值。

留言

這個網誌中的熱門文章

執行 StrongLifts 5x5 三個月心得

第一次教召就上手

瓶頸