Interfaces and Buses / AMBA / AMBA_APB
Block Name: AMBA_APB
Code File Location: VisualSim/actor/arch/Buses/AMBA_APB
o The AMBA_APB Local bus protocol is a high performance bus for interconnecting peripheral chips to any independent processor/memory subsystems.
The AMBA bus block can be used as interconnect between high bandwidth peripherals closer to the CPU for performance gains.
To change the Bus Width, Open Instance and modify the Linear_Controller block to a different value.
AMBA APB features:
- High performance
- Pipelined operation
- Multiple bus masters
- Burst transfers
- Split transactions
Statistics collected for the AMBA Bus includes:
- Throughput in Mbps
- Utilization percentage
- Input Output transactions per sec (IOs_per_second)
- Input buffer occupancy in words
This model has been fully validated against the specification. Refer to the Bus Documentation section to see the validation details. This library component is used to assemble complex systems that contain one or more AMBA buses. The default AMBA comes with split-and-retry turned on and uses a First Come-First Server arbitration. The user can modify these two attributes to turn off Split-Retry and make the protocol Round-Robin. It is preferable to make this change on a per model instance basis and not in the original block implementation. To carryout this activity:
Parameter |
Explanation |
Example |
Architecture_Name |
ArchitectureSetup that this block is associated with for routing and statistics. |
"Arch_Bus_1" |
Bus_Name |
Unique name for this bus in the model. it is used to generate statistics from ArchitectureSetup. |
“Bus_1” |
Bus_Speed_Mhz |
Speed of the Bus. |
100.0 |
Burst_Size_Bytes |
Set to 64 Bytes. Determines the maximum length of a transaction. If a higher priority transaction coms, the next burst will wait until the higher priority item is transfered. |
64 |
Bus_Width | 4 (Int) | Width, needs to be set inside the block (use Right-click->Open Instance) as it is a menu pull-down. |
Enable_Plots | Checkbox (Default is false) | Timing diagram showing activity of each port |
Devices_Attached_To_Slave_By_Port | {{"Device_1"}, {"Device_2"}, {"Device_3"}, {"Device_4"}, {"Device_5"}, {"Device_6"}, {"Device_7"}, {"Device_8"}} | This
is an array that lists all the slaves that are connected via this port. The ports are match in order. |
Round_Robin_Port_Array | {Bus_Name+"_Port_1", | This is an array of the Round Robin order of execution. User needs to Select RR for the Arbiter_Mode (use Right-click->Open Instance) as it is a menu pull-down. |
Created with the Personal Edition of HelpNDoc: Free Web Help generator