目录
ahb databook 阅读
参考 databook : dw_ahb_databook v2.16a
0. Block Diagram
Master/manger up tp 15, slave/subordinate up to 31.
1. Features
The DW_ahb supports the following features:
(实际支持哪些功能,根据实际配置有关)
Part 1:
- Compliance with the AMBA Specification (Rev. 2.0)
- Configuration of DesignWare AHB Lite system
- Configuration of up to 15 managers in a non-AMBA DesignWare Lite system
- Configuration of up to 31 subordinates
- Configuration of data bus width of 8, 16, 32, 64, 128, or 256 bits
- System address width of 32 or 64 bits (地址位宽 32 or 64 bits)
- Configuration of system endianness — Big or little endian; can be controlled by external input or set during configuration of component (支持大小端,可配置)
Part 2:仲裁相关
- Optional arbiter subordinate interface
- Optional internal decoder
- Programmable arbitration scheme 仲裁算法可配置
- Weighted token
- Programmable or fixed priority
- Fair-Among-Equals (== ???==)
- Arbitration for up to 15 managers
Part 3:数据传输相关
- Individual grant signals for each manager
- Support for split, burst, and locked transfers
- Optional support for early-burst termination
- Optional support for non-standard Manager ID sideband signal in AHB-Lite Mode
- Configurable support for termination of undefined length bursts by managers of equal or higher priority
- Configurable or programmable priority assignments to managers
- Disabling of managers and protection against self disable
- Optional support for memory remap feature
- Optional support for pausing of the system, immediately or when bus is IDLE
- Contiguous and non-contiguous memory allocation options for subordinates
- External debug mode signals, giving visibility
- Complies with AMBA 5 AHB protocol specification
- Extended memory types
- Secure transfers
- Exclusive transfers
- Multiple Subordinate Select signals support on a single subordinate interface
- User Signals support on each channel
2. 三种仲裁机制
2.1 仲裁算法框图
2.2 仲裁机制说明
- Programmable arbitration scheme 仲裁算法可配置
- First Tier Arbitrition
- Programmable or fixed priority
- 固定优先级
- Second Tier Arbitrition
- Fair-Among-Equals
- This algorithm compares each manager at every clock cycle. When a manager is granted access to the bus, DW_ahb holds the grant for two clock cycles (providing hready is high). Then it checks which manager is requesting access and re-arbitration occurs.
- extention of the default-arbitration-scheme (first-and-second-tiers) (optional)
- Weighted token (optional)
- 与前面两个仲裁机制,配合使用
- DUT 中没有配,不支持;当多个 master 在等待时,可以用到 weighted token
- 使用场景: 配合 priority 使用,避免高优先级的一直占用。
- First Tier Arbitrition
3. default master v.s. dummy master ? (TO-DO)
matrix 上没有 master 请求访问时, hgrant 指定给 default master.
dummy master ?
4. timing diagram 参考 AHB 协议
DUT 功能
0. ahb matrix 使用场景
简单的使用 ahb matrix, 复杂的使用 NoC
1. DUT Features(通过 CoreConsultant 配置)
The DW_ahb supports the following features:
(实际支持哪些功能,根据实际配置有关)
Part 1:
- Compliance with the AMBA Specification (Rev. 2.0)
- Configuration of DesignWare AHB Lite system
- Configuration of up to 15 managers in a non-AMBA DesignWare Lite system
- Configuration of up to 31 subordinates
- 数据位宽 32 bits
- 地址位宽 32 bits
- 小端模式 Configuration of system endianness — little endian
Part 1+: slave memory region 的配置
- slave memory region 配置
- 不支持 split
- 只支持 normal mode; 不支持 boot mode
Part 2:仲裁相关
- Optional arbiter subordinate interface
- 比较重要的功能,与 memory map 相关,Optional internal decoder
- Programmable arbitration scheme 仲裁算法可配置
- Weighted token
- Programmable or fixed priority
- Fair-Among-Equals (== TO-DO==)
- Arbitration for up to 15 managers
Part 3:数据传输相关
- Individual grant signals for each manager
- Support for split, burst, and locked transfers
- 支持 early-burst-termination (EBT)
- 场景:发现有 master 长期占用需要中断,各种需要提前中断传输的场景
- 通过软件或硬件去触发 EBT
- 相关寄存器(软件层面): AHB_EBTCOUNT, AHB_EBT_EN
- 端口(硬件层面):无 input 信号线
- Optional support for non-standard Manager ID sideband signal in AHB-Lite Mode
- Configurable support for termination of undefined length bursts by managers of equal or higher priority
- Configurable or programmable priority assignments to managers
- Disabling of managers and protection against self disable
- Optional support for memory remap feature
- Optional support for pausing of the system, immediately or when bus is IDLE
- Contiguous and non-contiguous memory allocation options for subordinates
- External debug mode signals, giving visibility
- Complies with AMBA 5 AHB protocol specification
- Extended memory types
- Secure transfers
- Exclusive transfers
- Multiple Subordinate Select signals support on a single subordinate interface
- User Signals support on each channel
Part 4
- default master : 可通过寄存器配置(没有使用 hard-coded master)
- default slave: 如果访问的区域,都没有 slave;会使用 default slave.
- pause mode : matrix 处于 pause mode 时,不响应任何请求。DUT 配置为可以支持 pause mode;然后,可以通过端口,配置 pause mode bit 位。
- delayed pause: DUT 配置为可以支持 pause mode;pause signal 如果拉高时,整个matrix 不是立即停下来,会等待所有数据发完,再进入 pause mode.
- full incrementing bursts (optinal):如果支持,EBT 不会中断 unspecified length 传输; DUT 配置为 不支持。
Part 5. Memory Map TO-DO (AHB-RAM)
- remap:
- Boot Mode and Normal Mode
- ROM and SRAM
2. DUT 的仲裁机制
- Programmable arbitration scheme 仲裁算法可配置
- First Tier Arbitrition
- Programmable or fixed priority
- 固定优先级
- Second Tier Arbitrition
- Fair-Among-Equals
- This algorithm compares each manager at every clock cycle. When a manager is granted access to the bus, DW_ahb holds the grant for two clock cycles (providing hready is high). Then it checks which manager is requesting access and re-arbitration occurs.
- extention of the default-arbitration-scheme (first-and-second-tiers) (optional)
- 不支持 Weighted token (optional)
- 可以检测是否:高优先级的一直占用 bus
- First Tier Arbitrition