智能融合2
DDR 控制器和串行高速控制器
初始化方法
使用者指南
介紹
使用 SmartFusion2 設備創建設計時,如果您使用兩個 DDR 控制器(FDDR 或 MDDR)之一或任何串行高速控制器 (SERDESIF) 塊,則必須在運行時初始化這些塊的配置寄存器他們可以使用。 對於前amp例如,對於 DDR 控制器,您必須設置 DDR 模式 (DDR3/DDR2/LPDDR)、PHY 寬度、突發模式和 ECC。
同樣,對於用作 PCIe 端點的 SERDESIF 塊,您必須將 PCIE BAR 設置為 AXI(或 AHB)窗口。
本文檔描述了創建 Libero 設計的必要步驟,該設計在加電時自動初始化 DDR 控制器和 SERDESIF 塊。 它還描述瞭如何從嵌入式設計流程中使用的 Libero SOC 生成固件代碼。
首先提供操作理論的詳細描述。
下一節將介紹如何使用 Libero SoC System Builder 創建這樣的設計,這是一個功能強大的設計工具,如果您在設計中使用 DDR 或 SERDESIF 塊,除其他功能外,它還可以為您創建“初始化”解決方案。
下一節將介紹如何在不使用 SmartFusion2 System Builder 的情況下將完整的“初始化”解決方案放在一起。 這有助於解釋如果您不想使用系統生成器需要做什麼,並且還描述了系統生成器工具實際為您生成的內容。 本節介紹:
- 為 DDR 控制器和 SERDESIF 配置寄存器創建配置數據
- 創建將配置數據傳輸到不同 ASIC 配置寄存器所需的 FPGA 邏輯
最後我們描述生成的 file與以下相關:
- 創建固件“初始化”解決方案。
- DDR“初始化”解決方案的設計仿真。
有關 DDR 控制器和 SERDESIF 配置寄存器的詳細信息,請參閱 Microsemi SmartFusion2 高速串行和 DDR 接口用戶指南。
操作原理
外設初始化解決方案使用以下主要組件:
- CMSIS SystemInit() 函數,它在 Cortex-M3 上運行並協調初始化過程。
- CoreConfigP 軟 IP 內核,用於初始化外設的配置寄存器。
- CoreResetP 軟核 IP,它管理 MSS、DDR 控制器和 SERDESIF 塊的複位序列。
外設初始化流程如下:
- 復位後,Cortex-M3 運行 CMSIS SystemInit() 函數。 該函數在應用程序的 main() 函數執行之前自動執行。
CoreResetP 輸出信號 MSS_HPMS_READY 在初始化過程開始時被置位,表示 MSS 和所有外設(MDDR 除外)已準備好進行通信。 - SystemInit() 函數通過 MSS FIC_2 APB3 總線將配置數據寫入 DDR 控制器和 SERDESIF 配置寄存器。 該接口連接到在 FPGA 架構中實例化的軟核 CoreConfigP。
- 所有寄存器配置完成後,SystemInit()函數寫入CoreConfigP控制寄存器,表示寄存器配置階段完成; CoreConfigP 輸出信號 CONFIG1_DONE 和 CONIG2_DONE 然後被斷言。
根據設計中使用的外設,寄存器配置有兩個階段(CONFIG1 和 CONFIG2)。 - 如果使用 MDDR/FDDR 中的一個或兩個,並且在設計中沒有使用任何 SERDESIF 塊,則只有一個寄存器配置階段。 CoreConfigP 輸出信號 CONFIG1_DONE 和 CONIG2_DONE 都在沒有任何等待/延遲的情況下一個接一個地被斷言。
如果在設計中使用一個或多個非PCIe模式下的SERDESIF塊,則只有一個階段的寄存器配置。 CONFIG1_DONE 和 CONIG2_DONE 一個接一個斷言,沒有任何等待/延遲。
如果在設計中使用了一個或多個PCIe模式下的SERDESIF塊,則寄存器配置有兩個階段。 CONFIG1_DONE 在寄存器配置的第一階段完成後置位。 SERDESIF 系統和通道寄存器在此階段進行配置。 如果 SERDESIF 配置為非 PCIE 模式,CONFIG2_DONE 信號也會立即生效。 - 接下來是寄存器配置的第二階段(如果 SERDESIF 配置為 PCIE 模式)。 以下是第二階段發生的不同事件:
– CoreResetP 取消斷言對應於每個使用的 SERDESIF 塊的 PHY_RESET_N 和 CORE_RESET_N 信號。 它還會在所有 SERDESIF 塊退出複位後斷言輸出信號 SDIF_RELEASED。 此 SDIF_RELEASED 信號用於向 CoreConfigP 指示 SERDESIF 內核已退出複位並準備好進行第二階段的寄存器配置。
– 一旦 SDIF_RELEASED 信號被斷言,SystemInit() 函數開始輪詢以在適當的 SERDESIF 通道上斷言 PMA_READY。 PMA_READY 置位後,第二組 SERDESIF 寄存器(PCIE 寄存器)由 SystemInit() 函數配置/寫入。 - 所有PCIE寄存器配置完成後,SystemInit()函數寫入CoreConfigP控制寄存器,表示第二階段寄存器配置完成; 然後斷言 CoreConfigP 輸出信號 CONIG2_DONE。
- 除了上述信號斷言/解除斷言之外,CoreResetP 還通過執行以下功能來管理各種塊的初始化:
– 取消斷言 FDDR 內核復位
– 解除 SERDESIF 塊 PHY 和 CORE 復位
– 監視 FDDR PLL (FPLL) 鎖定信號。 FPLL 必須已鎖定以保證 FDDR AXI/AHBLite 數據接口和 FPGA 結構可以正確通信。
– 監視 SERDESIF 塊 PLL (SPLL) 鎖定信號。 SPLL 必須鎖定以保證 SERDESIF 模塊 AXI/AHBLite 接口(PCIe 模式)或 XAUI 接口可以與 FPGA 結構正確通信。
– 等待外部 DDR 存儲器穩定並準備好被 DDR 控制器訪問。 - 當所有外設都完成初始化後,CoreResetP 置位 INIT_DONE 信號; 然後斷言 CoreConfigP 內部寄存器 INIT_DONE。
如果使用 MDDR/FDDR 之一或兩者,並且達到 DDR 初始化時間,則 CoreResetP 輸出信號 DDR_READY 被置位。 可以監視此信號 DDR_READY 的斷言,作為 DDR (MDDR/FDDR) 已準備好進行通信的指示。
如果使用一個或多個 SERDESIF 塊,並且寄存器配置的第二階段成功完成,則 CoreResetP 輸出信號 SDIF_READY 被置位。 可以監視此信號 SDIF_READY 的斷言,作為所有 SERDESIF 塊都已準備好進行通信的指示。 - 一直在等待 INIT_DONE 置位的 SystemInit() 函數完成,並執行應用程序的 main() 函數。 那時,所有使用的 DDR 控制器和 SERDESIF 塊都已初始化,固件應用程序和 FPGA 架構邏輯可以與它們可靠地通信。
本文檔中描述的方法依賴於 Cortex-M3 執行初始化過程,作為在應用程序的 main() 函數之前執行的系統初始化代碼的一部分。
FDDR/MDDR、SEREDES(非PCIe模式)和SERDES(PCIe模式)的初始化步驟見圖1-1、圖1-2和圖1-3的流程圖。
圖 1-4 顯示了外設初始化時序圖。
![]() |
![]() |
圖 1-3 • SERDESIF (PCIe) 初始化流程圖
本文檔中描述的初始化過程要求您在初始化過程中運行 Cortex-M3,即使您不打算在 Cortex-M3 上運行任何代碼。 您必須創建一個什麼都不做的基本固件應用程序(一個簡單的循環,例如ample) 並將該可執行文件加載到嵌入式非易失性存儲器 (eNVM) 中,以便在 Cortex-M3 啟動時初始化 DDR 控制器和 SERDESIF 塊。
使用 System Builder 創建使用 DDR 和 SERDESIF 模塊的設計
SmartFusion2 System Builder 是一款功能強大的設計工具,可幫助您捕獲系統級需求並生成實現這些需求的設計。 System Builder 的一個非常重要的功能是自動創建 Peripheral Initialization 子系統。 第 17 頁的“使用 SmartDesign 創建一個使用 DDR 和 SERDESIF 塊的設計”詳細描述瞭如何在沒有系統構建器的情況下創建這樣一個解決方案。
如果您使用的是 System Builder,則必須執行以下任務來創建一個在加電時初始化 DDR 控制器和 SERDESIF 模塊的設計:
- 在 Device Features 頁面(圖 2-1)中,指定在您的設計中使用了哪些 DDR 控制器以及使用了多少 SERDESIF 塊。
- 在內存頁面中,指定 DDR 類型 (DDR2/DDR3/LPDDR) 和外部 DDR 內存的配置數據。 有關詳細信息,請參閱內存頁面部分。
- 在外圍設備頁面中,將配置為 AHBLite/AXI 的架構主控添加到架構 DDR 子系統和/或 MSS DDR FIC 子系統(可選)。
- 在 Clock Settings 頁面中,指定 DDR 子系統的時鐘頻率。
- 完成您的設計規範並單擊完成。 這會生成系統構建器創建的設計,包括“初始化”解決方案所需的邏輯。
- 如果您正在使用 SERDESIF 模塊,則必須在您的設計中實例化 SERDESIF 模塊並將它們的初始化端口連接到 System Builder 生成的內核的端口。
系統構建器設備功能頁面
在 Device Features 頁面中,指定使用了哪些 DDR 控制器(MDDR 和/或 FDDR)以及在您的設計中使用了多少 SERDESIF 塊(圖 2-1)。
圖 2-1 • System Builder 設備功能頁面
系統生成器內存頁
要使用 MSS DDR (MDDR) 或結構 DDR (FDDR),請從下拉列表中選擇內存類型(圖 2-2)。
圖 2-2 • MSS 外部存儲器
您必須:
- 選擇 DDR 類型(DDR2、DDR3 或 LPDDR)。
- 定義 DDR 內存穩定時間。 請查閱您的外部 DDR 內存規格以設置正確的內存設置時間。 如果內存穩定時間設置不正確,DDR 內存可能無法正確初始化。
- 導入 DDR 寄存器配置數據或設置 DDR 內存參數。 有關詳細信息,請參閱 Microsemi SmartFusion2 高速串行和 DDR 接口用戶指南.
此數據用於生成 DDR 寄存器 BFM 和固件配置 file如第 26 頁“創建和編譯固件應用程序”和“BFM Files 用於模擬設計”(第 27 頁)。有關 DDR 控制器配置寄存器的詳細信息,請參閱 Microsemi SmartFusion2 高速串行和 DDR 接口用戶指南。
前任amp配置文件 file 語法如圖 2-3 所示。 在此使用的寄存器名稱 file 與那些在描述相同 Microsemi SmartFusion2 高速串行和 DDR 接口用戶指南
圖 2-3 • 配置 File 語法例ample
System Builder 外設頁面
在 Peripherals 頁面中,為每個 DDR 控制器創建了一個單獨的子系統(FDDR 的結構 DDR 子系統和 MDDR 的 MSS DDR FIC 子系統)。 您可以將 Fabric AMBA Master(配置為 AXI/AHBLite)內核添加到這些子系統中的每一個,以啟用 Fabric Master 對 DDR 控制器的訪問。 生成後,System Builder 會自動實例化總線內核(取決於添加的 AMBA Master 的類型)並將總線內核的主 BIF 以及相應子系統 (FDDR/MDDR) 的時鐘和復位引腳暴露在適當的引腳組下,以頂部。 您所要做的就是將 BIF 連接到您將在設計中實例化的適當 Fabric Master 內核。 在 MDDR 的情況下,可選擇將 Fabric AMBA 主內核添加到 MSS DDR FIC 子系統; Cortex-M3 是該子系統的默認主控。 圖 2-4 顯示了系統構建器外設頁面。
圖 2-4 • System Builder 外設頁面
系統生成器時鐘設置頁面
在時鐘設置頁面中,對於每個 DDR 控制器,您必須指定與每個 DDR(MDDR 和/或 FDDR)子系統相關的時鐘頻率。
對於 MDDR,您必須指定:
- MDDR_CLK – 該時鐘決定了 DDR 控制器的工作頻率,並且應該與您希望外部 DDR 存儲器運行的時鐘頻率相匹配。 該時鐘定義為 M3_CLK(Cortex-M3 和 MSS 主時鐘,圖 2-5)的倍數。 MDDR_CLK 必須小於 333 MHz。
- DDR_FIC_CLK – 如果您還選擇從 FPGA 架構訪問 MDDR,則需要指定 DDR_FIC_CLK。 此時鐘頻率定義為 MDDR_CLK 的比率,並且應與訪問 MDDR 的 FPGA 結構子系統運行的頻率相匹配。
圖 2-5 • Cortex-M3 和 MSS 主時鐘; MDDR 時鐘
對於 FDDR,您必須指定:
- FDDR_CLK – 確定 DDR 控制器的工作頻率並且應該與您希望外部 DDR 存儲器運行的時鐘頻率相匹配。 請注意,此時鐘定義為 M3_CLK(MSS 和 Cortex-M3 時鐘,圖 2-5)的倍數。 FDDR_CLK 必須在 20 MHz 和 333 MHz 之間。
- FDDR_SUBSYSTEM_CLK – 此時鐘頻率定義為 FDDR_CLK 的比率,並且應與訪問 FDDR 的 FPGA 架構子系統運行的頻率相匹配。
圖 2-6 • 架構 DDR 時鐘
SERDESIF 配置
SERDESIF 塊未在 System Builder 生成的設計中實例化。 然而,對於所有 SERDESIF 塊,初始化信號在 System Builder 內核的接口處可用,並且可以連接到下一層的 SERDESIF 內核,如圖 2-7 所示。圖 2-7 • SERDESIF 外設初始化連接
與 DDR 配置寄存器類似,每個 SERDES 塊也有必須在運行時加載的配置寄存器。 您可以導入這些寄存器值或使用高速串行接口配置器(圖 2-8)輸入您的 PCIe 或 EPCS 參數,寄存器值會自動為您計算。 有關詳細信息,請參閱 SERDES 配置器用戶指南.圖 2-8 • 高速串行接口配置器
將用戶邏輯與 System Builder 塊和 SERDES 塊集成後,您可以生成頂層 SmartDesign。 這會生成所有 HDL 和 BFM file這些是實現和模擬您的設計所必需的。 然後您可以繼續設計流程的其餘部分。
使用 SmartDesign 創建使用 DDR 和 SERDESIF 模塊的設計
本節介紹如何在不使用 SmartFusion2 System Builder 的情況下將完整的“初始化”解決方案放在一起。 目的是幫助您了解如果您不想使用系統生成器必須做什麼。 本節還介紹了系統生成器工具實際為您生成的內容。 本節介紹如何:
- 輸入 DDR 控制器和 SERDESIF 配置寄存器的配置數據。
- 實例化並連接將配置數據傳輸到 DDR 控制器和 SERDESIF 配置寄存器所需的結構內核。
DDR 控制器配置
MSS DDR (MDDR) 和結構 DDR (FDDR) 控制器必須動態配置(在運行時)以匹配外部 DDR 內存配置要求(DDR 模式、PHY 寬度、突發模式、ECC 等)。 在 MDDR/FDDR 配置器中輸入的數據通過 CMSIS SystemInit() 函數寫入 DDR 控制器配置寄存器。 配置器具有三個不同的選項卡,用於輸入不同類型的配置數據:
- 一般數據(DDR 模式、數據寬度、時鐘頻率、ECC、結構接口、驅動強度)
- 內存初始化數據(突髮長度、突發順序、時序模式、延遲等)
- 內存時序數據
請參閱外部 DDR 存儲器的規格並配置 DDR 控制器以滿足外部 DDR 存儲器的要求。
有關 DDR 配置的詳細信息,請參閱 SmartFusion2 MSS DDR 配置用戶指南。
SERDESIF 配置
雙擊 SmartDesign 畫布中的 SERDES 塊以打開配置器以配置 SERDES(圖 3-1)。 您可以導入這些寄存器值或使用 SERDES 配置器輸入您的 PCIe 或 EPCS 參數,寄存器值會自動為您計算。 有關詳細信息,請參閱 SERDES 配置器用戶指南.圖 3-1 • 高速串行接口配置器
創建 FPGA 設計初始化子系統
要初始化 DDR 和 SERDESIF 模塊,您必須在 FPGA 架構中創建初始化子系統。 FPGA 結構初始化子系統將數據從 Cortex-M3 移動到 DDR 和 SERDESIF 配置寄存器,管理這些塊運行所需的複位序列,並在這些塊準備好與您的設計的其餘部分通信時發出信號。 要創建初始化子系統,您必須:
- 在 MSS 中配置 FIC_2
- 實例化和配置 CoreConfigP 和 CoreResetP 內核
- 實例化片上 25/50MHz RC 振盪器
- 實例化系統重置 (SYSRESET) 宏
- 將這些組件連接到每個外設的配置接口、時鐘、復位和 PLL 鎖定端口
MSS FIC_2 APB 配置
配置 MSS FIC_2:
- 從 MSS 配置器打開 FIC_2 配置器對話框(圖 3-2)。
- 選擇使用 Cortex-M3 初始化外設。
- 根據您的系統,選中以下一個或兩個複選框:
– 內存存儲內存
– 結構 DDR 和/或 SERDES 塊 - 單擊“確定”並繼續生成 MSS(您可以推遲此操作,直到根據您的設計要求完全配置 MSS)。 FIC_2 端口(FIC_2_APB_MASTER、FIC_2_APB_M_PCLK 和 FIC_2_APB_M_RESET_N)現在暴露在 MSS 接口上,可以連接到 CoreConfigP 和 CoreResetP 內核。
圖 3-2 • MSS FIC_2 配置器
核心配置P
配置 CoreConfigP:
- 將 CoreConfigP 實例化到您的 SmartDesign 中(通常是實例化 MSS 的那個)。
這個內核可以在 Libero 目錄中找到(在外圍設備下)。 - 雙擊內核打開配置器。
- 配置內核指定需要初始化哪些外設(圖3-3)
圖 3-3 • CoreConfigP 對話框
核心復位P
配置 CoreResetP:
- 將 CoreResetP 實例化到您的 SmartDesign 中(通常是實例化 MSS 的那個)。
該內核可在外圍設備下的 Libero 目錄中找到。 - 雙擊 SmartDesign Canvas 中的內核以打開配置器(圖 3-4)。
- 配置核心:
– 指定外部復位行為(EXT_RESET_OUT 斷言)。 選擇以下四個選項之一:
o EXT_RESET_OUT 從未斷言
o 如果上電複位 (POWER_ON_RESET_N) 有效,則 EXT_RESET_OUT 有效
o 如果 FAB_RESET_N 被斷言,則 EXT_RESET_OUT 被斷言
o 如果上電複位 (POWER_ON_RESET_N) 或 FAB_RESET_N 被斷言,則 EXT_RESET_OUT 被斷言
– 指定設備卷tage. 所選值應與音量匹配tag您在 Libero 項目設置對話框中選擇了 e。
– 選中相應的複選框以指示您在設計中使用的外設。
– 指定外部 DDR 存儲器設置時間。 這是應用程序中使用的所有 DDR 存儲器(MDDR 和 FDDR)的最大值。 請參閱外部 DDR 內存供應商數據表來配置此參數。 對於以 200MHz 運行的 DDR2 和 DDR3 內存,200us 是一個很好的默認值。 這是保證矽上工作仿真和工作系統的一個非常重要的參數。 穩定時間的錯誤值可能會導致仿真錯誤。 請參閱 DDR 內存供應商數據表來配置此參數。
– 對於您設計中的每個 SERDES 塊,選中相應的框以指示是否:
o 使用 PCIe
o 需要支持 PCIe 熱復位
o 需要支持 PCIe L2/P2
筆記: 如果您使用的是 090 芯片 (M2S090) 並且您的設計使用 SERDESIF,則無需選中以下任何復選框:“用於 PCIe”、“包括 PCIe 熱復位支持”和“包括 PCIe L2/P2 支持”。 如果您使用任何非 090 設備並使用一個或多個 SERDESIF 塊,則必須選中相應 SERDESIF 部分下的所有四個複選框。
筆記: 有關此配置器中可用選項的詳細信息,請參閱 CoreResetP 手冊。
圖 3-4 • CoreResetPConfigurator
25/50MHz 振盪器例化
CoreConfigP 和 CoreResetP 由片上 25/50MHz RC 振盪器提供時鐘。 您必須實例化一個 25/50MHz 振盪器並將其連接到這些內核。
- 將芯片振盪器內核實例化到您的 SmartDesign 中(通常是實例化 MSS 的那個)。 這個核心可以在 Clock & Management 下的 Libero Catalog 中找到。
- 配置該內核,使 RC 振盪器驅動 FPGA 架構,如圖 3-5 所示。
圖 3-5 • 芯片振盪器配置器
系統復位 (SYSRESET) 實例化
SYSRESET 宏為您的設計提供設備級復位功能。 只要芯片上電或外部引腳 DEVRST_N 有效/無效,POWER_ON_RESET_N 輸出信號就會有效/無效(圖 3-6)。
將 SYSRESET 宏實例化到您的 SmartDesign(通常是實例化 MSS 的地方)。 該宏可以在宏庫下的 Libero 目錄中找到。無需配置該宏。
圖 3-6 • SYSRESET 宏
整體連通性
在設計中實例化和配置 MSS、FDDR、SERDESIF、OSC、SYSRESET、CoreConfigP 和 CoreResetP 內核後,您需要連接它們以形成外設初始化子系統。 為了簡化本文檔中的連接描述,它分為與 CoreConfigP 相關的 APB3 兼容配置數據路徑連接和 CoreResetP 相關連接。
配置數據路徑連接
圖 3-7 顯示瞭如何將 CoreConfigP 連接到 MSS FIC_2 信號和外設的 APB3 兼容配置接口。
表 3-1 • 配置數據路徑端口/BIF 連接
從 端口/總線接口 (BIF)/ 組件 |
到 端口/總線接口 (BIF)/組件 |
||
APB S 預設 N/ CoreConfigP | APB S 預設 N/ SDIF<0/1/2/3> | APB S 預設 N/ 快速DDR |
MDDR APB S PRESE TN/MSS |
APB S PCLK/ CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/MSS |
MDDR APBmslave/ 核心配置 | MDDR APB 從站 (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/配置 | APB 從機 (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBms從站 | APB 從機 (BIF)/ FDDR | ||
FIC 2 APBmmaster/ CoreConfigP | FIC 2 APB 主/MSS |
圖 3-7 • FIC_2 APB3 子系統連接
時鐘和重置連接
圖 3-8 顯示瞭如何將 CoreResetP 連接到外部復位源和外設的內核復位信號。 它還展示瞭如何將 CoreResetP 連接到外設的時鐘同步狀態信號(PLL 鎖定信號)。 此外,它還顯示了 CoreConfigP 和 CoreResetP 是如何連接的。
圖 3-8 • 核心 SF2Reset 子系統連接
創建和編譯固件應用程序
當您從 LiberoSoC 導出固件時(Design Flow Window > Export Firmware > Export Firmware),Libero 生成以下內容 file在/firmware/drivers_config/ sys_config 文件夾:
- 系統配置文件 – 包含保存外設寄存器值的數據結構。
- 系統配置.h – 包含#define 語句,指定設計中使用哪些外設並需要對其進行初始化。
- sys_config_mddr_define.h – 包含在寄存器配置對話框中輸入的 MDDR 控制器配置數據。
- sys_config_fddr_define.h – 包含在寄存器配置對話框中輸入的 FDDR 控制器配置數據。
- sys_config_mss_clocks.h - 這 file 包含 MSS CCC 配置器中定義的 MSS 時鐘頻率。 CMSIS 代碼使用這些頻率為許多必須訪問其外設時鐘 (PCLK) 頻率的 MSS 驅動程序提供正確的時鐘信息(例如,MSS UART 波特率除數是波特率和 PCLK 頻率的函數).
- sys_config_SERDESIF_ 。C – 包含 SERDESIF_ SERDESIF_期間提供的註冊配置數據設計創建中的塊配置。
- sys_config_SERDESIF_ 。H – 包含指定寄存器配置對的數量和需要為 PMA_READY 輪詢的通道號的#define 語句(僅在 PCIe 模式下)。
這些 fileCMSIS 代碼需要 s 才能正確編譯並包含有關您當前設計的信息,包括 MSS 的外設配置數據和時鐘配置信息。
不要編輯這些 file手動; 每次生成包含相應外設的 SmartDesign 組件時,它們都會創建到相應的組件/外設目錄中。 如果對任何外設的配置數據進行了更改,則需要重新導出固件項目,以便更新後的固件 files(見上面的列表)被導出到/firmware/drivers_config/sys_config 文件夾。
當您導出固件時,Libero SoC 會創建固件項目:您的設計配置所在的庫 files和驅動程序被編譯。
如果您檢查創建項目導出固件時選中復選框,將創建一個軟件 SoftConsole/IAR/Keil 項目來保存應用程序項目,您可以在其中編輯 main.c 和用戶 C/H file秒。 打開 SoftConSole/IAR/Keil 項目以正確編譯 CMSIS 代碼並正確配置您的固件應用程序以匹配您的硬件設計。
BFM Files 用於模擬設計
當您生成包含與您的設計相關的外設的 SmartDesign 組件時,仿真 file對應各個外設的s在生成/仿真目錄:
- 測試.bfm – 頂級 BFM file 這是在任何運行 SmartFusion2 MSS Cortex-M3 處理器的模擬期間首先執行的。 它按順序執行 peripheral_init.bfm 和 user.bfm。
- MDDR_init.bfm – 如果您的設計使用 MDDR,Libero 會生成此 file; 它包含 BFM 寫入命令,模擬將您輸入的 MSS DDR 配置寄存器數據(使用“編輯寄存器”對話框或在 MSS_MDDR GUI 中)寫入 MSS DDR 控制器寄存器。
- FDDR_init.bfm – 如果您的設計使用 FDDR,Libero 會生成此 file; 它包含 BFM 寫入命令,模擬將您輸入的結構 DDR 配置寄存器數據(使用編輯寄存器對話框或在 FDDR GUI 中)寫入結構 DDR 控制器寄存器。
- SERDESIF_ _init.bfm – 如果您的設計使用一個或多個 SERDESIF 塊,Libero 會生成此 file 對於每個 SERDESIF_ 使用的塊; 它包含模擬寫入您輸入的 SERDESIF 配置寄存器數據的 BFM 寫命令(使用 Edit Registers 對話框或在 SERDESIF_ GUI) 到 SERDESIF_ 寄存器。 如果 SERDESIF 塊配置為 PCIe,則此 file 還有一些#define 語句可以完美地控制 2 個寄存器配置階段的執行。
- 用戶.bfm – 包含用戶命令。 這些命令在 peripheral_init.bfm 完成後執行。 編輯這個 file 輸入您的 BFM 命令。
- SERDESIF_ _user.bfm – 包含用戶命令。 編輯這個 file 輸入您的 BFM 命令。 如果您已配置 SERDESIF_,請使用此選項BFM PCIe 仿真模式下的塊和作為 AXI/AHBLite 主機。 如果您配置了 SERDESIF_ 塊在 RTL 仿真模式下,你將不需要這個 file.
每次調用simulation時,下面兩個simulation files被重新創建到/具有更新內容的模擬目錄:
- 子系統.bfm – 包含設計中使用的每個外設的#define 語句,指定要執行的與每個外設相對應的 peripheral_init.bfm 的特定部分。
- 操作初始化.bfm – 包含在您進入 main() 過程之前模擬在 Cortex-M3 上運行的 CMSIS::SystemInit() 函數的 BFM 過程。 它將設計中使用的任何外設的配置數據複製到正確的外設配置寄存器,然後等待所有外設準備就緒,然後斷言您可以使用這些外設。 它執行 MDDR_init.bfm 和 FDDR_init.bfm。
使用這些生成的 files,您設計中的 DDR 控制器會自動配置,模擬 SmartFusion2 設備上會發生的情況。 您可以編輯 user.bfm file 添加模擬您的設計所需的任何命令(Cortex-M3 為主)。 這些命令在外設初始化後執行。 不要編輯 test.bfm、subsystem.bfm、peripheral_init.bfm、MDDR_init.bfm、FDDR_init.bfm files 和 SERDESIF_ _init.bfm files.
產品支援
美高森美 SoC 產品部為其產品提供各種支持服務,包括客戶服務、客戶技術支持中心、 web網站、電子郵件和全球銷售辦事處。
本附錄包含有關聯繫 Microsemi SoC 產品組和使用這些支持服務的信息。
客戶服務
聯繫客戶服務以獲得非技術產品支持,例如產品定價、產品升級、更新信息、訂單狀態和授權。
從北美撥打 800.262.1060
來自世界其他地方,請致電 650.318.4460
來自世界任何地方的傳真, 408.643.6913
客戶技術支持中心
美高森美 SoC 產品部在其客戶技術支持中心配備了技術精湛的工程師,他們可以幫助回答有關美高森美 SoC 產品的硬件、軟件和設計問題。 客戶技術支持中心花費大量時間創建應用說明、常見設計週期問題的答案、已知問題的文檔以及各種常見問題解答。 因此,在聯繫我們之前,請訪問我們的在線資源。 我們很可能已經回答了您的問題。
技術支援
訪問客戶支持 web網站(www.microsemi.com/soc/support/search/default.aspx) 以獲得更多信息和支持。 可搜索的許多答案 web 資源包括圖表、插圖和指向其他資源的鏈接 web地點。
Web地點
您可以在 SoC 主頁上瀏覽各種技術和非技術信息,網址為 www.microsemi.com/soc.
聯繫客戶技術支持中心
技術支持中心擁有高技能的工程師。 可以通過電子郵件或通過 Microsemi SoC 產品組聯繫技術支持中心 web地點。
電子郵件
您可以將您的技術問題發送到我們的電子郵件地址,並通過電子郵件、傳真或電話收到回复。 此外,如果您有設計問題,您可以通過電子郵件發送您的設計 file接受幫助。
我們全天不斷地監控電子郵件帳戶。 向我們發送您的請求時,請務必附上您的全名、公司名稱和您的聯繫信息,以便我們高效地處理您的請求。
技術支持電子郵件地址是 soc_tech@microsemi.com.
我的案例
美高森美 SoC 產品組客戶可以通過以下方式在線提交和跟踪技術案例: 我的案例.
美國境外
在美國時區以外需要幫助的客戶可以通過電子郵件聯繫技術支持 (soc_tech@microsemi.com) 或聯繫當地的銷售辦事處。 銷售辦事處列表可在以下位置找到 www.microsemi.com/soc/company/contact/default.aspx.
ITAR 技術支持
有關受國際武器貿易條例 (ITAR) 監管的 RH 和 RT FPGA 的技術支持,請通過以下方式聯繫我們 soc_tech_itar@microsemi.com. 或者,在我的案例中,在 ITAR 下拉列表中選擇是。 如需 ITAR 監管的 Microsemi FPGA 的完整列表,請訪問 ITAR web 頁。
美高森美公司(納斯達克股票代碼:MSCC)提供全面的半導體解決方案組合,適用於: 航空航天、國防和安全; 企業和通信; 以及工業和替代能源市場。 產品包括高性能、高可靠性模擬和射頻設備、混合信號和射頻集成電路、可定制的 SoC、FPGA 和完整的子系統。 Microsemi 總部位於加利福尼亞州的 Aliso Viejo。了解更多信息,請訪問 www.microsemi.com.
© 2014 美高森美公司。 版權所有。 Microsemi 和 Microsemi 徽標是 Microsemi Corporation 的商標。 所有其他商標和服務標記均為其各自所有者的財產。
5-02-00384-1/08.14美高森美公司總部
One Enterprise, Aliso Viejo CA 92656 美國
美國境內:+1 949-380-6100
銷售額:+1 949-380-6136
傳真:+1 949-215-4996
文件/資源
![]() |
Microsemi SmartFusion2 DDR 控制器和串行高速控制器 [pdf] 使用者指南 SmartFusion2 DDR 控制器和串行高速控制器,SmartFusion2 DDR,控制器和串行高速控制器,高速控制器 |