從今天開始,我們講解PCIE協議分析章節的內容,本章分為4節內容,具體如下。
第1節:預備知識點
我們知道要想深入瞭解FPGA PCIe邏輯、理解PIO例子工程、應用XAPP1052 demo、應用XDMA例子工程,需要熟練知道PCIe的一些最基本的概念,比如PCIe配置空間、PCIe Bar空間、PCIe地址對映、PCIe傳輸層級結構,看了這些東西可能會讓很多人抓狂,不要怕,不要怕,不要怕,重要的事情說三遍。雖然有些概念在程式設計的時候也許會用不到,但是我們要做到對PCIe知其然,知其所以然。因此我會用最為通俗的語言講解這些核心知識點,讓大家可以輕鬆進入後續階段的學習。於此同時我們會分析PCIe層級結構以及每層結構所完成的工作和傳輸資料包格式,讓大家明白PCIE介面到底是以怎樣的方式進行工作的。第一節預備知識點如下。
- PCIe配置空間以及地址對映
- PCIe Bar空間
- PCIe 層級結構詳談
第2節:PIO、XAPP1052、XDMA 三者聯絡和區別詳談
本課程的目標主要是教大家如果熟練使用FPGA PCIe介面傳輸資料, 或許有些人會問這些玩意到底是什麼東西,那我只能先給大家說這三個東西非常重要,三個都學會了既可以瞭解PCIe內部傳輸機制也可以熟練應用PCIe傳輸資料。課程設定為循序漸進模式,我希望大家一點點學習,底子打好,勿在浮沙築高臺。
第3節:PCI-E TLP包詳解 (核心的核心)
本節會開始給大家講解TLP包的構造,我們會花費1-3講來講解這個非常重要的東西,TLP包就是我們到時編寫FPGA邏輯要控制生成或者解析的包。PC和FPGA透過PCIe通訊的時候本質就是你給我扔一堆TLP包,我給你扔一堆TLP包,因此我會用通俗易懂的方式讓大家學習TLP包的構造,以便後期再分析程式碼的時候大家一看便知程式碼為何要這麼寫。
第4節:AXI 4.0協議規範詳解
本節會給大家講解AXI 4.0協議,很多人可能會問為什麼要講AXI 4.0協議規範,因為TLP包就是透過AXI 4.0規範傳輸的,TLP作為一包資料需要一個匯流排介面進行傳輸,因此我們必須熟練掌握AXI 4.0協議規範。不要怕,不要怕,不要怕,重要的事情說三遍。相信老師會用通俗易懂的方式讓大家熟練掌握AXI介面規範的。