SSD

SSD using a generic Flash and a RISC-V for processing

SSD_RISC_V

Below is a browsable image of the model.

Launch
<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>&nbsp;</td><td>&nbsp;</td></tr><tr><td>ViewText</td><td>false</td><td>false</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>Read/Write</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*/\\ninput.A_Bytes\t= 128\\ninput.A_Priority = irand(1,5)\\ninput.A_Source\t= &quot;Host&quot;\\ninput.A_Destination = &quot;SSD_1&quot;\\ninput.A_Task_Flag\t= true\\n\\nRead_Write\t= irand(1,100)\\ninput.A_Command\t= (Read_Write &lt;= 50)?&quot;Read&quot;:&quot;Write&quot;\\n\\n\\n\\n/*\\ninput.A_Command\t= &quot;Read&quot;\\n\\ninput.A_Command\t= &quot;Read&quot;\\n\\nRead_Write_Erase = irand(1,100)\\ninput.A_Command\t = (Read_Write_Erase &lt;= 40)?&quot;Read&quot;:((Read_Write_Erase &lt;= 80)?&quot;Write&quot;:&quot;Erase&quot;)\\n*/</td><td>/* Template to enter multiple RegEx lines*/\\ninput.A_Bytes\t= 128\\ninput.A_Priority = irand(1,5)\\ninput.A_Source\t= &quot;Host&quot;\\ninput.A_Destination = &quot;SSD_1&quot;\\ninput.A_Task_Flag\t= true\\n\\nRead_Write\t= irand(1,100)\\ninput.A_Command\t= (Read_Write &lt;= 50)?&quot;Read&quot;:&quot;Write&quot;\\n\\n\\n\\n/*\\ninput.A_Command\t= &quot;Read&quot;\\n\\ninput.A_Command\t= &quot;Read&quot;\\n\\nRead_Write_Erase = irand(1,100)\\ninput.A_Command\t = (Read_Write_Erase &lt;= 40)?&quot;Read&quot;:((Read_Write_Erase &lt;= 80)?&quot;Write&quot;:&quot;Erase&quot;)\\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>true</td><td>&quot;true&quot;</td></tr></table> <h2>PowerTable</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 Excel spreadsheet import.  The power \\ninformation is maintained here.</td><td>This is the Excel spreadsheet import.  The power \\ninformation is maintained here.</td></tr><tr><td>Manager_Name</td><td>&quot;Manager_1&quot;</td><td>&quot;Manager_1&quot;</td></tr><tr><td>fileOrURL</td><td>&nbsp;</td><td>&quot;&quot;</td></tr><tr><td>Manager_Setup</td><td>/* Power_Table.  First row contains Column Names, expressions valid for entries except Device Name.                                                 \\n                 where &quot;Scheduler_&quot; or &quot;STR_&quot; + BlockName; Processor, Bus, DRAM = Architecture_Name + &quot;_&quot; + BlockName                                                                                                                                   \\n--------Device Name-------  ---------Power States------  \t-----Operating States------  --toActive--  --Speed--  --Exist-- */\\nArchitecture_Block           Standby  Active  Wait  Idle  Sleep  Existing  OffState  OnState    t_OnOff        Mhz       Volts   ; \\nArchitecture_1_RISC_V     stdb    act    wait  idle   slp\t Standby   Standby   Active     Cycle_t       ClockRate    1.0     ; \\n\\n</td><td>/* Power_Table.  First row contains Column Names, expressions valid for entries except Device Name.                                                 \\n                 where &quot;Scheduler_&quot; or &quot;STR_&quot; + BlockName; Processor, Bus, DRAM = Architecture_Name + &quot;_&quot; + BlockName                                                                                                                                   \\n--------Device Name-------  ---------Power States------  \t-----Operating States------  --toActive--  --Speed--  --Exist-- */\\nArchitecture_Block           Standby  Active  Wait  Idle  Sleep  Existing  OffState  OnState    t_OnOff        Mhz       Volts   ; \\nArchitecture_1_RISC_V     stdb    act    wait  idle   slp\t Standby   Standby   Active     Cycle_t       ClockRate    1.0     ; \\n\\n</td></tr><tr><td>Async_State_Change</td><td>/* Async_State_Change.  First row contains Column Names, expressions valid for entries except Device Name. \\n                        where State to same State can extend a Power State                                 \\n--------Device Name-------     --Start------Expression------Next--- */\\nArchitecture_Block               State        Time          State   ; \\nArchitecture_1_RISC_V   Standby       1e-7   \t    Sleep   ;</td><td>/* Async_State_Change.  First row contains Column Names, expressions valid for entries except Device Name. \\n                        where State to same State can extend a Power State                                 \\n--------Device Name-------     --Start------Expression------Next--- */\\nArchitecture_Block               State        Time          State   ; \\nArchitecture_1_RISC_V   Standby       1e-7   \t    Sleep   ;</td></tr><tr><td>Expression_List</td><td>/* First row contains Column Names.                                \\n                                                                   \\n---------Reference--------  --------------Expression------------ */\\nName                                        Value               ; \\nCycle_t                 \t1.0E-6 / ClockRate                  \t; \\nstdb\t\t\t\t0.1*act\t\t\t\t;\\nact\t\t\t\t26.28*ClockRate\t\t\t;\\nwait\t\t\t\t0.95*act\t\t\t;\\nidle\t\t\t\t0.25*act\t\t\t;\t\t\\nslp\t\t\t\t0.02*act\t\t\t;\t</td><td>/* First row contains Column Names.                                \\n                                                                   \\n---------Reference--------  --------------Expression------------ */\\nName                                        Value               ; \\nCycle_t                 \t1.0E-6 / ClockRate                  \t; \\nstdb\t\t\t\t0.1*act\t\t\t\t;\\nact\t\t\t\t26.28*ClockRate\t\t\t;\\nwait\t\t\t\t0.95*act\t\t\t;\\nidle\t\t\t\t0.25*act\t\t\t;\t\t\\nslp\t\t\t\t0.02*act\t\t\t;\t</td></tr><tr><td>Battery_Units</td><td>Micro_Watts</td><td>Micro_Watts</td></tr><tr><td>State_Plot_Enable</td><td>false</td><td>false</td></tr></table> <h2>RISC-V SSD Controller</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>SSD_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>Read Latency, Write Latency</td><td>Read Latency, Write Latency</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>SSD_OverallPower</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>Average Power</td><td>Average Power</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>Processor_Power</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>RISC_V_Power</td><td>RISC_V_Power</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>Flash</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>Sequence_Read_Time</td><td>20.0e-9</td><td>2.0E-8</td></tr><tr><td>Random_Read_Time</td><td>25.0e-9</td><td>2.5E-8</td></tr><tr><td>Write_Access</td><td>150.0e-9</td><td>1.5E-7</td></tr><tr><td>Arch_Setup</td><td>Arch_Setup</td><td>&quot;Architecture_1&quot;</td></tr><tr><td>Page_Size</td><td>2048</td><td>2048</td></tr><tr><td>Erase_Access</td><td>150.0e-9</td><td>1.5E-7</td></tr><tr><td>Read_Access_Time</td><td>25.0e-9</td><td>2.5E-8</td></tr><tr><td>Write_Access_Time</td><td>150.0e-9</td><td>1.5E-7</td></tr><tr><td>Erase_Access_Time</td><td>150.0e-9</td><td>1.5E-7</td></tr><tr><td>Flash_Name</td><td>&quot;SSD_1&quot;</td><td>&quot;SSD_1&quot;</td></tr><tr><td>Flash_CTRL_Name</td><td>&quot;Flash_Ctrl&quot;</td><td>&quot;Flash_Ctrl&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>false</td><td>false</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>PCIe_Bus</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;PCIe_1&quot;</td><td>&quot;PCIe_1&quot;</td></tr><tr><td>Number_of_Lanes</td><td>4 /* Can be an array */</td><td>4</td></tr><tr><td>Slave_Buffer</td><td>512  /* Max Bytes @ Slave */</td><td>512</td></tr><tr><td>Master_Buffer</td><td>512  /* Max Bytes @ Master */</td><td>512</td></tr><tr><td>Sim_Time</td><td>SimTime</td><td>0.007</td></tr><tr><td>_explanation</td><td>Interfaces and Buses-&gt;PCI-&gt;PCIe_Bus</td><td>Interfaces and Buses-&gt;PCI-&gt;PCIe_Bus</td></tr><tr><td>Header_Bytes</td><td>16  /* 32 Bit Mode, includes CRC Bytes */</td><td>16</td></tr><tr><td>Number_of_Ports</td><td>{12, 12}  /* Master, Endpoint  Ports */</td><td>{12, 12}</td></tr><tr><td>BER</td><td>1.0E-11</td><td>1.0E-11</td></tr><tr><td>Max_Payload_Size</td><td>64 /* Write, Read Data */</td><td>64</td></tr><tr><td>Max_Payload_Req_Size</td><td>128  /* Read Requests */</td><td>128</td></tr><tr><td>PCIe_Gen_1</td><td>250.0  /* DO NOT MODIFY */</td><td>250.0</td></tr><tr><td>PCIe_Gen_2</td><td>500.0  /* DO NOT MODIFY */</td><td>500.0</td></tr><tr><td>PCIe_Gen_3</td><td>985.6  /* DO NOT MODIFY */</td><td>985.6</td></tr><tr><td>PCIe_Gen_4</td><td>1969.2  /* DO NOT MODIFY */</td><td>1969.2</td></tr><tr><td>PCIe_MBps</td><td>PCIe_Gen_3  /* Per Lane */</td><td>985.6</td></tr><tr><td>Read_to_Write_Ratio</td><td>0.5  /* 0.0 to 1.0 */</td><td>0.5</td></tr><tr><td>Devices_Attached_to_Slaves</td><td>{{&quot;SSD_1&quot;},{&quot;Dev_2&quot;},{&quot;Dev_3&quot;},{&quot;Dev_4&quot;},{&quot;Dev_5&quot;},{&quot;Dev_6&quot;},{&quot;Dev_7&quot;},{&quot;Dev_8&quot;},{&quot;Dev_9&quot;},{&quot;Dev_10&quot;},{&quot;Dev_11&quot;},{&quot;Dev_12&quot;}}</td><td>{{&quot;SSD_1&quot;}, {&quot;Dev_2&quot;}, {&quot;Dev_3&quot;}, {&quot;Dev_4&quot;}, {&quot;Dev_5&quot;}, {&quot;Dev_6&quot;}, {&quot;Dev_7&quot;}, {&quot;Dev_8&quot;}, {&quot;Dev_9&quot;}, {&quot;Dev_10&quot;}, {&quot;Dev_11&quot;}, {&quot;Dev_12&quot;}}</td></tr><tr><td>Root_Complex_Flow_Control</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>Endpoint_Flow_Control</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>Enable_Plots</td><td>false</td><td>false</td></tr><tr><td>Bit_64_Mode</td><td>true</td><td>true</td></tr></table> <h2>NVMe</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>Number_Of_Cores</td><td>10</td><td>10</td></tr><tr><td>Sim_Time</td><td>SimTime</td><td>0.007</td></tr><tr><td>_hideName</td><td>true</td><td>true</td></tr><tr><td>View_Report</td><td>true</td><td>true</td></tr><tr><td>Number_Of_Stats_Samples</td><td>5</td><td>5</td></tr><tr><td>Save_Report</td><td>false</td><td>false</td></tr><tr><td>NVMe_Instance</td><td>&quot;NVMe_1&quot;</td><td>&quot;NVMe_1&quot;</td></tr><tr><td>SSD_Connected</td><td>&quot;SSD_1&quot;</td><td>&quot;SSD_1&quot;</td></tr></table> <h2>RISC-V 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>Enter User Documentation Here</td><td>Enter User Documentation Here</td></tr><tr><td>Instruction_Set_Name</td><td>&quot;MyInstructionSet&quot;</td><td>&quot;MyInstructionSet&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. */\\nMnew Ra  Rb  Rc  Rd     ;   /* Label */\\nRISCV INT_1 INT_2 INT_3 FP_1\t;\\n//RISCV ALU MDU LSU FPU\t;\\n//ALU INT_1\t\t;\\n//MDU INT_2\t\t;\\n//LSU INT_3\t\t;\\n//FPU FP_1\t\t;\\n\\n\\nbegin INT_1\t\t;\\n\tADD 1\t\t;\\n\tSUB 1\t\t;\\n\tSHIFT 1\t\t;\\n\tLOGIC 1\t\t;\\n\tJMP 3\t\t;\\n\t*JMP 3\t\t;\\nend INT_1\t\t;\t\t\\n\\nbegin INT_2\t\t;\\n\tMUL 5\t\t;\\n\tDIV 2 33\t;\\n\tREM 2 33\t;\\nend INT_2\t\t;\\n\\nbegin INT_3\t\t;\\n\t#LOAD 1\t\t;\\n\t#STORE 1\t;\\n\tMOV 1\t\t;\\nend INT_3\t\t;\\n\\nbegin FP_1\t\t;\\n\tFADD 3\t\t;\\n\tFSUB 3\t\t;\\n\tFMUL 3\t\t;\\n\tFDIV 17\t\t;\\n\tFCVT 5\t\t;\\n\tFCVT_W 5\t;\\nend FP_1\t\t;</td><td>/* Instruction Set or File Path. */\\nMnew Ra  Rb  Rc  Rd     ;   /* Label */\\nRISCV INT_1 INT_2 INT_3 FP_1\t;\\n//RISCV ALU MDU LSU FPU\t;\\n//ALU INT_1\t\t;\\n//MDU INT_2\t\t;\\n//LSU INT_3\t\t;\\n//FPU FP_1\t\t;\\n\\n\\nbegin INT_1\t\t;\\n\tADD 1\t\t;\\n\tSUB 1\t\t;\\n\tSHIFT 1\t\t;\\n\tLOGIC 1\t\t;\\n\tJMP 3\t\t;\\n\t*JMP 3\t\t;\\nend INT_1\t\t;\t\t\\n\\nbegin INT_2\t\t;\\n\tMUL 5\t\t;\\n\tDIV 2 33\t;\\n\tREM 2 33\t;\\nend INT_2\t\t;\\n\\nbegin INT_3\t\t;\\n\t#LOAD 1\t\t;\\n\t#STORE 1\t;\\n\tMOV 1\t\t;\\nend INT_3\t\t;\\n\\nbegin FP_1\t\t;\\n\tFADD 3\t\t;\\n\tFSUB 3\t\t;\\n\tFMUL 3\t\t;\\n\tFDIV 17\t\t;\\n\tFCVT 5\t\t;\\n\tFCVT_W 5\t;\\nend FP_1\t\t;</td></tr><tr><td>Record_Set_Name</td><td>&quot;Record_Set_Name&quot;</td><td>&quot;Record_Set_Name&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>\\n</td><td>\\n</td></tr><tr><td>Number_of_Samples</td><td>2</td><td>2</td></tr><tr><td>Statistics_to_Plot</td><td>&quot;SSD_1_Throughput_MBs_Max&quot;</td><td>&quot;SSD_1_Throughput_MBs_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>Host System</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;Host&quot;</td><td>&quot;Host&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>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>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\\nResult_A\t= (input.A_Command == &quot;Read&quot;)?true:false\\nResult_B\t= (input.A_Command == &quot;Write&quot;)?true:false\\nEvent_2 \t= (input.Event_ID != 2)?true:false\\nEvent_3 \t= (input.Event_ID != 3)?true:false\\nEvent_4 \t= (input.Event_ID != 4)?true:false\\n/*\\nResult_C\t= (input.A_Command == &quot;Erase&quot;)?true:false\\n*/\\n\\nLatency\t= TNow - input.TIME</td><td>/* Template to enter multiple RegEx lines*/\\n\\nResult_A\t= (input.A_Command == &quot;Read&quot;)?true:false\\nResult_B\t= (input.A_Command == &quot;Write&quot;)?true:false\\nEvent_2 \t= (input.Event_ID != 2)?true:false\\nEvent_3 \t= (input.Event_ID != 3)?true:false\\nEvent_4 \t= (input.Event_ID != 4)?true:false\\n/*\\nResult_C\t= (input.A_Command == &quot;Erase&quot;)?true:false\\n*/\\n\\nLatency\t= TNow - input.TIME</td></tr><tr><td>Output_Ports</td><td>output,output1</td><td>&quot;output,output1&quot;</td></tr><tr><td>Output_Values</td><td>Latency,Latency</td><td>&quot;Latency,Latency&quot;</td></tr><tr><td>Output_Conditions</td><td>Result_A &amp;&amp; Event_2 &amp;&amp; Event_3 &amp;&amp; Event_4, Result_B &amp;&amp; Event_2 &amp;&amp; Event_3 &amp;&amp; Event_4</td><td>&quot;Result_A &amp;&amp; Event_2 &amp;&amp; Event_3 &amp;&amp; Event_4, Result_B &amp;&amp; Event_2 &amp;&amp; Event_3 &amp;&amp; Event_4&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;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>TrafficRate</td><td>3.0E-5</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>SSD_Power</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 Excel spreadsheet import.  The power \\ninformation is maintained here.</td><td>This is the Excel spreadsheet import.  The power \\ninformation is maintained here.</td></tr><tr><td>Manager_Name</td><td>&quot;Manager_2&quot;</td><td>&quot;Manager_2&quot;</td></tr><tr><td>fileOrURL</td><td>&nbsp;</td><td>&quot;&quot;</td></tr><tr><td>Manager_Setup</td><td>/* Power_Table.  First row contains Column Names, expressions valid for entries except Device Name.                                                 \\n                 where &quot;Scheduler_&quot; or &quot;STR_&quot; + BlockName; Processor, Bus, DRAM = Architecture_Name + &quot;_&quot; + BlockName                                                                                                                                   \\n--------Device Name-------  ---------Power States------  -----Operating States------  --toActive--  --Speed--  --Exist-- */\\nArchitecture_Block          Standby         Active       Wait      Idle        Sleep          Existing    OffState  OnState    t_OnOff       Mhz       Volts   ; \\nArchitecture_1_SSD_1        ssd_idle    ssd_write    ssd_wait  ssd_idle   ssd_slumber     Standby     Standby   Active     Cycle_t       1000.0     1.0     ; </td><td>/* Power_Table.  First row contains Column Names, expressions valid for entries except Device Name.                                                 \\n                 where &quot;Scheduler_&quot; or &quot;STR_&quot; + BlockName; Processor, Bus, DRAM = Architecture_Name + &quot;_&quot; + BlockName                                                                                                                                   \\n--------Device Name-------  ---------Power States------  -----Operating States------  --toActive--  --Speed--  --Exist-- */\\nArchitecture_Block          Standby         Active       Wait      Idle        Sleep          Existing    OffState  OnState    t_OnOff       Mhz       Volts   ; \\nArchitecture_1_SSD_1        ssd_idle    ssd_write    ssd_wait  ssd_idle   ssd_slumber     Standby     Standby   Active     Cycle_t       1000.0     1.0     ; </td></tr><tr><td>Async_State_Change</td><td>/* Async_State_Change.  First row contains Column Names, expressions valid for entries except Device Name. \\n                        where State to same State can extend a Power State                                 \\n--------Device Name-------  --Start------Expression------Next--- */\\nArchitecture_Block            State        Time          State   ; \\nArchitecture_1_SSD_1        Standby        10e-3   \t Sleep   ;</td><td>/* Async_State_Change.  First row contains Column Names, expressions valid for entries except Device Name. \\n                        where State to same State can extend a Power State                                 \\n--------Device Name-------  --Start------Expression------Next--- */\\nArchitecture_Block            State        Time          State   ; \\nArchitecture_1_SSD_1        Standby        10e-3   \t Sleep   ;</td></tr><tr><td>Expression_List</td><td>/* First row contains Column Names.                                \\n                                                                   \\n---------Reference--------  --------------Expression------------ */\\nName                                        Value               ; \\n\t\\nCycle_t                 \t\t1.0E-6 / Mhz                  \t;\\nssd_read\t\t\t\t2050\t\t\t\t;\\nssd_write\t\t\t\t3350\t\t\t\t;\\nssd_wait\t\t\t\t1000\t\t\t\t;\\nssd_idle\t\t\t\t70\t\t\t\t;\\nssd_slumber\t\t\t\t2.5\t\t\t\t;\t\\nssd_act_avg\t\t\t\t2700\t\t\t\t;\\n\t\t\t</td><td>/* First row contains Column Names.                                \\n                                                                   \\n---------Reference--------  --------------Expression------------ */\\nName                                        Value               ; \\n\t\\nCycle_t                 \t\t1.0E-6 / Mhz                  \t;\\nssd_read\t\t\t\t2050\t\t\t\t;\\nssd_write\t\t\t\t3350\t\t\t\t;\\nssd_wait\t\t\t\t1000\t\t\t\t;\\nssd_idle\t\t\t\t70\t\t\t\t;\\nssd_slumber\t\t\t\t2.5\t\t\t\t;\t\\nssd_act_avg\t\t\t\t2700\t\t\t\t;\\n\t\t\t</td></tr><tr><td>Battery_Units</td><td>Milli_Watts</td><td>Milli_Watts</td></tr><tr><td>State_Plot_Enable</td><td>false</td><td>false</td></tr></table>

    Contact Us

    Subscribe