一、概述
PULPino是一個以RISCV架構RI5CY/ZERO-RISCY為內核的單核SoC,復用了PULP的多個組件。PULP使用相互獨立的單端口data RAM與instruction RAM。它還包括一個boot ROM,內有boot loader,可以通過SPI從外設flash加載程序,
圖1.1展示了SoC的模塊框圖。PULPino使用AXI作為主要的互連,具有到APB的橋接器,用於連接簡單的外設。AXI與APB都具有32位的數據通道。處於debug的需求,SoC包括一個advanced debug unit可以同JTAG直接訪問內核寄存器、兩個RAM與內存映射IO。兩個RAM經由總線適配器與AXI相連。
PULPino是一個以RISCV架構RI5CY/ZERO-RISCY為內核的單核SoC,復用了PULP的多個組件。PULP使用相互獨立的單端口data RAM與instruction RAM。它還包括一個boot ROM,內有boot loader,可以通過SPI從外設flash加載程序,

圖1.1展示了SoC的模塊框圖。PULPino使用AXI作為主要的互連,具有到APB的橋接器,用於連接簡單的外設。AXI與APB都具有32位的數據通道。處於debug的需求,SoC包括一個advanced debug unit可以同JTAG直接訪問內核寄存器、兩個RAM與內存映射IO。兩個RAM經由總線適配器與AXI相連。
雖然PULPino有FPGA版本,但其主要針對RTL仿真與ASIC。FPGA版本在性能方面並不是特別優化,因為我們主要將其用作仿真平台而不是獨立平台。
二、內存映射
圖2.1展示了假設數據和指令RAM均為32kB情況下的PULPino的默認內存映射。這可以在PULPino頂級SystemVerilog文件中更改。
2.1 中斷向量表
PULPino的中斷向量表遵循RI5CY核心的定義。
中斷像量表中的條目必須是一個32位,或者一個或兩個16位指令,告訴核心如何處理中斷。在大多數情況下,這意味着核心將執行跳轉到實際的中斷處理程序。
三、CPU內核
PULPino支持RISCV RI5CY與RISCV ZERO-RISCY兩種內核。兩個內核具有相同的外部接口,因此可以做到拔插兼容。圖3.1 3.2展示了兩個內核的架構。
圖2.1展示了假設數據和指令RAM均為32kB情況下的PULPino的默認內存映射。這可以在PULPino頂級SystemVerilog文件中更改。

2.1 中斷向量表
PULPino的中斷向量表遵循RI5CY核心的定義。

中斷像量表中的條目必須是一個32位,或者一個或兩個16位指令,告訴核心如何處理中斷。在大多數情況下,這意味着核心將執行跳轉到實際的中斷處理程序。
三、CPU內核
PULPino支持RISCV RI5CY與RISCV ZERO-RISCY兩種內核。兩個內核具有相同的外部接口,因此可以做到拔插兼容。圖3.1 3.2展示了兩個內核的架構。


內核使用十分簡單的數據和指令接口與數據指令存儲器進行通信。為了與AXI通信,在PULPino中實例化了core2axi協議轉換器。
處於調試的目的,所有的內核寄存器都已經進行了內存以你干涉,允許通過AXI訪問。內核中的調試單元通過總線、讀取/設置內核寄存器、halts內核來處理請求。內核支持性能計數器。性能計數器主要用於計算內核內部事件,如停頓,也可以計算內核外部事件。因此,在ext_perf_counters_i端口可以附加任意事件。每次端口有高電平到來時,內核都會增加此事件類型對應的內部性能計數器。
四、advanced debug unit
advanced debug unit包含一個AXI主機接口用於訪問外設和存儲器。PULPinoV1的advanced debug unit不具有專門的用於讀取內核寄存器的接口
所有的內核寄存器都進行了內存映射,這意味着他們都可以通過AXI總線被讀取。因此進行可以通過JTAG進行調試,還可以通過SPI或者任何其他接口進行調試。
JTAG信號被連接到SoC的引腳上。
advanced debug unit包含一個AXI主機接口用於訪問外設和存儲器。PULPinoV1的advanced debug unit不具有專門的用於讀取內核寄存器的接口
所有的內核寄存器都進行了內存映射,這意味着他們都可以通過AXI總線被讀取。因此進行可以通過JTAG進行調試,還可以通過SPI或者任何其他接口進行調試。
JTAG信號被連接到SoC的引腳上。

有關調試的相關細節,請查看advanced debug unit的文檔
五、外設
PULPino中的所有外設都連接到APB總線,但SPI從設備除外,它是一個十分特殊的設備。有關SPI從設備的相關信息,參考第六節
原文下載:https://github.com/pulp-platform/pulpino/blob/master/doc/datasheet/datasheet.pdf