91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

APB、AHB-Lite、AXI-Lite總線協(xié)議的對(duì)比分析

FPGA技術(shù)江湖 ? 來(lái)源:AdriftCoreFPGA芯研社 ? 2026-01-07 15:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下文章來(lái)源于AdriftCoreFPGA芯研社,作者CNL中子

前言

在 SoC、FPGA IP、外設(shè)控制器等系統(tǒng)中,配置通路(Configuration Bus) 幾乎無(wú)處不在——寄存器讀寫(xiě)、狀態(tài)回讀、DMA 觸發(fā)、控制接口、模塊初始化這些都離不開(kāi)一條穩(wěn)定可靠的配置總線。

在實(shí)際設(shè)計(jì)中,工程師往往需要在 APB、AHB、AXI-Lite 之間做權(quán)衡與選擇。

然而,這三種協(xié)議各有優(yōu)點(diǎn),也各自帶著不容忽視的工程痛點(diǎn)。

雖然配置通路本身屬于低速域,看起來(lái)不復(fù)雜,但真正落地到幾十個(gè)外設(shè)、跨時(shí)鐘域、壓 timing、做slice、處理讀寫(xiě)語(yǔ)義一致性時(shí),往往會(huì)暴露出各種棘手問(wèn)題。

本文將基于實(shí)際工程經(jīng)驗(yàn),討論 APB / AHB / AXI-Lite 在真實(shí)項(xiàng)目中的常見(jiàn)痛點(diǎn)和使用場(chǎng)景。如果你有不同的觀點(diǎn)、踩過(guò)更深刻的坑,或有更好的架構(gòu)方法,歡迎在評(píng)論區(qū)一起交流。

APB

APB 可以說(shuō)是最簡(jiǎn)單的一類(lèi)總線協(xié)議,在眾多 IC 設(shè)計(jì)和 FPGA 項(xiàng)目中都被大量使用。它無(wú)流水、無(wú)突發(fā),控制信號(hào)少、時(shí)序關(guān)系簡(jiǎn)單,在所有常見(jiàn)總線中資源占用理論上最小。其優(yōu)點(diǎn)是簡(jiǎn)單、穩(wěn)定、易集成;缺點(diǎn)同樣明顯:帶寬與性能有限。

在大多數(shù)配置場(chǎng)景中,只是寫(xiě)寄存器、回讀狀態(tài),對(duì)性能需求并不高,因此 APB 能在各類(lèi) SoC 中存活超過(guò) 20 年也就不足為奇。

然而,APB 的簡(jiǎn)單只在系統(tǒng)規(guī)劃良好的前提下成立。當(dāng)初期沒(méi)有做好 APB slave地址空間的規(guī)劃,例如一個(gè) master 需要連接幾十路 slave 時(shí),復(fù)雜度就會(huì)急劇上升。

3e7b23ae-e9cf-11f0-8c8f-92fbcf53809c.png

3ed77082-e9cf-11f0-8c8f-92fbcf53809c.png

時(shí)序收斂難度陡增

APB 信號(hào)數(shù)量雖然不多,但組合邏輯比例很大。當(dāng)你把幾十路 PSEL、讀寫(xiě)分配、多路選擇器等全部堆在一個(gè)大型crossbar中,綜合之后會(huì)出現(xiàn)典型問(wèn)題:

? 長(zhǎng)組合路徑鏈條過(guò)多

? 分布式邏輯跨區(qū)域布局

? 極高的 Fanout

? 全局走線拉得非常長(zhǎng)

最終結(jié)果很容易是:時(shí)序全面崩壞。

APB 極不適合做slice/pipeline

在 SoC 中通過(guò)切關(guān)鍵路徑插一拍,是傳統(tǒng)且有效的時(shí)序優(yōu)化手段。但 APB 具有一些獨(dú)特缺陷,使得 pipeline 十分困難:

? APB 沒(méi)有完整的握手機(jī)

? 時(shí)序依賴固定的兩拍協(xié)議 + 半同步行為

? 讀寫(xiě)共享通路,不像 AXI 那樣天然分離

? 寫(xiě)路徑可能只有一條,而 pready / prdata 卻可能來(lái)自幾十路,從而難以統(tǒng)一處理

