Xilinx Ultrascale

Implemented an avionics software on the Quadcore A53 on the Xilinx Ultrascale

Flight_Avionics_model

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,
  • Mouse over the icons to view parameters. Click on hierarchy and plotters to reveal content (if provided).
  • To simulate, click on Launch button, open downloaded file and click Run on the Java Security Page.
Flight_Avionics_modelmodel <h2>SystemResource_Extend</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>This_Scheduler_Name</td><td>&quot;Bus&quot;</td><td>&quot;Bus&quot;</td></tr><tr><td>Task_Context_Switch_Time</td><td>0.0</td><td>0.0</td></tr><tr><td>Round_Robin_Time_Slice</td><td>0.1</td><td>0.1</td></tr><tr><td>Clock_Rate_Mhz</td><td>500.0</td><td>500.0</td></tr><tr><td>Max_Scheduler_Length</td><td>30</td><td>30</td></tr><tr><td>Time_Type</td><td>Relative Time</td><td>Relative Time</td></tr><tr><td>Scheduler_Type</td><td>Scheduler_FCFS</td><td>Scheduler_FCFS</td></tr><tr><td>Add_Scheduler_Times_to_DS</td><td>false</td><td>false</td></tr></table> <h2>ARMv8_Instruction_Set</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>This is the Instruction Set for ARM9 : Reference ARM TRM manual.  \\n</td><td>This is the Instruction Set for ARM9 : Reference ARM TRM manual.  \\n</td></tr><tr><td>Instruction_Set_Name</td><td>&quot;ARM_INSTR&quot;</td><td>&quot;ARM_INSTR&quot;</td></tr><tr><td>_explanation</td><td>ProcessorGenerator-&gt;Instruction_Set</td><td>ProcessorGenerator-&gt;Instruction_Set</td></tr><tr><td>Instruction_Set_Text</td><td>/* Instruction Set or File Path. */\\n Mnew Ra  Rb  Rc  Rd   Re  Rf Rg Rh        ; /* Label */\\n   ARM ALU LOG BCH MDV ASD FLT LOD STO ;\\n\\n   ALU  INT_1                    ; /*Simple Cluster 1*/\\n   LOG  INT_2                    ; /*Simple Cluster 2*/ \\n   BCH  INT_3                    ; /*Branch*/\\n   MDV  INT_4                    ; /* Multi Cycle cluster*/\\n   ASD  FP_1                     ; /*Complex Cluster(NEON/FP1)*/\\n   FLT  FP_2                     ; /*Complex Cluster(NEON/FP2)*/\\n   LOD  INT_5                    ; /*Load*/\\n   STO  INT_6\t\t         ; /*Store*/\\n   \\nbegin INT_1         \t         ;   /* Group */\\n   ADD    1 2        \t         ;\\n   SUB    1 2          \t         ;\\n   SUBC    1\t\t         ;\\n   AND\t   1\t\t\t ;\\n   ORR\t   1\t\t\t ;\\n   EOR\t   1\t\t\t ;\\nend INT_1\t\t         ;\\n\\nbegin INT_2\t\t         ;\\n   BIC  1 2\t\t         ;\\n   AND  1 2\t\t         ;\\n   EON  1 2\t       \t         ;\\nend INT_2\t\t         ;\\n\\nbegin INT_3\t\t         ;\t\t\t\t\\n   JMP    3                      ;\\n   *JMP   3                      ;\\nend   INT_3                      ;\\n\\nbegin INT_4\t\t         ;\\n   SDIV   4 36\t\t         ;\\n   UDIV   4 36\t\t         ;\\n   MADD   3 5\t\t         ;\\n   MSUB   3 5\t\t         ;\\n   SMULH  6\t\t         ;\\n   UMULH  6                      ;\\nend INT_4\t\t         ; \\n\\nbegin FP_1\t\t         ; \\n   SABD  3\t\t         ;\\n   SABA  4 5\t\t         ;\\n   ADDV  8\t\t         ;\\n   CMEQ  3\t\t         ;\\n   PMUL  4 5\t\t         ;\\n   FADDP 5 8\t\t         ;\\n   FCVTL 8\t\t         ;\\n   FDIVI 7 64\t\t         ;\\n   FMLA  9 10\t\t         ;\\nend FP_1\t\t         ; \\n\\nbegin FP_2\t\t         ;\\n   FABS  3\t\t         ;\\n   FADD  5\t\t         ;\\n   FSUB  5\t\t         ;\\n   FDIV  7 32 \t\t         ;\\n   FMUL  5 6\t\t         ;\\n   FSQRT 7 32\t\t         ;\\nend FP_2\t\t         ; \\n\\nbegin INT_5\t\t         ;\\n   LDRSW 4\t\t         ;\\n   STRB 4\t\t         ;\\n   LDRH  5 \t\t         ;\\n   LDPSW 5 \t\t         ;\\nend INT_5\t\t         ; \\n\\nbegin INT_6\t\t         ; \\n   STRB 1\t\t\t ;\\n   #STRB_DMA  1 \t         ;\\n   STRH  3\t\t         ;\\n   MOV   1\t\t\t ;\\n   LSLV  1\t\t\t ;\\n   LSRV  1\t\t\t ;\\nend INT_6\t\t\t ;\\n    </td><td>/* Instruction Set or File Path. */\\n Mnew Ra  Rb  Rc  Rd   Re  Rf Rg Rh        ; /* Label */\\n   ARM ALU LOG BCH MDV ASD FLT LOD STO ;\\n\\n   ALU  INT_1                    ; /*Simple Cluster 1*/\\n   LOG  INT_2                    ; /*Simple Cluster 2*/ \\n   BCH  INT_3                    ; /*Branch*/\\n   MDV  INT_4                    ; /* Multi Cycle cluster*/\\n   ASD  FP_1                     ; /*Complex Cluster(NEON/FP1)*/\\n   FLT  FP_2                     ; /*Complex Cluster(NEON/FP2)*/\\n   LOD  INT_5                    ; /*Load*/\\n   STO  INT_6\t\t         ; /*Store*/\\n   \\nbegin INT_1         \t         ;   /* Group */\\n   ADD    1 2        \t         ;\\n   SUB    1 2          \t         ;\\n   SUBC    1\t\t         ;\\n   AND\t   1\t\t\t ;\\n   ORR\t   1\t\t\t ;\\n   EOR\t   1\t\t\t ;\\nend INT_1\t\t         ;\\n\\nbegin INT_2\t\t         ;\\n   BIC  1 2\t\t         ;\\n   AND  1 2\t\t         ;\\n   EON  1 2\t       \t         ;\\nend INT_2\t\t         ;\\n\\nbegin INT_3\t\t         ;\t\t\t\t\\n   JMP    3                      ;\\n   *JMP   3                      ;\\nend   INT_3                      ;\\n\\nbegin INT_4\t\t         ;\\n   SDIV   4 36\t\t         ;\\n   UDIV   4 36\t\t         ;\\n   MADD   3 5\t\t         ;\\n   MSUB   3 5\t\t         ;\\n   SMULH  6\t\t         ;\\n   UMULH  6                      ;\\nend INT_4\t\t         ; \\n\\nbegin FP_1\t\t         ; \\n   SABD  3\t\t         ;\\n   SABA  4 5\t\t         ;\\n   ADDV  8\t\t         ;\\n   CMEQ  3\t\t         ;\\n   PMUL  4 5\t\t         ;\\n   FADDP 5 8\t\t         ;\\n   FCVTL 8\t\t         ;\\n   FDIVI 7 64\t\t         ;\\n   FMLA  9 10\t\t         ;\\nend FP_1\t\t         ; \\n\\nbegin FP_2\t\t         ;\\n   FABS  3\t\t         ;\\n   FADD  5\t\t         ;\\n   FSUB  5\t\t         ;\\n   FDIV  7 32 \t\t         ;\\n   FMUL  5 6\t\t         ;\\n   FSQRT 7 32\t\t         ;\\nend FP_2\t\t         ; \\n\\nbegin INT_5\t\t         ;\\n   LDRSW 4\t\t         ;\\n   STRB 4\t\t         ;\\n   LDRH  5 \t\t         ;\\n   LDPSW 5 \t\t         ;\\nend INT_5\t\t         ; \\n\\nbegin INT_6\t\t         ; \\n   STRB 1\t\t\t ;\\n   #STRB_DMA  1 \t         ;\\n   STRH  3\t\t         ;\\n   MOV   1\t\t\t ;\\n   LSLV  1\t\t\t ;\\n   LSRV  1\t\t\t ;\\nend INT_6\t\t\t ;\\n    </td></tr><tr><td>Record_Set_Name</td><td>&quot;Record_Set_Name&quot;</td><td>&quot;Record_Set_Name&quot;</td></tr><tr><td>Memory_Type</td><td>Global</td><td>Global</td></tr></table> <h2>ExpressionList8</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template for List of Expressions.    \\n   Result_A = MyRegExpression_A_or_None \\n   Result_B = MyRegExpression_B_or_None \\n   Result_C = MyRegExpression_C_or_None \\n   Result_D = MyRegExpression_D_or_None \\n   End of Expressions                */ \\n</td><td>/* Template for List of Expressions.    \\n   Result_A = MyRegExpression_A_or_None \\n   Result_B = MyRegExpression_B_or_None \\n   Result_C = MyRegExpression_C_or_None \\n   Result_D = MyRegExpression_D_or_None \\n   End of Expressions                */ \\n</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>input</td><td>&quot;input&quot;</td></tr><tr><td>Output_Conditions</td><td>(input.A_Command==&quot;Read&quot;)</td><td>&quot;(input.A_Command==&quot;Read&quot;)&quot;</td></tr></table> <h2>A53_Core4</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>ClockRate</td><td>1000.0</td><td>1000.0</td></tr><tr><td>SimTime</td><td>10.0e-3</td><td>0.01</td></tr><tr><td>Processor</td><td>&quot;Cortex_A53_&quot;</td><td>&quot;Cortex_A53_&quot;</td></tr><tr><td>TrafficRate</td><td>1/100.0</td><td>0.01</td></tr><tr><td>Core_Number</td><td>&quot;Core_4&quot;</td><td>&quot;Core_4&quot;</td></tr></table> <h2>A53_Core3</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>ClockRate</td><td>1000.0</td><td>1000.0</td></tr><tr><td>SimTime</td><td>10.0e-3</td><td>0.01</td></tr><tr><td>Processor</td><td>&quot;Cortex_A53_&quot;</td><td>&quot;Cortex_A53_&quot;</td></tr><tr><td>TrafficRate</td><td>1/100.0</td><td>0.01</td></tr><tr><td>Core_Number</td><td>&quot;Core_3&quot;</td><td>&quot;Core_3&quot;</td></tr></table> <h2>A53_Core</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>ClockRate</td><td>1000.0</td><td>1000.0</td></tr><tr><td>SimTime</td><td>10.0e-3</td><td>0.01</td></tr><tr><td>Processor</td><td>&quot;Cortex_A53_&quot;</td><td>&quot;Cortex_A53_&quot;</td></tr><tr><td>TrafficRate</td><td>1/100.0</td><td>0.01</td></tr><tr><td>Core_Number</td><td>&quot;Core_1&quot;</td><td>&quot;Core_1&quot;</td></tr></table> <h2>A53_Core2</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>ClockRate</td><td>1000.0</td><td>1000.0</td></tr><tr><td>SimTime</td><td>10.0e-3</td><td>0.01</td></tr><tr><td>Processor</td><td>&quot;Cortex_A53_&quot;</td><td>&quot;Cortex_A53_&quot;</td></tr><tr><td>TrafficRate</td><td>1/100.0</td><td>0.01</td></tr><tr><td>Core_Number</td><td>&quot;Core_2&quot;</td><td>&quot;Core_2&quot;</td></tr></table> <h2>Switch_One_X_Four</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>Switch_Address</td><td>Relative ADDR = 0</td><td>Relative ADDR = 0</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/\\nProc_Cnt = Proc_Cnt + 1\\nProc_Cnt = Proc_Cnt % 4\\n</td><td>/* Template to enter multiple RegEx lines*/\\nProc_Cnt = Proc_Cnt + 1\\nProc_Cnt = Proc_Cnt % 4\\n</td></tr><tr><td>Output_Ports</td><td>output,Proc_Cnt</td><td>&quot;output,Proc_Cnt&quot;</td></tr><tr><td>Output_Values</td><td>input,Proc_Cnt</td><td>&quot;input,Proc_Cnt&quot;</td></tr><tr><td>Output_Conditions</td><td>(input.A_Command==&quot;Read&quot;),(input.A_Command==&quot;Read&quot;)</td><td>&quot;(input.A_Command==&quot;Read&quot;),(input.A_Command==&quot;Read&quot;)&quot;</td></tr></table> <h2>DeviceInterface</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>IO_Name</td><td>&quot;Data_DMA&quot;</td><td>&quot;Data_DMA&quot;</td></tr><tr><td>IO_Destination</td><td>&quot;Fld_Name_or_String&quot;</td><td>&quot;Fld_Name_or_String&quot;</td></tr><tr><td>IO_Command</td><td>&quot;Fld_Name_or_String&quot;</td><td>&quot;Fld_Name_or_String&quot;</td></tr><tr><td>IO_Instruction</td><td>&quot;Fld_Name_or_String_or_None&quot;</td><td>&quot;Fld_Name_or_String_or_None&quot;</td></tr><tr><td>IO_Bytes</td><td>&quot;Fld_Name_or_Integer&quot;</td><td>&quot;Fld_Name_or_Integer&quot;</td></tr><tr><td>IO_Priority</td><td>&quot;Fld_Name_or_Integer&quot;</td><td>&quot;Fld_Name_or_Integer&quot;</td></tr><tr><td>IO_Address</td><td>&quot;Fld_Name_or_Integer&quot;</td><td>&quot;Fld_Name_or_Integer&quot;</td></tr></table> <h2>TextDisplay</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>Latency_Calc4</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow - input.StartTime</td><td>&quot;TNow - input.StartTime&quot;</td></tr><tr><td>Output_Conditions</td><td>input.A_Destination != &quot;Architecture_1&quot;</td><td>&quot;input.A_Destination != &quot;Architecture_1&quot;&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Latency_Calc3</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow - input.StartTime</td><td>&quot;TNow - input.StartTime&quot;</td></tr><tr><td>Output_Conditions</td><td>input.A_Destination != &quot;Architecture_1&quot;</td><td>&quot;input.A_Destination != &quot;Architecture_1&quot;&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Latency_Calc2</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow - input.StartTime</td><td>&quot;TNow - input.StartTime&quot;</td></tr><tr><td>Output_Conditions</td><td>input.A_Destination != &quot;Architecture_1&quot;</td><td>&quot;input.A_Destination != &quot;Architecture_1&quot;&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Latency_Calc</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow - input.StartTime</td><td>&quot;TNow - input.StartTime&quot;</td></tr><tr><td>Output_Conditions</td><td>input.A_Destination != &quot;Architecture_1&quot;</td><td>&quot;input.A_Destination != &quot;Architecture_1&quot;&quot;</td></tr><tr><td>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Task Latency</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>Core_1_Tasks,Core_2_Tasks,Core_3_Tasks,Core_4_Tasks</td><td>Core_1_Tasks,Core_2_Tasks,Core_3_Tasks,Core_4_Tasks</td></tr><tr><td>startingDataset</td><td>0</td><td>0</td></tr><tr><td>fileName</td><td>RISCV_InOrder_Tasks.plt</td><td>&quot;RISCV_InOrder_Tasks.plt&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>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</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>&quot;Architecture_1&quot;</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>Bus_Name</td><td>&quot;AXI_Top&quot;</td><td>&quot;AXI_Top&quot;</td></tr><tr><td>AXI_Speed_Mhz</td><td>1000.0</td><td>1000.0</td></tr><tr><td>AXI_Cycle_Time</td><td>1.0E-06 / AXI_Speed_Mhz</td><td>1.0E-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>20</td><td>20</td></tr><tr><td>Write_Threshold</td><td>20</td><td>20</td></tr><tr><td>Master_Request_Threshold</td><td>{20,20,20,20,20,20,2,2,2,2,2,2,2,2,2,2}  </td><td>{20, 20, 20, 20, 20, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}</td></tr><tr><td>Number_Masters</td><td>5</td><td>5</td></tr><tr><td>Number_Slaves</td><td>1</td><td>1</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>{1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.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;Device_2&quot;},{&quot;Device_3&quot;},{&quot;Device_4&quot;},{&quot;Device_5&quot;},{&quot;Device_6&quot;},{&quot;Device_7&quot;},{&quot;Device_8&quot;}}</td><td>{{&quot;DRAM&quot;}, {&quot;Device_2&quot;}, {&quot;Device_3&quot;}, {&quot;Device_4&quot;}, {&quot;Device_5&quot;}, {&quot;Device_6&quot;}, {&quot;Device_7&quot;}, {&quot;Device_8&quot;}}</td></tr><tr><td>Master_First_Word_Flag</td><td>true</td><td>true</td></tr><tr><td>Master_Throttle_Enable</td><td>{false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false}</td><td>{false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false}</td></tr><tr><td>Slave_Throttle_Enable</td><td>{false,false,false,false,false,false,false,false}  </td><td>{false, 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>20.0e-3</td><td>0.02</td></tr></table> <h2>VariableList</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>Memory_Init_Text</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nCTRL_Time\tglobal\t\t1.0   ;\\nProc_Cnt        local           0   ;</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nCTRL_Time\tglobal\t\t1.0   ;\\nProc_Cnt        local           0   ;</td></tr></table> <h2>ExpressionList6</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow</td><td>&quot;TNow&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>ExpressionList5</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/</td><td>/* Template to enter multiple RegEx lines*/</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>TNow</td><td>&quot;TNow&quot;</td></tr><tr><td>Output_Conditions</td><td>true</td><td>&quot;true&quot;</td></tr></table> <h2>TimeDataPlotter</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>Camera1, Camera2</td><td>Camera1, Camera2</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></table> <h2>RAM</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>Memory_Name</td><td>&quot;DRAM&quot;</td><td>&quot;DRAM&quot;</td></tr><tr><td>Memory_Speed_Mhz</td><td>DRAM_Speed/1.0e6</td><td>1033.0</td></tr><tr><td>Memory_Size_MBytes</td><td>512.0</td><td>512.0</td></tr><tr><td>Access_Time</td><td>&quot;Read Read_Access_Time, Write Write_Access_Time&quot;</td><td>&quot;Read Read_Access_Time, Write Write_Access_Time&quot;</td></tr><tr><td>FIFO_Buffers</td><td>30</td><td>30</td></tr><tr><td>Refresh_Rate_Cycles</td><td>16384</td><td>16384</td></tr><tr><td>Refresh_Cycles</td><td>32</td><td>32</td></tr><tr><td>Memory_Address</td><td>&quot;/* Format: Min_Address,Max_Address. Example:201,300 */&quot;</td><td>&quot;/* Format: Min_Address,Max_Address. Example:201,300 */&quot;</td></tr><tr><td>Controller_Time</td><td>&quot;CTRL_Time&quot;</td><td>&quot;CTRL_Time&quot;</td></tr><tr><td>Enable_Hello_Messages</td><td>true</td><td>true</td></tr><tr><td>Width_Bytes</td><td>8</td><td>8</td></tr><tr><td>Memory_Type</td><td>DDR3</td><td>DDR3</td></tr><tr><td>Refresh</td><td>false</td><td>false</td></tr></table> <h2>DRAM_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>&quot;DRAM_Controller&quot;</td><td>&quot;DRAM_Controller&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>Mapper4</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>Parent_Scheduler_Name</td><td>&quot;Bus&quot;</td><td>&quot;&quot;Bus&quot;&quot;</td></tr><tr><td>Task_Number</td><td>3</td><td>&quot;3&quot;</td></tr><tr><td>Task_Priority</td><td>Fld_Name_or_Int_or_Dbl_or_Expr</td><td>&quot;Fld_Name_or_Int_or_Dbl_or_Expr&quot;</td></tr><tr><td>Task_Time</td><td>3.0/DRAM_Speed</td><td>&quot;3.0/DRAM_Speed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>Script4</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>&quot;Read_Lines&quot;</td><td>&quot;Read_Lines&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td></tr></table> <h2>ExpressionList4</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/\\nResult_A = (input.Counter == 512)</td><td>/* Template to enter multiple RegEx lines*/\\nResult_A = (input.Counter == 512)</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>input</td><td>&quot;input&quot;</td></tr><tr><td>Output_Conditions</td><td>Result_A</td><td>&quot;Result_A&quot;</td></tr></table> <h2>Mapper3</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>Parent_Scheduler_Name</td><td>&quot;Bus&quot;</td><td>&quot;&quot;Bus&quot;&quot;</td></tr><tr><td>Task_Number</td><td>1</td><td>&quot;1&quot;</td></tr><tr><td>Task_Priority</td><td>Fld_Name_or_Int_or_Dbl_or_Expr</td><td>&quot;Fld_Name_or_Int_or_Dbl_or_Expr&quot;</td></tr><tr><td>Task_Time</td><td>3.0/DRAM_Speed</td><td>&quot;3.0/DRAM_Speed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>Script3</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>&quot;Generate_Lines&quot;</td><td>&quot;Generate_Lines&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td></tr></table> <h2>Traffic2</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>Data_Structure_Name</td><td>&quot;Processor_DS&quot;</td><td>&quot;Processor_DS&quot;</td></tr><tr><td>Start_Time</td><td>0.0</td><td>0.0</td></tr><tr><td>Value_1</td><td>1.0/60.0</td><td>0.0166666666667</td></tr><tr><td>Value_2</td><td>2.0</td><td>2.0</td></tr><tr><td>Random_Seed</td><td>123457L</td><td>123457L</td></tr><tr><td>Time_Distribution</td><td>Fixed (Value_1)</td><td>Fixed (Value_1)</td></tr></table> <h2>ResourceStatistics</h2><table border="1"><tr><td><b>Parameter</b></td><td><b>Expression</b></td><td><b>Value</b></td></tr><tr><td>Resource_List</td><td>{&quot;Bus&quot;} /* Names of Resources */</td><td>{&quot;Bus&quot;}</td></tr><tr><td>ResourceLength_List</td><td>{3} /* Length of all Resources in the Resource_List */</td><td>{3}</td></tr><tr><td>Number_of_Samples</td><td>1 /* Number of output or reset in a simulation run */</td><td>1</td></tr><tr><td>Statistics</td><td>true /* True to generate; False to reset */</td><td>true</td></tr></table> <h2>SystemResource_Done</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>_flipPortsVertical</td><td>true</td><td>true</td></tr><tr><td>_flipPortsHorizontal</td><td>false</td><td>false</td></tr><tr><td>_rotatePorts</td><td>180</td><td>180</td></tr></table> <h2>Mapper2</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>Parent_Scheduler_Name</td><td>&quot;Bus&quot;</td><td>&quot;&quot;Bus&quot;&quot;</td></tr><tr><td>Task_Number</td><td>4</td><td>&quot;4&quot;</td></tr><tr><td>Task_Priority</td><td>Fld_Name_or_Int_or_Dbl_or_Expr</td><td>&quot;Fld_Name_or_Int_or_Dbl_or_Expr&quot;</td></tr><tr><td>Task_Time</td><td>3.0/DRAM_Speed</td><td>&quot;3.0/DRAM_Speed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>TextDisplay2</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>&quot;Statistics&quot;</td><td>&quot;Statistics&quot;</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>Architecture_Setup</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\\nSource_Node    Destination_Node   Hop           Source_Port ; \\nDMA            Trigger            DMA           Dout        ; </td><td>Enter User Documentation Here\\nSource_Node    Destination_Node   Hop           Source_Port ; \\nDMA            Trigger            DMA           Dout        ; </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>1</td><td>1</td></tr><tr><td>Statistics_to_Plot</td><td>&quot;Processor_1_PROC_Utilization_Min, Processor_1_PROC_Utilization_Mean, Processor_1_PROC_Utilization_Max&quot;</td><td>&quot;Processor_1_PROC_Utilization_Min, Processor_1_PROC_Utilization_Mean, Processor_1_PROC_Utilization_Max&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>Pipeline</td><td>Pipeline</td></tr></table> <h2>Script2</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>&quot;C2_Read_Lines&quot;</td><td>&quot;C2_Read_Lines&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</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>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td><td>/* Template to enter multiple RegEx lines*/\\n   Result_A = MyRegExpression_A_or_None /* Expression 1 */\\n   Result_B = MyRegExpression_B_or_None  /* Expression 2 */\\n   Result_C = MyRegExpression_C_or_None /* Expression 3 */  \\n/* Add as many RegEx lines are required */\\n</td></tr><tr><td>Expression_List</td><td>/* Template to enter multiple RegEx lines*/\\nResult_A = (input.Counter == 512)</td><td>/* Template to enter multiple RegEx lines*/\\nResult_A = (input.Counter == 512)</td></tr><tr><td>Output_Ports</td><td>output</td><td>&quot;output&quot;</td></tr><tr><td>Output_Values</td><td>input</td><td>&quot;input&quot;</td></tr><tr><td>Output_Conditions</td><td>Result_A</td><td>&quot;Result_A&quot;</td></tr></table> <h2>Mapper</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>Parent_Scheduler_Name</td><td>&quot;Bus&quot;</td><td>&quot;&quot;Bus&quot;&quot;</td></tr><tr><td>Task_Number</td><td>2</td><td>&quot;2&quot;</td></tr><tr><td>Task_Priority</td><td>Fld_Name_or_Int_or_Dbl_or_Expr</td><td>&quot;Fld_Name_or_Int_or_Dbl_or_Expr&quot;</td></tr><tr><td>Task_Time</td><td>3.0/DRAM_Speed</td><td>&quot;3.0/DRAM_Speed&quot;</td></tr><tr><td>Task_Plot_ID</td><td>1</td><td>1</td></tr></table> <h2>Script</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>&quot;C2_Generate_Lines&quot;</td><td>&quot;C2_Generate_Lines&quot;</td></tr><tr><td>Optional_Parameters</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td><td>/* First row contains Column Names.              */\\nParameter_Name                 Parameter_Value     \\nPath                           VS/User_Library     \\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               \\n</td></tr></table> <h2>Traffic</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>Data_Structure_Name</td><td>&quot;Processor_DS&quot;</td><td>&quot;Processor_DS&quot;</td></tr><tr><td>Start_Time</td><td>1.0e-7</td><td>1.0E-7</td></tr><tr><td>Value_1</td><td>1.0/60.0</td><td>0.0166666666667</td></tr><tr><td>Value_2</td><td>2.0</td><td>2.0</td></tr><tr><td>Random_Seed</td><td>123457L</td><td>123457L</td></tr><tr><td>Time_Distribution</td><td>Fixed (Value_1)</td><td>Fixed (Value_1)</td></tr></table>

"This models demonstrates the use of VisualSim in exploring the buffering requirements and the clock speeds of the hardware platform for a target packet flow. In addition, the written task is sent to a QuadCore ARM Cortex A53 on the Xilinx Ultrscale platform. The cores are connected using the AMBA AXI bus to DDR memory controller. The hardware model is used to evaluated the processing requirements of the data stream.

In this model, the data is arriving at a fixed rate of 60hz and the size is 512 pixels per line with 24 bit pixels and 1024 lines. Each line is written to Bus and then the DRAM. When a line is written to the DDR4, an interrupt is sent to the processor core using the Switch block. The lines are sent in a Round-Robin to the cores from 0-3. When each core has finished the task processing, the next line waiting in the queue is processed. The completed transaction is sent to the plotter to display the latency.

When half the lines (512) have been written, the Egress starts reading the data out of the DRAM.The time of completion of each line is plotted. Statistics are generated for the bus and the DRAM. The DRAM Controller emulates the controller latency associated with sequential and random accesses. As all the requests are arriving at the exact same time (60hz), it is hard to attain maximum utilization.

The flow works as follows: