Cycle-accurate Memory

Modeling multiple requester with addresses to DDR and LPDDR

Multi_AXI_to_Memory_Access

Below is a browsable image of the model.

  • To download OpenWebStart click on the links -
    Windows- Compatibility:Windows 10 or higher (*)
    macOS - Compatibility:macOS 10.15 (Catalina) or higher (*)
    Linux - Compatibility:Ubuntu 18.04 LTS or higher (*)
  • For an executable version,
  • To view or save the MoML file for this model, click here.
Multi_AXI_to_Memory_Accessmodel <h2>DS_xTime_yData_Plotter</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>fillOnWrapup</td><td>true</td><td>true</td></tr><tr><td>legend</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>startingDataset</td><td>0</td><td>0</td></tr><tr><td>fileName</td><td>Enter Filename to save plot</td><td>&quot;Enter Filename to save plot&quot;</td></tr><tr><td>Field_Trace_Name</td><td>Plot_Name</td><td>&quot;Plot_Name&quot;</td></tr><tr><td>Field_Y_Value</td><td>Plot_Value</td><td>&quot;Plot_Value&quot;</td></tr><tr><td>Field_Color</td><td>Plot_Color</td><td>&quot;Plot_Color&quot;</td></tr><tr><td>Field_Offset</td><td>Plot_Offset</td><td>&quot;Plot_Offset&quot;</td></tr><tr><td>viewPlot</td><td>true</td><td>true</td></tr><tr><td>savePlot</td><td>false</td><td>false</td></tr></table> <h2>AXI_Bus</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>rowsDisplayed</td><td>10</td><td>10</td></tr><tr><td>columnsDisplayed</td><td>40</td><td>40</td></tr><tr><td>suppressBlankLines</td><td>false</td><td>false</td></tr><tr><td>title</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>ViewText</td><td>true</td><td>true</td></tr><tr><td>saveText</td><td>false</td><td>false</td></tr><tr><td>fileName</td><td>Enter Filename to save text</td><td>&quot;Enter Filename to save text&quot;</td></tr><tr><td>Append_Time</td><td>true</td><td>true</td></tr></table> <h2>LPDDR Statistics2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>rowsDisplayed</td><td>10</td><td>10</td></tr><tr><td>columnsDisplayed</td><td>40</td><td>40</td></tr><tr><td>suppressBlankLines</td><td>false</td><td>false</td></tr><tr><td>title</td><td>LPDDR Statistics</td><td>LPDDR Statistics</td></tr><tr><td>ViewText</td><td>true</td><td>true</td></tr><tr><td>saveText</td><td>false</td><td>false</td></tr><tr><td>fileName</td><td>Enter Filename to save text</td><td>&quot;Enter Filename to save text&quot;</td></tr><tr><td>Append_Time</td><td>true</td><td>true</td></tr></table> <h2>Crossbar</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>rowsDisplayed</td><td>10</td><td>10</td></tr><tr><td>columnsDisplayed</td><td>40</td><td>40</td></tr><tr><td>suppressBlankLines</td><td>false</td><td>false</td></tr><tr><td>title</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>ViewText</td><td>true</td><td>true</td></tr><tr><td>saveText</td><td>false</td><td>false</td></tr><tr><td>fileName</td><td>Enter Filename to save text</td><td>&quot;Enter Filename to save text&quot;</td></tr><tr><td>Append_Time</td><td>true</td><td>true</td></tr></table> <h2>AMBA_AXI</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Architecture_Name</td><td>Architecture_Name</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>Bus_Name</td><td>Bus_Name</td><td>&quot;AXI_Top&quot;</td></tr><tr><td>AXI_Speed_Mhz</td><td>Controller_Speed_Mhz</td><td>400.0</td></tr><tr><td>AXI_Cycle_Time</td><td>1.0E-06 / AXI_Speed_Mhz</td><td>2.5E-9</td></tr><tr><td>_explanation</td><td>Interfaces and Buses-&gt;AHB-&gt;AXI_Bus</td><td>Interfaces and Buses-&gt;AHB-&gt;AXI_Bus</td></tr><tr><td>Bus_Width</td><td>8</td><td>8</td></tr><tr><td>Read_Threshold</td><td>2</td><td>2</td></tr><tr><td>Write_Threshold</td><td>2</td><td>2</td></tr><tr><td>Master_Request_Threshold</td><td>{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}  </td><td>{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}</td></tr><tr><td>Number_Masters</td><td>8</td><td>8</td></tr><tr><td>Number_Slaves</td><td>2</td><td>2</td></tr><tr><td>Threshold_Trans_T_Bytes_F</td><td>true</td><td>true</td></tr><tr><td>Arbiter_FIX_1_RR_2_CUSTOM_3</td><td>2</td><td>2</td></tr><tr><td>Slave_Speeds_Mhz</td><td>{AXI_Speed_Mhz, AXI_Speed_Mhz, AXI_Speed_Mhz, AXI_Speed_Mhz,AXI_Speed_Mhz, AXI_Speed_Mhz, AXI_Speed_Mhz, AXI_Speed_Mhz}</td><td>{400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0, 400.0}</td></tr><tr><td>Extra_Cycles_for_RdReq_WrReq_RdData_WrData</td><td>{0, 0, 0, 0,0, 0, 0, 0}</td><td>{0, 0, 0, 0, 0, 0, 0, 0}</td></tr><tr><td>Devices_Attached_to_Slave_by_Port</td><td>{{&quot;DRAM&quot;},{&quot;none&quot;},{&quot;none&quot;},{&quot;none&quot;},{&quot;none&quot;},{&quot;none&quot;},{&quot;none&quot;},{&quot;none&quot;}}</td><td>{{&quot;DRAM&quot;}, {&quot;none&quot;}, {&quot;none&quot;}, {&quot;none&quot;}, {&quot;none&quot;}, {&quot;none&quot;}, {&quot;none&quot;}, {&quot;none&quot;}}</td></tr><tr><td>Master_First_Word_Flag</td><td>true</td><td>true</td></tr><tr><td>Master_Throttle_Enable</td><td>{true,false,true,false,true,false,true,false}</td><td>{true, false, true, false, true, false, true, false}</td></tr><tr><td>Slave_Throttle_Enable</td><td>{true,false,false,false,false,false,false,false}  </td><td>{true, false, false, false, false, false, false, false}</td></tr><tr><td>DEBUG</td><td>false</td><td>false</td></tr><tr><td>Custom_Arbiter_File</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr><tr><td>Custom_Arbiter_Path</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr><tr><td>Fixed_Priority_Array</td><td>{{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}}</td><td>{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}}</td></tr><tr><td>Slave_First_Word_Flag</td><td>true  /* Not Active in Default Slave */</td><td>true</td></tr><tr><td>Custom_Slave_File</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr><tr><td>Ports_to_Plot</td><td>{0,0} /* master n, slave m, 0 disables */</td><td>{0, 0}</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr></table> <h2>HW_DRAM2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Architecture_Name</td><td>&quot;Architecture_1&quot;</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>HW_DRAM_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>HW_DRAM_Speed_Mhz</td><td>400.0</td><td>400.0</td></tr><tr><td>Number_of_Banks</td><td>8</td><td>8</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>_explanation</td><td>Hardware_Modeling-&gt;Memory-&gt;HW_DRAM</td><td>Hardware_Modeling-&gt;Memory-&gt;HW_DRAM</td></tr><tr><td>Memory_Width_Bytes</td><td>2</td><td>2</td></tr><tr><td>Burst_Length</td><td>8 /* 2, 4, 8 */</td><td>8</td></tr><tr><td>DRAM_Type</td><td>&quot;LPDDR2_S2&quot; /* SDR, DDR, DDR2, LPDDR, LPDDR2_NV, LPDDR2_S2, LPDDR2_S4, LPDDR3, DDR3 */</td><td>&quot;LPDDR2_S2&quot;</td></tr><tr><td>Mfg_Suggest_Timing</td><td>{3,7,8,17} /* tCL, tRCD, tRP, tRAS */</td><td>{3, 7, 8, 17}</td></tr><tr><td>Extra_Timing</td><td>{1,3,4,1,3,1,1} /* DQSS, tWTR, tRRD, tWR, tRL, tWL , tDQSCK*/</td><td>{1, 3, 4, 1, 3, 1, 1}</td></tr><tr><td>Fix_DQSS</td><td>true</td><td>true</td></tr><tr><td>Refresh_Rate_per_Bank_ms</td><td>64.0 /* 64.0 ms */</td><td>64.0</td></tr><tr><td>Refresh_Cycles_per_Bank</td><td>256 /* 256 cycles per bank */</td><td>256</td></tr><tr><td>Enable_External_Data</td><td>false</td><td>false</td></tr><tr><td>Address_Bit_Map</td><td>{{0,9},{10,24},{25,27}}  /* col, row, bank (min, max) Bit Position */</td><td>{{0, 9}, {10, 24}, {25, 27}}</td></tr><tr><td>Standard_Name</td><td>&quot;none&quot; /*reads DDR_Memory_Standards.txt */</td><td>&quot;none&quot;</td></tr><tr><td>Standard_File</td><td>VS/VisualSim/actor/arch/Memory/DDR_Memory_Standards.txt</td><td>&quot;VS/VisualSim/actor/arch/Memory/DDR_Memory_Standards.txt&quot;</td></tr><tr><td>Power_Manager_Name</td><td>&quot;none&quot;  /* Default */</td><td>&quot;none&quot;</td></tr><tr><td>Memory_Controller</td><td>&quot;none&quot;  /* Default */</td><td>&quot;none&quot;</td></tr><tr><td>Bank_at_a_Time</td><td>true  /* false=all */</td><td>true</td></tr><tr><td>DEBUG</td><td>false</td><td>false</td></tr><tr><td>State_Plot_Enable</td><td>false</td><td>false</td></tr><tr><td>Path</td><td>&quot;VS/User_Library&quot;</td><td>&quot;VS/User_Library&quot;</td></tr></table> <h2>ArchitectureSetup</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Architecture_Name</td><td>&quot;Architecture_1&quot;</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>Field_Name_Mapping</td><td>/* First row contains Column Names.                */\\nExternal_Field_Name          Internal_Field_Name   ; \\nA_Address                    A_Address             ; \\nA_Bytes                      A_Bytes               ; \\nA_Data                       A_Data                ; \\nA_IDX                        A_IDX                 ; \\nA_Instruction                A_Instruction         ; \\nA_Priority                   A_Priority            ; \\nA_Source                     A_Source              ; \\nA_Destination                A_Destination         ; \\nA_Task_ID                    A_Task_ID             ; \\nA_Time                       A_Time                ; \\n</td><td>/* First row contains Column Names.                */\\nExternal_Field_Name          Internal_Field_Name   ; \\nA_Address                    A_Address             ; \\nA_Bytes                      A_Bytes               ; \\nA_Data                       A_Data                ; \\nA_IDX                        A_IDX                 ; \\nA_Instruction                A_Instruction         ; \\nA_Priority                   A_Priority            ; \\nA_Source                     A_Source              ; \\nA_Destination                A_Destination         ; \\nA_Task_ID                    A_Task_ID             ; \\nA_Time                       A_Time                ; \\n</td></tr><tr><td>Routing_Table</td><td>/* First row contains Column Names.                  */\\n</td><td>/* First row contains Column Names.                  */\\n</td></tr><tr><td>Number_of_Samples</td><td>35</td><td>35</td></tr><tr><td>Statistics_to_Plot</td><td>&quot;MAC_ARM9_PROC_Utilization_Pct_Min, MAC_ARM9_PROC_Utilization_Pct_Mean, MAC_ARM9_PROC_Utilization_Pct_Max, MAC_ARM9_I_1_Hit_Ratio_Mean&quot;</td><td>&quot;MAC_ARM9_PROC_Utilization_Pct_Min, MAC_ARM9_PROC_Utilization_Pct_Mean, MAC_ARM9_PROC_Utilization_Pct_Max, MAC_ARM9_I_1_Hit_Ratio_Mean&quot;</td></tr><tr><td>Internal_Plot_Trace_Offset</td><td>2</td><td>2</td></tr><tr><td>Listen_to_Architecture_Options</td><td>None</td><td>None</td></tr></table> <h2>Timing_Diagram</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Proc_Name</td><td>&quot;Processor_1&quot;</td><td>&quot;Processor_1&quot;</td></tr><tr><td>Bus_Name</td><td>&quot;Bus_1&quot;</td><td>&quot;Bus_1&quot;</td></tr><tr><td>Cache_Name</td><td>&quot;Cache_1&quot;</td><td>&quot;Cache_1&quot;</td></tr><tr><td>DRAM_Name</td><td>&quot;SDRAM_1&quot;</td><td>&quot;SDRAM_1&quot;</td></tr><tr><td>AXI_Name</td><td>&quot;AXI_1&quot;</td><td>&quot;AXI_1&quot;</td></tr><tr><td>Memory_Controller_Name</td><td>&quot;LPDDR&quot;</td><td>&quot;LPDDR&quot;</td></tr><tr><td>HW_DRAM_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>_explanation</td><td>Hardware Setup-&gt;Timing_Diagram</td><td>Hardware Setup-&gt;Timing_Diagram</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr></table> <h2>Create_Statistics</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Statistic_Name</td><td>&quot;Statistic_Name&quot;</td><td>&quot;Statistic_Name&quot;</td></tr><tr><td>Sample_Every_Nth_DS</td><td>1</td><td>1</td></tr><tr><td>Batch_Count_Min_Max</td><td>&quot;1   0.0  TStop&quot;</td><td>&quot;1   0.0  TStop&quot;</td></tr></table> <h2>ExpressionList2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = (TNow - input.TIME)/2.5e-9</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = (TNow - input.TIME)/2.5e-9</td></tr><tr><td>Output_Ports</td><td>output,output1,output2,output3</td><td>&quot;output,output1,output2,output3&quot;</td></tr><tr><td>Output_Values</td><td>Result_A,Result_A,Result_A,Result_A</td><td>&quot;Result_A,Result_A,Result_A,Result_A&quot;</td></tr><tr><td>Output_Conditions</td><td>(input.A_Destination==&quot;MM&quot;),(input.A_Destination==&quot;TG2&quot;),(input.A_Destination==&quot;TG3&quot;),(input.A_Destination==&quot;TG4&quot;)</td><td>&quot;(input.A_Destination==&quot;MM&quot;),(input.A_Destination==&quot;TG2&quot;),(input.A_Destination==&quot;TG3&quot;),(input.A_Destination==&quot;TG4&quot;)&quot;</td></tr><tr><td>_flipPortsHorizontal</td><td>true</td><td>true</td></tr></table> <h2>ExpressionList</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = input.TIME</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = input.TIME</td></tr><tr><td>Output_Ports</td><td>output,output1,output2,output3</td><td>&quot;output,output1,output2,output3&quot;</td></tr><tr><td>Output_Values</td><td>Result_A,Result_A,Result_A,Result_A</td><td>&quot;Result_A,Result_A,Result_A,Result_A&quot;</td></tr><tr><td>Output_Conditions</td><td>(input.A_Destination==&quot;MM&quot;),(input.A_Destination==&quot;TG2&quot;),(input.A_Destination==&quot;TG3&quot;),(input.A_Destination==&quot;TG4&quot;)</td><td>&quot;(input.A_Destination==&quot;MM&quot;),(input.A_Destination==&quot;TG2&quot;),(input.A_Destination==&quot;TG3&quot;),(input.A_Destination==&quot;TG4&quot;)&quot;</td></tr><tr><td>_flipPortsHorizontal</td><td>true</td><td>true</td></tr></table> <h2>xTime_yData_Plotter</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Block_Documentation</td><td>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>fillOnWrapup</td><td>true</td><td>true</td></tr><tr><td>legend</td><td>MM,TG2,TG3,TG4</td><td>MM,TG2,TG3,TG4</td></tr><tr><td>startingDataset</td><td>0</td><td>0</td></tr><tr><td>fileName</td><td>Enter Filename to save plot</td><td>&quot;Enter Filename to save plot&quot;</td></tr><tr><td>viewPlot</td><td>true</td><td>true</td></tr><tr><td>savePlot</td><td>false</td><td>false</td></tr><tr><td>_flipPortsHorizontal</td><td>true</td><td>true</td></tr></table> <h2>TG_AXI4</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Bus_Speed</td><td>160.0</td><td>160.0</td></tr><tr><td>Device_Name</td><td>&quot;TG4&quot;</td><td>&quot;TG4&quot;</td></tr><tr><td>Destination_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>Traffic_Rate_Mhz</td><td>200.0</td><td>200.0</td></tr><tr><td>Data_Size</td><td>AXI_Burst_Length</td><td>16</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>Bus_Name</td><td>Device_Name + &quot;_AXI&quot;</td><td>&quot;TG4_AXI&quot;</td></tr><tr><td>Read_Write</td><td>&quot;Read&quot;</td><td>&quot;Read&quot;</td></tr><tr><td>Addr_Start</td><td>6</td><td>6</td></tr><tr><td>Priority</td><td>1</td><td>1</td></tr></table> <h2>TG_AXI3</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Bus_Speed</td><td>160.0</td><td>160.0</td></tr><tr><td>Device_Name</td><td>&quot;TG3&quot;</td><td>&quot;TG3&quot;</td></tr><tr><td>Destination_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>Traffic_Rate_Mhz</td><td>200.0</td><td>200.0</td></tr><tr><td>Data_Size</td><td>AXI_Burst_Length</td><td>16</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>Bus_Name</td><td>Device_Name + &quot;_AXI&quot;</td><td>&quot;TG3_AXI&quot;</td></tr><tr><td>Read_Write</td><td>&quot;Write&quot;</td><td>&quot;Write&quot;</td></tr><tr><td>Addr_Start</td><td>4</td><td>4</td></tr><tr><td>Priority</td><td>1</td><td>1</td></tr></table> <h2>TG_AXI2</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Bus_Speed</td><td>250.0</td><td>250.0</td></tr><tr><td>Device_Name</td><td>&quot;TG2&quot;</td><td>&quot;TG2&quot;</td></tr><tr><td>Destination_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>Traffic_Rate_Mhz</td><td>200.0</td><td>200.0</td></tr><tr><td>Data_Size</td><td>AXI_Burst_Length</td><td>16</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>Bus_Name</td><td>Device_Name + &quot;_AXI&quot;</td><td>&quot;TG2_AXI&quot;</td></tr><tr><td>Read_Write</td><td>&quot;Read&quot;</td><td>&quot;Read&quot;</td></tr><tr><td>Addr_Start</td><td>2</td><td>2</td></tr><tr><td>Priority</td><td>1</td><td>1</td></tr></table> <h2>TG_AXI</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Bus_Speed</td><td>400.0</td><td>400.0</td></tr><tr><td>Device_Name</td><td>&quot;MM&quot;</td><td>&quot;MM&quot;</td></tr><tr><td>Destination_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>Traffic_Rate_Mhz</td><td>200.0</td><td>200.0</td></tr><tr><td>Data_Size</td><td>AXI_Burst_Length</td><td>16</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>Bus_Name</td><td>Device_Name + &quot;_AXI&quot;</td><td>&quot;MM_AXI&quot;</td></tr><tr><td>Read_Write</td><td>&quot;Read&quot;</td><td>&quot;Read&quot;</td></tr><tr><td>Addr_Start</td><td>0</td><td>0</td></tr><tr><td>Priority</td><td>1</td><td>1</td></tr></table> <h2>Memory_Controller</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Architecture_Name</td><td>&quot;Architecture_1&quot;</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>Controller_Name</td><td>&quot;LPDDR&quot;</td><td>&quot;LPDDR&quot;</td></tr><tr><td>DRAM_Type</td><td>&quot;LPDDR2_S2&quot; /* SDR, DDR, DDR2, LPDDR, LPDDR2_NV, LPDDR2_S2, LPDDR2_S4, LPDDR3, DDR3 */</td><td>&quot;LPDDR2_S2&quot;</td></tr><tr><td>Controller_Speed_Mhz</td><td>400.0</td><td>400.0</td></tr><tr><td>Memory_Width_Bytes</td><td>2</td><td>2</td></tr><tr><td>Bus_Width_Bytes</td><td>8</td><td>8</td></tr><tr><td>Command_Buffer_Length</td><td>15</td><td>15</td></tr><tr><td>Commands_in_a_Row</td><td>0</td><td>0</td></tr><tr><td>Mfg_Suggest_Timing</td><td>{3,7,8,17} /* tCL, tRCD, tRP, tRAS */</td><td>{3, 7, 8, 17}</td></tr><tr><td>Extra_Timing</td><td>{1,3,4,1,3,1,1,1,0} /* DQSS, tWTR, tRRD,tWR, tRL, tWL, tDQSCK, tRTP, tHWpre */</td><td>{1, 3, 4, 1, 3, 1, 1, 1, 0}</td></tr><tr><td>Burst_Length</td><td>8 /* 2, 4, 8 */</td><td>8</td></tr><tr><td>Memory_Column</td><td>{0,9} </td><td>{0, 9}</td></tr><tr><td>Memory_Row</td><td>{13,25}</td><td>{13, 25}</td></tr><tr><td>Memory_Bank</td><td>{10,12}</td><td>{10, 12}</td></tr><tr><td>Memory_Bank_Length</td><td>round(pow(2,(Memory_Bank(1) - Memory_Bank(0) + 1)))</td><td>8L</td></tr><tr><td>DRAM_Return_Cycles</td><td>0</td><td>0</td></tr><tr><td>First_Word_Flag</td><td>false</td><td>false</td></tr><tr><td>Sim_Time</td><td>Sim_Time</td><td>5.0E-5</td></tr><tr><td>Custom_Arbiter_File</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr><tr><td>Custom_Arbiter_Path</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr><tr><td>DEBUG</td><td>false</td><td>false</td></tr><tr><td>_explanation</td><td>Hardware_Modeling-&gt;Memory-&gt;Memory_Controller</td><td>Hardware_Modeling-&gt;Memory-&gt;Memory_Controller</td></tr><tr><td>HW_DRAM_Name</td><td>&quot;DDR0&quot;</td><td>&quot;DDR0&quot;</td></tr><tr><td>Power_Manager_Name</td><td>&quot;none&quot;  /* Default */</td><td>&quot;none&quot;</td></tr><tr><td>Input_Device_Name</td><td>Bus_Name</td><td>&quot;AXI_Top&quot;</td></tr></table>

Models 4 separate hardware devices connected across two levels of AXI to a memory controller and DRAM.