在這種情況下,隨意插入一拍非常容易破壞協(xié)議timing diagram,例如:

? PSEL / PENABLE 的時(shí)序關(guān)系被打亂

? PREADY 反饋延遲不一致

? PRDATA 返回周期無(wú)法與手冊(cè)周期要求匹配

即便你強(qiáng)行做成了slice,它也不會(huì)像 AXI-Stream 那樣形成一致、標(biāo)準(zhǔn)的pipeline結(jié)構(gòu)。由于讀寫(xiě)通路不分離、通道數(shù)不對(duì)稱(chēng)、反饋路徑復(fù)雜,實(shí)現(xiàn)最終往往會(huì)變成一坨難以維護(hù)的“屎山”。

更糟糕的是,當(dāng)系統(tǒng)已經(jīng)發(fā)展到幾十路slave,這時(shí)候想再做分區(qū)規(guī)劃、把 slave 進(jìn)一步級(jí)聯(lián)或分層,往往已經(jīng)為時(shí)已晚。此階段想要重構(gòu) APB 配置通路意味著:

需要重新推導(dǎo)、重新規(guī)劃整個(gè)路徑,工作量巨大。

AXI-Lite

AXI-Lite 是 AXI 協(xié)議的精簡(jiǎn)版本,主要用于配置類(lèi)訪問(wèn)。其請(qǐng)求、數(shù)據(jù)與響應(yīng)完全分離,包含五個(gè)獨(dú)立通道:AR、AW、W、R、B。

與完整 AXI 不同,AXI-Lite 不支持 burst,也沒(méi)有 ID,因此僅支持單次訪問(wèn)。然而,它允許:

? AR 通道連續(xù)握手(連續(xù)發(fā)起讀請(qǐng)求)

? AW/W 通道連續(xù)握手(連續(xù)發(fā)起寫(xiě)請(qǐng)求)

? 讀寫(xiě)并行執(zhí)行(讀寫(xiě)通道完全獨(dú)立)

因此在 Xilinx IP、Intel IP 等主流平臺(tái)中,AXI-Lite 是默認(rèn)的配置通路方案。

3f36008e-e9cf-11f0-8c8f-92fbcf53809c.png

3f9b2c70-e9cf-11f0-8c8f-92fbcf53809c.png

多子系統(tǒng)下的順序不可控問(wèn)題

在 多個(gè) Slave 并存的系統(tǒng)中,AXI-Lite 的并行讀寫(xiě)機(jī)制可能會(huì)讓順序處理變得異常棘手。

例如,你依次發(fā)起了兩次讀訪問(wèn):

1. Read SLAVE_A
2. Read SLAVE_B

AXI-Lite 不保證返回順序與發(fā)出順序一致。

由于讀通道是完全獨(dú)立且可并發(fā)的,SLAVE_B 的響應(yīng)可能比 SLAVE_A 更早返回。

在多 SLAVE 情況下,讀寫(xiě)之間不存在全局順序,你以為“先發(fā)起的 READ 會(huì)先回來(lái)”,但協(xié)議并不這么保證。

因此,如果系統(tǒng)邏輯需要順序語(yǔ)義(例如狀態(tài)機(jī)嚴(yán)格依賴先后順序),就需要額外的順序控制手段,例如:

? Ordering FIFO(請(qǐng)求順序緩存)

? tag(人為添加事務(wù) ID)

? 狀態(tài)同步機(jī)制

? 或者直接給每個(gè)子系統(tǒng)分配獨(dú)立的控制端口

這些都是額外的工程成本。

在特殊場(chǎng)景中,如果連續(xù)訪問(wèn)的是同一個(gè) slave,內(nèi)部順序通常不會(huì)被打亂,但跨 slave 就必須顯式處理。

硬件資源與結(jié)構(gòu)復(fù)雜度更高

由于 AXI-Lite 的五通道是分離的,并且允許連續(xù)發(fā)起請(qǐng)求,因此需要一定的 outstanding 能力(哪怕只有 1 層),也導(dǎo)致:

? 接線較 APB 明顯復(fù)雜

? 資源成本更高

? crossbar、仲裁、通道同步邏輯更重

