- 前言
- Chapter 1: Introduction 介紹
- 1.1 Introduction to the UltraScale Architecture 架構介紹
- 1.2 Application Overview 應用概述
- 1.3 System Block Diagram 系統框圖
- 1.4 Power Domains and Islands
- 1.5 High-Speed Serial I/O
- 1.5.1 GTR Transceivers
- 1.5.2 GTY Transceivers
- 1.6 MIO and EMIO
- 1.7 Platform Management and Boot
- 1.8 Functional Units and Peripherals
- 1.9 Device ID Codes
- 1.9.1 JTAG IDCODE
- 1.10 System Software
- 1.10.1 System Features Assigned by Software
- 本章總結
前言
上次在寫完ug1137軟件開發者指南的第7章讀書筆記後,我感覺我對MPSOC的系統理解還是太少了,所以決定先跳過ug1137,直接來看最重要的文檔ug1085-MPSOC技術參考手冊,當時沒看這個文檔是覺得太長了,總共有1200來頁,但是現在仔細想了一想,這裏面的內容肯才是更為基礎和重要的,因此來開個新坑。
此外,上次讀ug1137時感覺讀書筆記寫到後面都快變成文檔翻譯了,所以這次讀ug1085,我決定先讀完一個章節再來進行總結,而不是邊讀邊寫筆記,所以內容可能會更為精簡,下面我們就開始。
Chapter 1: Introduction 介紹
這一章相當於是對MPSOC架構的一個總覽,很簡要的介紹了MPSOC的功能,用途,以及其內部的各種處理器,外設,以及比較關鍵的一些管理單元,內容雖然多但是都比較基礎,沒有講到關鍵,所以我們也只是每個小節提一下重點就算結束了,這一章節中的所有部分在ug1085的後續章節都會詳細展開來説,我們就只做基礎描述了。
1.1 Introduction to the UltraScale Architecture 架構介紹
這一小節在介紹MPSOC是什麼以及其面向的用途和功能特性,不多講了。
1.2 Application Overview 應用概述
這一小節介紹了MPSOC的特性,功能以及用途。主要講MPSOC相比於7000繫有那些特性得到了提升以及其應用範圍,如自動假設,工控等等。
1.3 System Block Diagram 系統框圖
這節以PS為核心,用系統框圖介紹了MPSOC的整體架構,包含處理器,外設,總線連接等等,框圖如下:

1.4 Power Domains and Islands
MPSOC有四個主要的電源域:
- Low-power domain (LPD)
- Full-power domain (FPD)
- PL power domain (PLPD)
- Battery power domain (BPD).
這四個電源域可以相互隔離,並由platform management unit (PMU)進行管理,隔離電源域的作用是可以防止特定電源域的斷電,也可以提供一些安全性的應用,還有就是某些低功耗應用需要隔離某部分功能,例如在只使用PL端邏輯的時候就可以將PS端電源斷開,反之亦然。電源域指示圖如下,這裏要主要上面説的四個電源域只是主要電源域,而不是全部電源域:

1.5 High-Speed Serial I/O
這一節介紹MPSOC中的高速串行IO口,分為GTR和GTY以及GTH,GTR是PS端用的高速串行收發器,GTY和GTH是PL端的高速串行收發器。
1.5.1 GTR Transceivers
PS端的GTY收發器是被共享的,我的理解是PS端的4個GTR是被PS的串行外設接口共用的,可以分時使用但不能一起使用,其支持PCIE2.1,SATA3.1,DP等傳輸協議
1.5.2 GTY Transceivers
PL端的GTY收發器具有更強的性能,用於一些高速數據傳輸的應用中,可以支持到PCIE4的PCIE4x8的規格以及100G以太網,但是我沒用過這麼高級的器件,這裏就不表述了,PS和PL端的高速串行接口框圖如下所示:

1.6 MIO and EMIO
MIO和EMIO的內容比較簡單,兩者一個是PS端的複用IO,一個是PL端的複用IO,複用的意思就是IO可以被分給不同的外設使用,而不是固定IO對應固定的外設,當然EMIO是個有更為特殊的特性,他可以被連接到PS端的外設上,也就是用PS端的外設控制器控制PL端的外設。
1.7 Platform Management and Boot
PMU是MPSOC的一個關鍵部件,這個部件掌管着MPSOC系統的上電和復位操作,同時也控制一些和系統初始化相關的操作,簡單來説,當系統復位或者上電後,首先就會執行PMU ROM中的代碼以進行最基礎的初始化,然後將系統的運行移交給CSU,CSU在完成對鏡像的驗證和解析後,才會運行FSBL,即第一階段啓動程序,所以PMU是整個系統最早開始啓動的。更為具體的內容可以看我之前寫的ug1137讀書筆記的第七章,當然我們後面還有還會在ug1085中再次講到這些內容,具體應該在第11章。
1.8 Functional Units and Peripherals
這裏列了一大張表格,用來描述MPSOC中各個模塊的基本構成和功能,都是介紹性質的,我覺得算是比較總覽性的內容,所以我把表格放在下面了:

1.9 Device ID Codes
1.9.1 JTAG IDCODE
這部分描述了MPSOC器件中如何去獲取器件ID代碼的方式,這個ID代碼標識了器件的主要特性和PS端的版本,其實就是標識了是哪個芯片,JTAG應該是需要獲取這個ID才能對器件進行debug,獲取的方式有兩種,使用PS TAP控制器指令,和軟件讀取CSU.IDCODE寄存器,對應的不同器件的IDCODE在一張表中展示了,由於不常用這裏也不再貼表了。
1.10 System Software
1.10.1 System Features Assigned by Software
這一節我沒太看懂在説什麼,似乎在説MPSOC系統的某些功能可以由軟件控制寄存器來配置,但是這些寄存器到底配置什麼功能我沒怎麼看懂,這裏也不細説了。
本章總結
這一章都是概述性質的內容,感覺就像是又把ug1137第一章的內容又做了一遍,就當做是複習一遍了。