chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

以下文章來源于AdriftCoreFPGA芯研社,作者CNL中子

前言

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

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

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

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

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

APB

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

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

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

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

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

時序收斂難度陡增

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

? 長組合路徑鏈條過多

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

? 極高的 Fanout

? 全局走線拉得非常長

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

APB 極不適合做slice/pipeline

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

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

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

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

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

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

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

? PREADY 反饋延遲不一致

? PRDATA 返回周期無法與手冊周期要求匹配

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

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

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

AXI-Lite

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

與完整 AXI 不同,AXI-Lite 不支持 burst,也沒有 ID,因此僅支持單次訪問。然而,它允許:

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

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

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

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

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

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

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

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

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

1. Read SLAVE_A
2. Read SLAVE_B

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

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

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

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

? Ordering FIFO(請求順序緩存)

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

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

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

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

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

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

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

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

? 資源成本更高

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

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

AHB-Lite

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

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

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

在 AHB-Lite 中,每一次訪問由兩部分組成:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

因此在設(shè)計 slave 時,通常需要處理兩個 ready 信號:

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

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

主流 FPGA 支持不足

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

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

? AHB 不像 APB 那樣簡單,也缺少官方 interconnect IP

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

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

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

AHB 的工程實(shí)用性

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

? 它解決了 APB 難以做 pipeline 的問題

? 它避免了 AXI-Lite 需要手動管理順序語義的麻煩

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

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

寫在最后

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

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

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

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

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

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

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

    關(guān)注

    1660

    文章

    22421

    瀏覽量

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

    關(guān)注

    31

    文章

    5609

    瀏覽量

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

    關(guān)注

    0

    文章

    170

    瀏覽量

    15621

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Zynq中AXI4-LiteAXI-Stream功能介紹

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

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

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

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

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

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

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

    請問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總線信號接口介紹前面分析AHB總線協(xié)議
    發(fā)表于 04-07 10:03

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

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

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

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

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

    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)行通信(如果時鐘和重置信號是公共的)。 該網(wǎng)橋有三種變種,可支持以下接口: ·ARM11
    發(fā)表于 08-21 06:43

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

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

    AMBA總線AHB、APBAXI性能對比分析AHB詳解

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

    AXI總線協(xié)議AHB、APBAXI對比分析

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

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

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