換句話說(shuō),AXI-Lite 在靈活性和并行性上優(yōu)于 APB,解決了APB難以做slice/pipeline的痛點(diǎn),但其工程成本和硬件復(fù)雜度也隨之提高。

AHB-Lite

AHB-Lite 是 AMBA AHB 協(xié)議的精簡(jiǎn)版本,主要用于中等帶寬的外設(shè)訪問(wèn)與配置類(lèi)場(chǎng)景。

相比完整AHB,AHB-Lite 去掉了多主機(jī)仲裁(single master) ,但保留了 AHB 的關(guān)鍵特性:

流水化、單周期地址階段 + 數(shù)據(jù)階段解耦、支持 burst、支持 back-pressure。

在 AHB-Lite 中,每一次訪問(wèn)由兩部分組成:

? 地址階段(Address Phase) :由 HADDR、HTRANS、HWRITE 等信號(hào)描述

? 數(shù)據(jù)階段(Data Phase) :由 HRDATA、HWDATA、HREADY、HRESP 等信號(hào)描述

兩個(gè)階段是 嚴(yán)格對(duì)齊但可流水化 的,也就是說(shuō):

? 當(dāng)前周期發(fā)送地址

? 下一個(gè)周期就可以發(fā)送下一次地址

? 數(shù)據(jù)返回與否由 slave 的 HREADY 控制

這種結(jié)構(gòu)比 APB 靈活,也比 AXI 簡(jiǎn)單。

3ff7c75a-e9cf-11f0-8c8f-92fbcf53809c.png

404c9e4c-e9cf-11f0-8c8f-92fbcf53809c.png

但是,AHB-Lite 也存在一些現(xiàn)實(shí)痛點(diǎn)。

HREADY 同時(shí)影響控制與數(shù)據(jù)階段

AHB 最讓工程師頭疼的地方在于 HREADY 信號(hào)承擔(dān)了兩重語(yǔ)義:

? 表示“本拍的數(shù)據(jù)是否有效”

? 表示“下一拍的地址/控制階段是否可以推進(jìn)”

這會(huì)帶來(lái)典型的工程不優(yōu)雅行為:上一個(gè)數(shù)據(jù)階段的 ready 會(huì)影響當(dāng)前地址/控制階段。

例如,在寫(xiě) SLAVE_A 的數(shù)據(jù)的下一拍,如果要訪問(wèn) SLAVE_B,HREADY 已經(jīng)切換到 SLAVE_B 上,而 SLAVE_A 的數(shù)據(jù)階段可能還未完成。

因此在設(shè)計(jì) slave 時(shí),通常需要處理兩個(gè) ready 信號(hào):

? 總線側(cè)的 HREADY(輸入 ready),用于控制數(shù)據(jù)傳輸

? Slave 輸出的 HREADY,用于表明數(shù)據(jù)已經(jīng)被接收

主流 FPGA 支持不足

在 FPGA 工程中,AHB 還存在另一個(gè)痛點(diǎn):生態(tài)與工具支持有限。

? 主流 FPGA 的生態(tài)幾乎都是 AXI 為主

? AHB 不像 APB 那樣簡(jiǎn)單,也缺少官方 interconnect IP

? Vivado/Quartus 等工具對(duì) AHB 的參考設(shè)計(jì)和自動(dòng)生成支持非常有限

? 很少有工程師愿意在 FPGA 中自己實(shí)現(xiàn)一套 AHB 互聯(lián)

因此,盡管 AHB 有其優(yōu)勢(shì),實(shí)際使用時(shí)需要付出更多工程成本。

AHB 的工程實(shí)用性

盡管存在這些痛點(diǎn),但在 特定規(guī)模的配置總線場(chǎng)景 下,AHB-Lite 仍然非常實(shí)用:

? 它解決了 APB 難以做 pipeline 的問(wèn)題

? 它避免了 AXI-Lite 需要手動(dòng)管理順序語(yǔ)義的麻煩

? 同時(shí),AHB-Lite 的復(fù)雜度介于 APB 和 AXI-Lite 之間,既不太弱,也不過(guò)于臃腫

因此,對(duì)于中等規(guī)模的配置通路,AHB-Lite 往往是工程上最折中的選擇。

寫(xiě)在最后

