AMD Infinity Switch

Memory_Controller

Memory_Controllermodel <h2>Fragmenter</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>Block_Name</td><td>Controller_Name + &quot;_Fragmenter&quot;</td><td>&quot;LPDDR_Fragmenter&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr></table> <h2>Status</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>Block_Name</td><td>Controller_Name + &quot;_Messages&quot;</td><td>&quot;LPDDR_Messages&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr></table> <h2>Address_Decoder</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>Block_Name</td><td>Controller_Name + &quot;_Address_Decoder&quot;</td><td>&quot;LPDDR_Address_Decoder&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr><tr><td>Memory_Bank</td><td>Memory_Bank</td><td>{30, 31}</td></tr><tr><td>Memory_Column</td><td>Memory_Column</td><td>{8, 29}</td></tr><tr><td>Memory_Row</td><td>Memory_Row</td><td>{4, 7}</td></tr><tr><td>DEBUG</td><td>DEBUG</td><td>true</td></tr><tr><td>Duplicate_Input</td><td>false</td><td>false</td></tr></table> <h2>Read_Data_from_Memory</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>Block_Name</td><td>Controller_Name + &quot;_Rd_Data_Ctrl&quot;</td><td>&quot;LPDDR_Rd_Data_Ctrl&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr><tr><td>Propagate_Last_Transfer</td><td>false</td><td>false</td></tr><tr><td>Duplicate_Input</td><td>false</td><td>false</td></tr></table> <h2>Memory_Control</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>Block_Name</td><td>Controller_Name + &quot;_Mem_Ctrl&quot;</td><td>&quot;LPDDR_Mem_Ctrl&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           none                \\nRead_File                      none                \\nSave_Files                     false               \\nProfile_File                   none                \\nListen_to_File                 none                \\nDuplicate_Input                true                \\nProfile                        0                   \\nMaximum_Loops                  1000000             \\nBlock_Reference                Block_Name          \\nPort_Order_Array               {&quot;input&quot;}         \\nAdd_Scheduler_Times_to_DS      false               \\nColor_Array                    {&quot;red&quot;,&quot;blue&quot;,&quot;cyan&quot;,&quot;black&quot;,&quot;orange&quot;,&quot;cadet_blue&quot;,&quot;coral&quot;,&quot;green&quot;,&quot;brown&quot;,&quot;grey&quot;,&quot;bright_green&quot;,&quot;indigo&quot;,&quot;purple&quot;,&quot;pink&quot;,&quot;maroon&quot;,&quot;navy_blue&quot;,&quot;pumpkin&quot;,&quot;rust&quot;,&quot;sapphire&quot;,&quot;burgundy&quot;,&quot;chocolate&quot;,&quot;french_rose&quot;,&quot;lilac&quot;,&quot;gold&quot;,&quot;jade&quot;,&quot;moss_green&quot;,&quot;cornflower_blue&quot;,&quot;aquamarine&quot;,&quot;yellow&quot;}\\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           none                \\nRead_File                      none                \\nSave_Files                     false               \\nProfile_File                   none                \\nListen_to_File                 none                \\nDuplicate_Input                true                \\nProfile                        0                   \\nMaximum_Loops                  1000000             \\nBlock_Reference                Block_Name          \\nPort_Order_Array               {&quot;input&quot;}         \\nAdd_Scheduler_Times_to_DS      false               \\nColor_Array                    {&quot;red&quot;,&quot;blue&quot;,&quot;cyan&quot;,&quot;black&quot;,&quot;orange&quot;,&quot;cadet_blue&quot;,&quot;coral&quot;,&quot;green&quot;,&quot;brown&quot;,&quot;grey&quot;,&quot;bright_green&quot;,&quot;indigo&quot;,&quot;purple&quot;,&quot;pink&quot;,&quot;maroon&quot;,&quot;navy_blue&quot;,&quot;pumpkin&quot;,&quot;rust&quot;,&quot;sapphire&quot;,&quot;burgundy&quot;,&quot;chocolate&quot;,&quot;french_rose&quot;,&quot;lilac&quot;,&quot;gold&quot;,&quot;jade&quot;,&quot;moss_green&quot;,&quot;cornflower_blue&quot;,&quot;aquamarine&quot;,&quot;yellow&quot;}\\n</td></tr><tr><td>Maximum_Loops</td><td>10000000</td><td>10000000</td></tr><tr><td>DEBUG</td><td>DEBUG</td><td>true</td></tr><tr><td>Read_File</td><td>Custom_Arbiter_File</td><td>&quot;none&quot;</td></tr><tr><td>Path</td><td>Custom_Arbiter_Path</td><td>&quot;none&quot;</td></tr><tr><td>Duplicate_Input</td><td>false</td><td>false</td></tr><tr><td>Max_Queue_Length</td><td>256</td><td>256</td></tr><tr><td>Listen_to_File</td><td>&quot;none&quot;</td><td>&quot;none&quot;</td></tr></table> <h2>Rd_Wr_Data_to_Memory</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>Block_Name</td><td>Controller_Name + &quot;_Addr_Data_Ctrl&quot;</td><td>&quot;LPDDR_Addr_Data_Ctrl&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value  \\nPath                           none             \\nRead_File                      none             \\nSelf_Start                     false            \\nParam_Script                   none             \\nListen_to_File                 none             \\nDuplicate_Input                true             \\nProfile                        0                \\nProfile_File                   none             \\nMaximum_Loops                  1000000          \\nBlock_Reference                Block_Name       \\nPort_Order_Array               {&quot;input&quot;}      \\n</td></tr><tr><td>Duplicate_Input</td><td>false</td><td>false</td></tr></table> <h2>Init_Memory</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>Rd_Data_Arr, Wr_Data_Arr, Addr_Data_Arr are Processor_DS arrays.\\nCmd_Ctrl_Arr is an integer array, where 0,1=read, 2=write (write higher prioriy).</td><td>Rd_Data_Arr, Wr_Data_Arr, Addr_Data_Arr are Processor_DS arrays.\\nCmd_Ctrl_Arr is an integer array, where 0,1=read, 2=write (write higher prioriy).</td></tr><tr><td>Memory_Init_Text</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nTransaction_ID local    {Memory_Bank_Length:0L} ;  /* Unique Transaction ID */\\nToggle_Command_ID local {Memory_Bank_Length:0L} ;  /* Matching Trans ID     */\\nRd_Wr_DS_Arr  local         {}        ;  /* Read Write DS   Array */\\nCnt_Arr       local         {}        ;  /* Priority Count  Array */\\nRow_Arr       local         {}        ;  /* Row             Array */\\nCommand_Arr   local         {}        ;  /* Command         Array */\\nWr_Data_Bytes local         0         ;  /* Write   Data    Bytes */\\nRd_Data_Bytes local         0         ;  /* Read    Data    Bytes */\\nCtrl_Busy     local         false     ;  /* Controller Busy       */\\nPend_Flag     local         false     ;  /* Pend    Trans   Flag  */\\nPend_Event    local         Processor_DS ; /* Pend  Data    Struc */\\nNumber_Entered local        0         ;  /* Statistics            */\\nCmd_Que_Sum    local        0         ;  /* Statistics            */\\nNumber_Exited  local        0         ;  /* Statistics            */\\nMin_Value      local        999.0     ;  /* Statistics            */\\nMax_Value      local        0.0       ;  /* Statistics            */\\nSum_Value      local        0.0       ;  /* Statistics            */\\nProd_Value     local        0.0       ;  /* Statistics            */</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nTransaction_ID local    {Memory_Bank_Length:0L} ;  /* Unique Transaction ID */\\nToggle_Command_ID local {Memory_Bank_Length:0L} ;  /* Matching Trans ID     */\\nRd_Wr_DS_Arr  local         {}        ;  /* Read Write DS   Array */\\nCnt_Arr       local         {}        ;  /* Priority Count  Array */\\nRow_Arr       local         {}        ;  /* Row             Array */\\nCommand_Arr   local         {}        ;  /* Command         Array */\\nWr_Data_Bytes local         0         ;  /* Write   Data    Bytes */\\nRd_Data_Bytes local         0         ;  /* Read    Data    Bytes */\\nCtrl_Busy     local         false     ;  /* Controller Busy       */\\nPend_Flag     local         false     ;  /* Pend    Trans   Flag  */\\nPend_Event    local         Processor_DS ; /* Pend  Data    Struc */\\nNumber_Entered local        0         ;  /* Statistics            */\\nCmd_Que_Sum    local        0         ;  /* Statistics            */\\nNumber_Exited  local        0         ;  /* Statistics            */\\nMin_Value      local        999.0     ;  /* Statistics            */\\nMax_Value      local        0.0       ;  /* Statistics            */\\nSum_Value      local        0.0       ;  /* Statistics            */\\nProd_Value     local        0.0       ;  /* Statistics            */</td></tr></table>