ZYNQ全解析之PL和PS接口
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1、PL和PS的接口類型總共有兩種
(1)功能接口:AXI、EMIO、中斷、DMA流控制、時(shí)鐘調(diào)試接口。
(2)配置接口:PCAP、SEU、配置狀態(tài)信號(hào)和Program/Done/Init信號(hào)。這些信號(hào)連接到PL內(nèi)配置模塊的固定邏輯上,給PS提供對(duì)PL的控制能力。
2、AXI總線
AXI (Advanced eXtensible Interface)本是由ARM公司提出的一種總線協(xié)議。用于PL和PS之間的通信。
總線:是一組傳輸通道,是各種邏輯器件構(gòu)成的傳輸數(shù)據(jù)的通道,一般由由數(shù)據(jù)線、地址線、控制線等構(gòu)成。
接口:是一種連接標(biāo)準(zhǔn),又常常被稱之為物理接口。
協(xié)議:就是傳輸數(shù)據(jù)的規(guī)則
(1)AXI總線:在ZYNQ中有支持三種AXI總線
AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允許最大256輪的數(shù)據(jù)突發(fā)傳輸;
AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一個(gè)輕量級(jí)的地址映射單次傳輸接口,占用很少的邏輯單元。
AXI4-Stream:(For high-speed streaming data.)面向高速流數(shù)據(jù)傳輸;去掉了地址項(xiàng),允許無限制的數(shù)據(jù)突發(fā)傳輸規(guī)模。
(2)zynq的AXI接口共有9個(gè),包括如下類型:
1)AXI_ACP接口:加速器一致性接口,用來管理DMA之類不帶緩沖的AXI外設(shè),PS端是Slave接口。
通過該接口PL端可以直接訪問PS部分cache,故PL邏輯可以直接從cache中拿到CPU的計(jì)算結(jié)果,同時(shí)也可以進(jìn)一步第一時(shí)間將計(jì)算的邏輯加速運(yùn)算的結(jié)果送至CPU。
2)AXI_HP接口:高性能/帶寬的AXI3.0標(biāo)準(zhǔn)接口,共有4個(gè),PL模塊作為主設(shè)備連接。。主要用于PL訪問PS上的存儲(chǔ)器(DDR和On-Chip RAM)。
AXI-HP接口主要是為了PL訪問PS上的存儲(chǔ)器(DDR和on-chip RAM)而設(shè)計(jì)的高速數(shù)據(jù)通路。AXI-HP端口分為兩部分一部分直接和PL相連,另一部分連接到AXI interconnect。例如視頻處理時(shí),高清的圖像有FPGA直接采集處理,然后通過AXI-HP接口將數(shù)據(jù)傳輸?shù)紻DR中,供APU完成進(jìn)一步圖像處理。
3)AXI_GP接口:通用AXI接口,共有4個(gè),包括兩個(gè)32位主設(shè)備接口和兩個(gè)32位從設(shè)備接口。
(3)AXI協(xié)議
AXI總線協(xié)議的兩端可以分為分為主(master)、從(slave)兩端,他們之間一般需要通過一個(gè)AXI Interconnect相連接,作用是提供將一個(gè)或多個(gè)AXI主設(shè)備連接到一個(gè)或多個(gè)AXI從設(shè)備的一種交換機(jī)制。AXI Interconnect的主要作用是,當(dāng)存在多個(gè)主機(jī)以及從機(jī)器時(shí),AXIInterconnect負(fù)責(zé)將它們聯(lián)系并管理起來。由于AXI支持亂序發(fā)送,亂序發(fā)送需要主機(jī)的ID信號(hào)支撐,而不同的主機(jī)發(fā)送的ID可能相同,而AXI Interconnect解決了這一問題,他會(huì)對(duì)不同主機(jī)的ID信號(hào)進(jìn)行處理讓ID變得唯一。
(4)AXI協(xié)議之握手協(xié)議
AXI4 所采用的是一種 READY,VALID 握手通信機(jī)制,簡(jiǎn)單來說主從雙方進(jìn)行數(shù)據(jù)通信前,有一個(gè)握手的過程。傳輸源產(chǎn)生 VLAID 信號(hào)來指明何時(shí)數(shù)據(jù)或控制信息有效。而目地源產(chǎn)生 READY 信號(hào)來指明已經(jīng)準(zhǔn)備好接受數(shù)據(jù)或控制信息。傳輸發(fā)生在 VALID和 READY 信號(hào)同時(shí)為高的時(shí)候。VALID 和 READY 信號(hào)的出現(xiàn)有三種關(guān)系。
1) VALID 先變高 READY 后變高
2) READY 先變高 VALID 后變高
3) VALID 和 READY 信號(hào)同時(shí)變高
3、 AXI4-Lite 詳解
(1) 先要自定義一個(gè)AXI-Lite的IP,新建工程之后,選擇,菜單欄->Tools->Creat and Package IP。
(2) next - 選擇Create AXI4 Peripheral,然后Next - 默認(rèn),選擇Next - 這里接口類型選擇Lite,選擇Next - 選擇Edit IP,點(diǎn)擊Finish - 此后,Vivado會(huì)新建一個(gè)工程,專門編輯該IP,通過該工程,我們就可以看到Vivado為我們生成的AXI-Lite的操作源碼。
(3) 代碼分析:





