最近在學習DE1-SOC,寫一點應用筆記。理解有偏差的地方還望小伙伴們多多指點^_^
一、Cyclone –V Interconnection
DE1-SOC是基於Cyclone V設計的板卡,在Cyclone-V集成了FPGA與Arm Core A9,並分別連接了不同的外設,可通過HPS-FPGA AXI bridges進行二者間的數據通信。如圖:
The HPS contains the following HPS-FPGA AXI bridges:
■ FPGA-to-HPS Bridge
■ HPS-to-FPGA Bridge
■ Lightweight HPS-to-FPGA Bridge
每種總線可以訪問的地址范圍如下:
由該表可以得出,Lightweight HPS-to-FPGA Bridge可以訪問0xFF20_0000-0xFF40_0000的外設地址空間,可用於控制數據的通信;HPS-to-FPGA Bridge則可以訪問0xC000_0000-0xFC00_000近1G的物理地址空間,適合於大量數據的高速傳輸;而FPGA-to-HPS Bridge將HPS作為Slave,可以訪問HPS全部的物理地址空間
對三種Bridge的訪問在物理上都是由相應的Axi接口完成,由於Qsys中自含將Avalon總線轉化為axi總線的機制,所以在自定義IP中,使用Avalon總線即可。
二、Avalon 總線讀寫時序
Avalon 總線信號及其描述如下,實際應用時可根據傳輸方式的選定而選用部分信號
Avalon 總線有以下幾種讀寫方式:
Typical Read and Write Transfers
Read and Write Transfers with Fixed Wait-States
Pipelined Transfers
Burst Transfers
重點要掌握好的信號一個是waitrequest,另一個是readdatavalid。在任何傳輸方式中,當總線給出的waitrequest信號有效時,要發起讀寫的主/從設備應當保持輸出的地址信號、讀寫信號、寫數據時的數據信號以及在burst傳輸中的burstcount信號有效,直到waitrequest信號為低,表明目標設備已經接收請求,然后方可發起下一次傳輸。