SPI

Single PHY to single Link-Layer connection, extendable using virtual links

SPI_Bus_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 (*)
Launch
  • 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.
<h2>INIT</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>Initial_Value</td><td>0</td><td>0</td></tr><tr><td>Initial_Order</td><td>0</td><td>0</td></tr><tr><td>Output_Type</td><td>Integer</td><td>Integer</td></tr></table> <h2>Delay4</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>Delay_Value</td><td>Sim_Time</td><td>&quot;Sim_Time&quot;</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>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>input.Packet_Delay = (TNow - input.TIME)</td><td>input.Packet_Delay = (TNow - input.TIME)</td></tr><tr><td>Output_Ports</td><td>output,out</td><td>&quot;output,out&quot;</td></tr><tr><td>Output_Values</td><td>input,input.Packet_Delay</td><td>&quot;input,input.Packet_Delay&quot;</td></tr><tr><td>Output_Conditions</td><td>true,true</td><td>&quot;true,true&quot;</td></tr></table> <h2>Delay3</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>Delay_Value</td><td>&quot;DELTA&quot;</td><td>&quot;&quot;DELTA&quot;&quot;</td></tr></table> <h2>ExpressionList7</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>input.DELTA = ((TNow  % Bus_Cycle_Time) * Bus_Cycle_Time)\\ninput.DELTA = Bus_Cycle_Time - input.DELTA</td><td>input.DELTA = ((TNow  % Bus_Cycle_Time) * Bus_Cycle_Time)\\ninput.DELTA = Bus_Cycle_Time - input.DELTA</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>true</td><td>&quot;true&quot;</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>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>MyMem = (MyMem == true)?false:true\\nStart_Packet = false\\ninput.TIME = TNow</td><td>MyMem = (MyMem == true)?false:true\\nStart_Packet = false\\ninput.TIME = TNow</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>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>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>input.Packet_Type  = &quot;Transmit&quot;\\ninput.Packet_Bytes_Left  = irand(Traffic_Mean_Bytes, Traffic_Max_Bytes)</td><td>input.Packet_Type  = &quot;Transmit&quot;\\ninput.Packet_Bytes_Left  = irand(Traffic_Mean_Bytes, Traffic_Max_Bytes)</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>true</td><td>&quot;true&quot;</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;SPI3_DS&quot;</td><td>&quot;SPI3_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 / (Traffic_Mean_Mhz * 1000000.0)</td><td>5.0E-8</td></tr><tr><td>Value_2</td><td>(1.0 / (Traffic_Mean_Mhz * 1000000.0)) * Traffic_Spread_Multiplier</td><td>6.5E-8</td></tr><tr><td>Random_Seed</td><td>123457L</td><td>123457L</td></tr><tr><td>Time_Distribution</td><td>Uniform (Value_1, Value_2)</td><td>Uniform (Value_1, Value_2)</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;LINK Layer Packets Out, Stats&quot;</td><td>&quot;LINK Layer Packets Out, Stats&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>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>&quot;PHY Layer Packets Out, Stats&quot;</td><td>&quot;PHY Layer Packets Out, Stats&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>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>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Expression_List</td><td>input.Packet_Delay = (TNow - input.TIME)</td><td>input.Packet_Delay = (TNow - input.TIME)</td></tr><tr><td>Output_Ports</td><td>output,out</td><td>&quot;output,out&quot;</td></tr><tr><td>Output_Values</td><td>input,input.Packet_Delay</td><td>&quot;input,input.Packet_Delay&quot;</td></tr><tr><td>Output_Conditions</td><td>true,true</td><td>&quot;true,true&quot;</td></tr></table> <h2>Delay2</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>Delay_Value</td><td>&quot;DELTA&quot;</td><td>&quot;&quot;DELTA&quot;&quot;</td></tr></table> <h2>ExpressionList3</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>input.DELTA = ((TNow  % Bus_Cycle_Time) * Bus_Cycle_Time)\\ninput.DELTA = Bus_Cycle_Time - input.DELTA</td><td>input.DELTA = ((TNow  % Bus_Cycle_Time) * Bus_Cycle_Time)\\ninput.DELTA = Bus_Cycle_Time - input.DELTA</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>true</td><td>&quot;true&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>MyMem2 = (MyMem2 == true)?false:true\\nStart_Packet = false</td><td>MyMem2 = (MyMem2 == true)?false:true\\nStart_Packet = false</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>true</td><td>&quot;true&quot;</td></tr></table> <h2>Delay</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>Delay_Value</td><td>5.0e-09</td><td>&quot;5.0e-09&quot;</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     */\\nMyMem2 local true;\\nMyMem local true;</td><td>/* Memory Initialize Template          \\nName          Type          Value     */\\nMyMem2 local true;\\nMyMem local 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>input.TIME = TNow</td><td>input.TIME = TNow</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>true</td><td>&quot;true&quot;</td></tr></table> <h2>While2</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>While_Statement</td><td>&quot;Packet_Bytes_Left == -1&quot;</td><td>&quot;Packet_Bytes_Left == -1&quot;</td></tr><tr><td>True_Execute</td><td>&quot;1, 2&quot;</td><td>&quot;1, 2&quot;</td></tr><tr><td>False_Execute</td><td>&quot;2, 3, 4&quot;</td><td>&quot;2, 3, 4&quot;</td></tr><tr><td>Field_Statement_1</td><td>&quot;Packet_Bytes_Left  -= Bus_Width_Bytes&quot;</td><td>&quot;&quot;Packet_Bytes_Left  -= Bus_Width_Bytes&quot;&quot;</td></tr><tr><td>Field_Statement_2</td><td>&quot;none&quot;</td><td>&quot;&quot;none&quot;&quot;</td></tr><tr><td>Field_Statement_3</td><td>&quot;End_Packet = true&quot;</td><td>&quot;&quot;End_Packet = true&quot;&quot;</td></tr><tr><td>Field_Statement_4</td><td>&quot;none&quot;</td><td>&quot;&quot;none&quot;&quot;</td></tr><tr><td>Loop_Delay_Value</td><td>1.0e-09</td><td>1.0E-9</td></tr><tr><td>Max_Loop_Count</td><td>&quot;MemName_FldName_Param_Num&quot;</td><td>&quot;MemName_FldName_Param_Num&quot;</td></tr><tr><td>Random_Seed</td><td>123457L</td><td>123457L</td></tr></table> <h2>While</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>While_Statement</td><td>&quot;Packet_Bytes_Left &gt; 4&quot;</td><td>&quot;Packet_Bytes_Left &gt; 4&quot;</td></tr><tr><td>True_Execute</td><td>&quot;1, 2&quot;</td><td>&quot;1, 2&quot;</td></tr><tr><td>False_Execute</td><td>&quot;2, 3, 4&quot;</td><td>&quot;2, 3, 4&quot;</td></tr><tr><td>Field_Statement_1</td><td>&quot;Packet_Bytes_Left  -= Bus_Width_Bytes&quot;</td><td>&quot;&quot;Packet_Bytes_Left  -= Bus_Width_Bytes&quot;&quot;</td></tr><tr><td>Field_Statement_2</td><td>&quot;none&quot;</td><td>&quot;&quot;none&quot;&quot;</td></tr><tr><td>Field_Statement_3</td><td>&quot;End_Packet = true&quot;</td><td>&quot;&quot;End_Packet = true&quot;&quot;</td></tr><tr><td>Field_Statement_4</td><td>&quot;None&quot;</td><td>&quot;&quot;None&quot;&quot;</td></tr><tr><td>Loop_Delay_Value</td><td>1.0e-09</td><td>1.0E-9</td></tr><tr><td>Max_Loop_Count</td><td>&quot;MemName_FldName_Param_Num&quot;</td><td>&quot;MemName_FldName_Param_Num&quot;</td></tr><tr><td>Random_Seed</td><td>123457L</td><td>123457L</td></tr></table> <h2>OR4</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></table> <h2>OR3</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></table> <h2>OUT5</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>Destination_Name</td><td>&quot;Stats&quot;</td><td>&quot;&quot;Stats&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>To_PHY_Level</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>Destination_Name</td><td>&quot;Pop&quot;</td><td>&quot;&quot;Pop&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>OUT3</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>Destination_Name</td><td>&quot;Top&quot;</td><td>&quot;&quot;Top&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>Queue_One2</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>Max_Queue_Length</td><td>30</td><td>30</td></tr><tr><td>Initial_Queue_State</td><td>First_Token_Flow_Through</td><td>First_Token_Flow_Through</td></tr><tr><td>Queue_Type</td><td>FIFO</td><td>FIFO</td></tr></table> <h2>IN4</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>Destination_Name</td><td>&quot;Top&quot;</td><td>&quot;&quot;Top&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>From_Link_Level</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>Destination_Name</td><td>&quot;Pop&quot;</td><td>&quot;&quot;Pop&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>IN3</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>Destination_Name</td><td>&quot;Stats&quot;</td><td>&quot;&quot;Stats&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>IN2</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>Destination_Name</td><td>&quot;Pop&quot;</td><td>&quot;&quot;Pop&quot;&quot;</td></tr><tr><td>Destination_Type</td><td>Local</td><td>Local</td></tr></table> <h2>Queue_One</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>Max_Queue_Length</td><td>30</td><td>30</td></tr><tr><td>Initial_Queue_State</td><td>First_Token_Flow_Through</td><td>First_Token_Flow_Through</td></tr><tr><td>Queue_Type</td><td>FIFO</td><td>FIFO</td></tr></table> <h2>xTimeyDataPlot</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>LNK, PHY</td><td>LNK, PHY</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>

    Contact Us

    Subscribe