久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > Palladium模擬器和用于PCIe調試的FPGA有什么區別?

Palladium模擬器和用于PCIe調試的FPGA有什么區別?

作者: 時間:2026-01-04 來源: 收藏

PCI-SIG外圍組件互連 Express Gen5( Gen5)是一種系統協議,主要用于系統中高速的數據傳輸。 Gen5可實現32 Gb/s的傳輸速率。 幾乎集成在所有計算機系統中,包括服務器。

PCIe是一種復雜的協議,包括鏈路訓練、TLP生成和事務、不同的有效載荷傳輸、錯誤TLP、流量控制以及RC和EP模式下的恢復狀態驗證。在對整個系統進行驗證之前,驗證協議至關重要。

驗證工程師通過通用驗證方法(UVM)測試平臺參與驗證PCIe協議。除了驗證設置外,仿真工程師還提供驗證PCIe協議及軟件開發的平臺。本文介紹了驗證 PCIe Gen5 協議及 軟件所需的步驟。

模擬器用于PCIe驗證的硬件需求

要在模擬器上驗證PCIe Gen5協議,需要滿足以下條件:

  • PCIe Gen5 RTL/IP

  • 軟件或作系統——都可以加載到模擬器中

  • PCIe Gen5 虛擬 SpeedBridge

這種硬件是驗證PCIe Gen5協議所必需的:

  • 鈀金模擬器

  • 一個Linux InfiniBand(IB)主機

  • PCIe Gen5 SpeedBridge 或 PCIe Gen5 高密度速度橋(HDSB)

  • 支持Gen3、Gen4或Gen5的SSD版本

  • 底座連接PCIe、SpeedBridge和SSD。

  • 環境開發工具包(EDK),一種Linux主機或PCIe Gen5主機

  • PPOE和光纖電纜

PCIe 與硬件設置

在開始安裝硬件之前,了解PCIe非常重要。這里的例子包括一個Linux或PCIe Gen5主機(EDK)和四個SSD目標。第五代我用了16條通道,支持32 Gb/s的數據速率。圖中展示了完整的安裝過程。這種配置可能會根據設計而變化。

1767494525920827.png

這一設置展示了模擬器調試問題相較于原型的優勢,凸顯了仿真環境帶來的更高可見性和靈活性。

在設計中,我們需要一個模擬封裝文件,實例化PCIe IP設計和PCIe Gen5虛擬SpeedBridge。PCIe IP 支持EP和RC模式。在EP模式下,Linux主機(EDK)是根復合體,IP是端點;它使用全部16條通道進行數據傳輸。在RC模式下,IP(鈀撯模擬器)是一個根復合體,四個SSD是終端。

因此,我們需要五個PCIe SpeedBridges實例——一個用于EP模式(16通道),四個用于RC模式。每個 SpeedBridge 的遙控模式實例都支持四條車道。

包含用于模擬器與 SpeedBridge 之間通信所需的 TPOD。TPOD是模擬器上的端口,由電源端口和數據端口組成。電源端口為連接的SpeedBridges供電,光纖電纜傳輸數據。由于PCIe主機和SSD目標需要五個SpeedBridge,因此必須啟用五個TPOD。

鈀金仿真包含兩個步驟:編譯和合成;以及管理工作。

第一步有兩種模式可選:

  1. 電路內仿真(ICE)模式/遺留模式,僅將可綜合設計編譯、合成并加載到模擬器中。不可綜合部分,如UVM測試平臺/系統任務,僅在IB主機上運行。IB 鏈路用于將交易導入模擬器。

  2. 通過IXCOM流程實現仿真加速(SA)模式,將不可綜合和可合成設計編譯、合成并下載到模擬器中。不可綜合部分包括文件處理、初始語句、斷言以及 Verilog/System Verilog HDL 支持的系統任務。

設計必須在Palladium上編譯和合成,Palladium中使用IXCOM流程,因為它包含不可綜合的結構,如文件處理和系統任務,這些都被下載到模擬器中。為了運行該作業,需要一個獨立的仿真環境。請參閱 Cadence 官網,因為仿真流程包含 Cadence 專有信息。

調試Palladium仿真器上的PCIe設計

