Construction Steps
The construction steps of the 'AXI Combo Bus' model is described below.
Step 1
- Open a new block diagram by selecting File > New > Block Diagram Editor.
- Instantiate a Digital block from ModelSetup > Digital.
Double-click the block and set the "StopTime" parameter as Sim_Time.
Maintain the default for all other values. (Sim_Time is the name
of the Model Parameter.)
- To set up the model parameter in the model, instantiate ModelSetup > Parameter=.
- Double-click Parameter=. Enter the parameter name Sim_Time
and click OK. Similarly, set the model parameters for the model as
shown in figure 1.
- Instantiate an architecture setup block from Hardware_Setup > Architecture_Setup. Maintain the default parameter value.
- Instantiate the Text_Display block from Results > TextDisplay.
- Connect the Architecture_Setup block ports (Internal_Stats_out and Util_Stats_out) to the Text Display block.
Figure 1. AHB – AXI Model Step 1
Step 2
- To set up the model of the traffic, use the Traffic block in Traffic > Traffic.
- Double-click the block to setup the parameters as follows:
- Data_Structure_Name: “Processor_DS”
- Generate the token based on user-defined timing and Time_Distribution.
Figure 2. AHB – AXI Model Step 2
Figure 3. Parameters for Transaction_Source block
Step 3
- Instantiate the Processing block from Full Library > Defining_Flow > Processing and set the A_Task_Flag = true.
- Instantiate the
Device_Interface block from Hardware_Setup > Device_Interface and
setup the following Data Structure Attributes:
- Source
- Destination
- Command
- Bytes
- Priority
- Instruction
Figure 4. AHB – AXI Model Step 3
Figure 5. Parameters for I_O block
Step 4
- Instantiate the
AHB Bus block from Interfaces and Buses > AMBA > AMBA_AHB.
Double-click the block and set the following AHB parameters:
- Bus_Name = “AHB_Bus”
- Bus_Speed_Mhz = Bus_Speed (Linking to Model Parameter)
- Sim_Time
=
Sim_Time (Linking to Model Parameter)
Figure 6. AHB – AXI Model Step 4
Figure 7. Parameters for AMBA_AHB block
Note: The connectivity order should be made first to the Bus then from the Bus.
Step 5
Instantiate the RAM block from Memory > RAM and setup the parameter as:
- Memory_Name = “DRAM”
- Memory_Speed_Mhz = Bus_Speed (Linking to Model Parameter)
The remaining values should be unchanged.
Figure 8. AHB – AXI Model Step 5
Figure 9. Parameters for DRAM
Step 6
- Instantiate the
Bridge block from Hardware_Devices > Bridge and setup the parameters
such as Bridge_Name and Bridge_Speed_in_Mhz. All the remaining values
should be unchanged.
Figure 10. Parameters for Bridge
- Instantiate the
AXI Bus block from Interfaces and Buses > AMBA > AMBA_AXI
and setup the parameters such as Bus_Name, AXI_Speed_Mhz,
AXI_Cycle_Time, and Device_Attached_to_Slave_by_Port. All the remaining
values should be unchanged.
Figure 11. AHB – AXI Model Step 6
Figure 12. Parameters for AMBA_AXI
Step 7
The DRAM acts as an External RAM. Instantiate the RAM block from Memory > RAM and set up the following parameters:
- Memory_Name = “DDRDRAM”
- Memory_Speed_Mhz = Bus_Speed (Linking to Model Parameter)
The remaining values should be unchanged.
Figure 13. AHB – AXI Model Step 7
Step 8
Calculate the Latency using the Processing Block.
Latency = Current Time – input generated time
Figure 14. Latency Hierarchical Block
Figure 15. Parameters for Processing block
Latency Plot
The calculated latency between 2 Transaction_Source and their respective slave such as Serial port and External RAM:
Figure 16. xTime_yData_Plotter after execution of model
Statistics of AXI Bus Model
{BLOCK
=
"AMBA_AHB_AXI_Bus01.AMBA_AXI4.AXI_Level_2_Rd_Request_Queue",
DELTA = 0.0,
DS_NAME = "Queue_Common_Stats",
ID
=
1,
INDEX = 0,
Number_Entered = 50,
Number_Exited = 50,
Number_Rejected = 0,
Occupancy_Max = 1.0,
Occupancy_Mean = 1.0,
Occupancy_Min = 1.0,
Occupancy_StDev = 0.0,
Queue_Number = 1,
TIME
= 4.9999E-5,
Total_Delay_Max = 3.100000000000021E-9,
Total_Delay_Mean = 3.079999999999936E-9,
Total_Delay_Min = 2.099999999999999E-9,
Total_Delay_StDev = 1.3999999999997382E-10,
Utilization_Mean = 0.0}
{BLOCK
=
"AMBA_AHB_AXI_Bus01.AMBA_AXI4.AXI_Level_2_Rd_Request_Queue",
DELTA
=
0.0,
DS_NAME = "Queue_Common_Stats",
ID
= 2,
INDEX
= 0,
Number_Entered = 0,
Number_Exited = 0,
Number_Rejected = 0,
Occupancy_Max = 0.0,
Occupancy_Mean = 0.0,
Occupancy_Min = 0.0,
Occupancy_StDev = 0.0,
Queue_Number = 2,
TIME
= 4.9999E-5,
Total_Delay_Max = 0.0,
Total_Delay_Mean = 0.0,
Total_Delay_Min = 0.0,
Total_Delay_StDev = 0.0,
Utilization_Mean = 0.0}