ConstructionSteps

Parent Previous Next

VisualSim                                                                                                                             


Construction Steps

The construction steps of the 'AXI Combo Bus' model is described below.

Step 1

  1. Open a new block diagram by selecting File > New > Block Diagram Editor.
  2. 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.)
  3. To set up the model parameter in the model, instantiate ModelSetup >  Parameter=.
  4. 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.
  5. Instantiate an architecture setup block from Hardware_Setup > Architecture_Setup. Maintain the default parameter value.
  6. Instantiate the Text_Display block from Results > TextDisplay.
  7. 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

  1. To set up the model of the traffic, use the Traffic block in Traffic > Traffic.
  2. Double-click the block to setup the parameters as follows:


 

Figure 2. AHB – AXI Model Step 2

 

Figure 3. Parameters for Transaction_Source block

Step 3

  1. Instantiate the Processing block from Full Library > Defining_Flow > Processing and set the A_Task_Flag = true.
  2. Instantiate the Device_Interface block from Hardware_Setup > Device_Interface and setup the following Data Structure Attributes:

step 3

Figure 4. AHB – AXI Model Step 3

Figure 5. Parameters for I_O block

Step 4

  1. Instantiate the AHB Bus block from Interfaces and Buses > AMBA > AMBA_AHB.  Double-click the block and set the following AHB parameters:

 

Figure 6. AHB – AXI Model Step 4

Parameters

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:


The remaining values should be unchanged.

Figure 8. AHB – AXI Model Step 5

Parameters

Figure 9. Parameters for DRAM

Step 6

  1. 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

  1. 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:


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}