假設仿真流程已開發完成,仿真器已準備好用于測試PCIe IP和軟件。以下場景描述了一些調試技術:

  • 假設Palladium模擬器處于RC模式,四個SSD目標是終端。在這里,RC無法與任何SSD目標建立聯系。導致這種失敗有兩種可能。設計本身存在漏洞,或者軟件沒有生成合適的訓練序列。在這種情況下,鈀金提供了一種非常強大的技術,可以在運行時探測設計信號并生成波形。優點是無需重新合成設計,因為整個或部分設計可以通過探測轉化為波形。如果RTL運行正常,那么必須對軟件進行潛在問題的調查。

  • 如果設計正常,能與三個SSD目標建立連接,但無法與第四個目標連接,則調查該目標并進行斷電重啟。斷電重啟意味著將電源線和光纖電纜拔插并重新插入故障的SpeedBridge。如果還是不行,那就換速度新娘或線纜再試一次。如果還是不行,Cadence會幫忙調試這個問題。

  • 考慮端點模式的鈀,EDK是宿主或根復合體。雖然 EDK 啟動,但它會與端點建立鏈接。可能是在讀取端點配置寄存器時發生,EDK沒收到TLP導致超時。這會導致EDK卡住,需要斷電重啟才能恢復正常狀態。這是因為RTL端點模式出現了bug,或者EDK卡住并無法接收端點發送的TLP。或者軟件給了端點錯誤的信息,設計中不支持這一點。同樣,信號可以在不重新合成設計的情況下探測,并生成波形來調查問題。

一旦在RTL中發現漏洞,必須重新合成并在Palladium上實現該設計以測試修復。除非加入了大功能,否則重合成通常會使時鐘頻率增加幾千赫茲。在這里,SpeedBridges將通過進行速率調整來確保數據完整性,并保持設計性能。

鈀金上的再合成不需要滿足時間安排、應用定位約束和耗時的實施策略。編譯器將確定工作時鐘頻率,SpeedBridge通過速率調整確保其性能。該設計可在運行時調試,因此對鈀金的調試效率高。

在基于的平臺上調試PCIe設計

上實現PCIe設計超出本文范圍。假設所需的硬件、PCIe IP和軟件都已實現,FPGA綜合和PNR(布局與路由)流程也已可用。關于FPGA流程中的調試方面,以下場景描述了基于FPGA平臺的調試技術:

  • 以上述相同例子為例,PCIe無法枚舉四個SSD目標。為了調試問題,必須探測設計以生成波形。信號可以通過集成邏輯分析儀(ILA)/芯片示波器進行探測,但需要保留信號以防止優化。設計必須在帶有額外儀器邏輯的FPGA上綜合并實現,以便ILA需要額外儀器邏輯。探測到ILA和儀器邏輯的信號需要相同的時鐘來捕獲數據。例如,如果PCIe信號在100M頻率下工作,那么ILA邏輯也需要100M時鐘。因此,為了探測調試信號,FPGA設計者還必須滿足設計與ILA邏輯之間的時序。如果探測信號不足以調試設計,那么FPGA設計和實現循環將繼續,直到發現并修復錯誤。

  • 另一種可用的FPGA原型工具是Protium仿真器,這是一種基于FPGA的仿真器。Protium上的PCIe配置類似于Palladium,變化不大,但超出本文范圍。要用Protium探測信號生成波形,必須保留信號,并在腳本中施加觸發。它需要在Protium模擬器上重新合成并重新實現設計,并啟用觸發信號。探測信號所需的儀器邏輯由Protium CAD工具自動實現。因此,Protium的設計和實現周期會持續,直到發現并修復該漏洞。

顯而易見的是,在FPGA平臺上調試是一個充滿挑戰且耗時的過程。整個設計必須實現以生成波形,這涉及滿足時序限制并成功將設計部署到FPGA上。顯然,基于FPGA的調試效率低于基于鈀的調試方法。

高級仿真是最佳調試路徑

有效的驗證和調試對于確保PCIe Gen5系統的可靠性和性能至關重要,而PCIe Gen5系統是現代計算中高速數據傳輸的核心。像Palladium這樣的平臺通過運行時信號探測和實時分析,提供了一種簡化高效的調試方法,顯著縮短了開發時間。

雖然基于FPGA的平臺提供了替代的驗證方法,但其復雜性和耗時性使得它們在迭代調試中效率較低。通過利用先進的仿真工具和方法,工程師可以優化設計流程,及早發現問題,并確保PCIe Gen5協議在復雜系統中的無縫集成。


評論


相關推薦

技術專區

關閉