在實(shí)際 SoC、FPGA IP 與外設(shè)控制器設(shè)計(jì)中,配置總線的選擇往往是權(quán)衡穩(wěn)定性、性能與工程成本的折中。

總線類(lèi)型 優(yōu)點(diǎn) 缺點(diǎn) 工程適用場(chǎng)景
APB 簡(jiǎn)單、易集成、資源占用低 讀寫(xiě)共享通路、不易 pipeline、時(shí)序閉合難 小規(guī)模配置總線、低速寄存器訪問(wèn)
AXI-Lite 讀寫(xiě)通道獨(dú)立、支持并行、可連續(xù)請(qǐng)求 順序不可控、通道多、硬件成本高 高并發(fā)配置需求、需要多 master/多 slave 支持
AHB-Lite 地址/數(shù)據(jù)階段解耦、可流水化、支持 back-pressure HREADY 雙重語(yǔ)義復(fù)雜、FPGA 工具生態(tài)弱 中等規(guī)模配置總線、需要 pipeline 且順序重要

從工程實(shí)踐來(lái)看:

APB 適合簡(jiǎn)單、低速配置場(chǎng)景,資源占用最小,但在系統(tǒng)規(guī)模擴(kuò)大、跨時(shí)鐘域或多 slave 情況下容易遇到時(shí)序收斂和 slice/pipeline 難題。

AXI-Lite 靈活性高,讀寫(xiě)通道獨(dú)立且可并行,但需要手動(dòng)管理順序語(yǔ)義,硬件復(fù)雜度和接線成本高。

AHB-Lite 在中等規(guī)模配置總線中最為折中:它既解決了 APB 難以 pipeline 的痛點(diǎn),也規(guī)避了 AXI-Lite 的順序管理麻煩,同時(shí)硬件復(fù)雜度適中,但需要處理 HREADY 雙重語(yǔ)義,并且在 FPGA 中缺乏工具支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22406

    瀏覽量

    636073
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5608

    瀏覽量

    129940
  • 總線協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    168

    瀏覽量

    15614

原文標(biāo)題:FPGA雜談:APB、AHB-Lite、AXI-Lite的選型與痛點(diǎn)

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Zynq中AXI4-LiteAXI-Stream功能介紹

    Zynq中AXI4-Lite功能 AXI4-Lite接口是AXI4的子集,專(zhuān)用于和元器件內(nèi)的控制寄存器進(jìn)行通信。AXI-Lite允許構(gòu)建簡(jiǎn)單的元件接口。這個(gè)接口規(guī)模較小,對(duì)設(shè)計(jì)和驗(yàn)證方
    的頭像 發(fā)表于 09-27 11:33 ?9949次閱讀
    Zynq中<b class='flag-5'>AXI4-Lite</b>和<b class='flag-5'>AXI</b>-Stream功能介紹

    一文詳解AHB-Lite協(xié)議

    主要用于高性能模塊(如CPU、DMA和DSP等)之間的連接,一個(gè)master可以有多個(gè)slave,AHBAPB之間通過(guò)一個(gè)AHB2APB橋轉(zhuǎn)接。這里是實(shí)現(xiàn)一個(gè)AHB_Lite
    的頭像 發(fā)表于 08-27 09:23 ?3015次閱讀
    一文詳解<b class='flag-5'>AHB-Lite</b><b class='flag-5'>協(xié)議</b>

    RDMA簡(jiǎn)介8之AXI 總線協(xié)議分析1

    點(diǎn)對(duì)點(diǎn)連接總線,其去掉了地址總線,主要用于點(diǎn)對(duì)點(diǎn)間的高速數(shù)據(jù)流傳輸。三種接口的對(duì)比如表 1 所示:表1 AXI4、AXI4-Lite
    發(fā)表于 06-24 18:00

    有沒(méi)有一種標(biāo)準(zhǔn)的方式到達(dá)PL AXI-Lite總線?

    嗨,我將通過(guò)測(cè)試驗(yàn)證這一點(diǎn),但我對(duì)AXI-Lite外設(shè)“寄存器寫(xiě)入”如何出現(xiàn)在AXI-Lite總線上有疑問(wèn)。AXI標(biāo)準(zhǔn)表明數(shù)據(jù)和地址可以非常相互獨(dú)立地出現(xiàn),從靈活性的角度來(lái)看這是很好的
    發(fā)表于 04-12 13:45

    請(qǐng)問(wèn)S_AXI端口是否遵循AXI_Lite協(xié)議?

    ,portis僅顯示為S_AXI。接口引腳與AXI lite兼容。我需要知道S_AXI端口是否遵循AXI_Lite
    發(fā)表于 05-14 09:09

    AXI、AHBAPB的性能有什么不同?

    什么是AMBA?AMBA分為哪幾種?AXIAHBAPB的性能有什么不同?AHB總線是如何組成的?AP
    發(fā)表于 06-18 06:55

    AMBA AHB總線APB總線資料合集

    使用的是 SystemVerilog 描述。2、AMBA APB總線信號(hào)接口介紹前面分析AHB總線協(xié)議
    發(fā)表于 04-07 10:03

    AHB-lite總線如何處理獨(dú)占訪問(wèn)

    我正在使用混淆的RTL for Cortex-M3。我有一個(gè)可行的設(shè)計(jì),可以將3個(gè)AHB-lite總線復(fù)用為2個(gè)AXI3總線。該設(shè)計(jì)類(lèi)似于具有代碼
    發(fā)表于 08-18 11:11

    在Arm AMBA協(xié)議集中AHB-lite可否使用

    Arm AMBA協(xié)議集中,LPI 在AMBA4 出現(xiàn),協(xié)議和鏈路層 與 AXI/AHB 無(wú)關(guān) 獨(dú)立的嗎? AHB-lite 可否使用?
    發(fā)表于 09-08 11:35

    ARM CoreLink AXI4至AHB Lite XHB-400橋接技術(shù)參考手冊(cè)

    XHB將AXI4協(xié)議轉(zhuǎn)換為AHB-Lite協(xié)議,并具有AXI4從接口和AHB-Lite主接口。有
    發(fā)表于 08-02 06:51

    PrimeCell基礎(chǔ)設(shè)施AMBA 2 AHB至AMBA 3 AXI橋(BP136)技術(shù)概述

    AMBA?2 AHB?至AMBA 3 AXI?橋使AHB主機(jī)能夠與AXI從機(jī)或互連進(jìn)行通信(如果時(shí)鐘和重置信號(hào)是公共的)。 該網(wǎng)橋有三種變種,可支持以下接口: ·ARM11
    發(fā)表于 08-21 06:43

    PrimeCell高性能矩陣(PL301)技術(shù)概述

    (PL301)技術(shù)參考手冊(cè)。 IP的這種組合提供了對(duì)其他AMBA接口協(xié)議的支持,包括AHB-LiteAPB。 使用基于AMBA Designer圖形用戶界面(GUI)的配置工具來(lái)設(shè)計(jì)您的母線矩陣。 然后,您可以在以下位置生成、
    發(fā)表于 08-22 06:22

    AMBA總線AHB、APB、AXI性能對(duì)比分析AHB詳解

    高性能總線 ASB (Advanced System Bus) 高級(jí)系統(tǒng)總線 APB (Advanced Peripheral Bus) 高級(jí)外圍總線
    發(fā)表于 11-15 12:26 ?3.4w次閱讀

    AXI總線協(xié)議AHBAPB、AXI對(duì)比分析

    V1.0 ASB、APB是第一代AMBA協(xié)議的一部分。主要應(yīng)用在低帶寬的外設(shè)上,如UART、 I2C,它的架構(gòu)不像AHB總線是多主設(shè)備的架構(gòu),APB
    發(fā)表于 04-14 10:54 ?4871次閱讀

    自定義AXI-Lite接口的IP及源碼分析

    在 Vivado 中自定義 AXI4-Lite 接口的 IP,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 LED 控制功能,并將其掛載到 AXI Interconnect 總線互聯(lián)結(jié)構(gòu)上,通過(guò) ZYNQ 主機(jī)控制,后面對(duì) Xilinx 提供的整個(gè)
    發(fā)表于 06-25 16:31 ?5046次閱讀
    自定義<b class='flag-5'>AXI-Lite</b>接口的IP及源碼<b class='flag-5'>分析</b>