diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree index 7ed1f3446..bc17e2318 100644 Binary files a/.doctrees/api.doctree and b/.doctrees/api.doctree differ diff --git a/.doctrees/auto_graph.doctree b/.doctrees/auto_graph.doctree index 29caa6977..391a370ae 100644 Binary files a/.doctrees/auto_graph.doctree and b/.doctrees/auto_graph.doctree differ diff --git a/.doctrees/coreblocks.doctree b/.doctrees/coreblocks.doctree index 68a27e4e0..dbd636dbd 100644 Binary files a/.doctrees/coreblocks.doctree and b/.doctrees/coreblocks.doctree differ diff --git a/.doctrees/current-graph.doctree b/.doctrees/current-graph.doctree index 8e77bbe0d..72aecad3d 100644 Binary files a/.doctrees/current-graph.doctree and b/.doctrees/current-graph.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index e42a510ad..f7b1bda12 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/_sources/auto_graph.rst.txt b/_sources/auto_graph.rst.txt index ca41387b2..d9ed6efdf 100644 --- a/_sources/auto_graph.rst.txt +++ b/_sources/auto_graph.rst.txt @@ -6,17 +6,17 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] + WishboneMaster_request["request"] WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_result["result"] - WishboneMaster_request["request"] subgraph Forwarder["result Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] - WishboneMaster1_result["result"] WishboneMaster1_WishboneMaster["WishboneMaster"] + WishboneMaster1_result["result"] WishboneMaster1_request["request"] subgraph Forwarder1["result Forwarder"] Forwarder1_write["write"] @@ -27,24 +27,24 @@ WishboneMasterAdapter_get_read_response["get_read_response"] WishboneMasterAdapter_request_read["request_read"] subgraph Serializer["bus_serializer Serializer"] - Serializer_serialize_in0["serialize_in0"] Serializer_serialize_out0["serialize_out0"] + Serializer_serialize_in0["serialize_in0"] subgraph BasicFifo["pending_requests BasicFifo"] - BasicFifo_write["write"] BasicFifo_read["read"] + BasicFifo_write["write"] end end end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_get_read_response["get_read_response"] + WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_write["request_write"] WishboneMasterAdapter1_request_read["request_read"] subgraph Serializer1["bus_serializer Serializer"] + Serializer1_serialize_out0["serialize_out0"] + Serializer1_serialize_in1["serialize_in1"] Serializer1_serialize_out1["serialize_out1"] Serializer1_serialize_in0["serialize_in0"] - Serializer1_serialize_in1["serialize_in1"] - Serializer1_serialize_out0["serialize_out0"] subgraph BasicFifo1["pending_requests BasicFifo"] BasicFifo1_write["write"] BasicFifo1_read["read"] @@ -57,27 +57,27 @@ CoreFrontend_target_pred_req["target_pred_req"] CoreFrontend_stall["stall"] subgraph BasicFifo2["instr_buffer BasicFifo"] - BasicFifo2_clear["clear"] - BasicFifo2_write["write"] BasicFifo2_read["read"] + BasicFifo2_write["write"] + BasicFifo2_clear["clear"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] - SimpleCommonBusCacheRefiller_start_refill["start_refill"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] + SimpleCommonBusCacheRefiller_start_refill["start_refill"] subgraph Forwarder2["resp_fwd Forwarder"] - Forwarder2_read["read"] Forwarder2_write["write"] + Forwarder2_read["read"] end end subgraph ICache["icache ICache"] ICache_ICache["ICache"] - ICache_flush["flush"] - ICache_ICache1["ICache"] ICache_issue_req["issue_req"] - ICache_MemRead["MemRead"] ICache_accept_res["accept_res"] + ICache_MemRead["MemRead"] + ICache_ICache1["ICache"] + ICache_flush["flush"] subgraph HwCounter["perf_loads HwCounter"] HwCounter__incr["_incr"] end @@ -105,13 +105,13 @@ end end subgraph ArgumentsToResultsZipper["req_zipper ArgumentsToResultsZipper"] - ArgumentsToResultsZipper_write_results["write_results"] ArgumentsToResultsZipper_write_args["write_args"] - ArgumentsToResultsZipper_peek_arg["peek_arg"] ArgumentsToResultsZipper_read["read"] + ArgumentsToResultsZipper_write_results["write_results"] + ArgumentsToResultsZipper_peek_arg["peek_arg"] subgraph BasicFifo3["fifo BasicFifo"] - BasicFifo3_write["write"] BasicFifo3_peek["peek"] + BasicFifo3_write["write"] BasicFifo3_read["read"] end subgraph Forwarder3["forwarder Forwarder"] @@ -121,14 +121,14 @@ end end subgraph FetchUnit["fetch FetchUnit"] - FetchUnit_Fetch_Stage2["Fetch_Stage2"] FetchUnit_Fetch_Stage0["Fetch_Stage0"] - FetchUnit_resume_from_exception["resume_from_exception"] - FetchUnit_Fetch_Stage1["Fetch_Stage1"] + FetchUnit_Fetch_Stage2["Fetch_Stage2"] + FetchUnit_Fetch_Stage2_cond1["Fetch_Stage2_cond1"] FetchUnit_resume_from_unsafe["resume_from_unsafe"] - FetchUnit_Fetch_Stage2_cond0["Fetch_Stage2_cond0"] FetchUnit_stall_exception["stall_exception"] - FetchUnit_Fetch_Stage2_cond1["Fetch_Stage2_cond1"] + FetchUnit_Fetch_Stage2_cond0["Fetch_Stage2_cond0"] + FetchUnit_resume_from_exception["resume_from_exception"] + FetchUnit_Fetch_Stage1["Fetch_Stage1"] subgraph TaggedCounter["perf_fetch_utilization TaggedCounter"] TaggedCounter__incr["_incr"] end @@ -136,24 +136,24 @@ HwCounter5__incr["_incr"] end subgraph Serializer["serializer Serializer"] - Serializer_read["read"] - Serializer_write["write"] Serializer_clean["clean"] + Serializer_write["write"] + Serializer_read["read"] end subgraph ConnectTrans["serializer_connector ConnectTrans"] ConnectTrans_ConnectTrans["ConnectTrans"] end subgraph BasicFifo4["cache_requests BasicFifo"] - BasicFifo4_write["write"] BasicFifo4_read["read"] + BasicFifo4_write["write"] end subgraph Semaphore["req_counter Semaphore"] - Semaphore_acquire["acquire"] Semaphore_release["release"] + Semaphore_acquire["acquire"] end subgraph Pipe["s1_s2_pipe Pipe"] - Pipe_write["write"] Pipe_read["read"] + Pipe_write["write"] end subgraph Predecoder["predecoder_0 Predecoder"] Predecoder_predecode["predecode"] @@ -172,9 +172,9 @@ end end subgraph Pipe1["decode_pipe Pipe"] + Pipe1_read["read"] Pipe1_write["write"] Pipe1_clean["clean"] - Pipe1_read["read"] end subgraph DecodeStage["decode DecodeStage"] DecodeStage_DecodeStage["DecodeStage"] @@ -191,15 +191,15 @@ FRAT_rename["rename"] end subgraph RRAT["RRAT RRAT"] - RRAT_peek["peek"] RRAT_commit["commit"] + RRAT_peek["peek"] end subgraph RegisterFile["RF RegisterFile"] + RegisterFile_perf["perf"] RegisterFile_write["write"] - RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_read1["read1"] - RegisterFile_perf["perf"] + RegisterFile_read2["read2"] subgraph TaggedLatencyMeasurer["perf_rf_valid_time TaggedLatencyMeasurer"] TaggedLatencyMeasurer__stop["_stop"] TaggedLatencyMeasurer__start["_start"] @@ -217,11 +217,11 @@ end subgraph ReorderBuffer["ROB ReorderBuffer"] ReorderBuffer_perf["perf"] - ReorderBuffer_retire["retire"] - ReorderBuffer_put["put"] + ReorderBuffer_peek["peek"] ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_peek["peek"] + ReorderBuffer_put["put"] + ReorderBuffer_retire["retire"] subgraph FIFOLatencyMeasurer1["perf_rob_wait_time FIFOLatencyMeasurer"] FIFOLatencyMeasurer1__stop["_stop"] FIFOLatencyMeasurer1__start["_start"] @@ -242,8 +242,8 @@ ExceptionInformationRegister_clear["clear"] ExceptionInformationRegister_get["get"] subgraph BasicFifo6["fu_report_fifo BasicFifo"] - BasicFifo6_write["write"] BasicFifo6_read["read"] + BasicFifo6_write["write"] end subgraph ConnectTrans1["report_connector ConnectTrans"] ConnectTrans1_ConnectTrans["ConnectTrans"] @@ -266,36 +266,39 @@ subgraph ConnectTrans4["ManyToOneConnectTrans_input_2 ConnectTrans"] ConnectTrans4_ConnectTrans["ConnectTrans"] end + subgraph ConnectTrans5["ManyToOneConnectTrans_input_3 ConnectTrans"] + ConnectTrans5_ConnectTrans["ConnectTrans"] + end end end subgraph MethodProduct["update_combiner MethodProduct"] MethodProduct_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] + RSFuncBlock_select["select"] RSFuncBlock_update["update"] - RSFuncBlock_get_result["get_result"] RSFuncBlock_insert["insert"] - RSFuncBlock_select["select"] + RSFuncBlock_get_result["get_result"] subgraph RS["rs RS"] - RS_insert["insert"] RS_RS["RS"] - RS_take["take"] RS_update["update"] + RS_take["take"] RS_RS1["RS"] RS_RS2["RS"] RS_RS3["RS"] + RS_insert["insert"] RS_RS4["RS"] RS_perf["perf"] RS_select["select"] subgraph TaggedLatencyMeasurer1["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer1__start["_start"] TaggedLatencyMeasurer1__stop["_stop"] + TaggedLatencyMeasurer1__start["_start"] subgraph HwExpHistogram5["histogram HwExpHistogram"] HwExpHistogram5__add["_add"] end subgraph AsyncMemoryBank1["slots AsyncMemoryBank"] - AsyncMemoryBank1_read0["read0"] AsyncMemoryBank1_write0["write0"] + AsyncMemoryBank1_read0["read0"] end end subgraph HwExpHistogram6["perf_num_full HwExpHistogram"] @@ -303,22 +306,22 @@ end end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph TaggedCounter4["perf_instr TaggedCounter"] TaggedCounter4__incr["_incr"] end subgraph FIFO2["fifo FIFO"] - FIFO2_read["read"] FIFO2_write["write"] + FIFO2_read["read"] end end subgraph WakeupSelect["wakeup_select_0 WakeupSelect"] WakeupSelect_WakeupSelect["WakeupSelect"] end subgraph ShiftFuncUnit["func_unit_1 ShiftFuncUnit"] - ShiftFuncUnit_accept["accept"] ShiftFuncUnit_issue["issue"] + ShiftFuncUnit_accept["accept"] subgraph FIFO3["fifo FIFO"] FIFO3_read["read"] FIFO3_write["write"] @@ -331,8 +334,8 @@ JumpBranchFuncUnit_issue["issue"] JumpBranchFuncUnit_accept["accept"] subgraph FIFO4["fifo_branch_resolved FIFO"] - FIFO4_write["write"] FIFO4_read["read"] + FIFO4_write["write"] end subgraph TaggedCounter5["perf_instr TaggedCounter"] TaggedCounter5__incr["_incr"] @@ -352,11 +355,11 @@ WakeupSelect2_WakeupSelect["WakeupSelect"] end subgraph ExceptionFuncUnit["func_unit_3 ExceptionFuncUnit"] - ExceptionFuncUnit_accept["accept"] ExceptionFuncUnit_issue["issue"] + ExceptionFuncUnit_accept["accept"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -365,11 +368,11 @@ subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] PrivilegedFuncUnit_accept["accept"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] subgraph BasicFifo8["fetch_resume_fifo BasicFifo"] BasicFifo8_read["read"] BasicFifo8_write["write"] @@ -388,39 +391,40 @@ Forwarder5_write["write"] end subgraph ManyToOneConnectTrans1["connect ManyToOneConnectTrans"] - subgraph ConnectTrans5["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans5_ConnectTrans["ConnectTrans"] - end - subgraph ConnectTrans6["ManyToOneConnectTrans_input_1 ConnectTrans"] + subgraph ConnectTrans6["ManyToOneConnectTrans_input_0 ConnectTrans"] ConnectTrans6_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans7["ManyToOneConnectTrans_input_2 ConnectTrans"] + subgraph ConnectTrans7["ManyToOneConnectTrans_input_1 ConnectTrans"] ConnectTrans7_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans8["ManyToOneConnectTrans_input_3 ConnectTrans"] + subgraph ConnectTrans8["ManyToOneConnectTrans_input_2 ConnectTrans"] ConnectTrans8_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans9["ManyToOneConnectTrans_input_4 ConnectTrans"] + subgraph ConnectTrans9["ManyToOneConnectTrans_input_3 ConnectTrans"] ConnectTrans9_ConnectTrans["ConnectTrans"] end + subgraph ConnectTrans10["ManyToOneConnectTrans_input_4 ConnectTrans"] + ConnectTrans10_ConnectTrans["ConnectTrans"] + end end end end subgraph RSFuncBlock1["rs_block_1 RSFuncBlock"] - RSFuncBlock1_select["select"] RSFuncBlock1_get_result["get_result"] - RSFuncBlock1_update["update"] RSFuncBlock1_insert["insert"] - subgraph FifoRS["rs FifoRS"] - FifoRS_FifoRS["FifoRS"] - FifoRS_take["take"] - FifoRS_perf["perf"] - FifoRS_update["update"] - FifoRS_select["select"] - FifoRS_insert["insert"] + RSFuncBlock1_select["select"] + RSFuncBlock1_update["update"] + subgraph RS1["rs RS"] + RS1_update["update"] + RS1_RS["RS"] + RS1_perf["perf"] + RS1_insert["insert"] + RS1_take["take"] + RS1_select["select"] + RS1_RS1["RS"] subgraph TaggedLatencyMeasurer2["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer2__start["_start"] TaggedLatencyMeasurer2__stop["_stop"] + TaggedLatencyMeasurer2__start["_start"] subgraph HwExpHistogram7["histogram HwExpHistogram"] HwExpHistogram7__add["_add"] end @@ -433,67 +437,156 @@ HwExpHistogram8__add["_add"] end end + subgraph MulUnit["func_unit_0 MulUnit"] + MulUnit_issue["issue"] + MulUnit_accept["accept"] + MulUnit_MulUnit["MulUnit"] + subgraph FIFO6["result_fifo FIFO"] + FIFO6_read["read"] + FIFO6_write["write"] + end + subgraph FIFO7["params_fifo FIFO"] + FIFO7_read["read"] + FIFO7_write["write"] + end + subgraph SequentialUnsignedMul["multiplier SequentialUnsignedMul"] + SequentialUnsignedMul_issue["issue"] + SequentialUnsignedMul_accept["accept"] + subgraph DSPMulUnit["dsp DSPMulUnit"] + DSPMulUnit_compute["compute"] + end + subgraph RecursiveWithSingleDSPMul["multiplier RecursiveWithSingleDSPMul"] + RecursiveWithSingleDSPMul_RecursiveWithSingleDSPMul["RecursiveWithSingleDSPMul"] + end + end + end + subgraph WakeupSelect5["wakeup_select_0 WakeupSelect"] + WakeupSelect5_WakeupSelect["WakeupSelect"] + end + subgraph DivUnit["func_unit_1 DivUnit"] + DivUnit_DivUnit["DivUnit"] + DivUnit_issue["issue"] + DivUnit_accept["accept"] + subgraph BasicFifo9["result_fifo BasicFifo"] + BasicFifo9_read["read"] + BasicFifo9_write["write"] + end + subgraph FIFO8["params_fifo FIFO"] + FIFO8_write["write"] + FIFO8_read["read"] + end + subgraph LongDivider["divider LongDivider"] + LongDivider_issue["issue"] + LongDivider_accept["accept"] + end + end + subgraph WakeupSelect6["wakeup_select_1 WakeupSelect"] + WakeupSelect6_WakeupSelect["WakeupSelect"] + end + subgraph Collector2["collector Collector"] + Collector2_method["method"] + subgraph Forwarder6["forwarder Forwarder"] + Forwarder6_read["read"] + Forwarder6_write["write"] + end + subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] + subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans11_ConnectTrans["ConnectTrans"] + end + subgraph ConnectTrans12["ManyToOneConnectTrans_input_1 ConnectTrans"] + ConnectTrans12_ConnectTrans["ConnectTrans"] + end + end + end + end + subgraph RSFuncBlock2["rs_block_2 RSFuncBlock"] + RSFuncBlock2_select["select"] + RSFuncBlock2_get_result["get_result"] + RSFuncBlock2_insert["insert"] + RSFuncBlock2_update["update"] + subgraph FifoRS["rs FifoRS"] + FifoRS_insert["insert"] + FifoRS_FifoRS["FifoRS"] + FifoRS_select["select"] + FifoRS_update["update"] + FifoRS_take["take"] + FifoRS_perf["perf"] + subgraph TaggedLatencyMeasurer3["perf_rs_wait_time TaggedLatencyMeasurer"] + TaggedLatencyMeasurer3__start["_start"] + TaggedLatencyMeasurer3__stop["_stop"] + subgraph HwExpHistogram9["histogram HwExpHistogram"] + HwExpHistogram9__add["_add"] + end + subgraph AsyncMemoryBank3["slots AsyncMemoryBank"] + AsyncMemoryBank3_write0["write0"] + AsyncMemoryBank3_read0["read0"] + end + end + subgraph HwExpHistogram10["perf_num_full HwExpHistogram"] + HwExpHistogram10__add["_add"] + end + end subgraph LSUDummy["func_unit_0 LSUDummy"] - LSUDummy_accept_cond1["accept_cond1"] - LSUDummy_accept["accept"] LSUDummy_LSUDummy["LSUDummy"] - LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy1["LSUDummy"] + LSUDummy_accept["accept"] + LSUDummy_issue["issue"] + LSUDummy_accept_cond1["accept_cond1"] + LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy2["LSUDummy"] LSUDummy_LSUDummy3["LSUDummy"] - LSUDummy_issue["issue"] subgraph LSURequester["requester LSURequester"] - LSURequester_issue["issue"] - LSURequester_accept_cond1["accept_cond1"] LSURequester_issue_cond2["issue_cond2"] + LSURequester_issue["issue"] + LSURequester_issue_cond0["issue_cond0"] + LSURequester_accept["accept"] LSURequester_issue_cond1["issue_cond1"] LSURequester_accept_cond0["accept_cond0"] - LSURequester_accept["accept"] - LSURequester_issue_cond0["issue_cond0"] - subgraph BasicFifo9["args_fifo BasicFifo"] - BasicFifo9_read["read"] - BasicFifo9_write["write"] + LSURequester_accept_cond1["accept_cond1"] + subgraph BasicFifo10["args_fifo BasicFifo"] + BasicFifo10_read["read"] + BasicFifo10_write["write"] end end - subgraph Forwarder6["requests Forwarder"] - Forwarder6_write["write"] - Forwarder6_read["read"] + subgraph Forwarder7["requests Forwarder"] + Forwarder7_read["read"] + Forwarder7_write["write"] end - subgraph FIFO6["results_noop FIFO"] - FIFO6_read["read"] - FIFO6_write["write"] + subgraph FIFO9["results_noop FIFO"] + FIFO9_read["read"] + FIFO9_write["write"] end - subgraph FIFO7["issued FIFO"] - FIFO7_read["read"] - FIFO7_write["write"] + subgraph FIFO10["issued FIFO"] + FIFO10_write["write"] + FIFO10_read["read"] end - subgraph FIFO8["issued_noop FIFO"] - FIFO8_write["write"] - FIFO8_read["read"] + subgraph FIFO11["issued_noop FIFO"] + FIFO11_write["write"] + FIFO11_read["read"] end end - subgraph WakeupSelect5["wakeup_select_0 WakeupSelect"] - WakeupSelect5_WakeupSelect["WakeupSelect"] + subgraph WakeupSelect7["wakeup_select_0 WakeupSelect"] + WakeupSelect7_WakeupSelect["WakeupSelect"] end - subgraph Collector2["collector Collector"] - Collector2_method["method"] - subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] - Forwarder7_write["write"] + subgraph Collector3["collector Collector"] + Collector3_method["method"] + subgraph Forwarder8["forwarder Forwarder"] + Forwarder8_read["read"] + Forwarder8_write["write"] end - subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] - subgraph ConnectTrans10["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans10_ConnectTrans["ConnectTrans"] + subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] + subgraph ConnectTrans13["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans13_ConnectTrans["ConnectTrans"] end end end end - subgraph CSRUnit["rs_block_2 CSRUnit"] + subgraph CSRUnit["rs_block_3 CSRUnit"] CSRUnit_get_result["get_result"] - CSRUnit_insert["insert"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_select["select"] + CSRUnit_CSRUnit["CSRUnit"] CSRUnit_update["update"] + CSRUnit_insert["insert"] CSRUnit_fetch_resume["fetch_resume"] end end @@ -528,8 +621,8 @@ end end subgraph CSRRegister4["mscratch CSRRegister"] - CSRRegister4__internal_fu_read["_internal_fu_read"] CSRRegister4__internal_fu_write["_internal_fu_write"] + CSRRegister4__internal_fu_read["_internal_fu_read"] subgraph MethodMap8["fu_write_map MethodMap"] MethodMap8_method["method"] end @@ -547,17 +640,17 @@ end end subgraph AliasedCSR["mstatus AliasedCSR"] - AliasedCSR__fu_read["_fu_read"] AliasedCSR__fu_write["_fu_write"] + AliasedCSR__fu_read["_fu_read"] end subgraph AliasedCSR1["mstatush AliasedCSR"] AliasedCSR1__fu_read["_fu_read"] AliasedCSR1__fu_write["_fu_write"] end subgraph CSRRegister6["mcause CSRRegister"] - CSRRegister6_write["write"] - CSRRegister6__internal_fu_read["_internal_fu_read"] CSRRegister6__internal_fu_write["_internal_fu_write"] + CSRRegister6__internal_fu_read["_internal_fu_read"] + CSRRegister6_write["write"] subgraph MethodMap12["fu_write_map MethodMap"] MethodMap12_method["method"] end @@ -569,8 +662,8 @@ end end subgraph CSRRegister7["mtvec CSRRegister"] - CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7_read["read"] + CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7__internal_fu_read["_internal_fu_read"] subgraph MethodMap14["fu_write_map MethodMap"] MethodMap14_method["method"] @@ -585,8 +678,8 @@ subgraph CSRRegister8["mepc CSRRegister"] CSRRegister8__internal_fu_write["_internal_fu_write"] CSRRegister8_write["write"] - CSRRegister8__internal_fu_read["_internal_fu_read"] CSRRegister8_read["read"] + CSRRegister8__internal_fu_read["_internal_fu_read"] subgraph MethodMap16["fu_write_map MethodMap"] MethodMap16_method["method"] end @@ -598,8 +691,8 @@ end end subgraph CSRRegister9["mtval CSRRegister"] - CSRRegister9__internal_fu_write["_internal_fu_write"] CSRRegister9_write["write"] + CSRRegister9__internal_fu_write["_internal_fu_write"] CSRRegister9__internal_fu_read["_internal_fu_read"] subgraph MethodMap18["fu_write_map MethodMap"] MethodMap18_method["method"] @@ -625,13 +718,13 @@ end end subgraph CSRRegister11["priv_mode CSRRegister"] - CSRRegister11_read["read"] CSRRegister11_write["write"] + CSRRegister11_read["read"] end subgraph CSRRegister12["mstatus_mie CSRRegister"] CSRRegister12_write["write"] - CSRRegister12__internal_fu_write["_internal_fu_write"] CSRRegister12_read["read"] + CSRRegister12__internal_fu_write["_internal_fu_write"] CSRRegister12__internal_fu_read["_internal_fu_read"] subgraph MethodMap24["fu_write_map MethodMap"] MethodMap24_method["method"] @@ -644,10 +737,10 @@ end end subgraph CSRRegister13["mstatus_mpie CSRRegister"] + CSRRegister13_write["write"] CSRRegister13__internal_fu_write["_internal_fu_write"] CSRRegister13_read["read"] CSRRegister13__internal_fu_read["_internal_fu_read"] - CSRRegister13_write["write"] subgraph MethodMap26["fu_write_map MethodMap"] MethodMap26_method["method"] end @@ -674,9 +767,9 @@ end end subgraph CSRRegister15["mstatus_mprv CSRRegister"] - CSRRegister15__internal_fu_read["_internal_fu_read"] CSRRegister15_write["write"] CSRRegister15__internal_fu_write["_internal_fu_write"] + CSRRegister15__internal_fu_read["_internal_fu_read"] subgraph MethodMap30["fu_write_map MethodMap"] MethodMap30_method["method"] end @@ -688,8 +781,8 @@ end end subgraph CSRRegister16["mstatus_tw CSRRegister"] - CSRRegister16__internal_fu_read["_internal_fu_read"] CSRRegister16__internal_fu_write["_internal_fu_write"] + CSRRegister16__internal_fu_read["_internal_fu_read"] CSRRegister16_read["read"] subgraph MethodMap32["fu_write_map MethodMap"] MethodMap32_method["method"] @@ -713,9 +806,9 @@ end end subgraph CSRRegister18["register_high CSRRegister"] - CSRRegister18__internal_fu_read["_internal_fu_read"] CSRRegister18_read["read"] CSRRegister18_write["write"] + CSRRegister18__internal_fu_read["_internal_fu_read"] subgraph MethodMap37["fu_read_map MethodMap"] MethodMap37_method["method"] end @@ -724,16 +817,16 @@ subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] DoubleCounterCSR1_increment["increment"] subgraph CSRRegister19["register_low CSRRegister"] - CSRRegister19_read["read"] CSRRegister19__internal_fu_read["_internal_fu_read"] CSRRegister19_write["write"] + CSRRegister19_read["read"] subgraph MethodMap39["fu_read_map MethodMap"] MethodMap39_method["method"] end end subgraph CSRRegister20["register_high CSRRegister"] - CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_read["read"] + CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_write["write"] subgraph MethodMap41["fu_read_map MethodMap"] MethodMap41_method["method"] @@ -742,16 +835,16 @@ end end subgraph InternalInterruptController["interrupt_controller InternalInterruptController"] - InternalInterruptController_interrupt_cause["interrupt_cause"] + InternalInterruptController_entry["entry"] + InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController["InternalInterruptController"] + InternalInterruptController_interrupt_cause["interrupt_cause"] InternalInterruptController_InternalInterruptController1["InternalInterruptController"] - InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController2["InternalInterruptController"] - InternalInterruptController_entry["entry"] subgraph CSRRegister21["mie CSRRegister"] - CSRRegister21_read["read"] CSRRegister21__internal_fu_read["_internal_fu_read"] CSRRegister21__internal_fu_write["_internal_fu_write"] + CSRRegister21_read["read"] subgraph MethodMap42["fu_write_map MethodMap"] MethodMap42_method["method"] end @@ -763,11 +856,11 @@ end end subgraph CSRRegister22["mip CSRRegister"] - CSRRegister22__internal_fu_write["_internal_fu_write"] CSRRegister22_read_comb["read_comb"] CSRRegister22__internal_fu_read["_internal_fu_read"] - CSRRegister22_read["read"] CSRRegister22_write["write"] + CSRRegister22_read["read"] + CSRRegister22__internal_fu_write["_internal_fu_write"] subgraph MethodMap44["fu_write_map MethodMap"] MethodMap44_method["method"] end @@ -780,16 +873,16 @@ end end subgraph CoreInstructionCounter["core_counter CoreInstructionCounter"] - CoreInstructionCounter_increment["increment"] CoreInstructionCounter_decrement["decrement"] + CoreInstructionCounter_increment["increment"] end subgraph MethodProduct1["get_instr MethodProduct"] MethodProduct1_method["method"] end subgraph Scheduler["scheduler Scheduler"] - subgraph FIFO9["alloc_rename_buf FIFO"] - FIFO9_write["write"] - FIFO9_read["read"] + subgraph FIFO12["alloc_rename_buf FIFO"] + FIFO12_read["read"] + FIFO12_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -801,69 +894,70 @@ subgraph Renaming["renaming Renaming"] Renaming_Renaming["Renaming"] end - subgraph FIFO10["reg_alloc_out_buf FIFO"] - FIFO10_write["write"] - FIFO10_read["read"] + subgraph FIFO13["reg_alloc_out_buf FIFO"] + FIFO13_read["read"] + FIFO13_write["write"] end subgraph ROBAllocation["rob_alloc ROBAllocation"] ROBAllocation_ROBAllocation["ROBAllocation"] end - subgraph FIFO11["rs_select_out_buf FIFO"] - FIFO11_read["read"] - FIFO11_write["write"] + subgraph FIFO14["rs_select_out_buf FIFO"] + FIFO14_write["write"] + FIFO14_read["read"] end subgraph RSSelection["rs_selector RSSelection"] RSSelection_RSSelection["RSSelection"] RSSelection_RSSelection1["RSSelection"] RSSelection_RSSelection2["RSSelection"] + RSSelection_RSSelection3["RSSelection"] end subgraph RSInsertion["rs_insertion RSInsertion"] RSInsertion_RSInsertion["RSInsertion"] end end subgraph ModuleConnector["fetch_resume_unifiers ModuleConnector"] - subgraph Collector3["FetchResumeKey_unifier Collector"] - Collector3_method["method"] - subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_read["read"] - Forwarder8_write["write"] + subgraph Collector4["FetchResumeKey_unifier Collector"] + Collector4_method["method"] + subgraph Forwarder9["forwarder Forwarder"] + Forwarder9_write["write"] + Forwarder9_read["read"] end - subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] - subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans11_ConnectTrans["ConnectTrans"] + subgraph ManyToOneConnectTrans4["connect ManyToOneConnectTrans"] + subgraph ConnectTrans14["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans14_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans12["ManyToOneConnectTrans_input_1 ConnectTrans"] - ConnectTrans12_ConnectTrans["ConnectTrans"] + subgraph ConnectTrans15["ManyToOneConnectTrans_input_1 ConnectTrans"] + ConnectTrans15_ConnectTrans["ConnectTrans"] end end end end - subgraph ConnectTrans13["fetch_resume_connector ConnectTrans"] - ConnectTrans13_ConnectTrans["ConnectTrans"] + subgraph ConnectTrans16["fetch_resume_connector ConnectTrans"] + ConnectTrans16_ConnectTrans["ConnectTrans"] end subgraph Retirement["retirement Retirement"] + Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement["Retirement"] + Retirement_Retirement1["Retirement"] Retirement_Retirement_cond1["Retirement_cond1"] Retirement_core_state["core_state"] - Retirement_precommit["precommit"] - Retirement_Retirement1["Retirement"] Retirement_Retirement2["Retirement"] - Retirement_Retirement_cond0["Retirement_cond0"] + Retirement_precommit["precommit"] Retirement_Retirement3["Retirement"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister23["register_low CSRRegister"] - CSRRegister23_read["read"] CSRRegister23__internal_fu_read["_internal_fu_read"] CSRRegister23_write["write"] + CSRRegister23_read["read"] subgraph MethodMap47["fu_read_map MethodMap"] MethodMap47_method["method"] end end subgraph CSRRegister24["register_high CSRRegister"] CSRRegister24_read["read"] - CSRRegister24_write["write"] CSRRegister24__internal_fu_read["_internal_fu_read"] + CSRRegister24_write["write"] subgraph MethodMap49["fu_read_map MethodMap"] MethodMap49_method["method"] end @@ -873,14 +967,14 @@ HwCounter9__incr["_incr"] end subgraph FIFOLatencyMeasurer2["perf_trap_latency FIFOLatencyMeasurer"] - FIFOLatencyMeasurer2__start["_start"] FIFOLatencyMeasurer2__stop["_stop"] - subgraph HwExpHistogram9["histogram HwExpHistogram"] - HwExpHistogram9__add["_add"] + FIFOLatencyMeasurer2__start["_start"] + subgraph HwExpHistogram11["histogram HwExpHistogram"] + HwExpHistogram11__add["_add"] end - subgraph FIFO12["fifo FIFO"] - FIFO12_write["write"] - FIFO12_read["read"] + subgraph FIFO15["fifo FIFO"] + FIFO15_read["read"] + FIFO15_write["write"] end end end @@ -888,39 +982,39 @@ end subgraph TransactionManager["transaction_manager TransactionManager"] TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit["PrivilegedFuncUnit_cond1_PrivilegedFuncUnit"] + TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_Renaming_ROBAllocation["Renaming_ROBAllocation"] + TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] - TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit["PrivilegedFuncUnit_cond3_PrivilegedFuncUnit"] - TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_issue_cond0_LSUDummy["issue_cond0_LSUDummy"] - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2["Fetch_Stage2_cond0_Fetch_Stage2"] - TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0["Fetch_Stage2_Fetch_Stage2_cond0"] + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1["Fetch_Stage2_Fetch_Stage2_cond1"] TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit["PrivilegedFuncUnit_cond0_PrivilegedFuncUnit"] - TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2["Fetch_Stage2_cond1_Fetch_Stage2"] - TransactionManager_accept_cond1_accept_cond0_ConnectTrans["accept_cond1_accept_cond0_ConnectTrans"] - TransactionManager_Renaming_ROBAllocation["Renaming_ROBAllocation"] TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit["PrivilegedFuncUnit_cond2_PrivilegedFuncUnit"] - TransactionManager_ConnectTrans_accept_cond0_accept_cond0["ConnectTrans_accept_cond0_accept_cond0"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] + TransactionManager_Retirement_cond0_Retirement["Retirement_cond0_Retirement"] + TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] + TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] + TransactionManager_accept_cond0_ConnectTrans_accept_cond0["accept_cond0_ConnectTrans_accept_cond0"] + TransactionManager_accept_cond1_accept_cond0_ConnectTrans["accept_cond1_accept_cond0_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit["PrivilegedFuncUnit_cond3_PrivilegedFuncUnit"] end end Core_InitFreeRFFifo --> BasicFifo5_write - Retirement_Retirement3 --> BasicFifo5_write - TransactionManager_Retirement_Retirement_cond1 --> BasicFifo5_write - TransactionManager_Retirement_Retirement_cond0 --> BasicFifo5_write + Retirement_Retirement1 --> BasicFifo5_write + TransactionManager_Retirement_cond1_Retirement --> BasicFifo5_write + TransactionManager_Retirement_cond0_Retirement --> BasicFifo5_write WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write FIFO4_read --> CoreFrontend_DiscardBranchVerify - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMasterAdapter_request_read - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_serialize_in0 - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request - WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 - Serializer_serialize_out0 --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 - BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 - WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 - Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Forwarder2_write + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMasterAdapter_request_read + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Serializer_serialize_in0 + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> BasicFifo_write + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMaster_request + WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller + Serializer_serialize_out0 --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller + BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller + WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller + Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Forwarder2_write ICache_ICache1 <--> HwCounter4__incr ArgumentsToResultsZipper_peek_arg --> ICache_MemRead BasicFifo3_peek --> ICache_MemRead @@ -991,31 +1085,39 @@ Pipe1_read --> RegAllocation_RegAllocation RegAllocation_RegAllocation <--> CoreInstructionCounter_increment BasicFifo5_read --> RegAllocation_RegAllocation - RegAllocation_RegAllocation --> FIFO9_write - FIFO10_read --> RSSelection_RSSelection - FIFO10_read --> RSSelection_RSSelection1 - FIFO10_read --> RSSelection_RSSelection2 + RegAllocation_RegAllocation --> FIFO12_write + FIFO13_read --> RSSelection_RSSelection + FIFO13_read --> RSSelection_RSSelection3 + FIFO13_read --> RSSelection_RSSelection1 + FIFO13_read --> RSSelection_RSSelection2 RSFuncBlock_select --> RSSelection_RSSelection RS_select --> RSSelection_RSSelection - RSSelection_RSSelection --> FIFO11_write - RSSelection_RSSelection1 --> FIFO11_write - RSSelection_RSSelection2 --> FIFO11_write - RSFuncBlock1_select --> RSSelection_RSSelection1 + RSSelection_RSSelection --> FIFO14_write + RSSelection_RSSelection3 --> FIFO14_write + RSSelection_RSSelection1 --> FIFO14_write + RSSelection_RSSelection2 --> FIFO14_write + RSFuncBlock1_select --> RSSelection_RSSelection3 + RS1_select --> RSSelection_RSSelection3 + RSFuncBlock2_select --> RSSelection_RSSelection1 FifoRS_select --> RSSelection_RSSelection1 RSSelection_RSSelection2 <--> CSRUnit_select - FIFO11_read --> RSInsertion_RSInsertion + FIFO14_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion Retirement_core_state --> RSInsertion_RSInsertion - Retirement_core_state --> LSUDummy_LSUDummy2 + Retirement_core_state --> LSUDummy_LSUDummy RSInsertion_RSInsertion --> RSFuncBlock_insert RSInsertion_RSInsertion --> RS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer1__start RSInsertion_RSInsertion --> AsyncMemoryBank1_write0 RSInsertion_RSInsertion --> RSFuncBlock1_insert - RSInsertion_RSInsertion --> FifoRS_insert + RSInsertion_RSInsertion --> RS1_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer2__start RSInsertion_RSInsertion --> AsyncMemoryBank2_write0 + RSInsertion_RSInsertion --> RSFuncBlock2_insert + RSInsertion_RSInsertion --> FifoRS_insert + RSInsertion_RSInsertion --> TaggedLatencyMeasurer3__start + RSInsertion_RSInsertion --> AsyncMemoryBank3_write0 RSInsertion_RSInsertion --> CSRUnit_insert BasicFifo6_read --> ConnectTrans1_ConnectTrans ConnectTrans1_ConnectTrans --> ExceptionInformationRegister_report @@ -1025,13 +1127,13 @@ ConnectTrans1_ConnectTrans <--> Serializer_clean ConnectTrans1_ConnectTrans <--> BasicFifo2_clear ConnectTrans1_ConnectTrans <--> Pipe1_clean - ConnectTrans11_ConnectTrans --> Forwarder8_write - ConnectTrans12_ConnectTrans --> Forwarder8_write - BasicFifo8_read --> ConnectTrans11_ConnectTrans - CSRUnit_fetch_resume --> ConnectTrans12_ConnectTrans - Collector3_method --> ConnectTrans13_ConnectTrans - Forwarder8_read --> ConnectTrans13_ConnectTrans - ConnectTrans13_ConnectTrans --> FetchUnit_resume_from_unsafe + ConnectTrans14_ConnectTrans --> Forwarder9_write + ConnectTrans15_ConnectTrans --> Forwarder9_write + BasicFifo8_read --> ConnectTrans14_ConnectTrans + CSRUnit_fetch_resume --> ConnectTrans15_ConnectTrans + Collector4_method --> ConnectTrans16_ConnectTrans + Forwarder9_read --> ConnectTrans16_ConnectTrans + ConnectTrans16_ConnectTrans --> FetchUnit_resume_from_unsafe Collector_method --> ResultAnnouncement_ResultAnnouncement Forwarder4_read --> ResultAnnouncement_ResultAnnouncement ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done @@ -1042,10 +1144,12 @@ ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> RSFuncBlock1_update + ResultAnnouncement_ResultAnnouncement --> RS1_update + ResultAnnouncement_ResultAnnouncement --> RSFuncBlock2_update ResultAnnouncement_ResultAnnouncement --> FifoRS_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update RS_perf --> HwExpHistogram6__add - RS_RS3 --> WakeupSelect_WakeupSelect + RS_RS2 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -1069,84 +1173,114 @@ WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> TaggedCounter4__incr WakeupSelect_WakeupSelect --> FIFO2_write - RS_RS4 --> WakeupSelect1_WakeupSelect + RS_RS1 --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write - RS_RS1 --> WakeupSelect2_WakeupSelect + RS_RS --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect <--> CoreFrontend_target_pred_req WakeupSelect2_WakeupSelect --> BasicFifo7_write WakeupSelect2_WakeupSelect --> TaggedCounter5__incr - RS_RS --> WakeupSelect3_WakeupSelect + RS_RS3 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> BasicFifo6_write - ConnectTrans7_ConnectTrans --> BasicFifo6_write - ConnectTrans9_ConnectTrans --> BasicFifo6_write - ConnectTrans4_ConnectTrans --> BasicFifo6_write + ConnectTrans8_ConnectTrans --> BasicFifo6_write + ConnectTrans10_ConnectTrans --> BasicFifo6_write + ConnectTrans5_ConnectTrans --> BasicFifo6_write + TransactionManager_accept_cond0_ConnectTrans_accept_cond0 --> BasicFifo6_write TransactionManager_accept_cond1_ConnectTrans --> BasicFifo6_write TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> BasicFifo6_write - TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> BasicFifo6_write WakeupSelect3_WakeupSelect --> FIFO5_write - RS_RS2 --> WakeupSelect4_WakeupSelect + RS_RS4 --> WakeupSelect4_WakeupSelect WakeupSelect4_WakeupSelect --> PrivilegedFuncUnit_issue - ConnectTrans5_ConnectTrans --> Forwarder5_write ConnectTrans6_ConnectTrans --> Forwarder5_write ConnectTrans7_ConnectTrans --> Forwarder5_write ConnectTrans8_ConnectTrans --> Forwarder5_write ConnectTrans9_ConnectTrans --> Forwarder5_write - AluFuncUnit_accept --> ConnectTrans5_ConnectTrans - FIFO2_read --> ConnectTrans5_ConnectTrans - ShiftFuncUnit_accept --> ConnectTrans6_ConnectTrans - FIFO3_read --> ConnectTrans6_ConnectTrans - JumpBranchFuncUnit_accept --> ConnectTrans7_ConnectTrans - BasicFifo7_read --> ConnectTrans7_ConnectTrans - CoreFrontend_target_pred_resp --> ConnectTrans7_ConnectTrans - ConnectTrans7_ConnectTrans <--> HwCounter8__incr - ConnectTrans7_ConnectTrans <--> HwCounter7__incr - ConnectTrans7_ConnectTrans --> FIFO4_write - ExceptionFuncUnit_accept --> ConnectTrans8_ConnectTrans - FIFO5_read --> ConnectTrans8_ConnectTrans - PrivilegedFuncUnit_accept --> ConnectTrans9_ConnectTrans - CSRRegister8_read --> ConnectTrans9_ConnectTrans - ConnectTrans9_ConnectTrans --> BasicFifo8_write - FifoRS_perf --> HwExpHistogram8__add - Forwarder6_read --> LSUDummy_LSUDummy - Forwarder6_read --> TransactionManager_LSUDummy_issue_cond2 - Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 - Forwarder6_read --> TransactionManager_issue_cond0_LSUDummy - LSUDummy_LSUDummy --> FIFO6_write - WakeupSelect5_WakeupSelect --> FIFO6_write - TransactionManager_LSUDummy_issue_cond2 --> FIFO6_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write - TransactionManager_issue_cond0_LSUDummy --> FIFO6_write - LSUDummy_LSUDummy --> FIFO8_write - WakeupSelect5_WakeupSelect --> FIFO8_write - TransactionManager_LSUDummy_issue_cond2 --> FIFO8_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write - TransactionManager_issue_cond0_LSUDummy --> FIFO8_write - LSUDummy_LSUDummy1 --> Retirement_precommit + ConnectTrans10_ConnectTrans --> Forwarder5_write + AluFuncUnit_accept --> ConnectTrans6_ConnectTrans + FIFO2_read --> ConnectTrans6_ConnectTrans + ShiftFuncUnit_accept --> ConnectTrans7_ConnectTrans + FIFO3_read --> ConnectTrans7_ConnectTrans + JumpBranchFuncUnit_accept --> ConnectTrans8_ConnectTrans + BasicFifo7_read --> ConnectTrans8_ConnectTrans + CoreFrontend_target_pred_resp --> ConnectTrans8_ConnectTrans + ConnectTrans8_ConnectTrans <--> HwCounter8__incr + ConnectTrans8_ConnectTrans <--> HwCounter7__incr + ConnectTrans8_ConnectTrans --> FIFO4_write + ExceptionFuncUnit_accept --> ConnectTrans9_ConnectTrans + FIFO5_read --> ConnectTrans9_ConnectTrans + PrivilegedFuncUnit_accept --> ConnectTrans10_ConnectTrans + CSRRegister8_read --> ConnectTrans10_ConnectTrans + ConnectTrans10_ConnectTrans --> BasicFifo8_write + RS1_perf --> HwExpHistogram8__add + SequentialUnsignedMul_accept --> MulUnit_MulUnit + FIFO7_read --> MulUnit_MulUnit + MulUnit_MulUnit --> FIFO6_write + RecursiveWithSingleDSPMul_RecursiveWithSingleDSPMul <--> DSPMulUnit_compute + RS1_RS --> WakeupSelect5_WakeupSelect + RS1_take --> WakeupSelect5_WakeupSelect + RS1_take --> WakeupSelect6_WakeupSelect + WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop + WakeupSelect6_WakeupSelect --> TaggedLatencyMeasurer2__stop + AsyncMemoryBank2_read0 --> WakeupSelect5_WakeupSelect + AsyncMemoryBank2_read0 --> WakeupSelect6_WakeupSelect + WakeupSelect5_WakeupSelect --> HwExpHistogram7__add + WakeupSelect6_WakeupSelect --> HwExpHistogram7__add + WakeupSelect5_WakeupSelect --> MulUnit_issue + WakeupSelect5_WakeupSelect --> FIFO7_write + WakeupSelect5_WakeupSelect --> SequentialUnsignedMul_issue + LongDivider_accept --> DivUnit_DivUnit + FIFO8_read --> DivUnit_DivUnit + DivUnit_DivUnit --> BasicFifo9_write + RS1_RS1 --> WakeupSelect6_WakeupSelect + WakeupSelect6_WakeupSelect --> DivUnit_issue + WakeupSelect6_WakeupSelect --> FIFO8_write + WakeupSelect6_WakeupSelect --> LongDivider_issue + ConnectTrans11_ConnectTrans --> Forwarder6_write + ConnectTrans12_ConnectTrans --> Forwarder6_write + MulUnit_accept --> ConnectTrans11_ConnectTrans + FIFO6_read --> ConnectTrans11_ConnectTrans + DivUnit_accept --> ConnectTrans12_ConnectTrans + BasicFifo9_read --> ConnectTrans12_ConnectTrans + FifoRS_perf --> HwExpHistogram10__add + Forwarder7_read --> LSUDummy_LSUDummy1 + Forwarder7_read --> TransactionManager_LSUDummy_issue_cond2 + Forwarder7_read --> TransactionManager_LSUDummy_issue_cond0 + Forwarder7_read --> TransactionManager_LSUDummy_issue_cond1 + LSUDummy_LSUDummy1 --> FIFO9_write + WakeupSelect7_WakeupSelect --> FIFO9_write + TransactionManager_LSUDummy_issue_cond2 --> FIFO9_write + TransactionManager_LSUDummy_issue_cond0 --> FIFO9_write + TransactionManager_LSUDummy_issue_cond1 --> FIFO9_write + LSUDummy_LSUDummy1 --> FIFO11_write + WakeupSelect7_WakeupSelect --> FIFO11_write + TransactionManager_LSUDummy_issue_cond2 --> FIFO11_write + TransactionManager_LSUDummy_issue_cond0 --> FIFO11_write + TransactionManager_LSUDummy_issue_cond1 --> FIFO11_write + LSUDummy_LSUDummy2 --> Retirement_precommit CSRUnit_CSRUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit --> Retirement_precommit - ReorderBuffer_peek --> LSUDummy_LSUDummy1 + ReorderBuffer_peek --> LSUDummy_LSUDummy2 ReorderBuffer_peek --> CSRUnit_CSRUnit - ReorderBuffer_peek --> Retirement_Retirement2 - ReorderBuffer_peek --> Retirement_Retirement3 + ReorderBuffer_peek --> Retirement_Retirement + ReorderBuffer_peek --> Retirement_Retirement1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit + ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit - ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit - ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit - FifoRS_FifoRS --> WakeupSelect5_WakeupSelect - FifoRS_take --> WakeupSelect5_WakeupSelect - WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop - AsyncMemoryBank2_read0 --> WakeupSelect5_WakeupSelect - WakeupSelect5_WakeupSelect --> HwExpHistogram7__add - WakeupSelect5_WakeupSelect --> LSUDummy_issue - WakeupSelect5_WakeupSelect --> Forwarder6_write + ReorderBuffer_peek --> TransactionManager_Retirement_cond0_Retirement + FifoRS_FifoRS --> WakeupSelect7_WakeupSelect + FifoRS_take --> WakeupSelect7_WakeupSelect + WakeupSelect7_WakeupSelect --> TaggedLatencyMeasurer3__stop + AsyncMemoryBank3_read0 --> WakeupSelect7_WakeupSelect + WakeupSelect7_WakeupSelect --> HwExpHistogram9__add + WakeupSelect7_WakeupSelect --> LSUDummy_issue + WakeupSelect7_WakeupSelect --> Forwarder7_write MethodMap1_method --> CSRUnit_CSRUnit CSRRegister__internal_fu_read --> CSRUnit_CSRUnit MethodMap3_method --> CSRUnit_CSRUnit @@ -1241,87 +1375,71 @@ ConnectTrans2_ConnectTrans --> Forwarder4_write ConnectTrans3_ConnectTrans --> Forwarder4_write ConnectTrans4_ConnectTrans --> Forwarder4_write + ConnectTrans5_ConnectTrans --> Forwarder4_write RSFuncBlock_get_result --> ConnectTrans2_ConnectTrans Collector1_method --> ConnectTrans2_ConnectTrans Forwarder5_read --> ConnectTrans2_ConnectTrans RSFuncBlock1_get_result --> ConnectTrans3_ConnectTrans Collector2_method --> ConnectTrans3_ConnectTrans - Forwarder7_read --> ConnectTrans3_ConnectTrans - CSRUnit_get_result --> ConnectTrans4_ConnectTrans - ExceptionInformationRegister_get --> Retirement_Retirement2 - ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond1 - ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement3 <--> ReorderBuffer_retire - TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire - TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire - Retirement_Retirement3 <--> FIFOLatencyMeasurer1__stop - TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer1__stop - TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer1__stop - FIFO1_read --> Retirement_Retirement3 - FIFO1_read --> TransactionManager_Retirement_Retirement_cond1 - FIFO1_read --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement3 --> HwExpHistogram3__add - TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram3__add - TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram3__add - CoreInstructionCounter_decrement --> Retirement_Retirement3 - CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 - CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 - RRAT_peek --> Retirement_Retirement3 - RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 - Retirement_Retirement3 --> RegisterFile_free - TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free - TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free - Retirement_Retirement3 --> TaggedLatencyMeasurer__stop - TransactionManager_Retirement_Retirement_cond1 --> TaggedLatencyMeasurer__stop - TransactionManager_Retirement_Retirement_cond0 --> TaggedLatencyMeasurer__stop - AsyncMemoryBank_read0 --> Retirement_Retirement3 - AsyncMemoryBank_read0 --> TransactionManager_Retirement_Retirement_cond1 - AsyncMemoryBank_read0 --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement3 --> HwExpHistogram1__add - TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add - TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add - Retirement_Retirement3 --> FRAT_rename - TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename + Forwarder6_read --> ConnectTrans3_ConnectTrans + RSFuncBlock2_get_result --> ConnectTrans4_ConnectTrans + Collector3_method --> ConnectTrans4_ConnectTrans + Forwarder8_read --> ConnectTrans4_ConnectTrans + CSRUnit_get_result --> ConnectTrans5_ConnectTrans + ExceptionInformationRegister_get --> Retirement_Retirement + ExceptionInformationRegister_get --> TransactionManager_Retirement_cond1_Retirement + ExceptionInformationRegister_get --> TransactionManager_Retirement_cond0_Retirement + Retirement_Retirement1 <--> ReorderBuffer_retire + TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire + TransactionManager_Retirement_cond0_Retirement <--> ReorderBuffer_retire + Retirement_Retirement1 <--> FIFOLatencyMeasurer1__stop + TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer1__stop + TransactionManager_Retirement_cond0_Retirement <--> FIFOLatencyMeasurer1__stop + FIFO1_read --> Retirement_Retirement1 + FIFO1_read --> TransactionManager_Retirement_cond1_Retirement + FIFO1_read --> TransactionManager_Retirement_cond0_Retirement + Retirement_Retirement1 --> HwExpHistogram3__add + TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram3__add + TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram3__add + CoreInstructionCounter_decrement --> Retirement_Retirement1 + CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement + CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond0_Retirement + RRAT_peek --> Retirement_Retirement1 + RRAT_peek --> TransactionManager_Retirement_cond1_Retirement + Retirement_Retirement1 --> RegisterFile_free + TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free + TransactionManager_Retirement_cond0_Retirement --> RegisterFile_free + Retirement_Retirement1 --> TaggedLatencyMeasurer__stop + TransactionManager_Retirement_cond1_Retirement --> TaggedLatencyMeasurer__stop + TransactionManager_Retirement_cond0_Retirement --> TaggedLatencyMeasurer__stop + AsyncMemoryBank_read0 --> Retirement_Retirement1 + AsyncMemoryBank_read0 --> TransactionManager_Retirement_cond1_Retirement + AsyncMemoryBank_read0 --> TransactionManager_Retirement_cond0_Retirement + Retirement_Retirement1 --> HwExpHistogram1__add + TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add + TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram1__add + Retirement_Retirement1 --> FRAT_rename + TransactionManager_Retirement_cond1_Retirement --> FRAT_rename TransactionManager_Renaming_ROBAllocation --> FRAT_rename - Retirement_Retirement1 <--> FIFOLatencyMeasurer2__stop - FIFO12_read --> Retirement_Retirement1 - Retirement_Retirement1 --> HwExpHistogram9__add - CSRRegister7_read --> Retirement_Retirement1 - Retirement_Retirement1 --> FetchUnit_resume_from_exception - Retirement_Retirement1 <--> ExceptionInformationRegister_clear - TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 - FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans - FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans - TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans - TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> ConnectTrans10_ConnectTrans - TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> ConnectTrans10_ConnectTrans - TransactionManager_accept_cond1_ConnectTrans --> Forwarder7_write - TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> Forwarder7_write - TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> Forwarder7_write - LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans - LSUDummy_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - LSUDummy_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2_cond0 - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> HwCounter5__incr - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter__incr - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> Serializer_write - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2 - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2 - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> Semaphore_release - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> Semaphore_release - Pipe_read --> TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 - Pipe_read --> TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> Predecoder_predecode - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> Predecoder_predecode - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> PredictionChecker_check - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> PredictionChecker_check - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter1__incr - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter1__incr - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter2__incr - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter2__incr - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter3__incr - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter3__incr - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2_cond1 + Retirement_Retirement3 <--> FIFOLatencyMeasurer2__stop + FIFO15_read --> Retirement_Retirement3 + Retirement_Retirement3 --> HwExpHistogram11__add + CSRRegister7_read --> Retirement_Retirement3 + Retirement_Retirement3 --> FetchUnit_resume_from_exception + Retirement_Retirement3 <--> ExceptionInformationRegister_clear + TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy3 + TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy3 + TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy3 + TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue + TransactionManager_LSUDummy_issue_cond0 --> LSURequester_issue + TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue + TransactionManager_LSUDummy_issue_cond2 --> BasicFifo10_write + TransactionManager_LSUDummy_issue_cond0 --> BasicFifo10_write + TransactionManager_LSUDummy_issue_cond1 --> BasicFifo10_write + TransactionManager_LSUDummy_issue_cond2 --> FIFO10_write + TransactionManager_LSUDummy_issue_cond0 --> FIFO10_write + TransactionManager_LSUDummy_issue_cond1 --> FIFO10_write + TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> ICache_flush TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit @@ -1336,84 +1454,104 @@ CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 - TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement - TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement - TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer2__start - TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer2__start - TransactionManager_Retirement_Retirement_cond1 --> FIFO12_write - TransactionManager_Retirement_Retirement_cond0 --> FIFO12_write - InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond1 - InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond1 --> CSRRegister6_write - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister6_write - TransactionManager_Retirement_Retirement_cond1 --> CSRRegister8_write - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write - TransactionManager_Retirement_Retirement_cond1 --> CSRRegister9_write - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister9_write - TransactionManager_Retirement_Retirement_cond1 <--> InternalInterruptController_entry - TransactionManager_Retirement_Retirement_cond0 <--> InternalInterruptController_entry - TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret - TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSURequester_accept_cond1 - WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - Serializer1_serialize_out0 --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> LSUDummy_accept_cond0 + TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 + LSURequester_accept --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + LSURequester_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + BasicFifo10_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + BasicFifo10_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + FIFO10_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + FIFO10_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> ConnectTrans13_ConnectTrans + TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans13_ConnectTrans + TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> ConnectTrans13_ConnectTrans + TransactionManager_accept_cond0_ConnectTrans_accept_cond0 --> Forwarder8_write + TransactionManager_accept_cond1_ConnectTrans --> Forwarder8_write + TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> Forwarder8_write + LSUDummy_accept --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans + LSUDummy_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> LSURequester_accept_cond0 + WishboneMasterAdapter1_get_write_response --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + Serializer1_serialize_out1 --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 + BasicFifo1_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 BasicFifo1_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - BasicFifo1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + WishboneMaster1_result --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 WishboneMaster1_result --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - WishboneMaster1_result --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + Forwarder1_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 Forwarder1_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - Forwarder1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 - TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSUDummy_accept_cond0 - LSURequester_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - LSURequester_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - BasicFifo9_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - BasicFifo9_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - FIFO7_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans - FIFO7_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy3 - TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy3 - TransactionManager_issue_cond0_LSUDummy <--> LSUDummy_LSUDummy3 - TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue - TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue - TransactionManager_issue_cond0_LSUDummy --> LSURequester_issue - TransactionManager_LSUDummy_issue_cond2 --> BasicFifo9_write - TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write - TransactionManager_issue_cond0_LSUDummy --> BasicFifo9_write - TransactionManager_LSUDummy_issue_cond2 --> FIFO7_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write - TransactionManager_issue_cond0_LSUDummy --> FIFO7_write - TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 - TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit - TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment - CSRRegister23_read --> TransactionManager_Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister23_write - CSRRegister24_read --> TransactionManager_Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister24_write - TransactionManager_Retirement_Retirement_cond0 <--> HwCounter9__incr - TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 - TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read - TransactionManager_LSUDummy_issue_cond1 --> Serializer1_serialize_in0 - TransactionManager_LSUDummy_issue_cond1 --> BasicFifo1_write - TransactionManager_issue_cond0_LSUDummy --> BasicFifo1_write - TransactionManager_LSUDummy_issue_cond1 --> WishboneMaster1_request - TransactionManager_issue_cond0_LSUDummy --> WishboneMaster1_request - TransactionManager_issue_cond0_LSUDummy <--> LSURequester_issue_cond0 - TransactionManager_issue_cond0_LSUDummy --> WishboneMasterAdapter1_request_write - TransactionManager_issue_cond0_LSUDummy --> Serializer1_serialize_in1 + TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 + TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement2 + TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement2 + TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer2__start + TransactionManager_Retirement_cond0_Retirement <--> FIFOLatencyMeasurer2__start + TransactionManager_Retirement_cond1_Retirement --> FIFO15_write + TransactionManager_Retirement_cond0_Retirement --> FIFO15_write + InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond1_Retirement + InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond0_Retirement + TransactionManager_Retirement_cond1_Retirement --> CSRRegister6_write + TransactionManager_Retirement_cond0_Retirement --> CSRRegister6_write + TransactionManager_Retirement_cond1_Retirement --> CSRRegister8_write + TransactionManager_Retirement_cond0_Retirement --> CSRRegister8_write + TransactionManager_Retirement_cond1_Retirement --> CSRRegister9_write + TransactionManager_Retirement_cond0_Retirement --> CSRRegister9_write + TransactionManager_Retirement_cond1_Retirement <--> InternalInterruptController_entry + TransactionManager_Retirement_cond0_Retirement <--> InternalInterruptController_entry TransactionManager_Renaming_ROBAllocation <--> Renaming_Renaming - FIFO9_read --> TransactionManager_Renaming_ROBAllocation + FIFO12_read --> TransactionManager_Renaming_ROBAllocation TransactionManager_Renaming_ROBAllocation --> Connect_write TransactionManager_Renaming_ROBAllocation <--> ROBAllocation_ROBAllocation Connect_read --> TransactionManager_Renaming_ROBAllocation TransactionManager_Renaming_ROBAllocation --> ReorderBuffer_put TransactionManager_Renaming_ROBAllocation <--> FIFOLatencyMeasurer1__start TransactionManager_Renaming_ROBAllocation --> FIFO1_write - TransactionManager_Renaming_ROBAllocation --> FIFO10_write - TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSURequester_accept_cond0 - WishboneMasterAdapter1_get_write_response --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 - Serializer1_serialize_out1 --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + TransactionManager_Renaming_ROBAllocation --> FIFO13_write + TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2 + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2 + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> Semaphore_release + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> Semaphore_release + Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 + Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Predecoder_predecode + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> Predecoder_predecode + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> PredictionChecker_check + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> PredictionChecker_check + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter1__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter1__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter2__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter2__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter3__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter3__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2_cond0 + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> HwCounter5__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Serializer_write + TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 + FIFO9_read --> TransactionManager_accept_cond1_ConnectTrans + FIFO11_read --> TransactionManager_accept_cond1_ConnectTrans TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 + TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement_cond0 + TransactionManager_Retirement_cond0_Retirement --> RRAT_commit + TransactionManager_Retirement_cond0_Retirement <--> DoubleCounterCSR2_increment + CSRRegister23_read --> TransactionManager_Retirement_cond0_Retirement + TransactionManager_Retirement_cond0_Retirement --> CSRRegister23_write + CSRRegister24_read --> TransactionManager_Retirement_cond0_Retirement + TransactionManager_Retirement_cond0_Retirement --> CSRRegister24_write + TransactionManager_Retirement_cond0_Retirement <--> HwCounter9__incr + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 + TransactionManager_LSUDummy_issue_cond0 <--> LSURequester_issue_cond0 + TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write + TransactionManager_LSUDummy_issue_cond0 --> Serializer1_serialize_in1 + TransactionManager_LSUDummy_issue_cond0 --> BasicFifo1_write + TransactionManager_LSUDummy_issue_cond1 --> BasicFifo1_write + TransactionManager_LSUDummy_issue_cond0 --> WishboneMaster1_request + TransactionManager_LSUDummy_issue_cond1 --> WishboneMaster1_request + TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSURequester_accept_cond1 + WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + Serializer1_serialize_out0 --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans + TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 + TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read + TransactionManager_LSUDummy_issue_cond1 --> Serializer1_serialize_in0 diff --git a/api.html b/api.html index f2c90a4bd..9f9eeb998 100644 --- a/api.html +++ b/api.html @@ -192,7 +192,7 @@

coreblocks

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/assumptions.html b/assumptions.html index e980f089f..131269d44 100644 --- a/assumptions.html +++ b/assumptions.html @@ -103,7 +103,7 @@

List of assumptions made during development

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/auto_graph.html b/auto_graph.html index c44a8261c..4a7315f3c 100644 --- a/auto_graph.html +++ b/auto_graph.html @@ -84,17 +84,17 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] + WishboneMaster_request["request"] WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_result["result"] - WishboneMaster_request["request"] subgraph Forwarder["result Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] - WishboneMaster1_result["result"] WishboneMaster1_WishboneMaster["WishboneMaster"] + WishboneMaster1_result["result"] WishboneMaster1_request["request"] subgraph Forwarder1["result Forwarder"] Forwarder1_write["write"] @@ -105,24 +105,24 @@ WishboneMasterAdapter_get_read_response["get_read_response"] WishboneMasterAdapter_request_read["request_read"] subgraph Serializer["bus_serializer Serializer"] - Serializer_serialize_in0["serialize_in0"] Serializer_serialize_out0["serialize_out0"] + Serializer_serialize_in0["serialize_in0"] subgraph BasicFifo["pending_requests BasicFifo"] - BasicFifo_write["write"] BasicFifo_read["read"] + BasicFifo_write["write"] end end end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_get_read_response["get_read_response"] + WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_write["request_write"] WishboneMasterAdapter1_request_read["request_read"] subgraph Serializer1["bus_serializer Serializer"] + Serializer1_serialize_out0["serialize_out0"] + Serializer1_serialize_in1["serialize_in1"] Serializer1_serialize_out1["serialize_out1"] Serializer1_serialize_in0["serialize_in0"] - Serializer1_serialize_in1["serialize_in1"] - Serializer1_serialize_out0["serialize_out0"] subgraph BasicFifo1["pending_requests BasicFifo"] BasicFifo1_write["write"] BasicFifo1_read["read"] @@ -135,27 +135,27 @@ CoreFrontend_target_pred_req["target_pred_req"] CoreFrontend_stall["stall"] subgraph BasicFifo2["instr_buffer BasicFifo"] - BasicFifo2_clear["clear"] - BasicFifo2_write["write"] BasicFifo2_read["read"] + BasicFifo2_write["write"] + BasicFifo2_clear["clear"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] - SimpleCommonBusCacheRefiller_start_refill["start_refill"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] + SimpleCommonBusCacheRefiller_start_refill["start_refill"] subgraph Forwarder2["resp_fwd Forwarder"] - Forwarder2_read["read"] Forwarder2_write["write"] + Forwarder2_read["read"] end end subgraph ICache["icache ICache"] ICache_ICache["ICache"] - ICache_flush["flush"] - ICache_ICache1["ICache"] ICache_issue_req["issue_req"] - ICache_MemRead["MemRead"] ICache_accept_res["accept_res"] + ICache_MemRead["MemRead"] + ICache_ICache1["ICache"] + ICache_flush["flush"] subgraph HwCounter["perf_loads HwCounter"] HwCounter__incr["_incr"] end @@ -183,13 +183,13 @@ end end subgraph ArgumentsToResultsZipper["req_zipper ArgumentsToResultsZipper"] - ArgumentsToResultsZipper_write_results["write_results"] ArgumentsToResultsZipper_write_args["write_args"] - ArgumentsToResultsZipper_peek_arg["peek_arg"] ArgumentsToResultsZipper_read["read"] + ArgumentsToResultsZipper_write_results["write_results"] + ArgumentsToResultsZipper_peek_arg["peek_arg"] subgraph BasicFifo3["fifo BasicFifo"] - BasicFifo3_write["write"] BasicFifo3_peek["peek"] + BasicFifo3_write["write"] BasicFifo3_read["read"] end subgraph Forwarder3["forwarder Forwarder"] @@ -199,14 +199,14 @@ end end subgraph FetchUnit["fetch FetchUnit"] - FetchUnit_Fetch_Stage2["Fetch_Stage2"] FetchUnit_Fetch_Stage0["Fetch_Stage0"] - FetchUnit_resume_from_exception["resume_from_exception"] - FetchUnit_Fetch_Stage1["Fetch_Stage1"] + FetchUnit_Fetch_Stage2["Fetch_Stage2"] + FetchUnit_Fetch_Stage2_cond1["Fetch_Stage2_cond1"] FetchUnit_resume_from_unsafe["resume_from_unsafe"] - FetchUnit_Fetch_Stage2_cond0["Fetch_Stage2_cond0"] FetchUnit_stall_exception["stall_exception"] - FetchUnit_Fetch_Stage2_cond1["Fetch_Stage2_cond1"] + FetchUnit_Fetch_Stage2_cond0["Fetch_Stage2_cond0"] + FetchUnit_resume_from_exception["resume_from_exception"] + FetchUnit_Fetch_Stage1["Fetch_Stage1"] subgraph TaggedCounter["perf_fetch_utilization TaggedCounter"] TaggedCounter__incr["_incr"] end @@ -214,24 +214,24 @@ HwCounter5__incr["_incr"] end subgraph Serializer["serializer Serializer"] - Serializer_read["read"] - Serializer_write["write"] Serializer_clean["clean"] + Serializer_write["write"] + Serializer_read["read"] end subgraph ConnectTrans["serializer_connector ConnectTrans"] ConnectTrans_ConnectTrans["ConnectTrans"] end subgraph BasicFifo4["cache_requests BasicFifo"] - BasicFifo4_write["write"] BasicFifo4_read["read"] + BasicFifo4_write["write"] end subgraph Semaphore["req_counter Semaphore"] - Semaphore_acquire["acquire"] Semaphore_release["release"] + Semaphore_acquire["acquire"] end subgraph Pipe["s1_s2_pipe Pipe"] - Pipe_write["write"] Pipe_read["read"] + Pipe_write["write"] end subgraph Predecoder["predecoder_0 Predecoder"] Predecoder_predecode["predecode"] @@ -250,9 +250,9 @@ end end subgraph Pipe1["decode_pipe Pipe"] + Pipe1_read["read"] Pipe1_write["write"] Pipe1_clean["clean"] - Pipe1_read["read"] end subgraph DecodeStage["decode DecodeStage"] DecodeStage_DecodeStage["DecodeStage"] @@ -269,15 +269,15 @@ FRAT_rename["rename"] end subgraph RRAT["RRAT RRAT"] - RRAT_peek["peek"] RRAT_commit["commit"] + RRAT_peek["peek"] end subgraph RegisterFile["RF RegisterFile"] + RegisterFile_perf["perf"] RegisterFile_write["write"] - RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_read1["read1"] - RegisterFile_perf["perf"] + RegisterFile_read2["read2"] subgraph TaggedLatencyMeasurer["perf_rf_valid_time TaggedLatencyMeasurer"] TaggedLatencyMeasurer__stop["_stop"] TaggedLatencyMeasurer__start["_start"] @@ -295,11 +295,11 @@ end subgraph ReorderBuffer["ROB ReorderBuffer"] ReorderBuffer_perf["perf"] - ReorderBuffer_retire["retire"] - ReorderBuffer_put["put"] + ReorderBuffer_peek["peek"] ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_peek["peek"] + ReorderBuffer_put["put"] + ReorderBuffer_retire["retire"] subgraph FIFOLatencyMeasurer1["perf_rob_wait_time FIFOLatencyMeasurer"] FIFOLatencyMeasurer1__stop["_stop"] FIFOLatencyMeasurer1__start["_start"] @@ -320,8 +320,8 @@ ExceptionInformationRegister_clear["clear"] ExceptionInformationRegister_get["get"] subgraph BasicFifo6["fu_report_fifo BasicFifo"] - BasicFifo6_write["write"] BasicFifo6_read["read"] + BasicFifo6_write["write"] end subgraph ConnectTrans1["report_connector ConnectTrans"] ConnectTrans1_ConnectTrans["ConnectTrans"] @@ -344,36 +344,39 @@ subgraph ConnectTrans4["ManyToOneConnectTrans_input_2 ConnectTrans"] ConnectTrans4_ConnectTrans["ConnectTrans"] end + subgraph ConnectTrans5["ManyToOneConnectTrans_input_3 ConnectTrans"] + ConnectTrans5_ConnectTrans["ConnectTrans"] + end end end subgraph MethodProduct["update_combiner MethodProduct"] MethodProduct_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] + RSFuncBlock_select["select"] RSFuncBlock_update["update"] - RSFuncBlock_get_result["get_result"] RSFuncBlock_insert["insert"] - RSFuncBlock_select["select"] + RSFuncBlock_get_result["get_result"] subgraph RS["rs RS"] - RS_insert["insert"] RS_RS["RS"] - RS_take["take"] RS_update["update"] + RS_take["take"] RS_RS1["RS"] RS_RS2["RS"] RS_RS3["RS"] + RS_insert["insert"] RS_RS4["RS"] RS_perf["perf"] RS_select["select"] subgraph TaggedLatencyMeasurer1["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer1__start["_start"] TaggedLatencyMeasurer1__stop["_stop"] + TaggedLatencyMeasurer1__start["_start"] subgraph HwExpHistogram5["histogram HwExpHistogram"] HwExpHistogram5__add["_add"] end subgraph AsyncMemoryBank1["slots AsyncMemoryBank"] - AsyncMemoryBank1_read0["read0"] AsyncMemoryBank1_write0["write0"] + AsyncMemoryBank1_read0["read0"] end end subgraph HwExpHistogram6["perf_num_full HwExpHistogram"] @@ -381,22 +384,22 @@ end end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph TaggedCounter4["perf_instr TaggedCounter"] TaggedCounter4__incr["_incr"] end subgraph FIFO2["fifo FIFO"] - FIFO2_read["read"] FIFO2_write["write"] + FIFO2_read["read"] end end subgraph WakeupSelect["wakeup_select_0 WakeupSelect"] WakeupSelect_WakeupSelect["WakeupSelect"] end subgraph ShiftFuncUnit["func_unit_1 ShiftFuncUnit"] - ShiftFuncUnit_accept["accept"] ShiftFuncUnit_issue["issue"] + ShiftFuncUnit_accept["accept"] subgraph FIFO3["fifo FIFO"] FIFO3_read["read"] FIFO3_write["write"] @@ -409,8 +412,8 @@ JumpBranchFuncUnit_issue["issue"] JumpBranchFuncUnit_accept["accept"] subgraph FIFO4["fifo_branch_resolved FIFO"] - FIFO4_write["write"] FIFO4_read["read"] + FIFO4_write["write"] end subgraph TaggedCounter5["perf_instr TaggedCounter"] TaggedCounter5__incr["_incr"] @@ -430,11 +433,11 @@ WakeupSelect2_WakeupSelect["WakeupSelect"] end subgraph ExceptionFuncUnit["func_unit_3 ExceptionFuncUnit"] - ExceptionFuncUnit_accept["accept"] ExceptionFuncUnit_issue["issue"] + ExceptionFuncUnit_accept["accept"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -443,11 +446,11 @@ subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] PrivilegedFuncUnit_accept["accept"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] subgraph BasicFifo8["fetch_resume_fifo BasicFifo"] BasicFifo8_read["read"] BasicFifo8_write["write"] @@ -466,39 +469,40 @@ Forwarder5_write["write"] end subgraph ManyToOneConnectTrans1["connect ManyToOneConnectTrans"] - subgraph ConnectTrans5["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans5_ConnectTrans["ConnectTrans"] - end - subgraph ConnectTrans6["ManyToOneConnectTrans_input_1 ConnectTrans"] + subgraph ConnectTrans6["ManyToOneConnectTrans_input_0 ConnectTrans"] ConnectTrans6_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans7["ManyToOneConnectTrans_input_2 ConnectTrans"] + subgraph ConnectTrans7["ManyToOneConnectTrans_input_1 ConnectTrans"] ConnectTrans7_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans8["ManyToOneConnectTrans_input_3 ConnectTrans"] + subgraph ConnectTrans8["ManyToOneConnectTrans_input_2 ConnectTrans"] ConnectTrans8_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans9["ManyToOneConnectTrans_input_4 ConnectTrans"] + subgraph ConnectTrans9["ManyToOneConnectTrans_input_3 ConnectTrans"] ConnectTrans9_ConnectTrans["ConnectTrans"] end + subgraph ConnectTrans10["ManyToOneConnectTrans_input_4 ConnectTrans"] + ConnectTrans10_ConnectTrans["ConnectTrans"] + end end end end subgraph RSFuncBlock1["rs_block_1 RSFuncBlock"] - RSFuncBlock1_select["select"] RSFuncBlock1_get_result["get_result"] - RSFuncBlock1_update["update"] RSFuncBlock1_insert["insert"] - subgraph FifoRS["rs FifoRS"] - FifoRS_FifoRS["FifoRS"] - FifoRS_take["take"] - FifoRS_perf["perf"] - FifoRS_update["update"] - FifoRS_select["select"] - FifoRS_insert["insert"] + RSFuncBlock1_select["select"] + RSFuncBlock1_update["update"] + subgraph RS1["rs RS"] + RS1_update["update"] + RS1_RS["RS"] + RS1_perf["perf"] + RS1_insert["insert"] + RS1_take["take"] + RS1_select["select"] + RS1_RS1["RS"] subgraph TaggedLatencyMeasurer2["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer2__start["_start"] TaggedLatencyMeasurer2__stop["_stop"] + TaggedLatencyMeasurer2__start["_start"] subgraph HwExpHistogram7["histogram HwExpHistogram"] HwExpHistogram7__add["_add"] end @@ -511,67 +515,156 @@ HwExpHistogram8__add["_add"] end end + subgraph MulUnit["func_unit_0 MulUnit"] + MulUnit_issue["issue"] + MulUnit_accept["accept"] + MulUnit_MulUnit["MulUnit"] + subgraph FIFO6["result_fifo FIFO"] + FIFO6_read["read"] + FIFO6_write["write"] + end + subgraph FIFO7["params_fifo FIFO"] + FIFO7_read["read"] + FIFO7_write["write"] + end + subgraph SequentialUnsignedMul["multiplier SequentialUnsignedMul"] + SequentialUnsignedMul_issue["issue"] + SequentialUnsignedMul_accept["accept"] + subgraph DSPMulUnit["dsp DSPMulUnit"] + DSPMulUnit_compute["compute"] + end + subgraph RecursiveWithSingleDSPMul["multiplier RecursiveWithSingleDSPMul"] + RecursiveWithSingleDSPMul_RecursiveWithSingleDSPMul["RecursiveWithSingleDSPMul"] + end + end + end + subgraph WakeupSelect5["wakeup_select_0 WakeupSelect"] + WakeupSelect5_WakeupSelect["WakeupSelect"] + end + subgraph DivUnit["func_unit_1 DivUnit"] + DivUnit_DivUnit["DivUnit"] + DivUnit_issue["issue"] + DivUnit_accept["accept"] + subgraph BasicFifo9["result_fifo BasicFifo"] + BasicFifo9_read["read"] + BasicFifo9_write["write"] + end + subgraph FIFO8["params_fifo FIFO"] + FIFO8_write["write"] + FIFO8_read["read"] + end + subgraph LongDivider["divider LongDivider"] + LongDivider_issue["issue"] + LongDivider_accept["accept"] + end + end + subgraph WakeupSelect6["wakeup_select_1 WakeupSelect"] + WakeupSelect6_WakeupSelect["WakeupSelect"] + end + subgraph Collector2["collector Collector"] + Collector2_method["method"] + subgraph Forwarder6["forwarder Forwarder"] + Forwarder6_read["read"] + Forwarder6_write["write"] + end + subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] + subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans11_ConnectTrans["ConnectTrans"] + end + subgraph ConnectTrans12["ManyToOneConnectTrans_input_1 ConnectTrans"] + ConnectTrans12_ConnectTrans["ConnectTrans"] + end + end + end + end + subgraph RSFuncBlock2["rs_block_2 RSFuncBlock"] + RSFuncBlock2_select["select"] + RSFuncBlock2_get_result["get_result"] + RSFuncBlock2_insert["insert"] + RSFuncBlock2_update["update"] + subgraph FifoRS["rs FifoRS"] + FifoRS_insert["insert"] + FifoRS_FifoRS["FifoRS"] + FifoRS_select["select"] + FifoRS_update["update"] + FifoRS_take["take"] + FifoRS_perf["perf"] + subgraph TaggedLatencyMeasurer3["perf_rs_wait_time TaggedLatencyMeasurer"] + TaggedLatencyMeasurer3__start["_start"] + TaggedLatencyMeasurer3__stop["_stop"] + subgraph HwExpHistogram9["histogram HwExpHistogram"] + HwExpHistogram9__add["_add"] + end + subgraph AsyncMemoryBank3["slots AsyncMemoryBank"] + AsyncMemoryBank3_write0["write0"] + AsyncMemoryBank3_read0["read0"] + end + end + subgraph HwExpHistogram10["perf_num_full HwExpHistogram"] + HwExpHistogram10__add["_add"] + end + end subgraph LSUDummy["func_unit_0 LSUDummy"] - LSUDummy_accept_cond1["accept_cond1"] - LSUDummy_accept["accept"] LSUDummy_LSUDummy["LSUDummy"] - LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy1["LSUDummy"] + LSUDummy_accept["accept"] + LSUDummy_issue["issue"] + LSUDummy_accept_cond1["accept_cond1"] + LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy2["LSUDummy"] LSUDummy_LSUDummy3["LSUDummy"] - LSUDummy_issue["issue"] subgraph LSURequester["requester LSURequester"] - LSURequester_issue["issue"] - LSURequester_accept_cond1["accept_cond1"] LSURequester_issue_cond2["issue_cond2"] + LSURequester_issue["issue"] + LSURequester_issue_cond0["issue_cond0"] + LSURequester_accept["accept"] LSURequester_issue_cond1["issue_cond1"] LSURequester_accept_cond0["accept_cond0"] - LSURequester_accept["accept"] - LSURequester_issue_cond0["issue_cond0"] - subgraph BasicFifo9["args_fifo BasicFifo"] - BasicFifo9_read["read"] - BasicFifo9_write["write"] + LSURequester_accept_cond1["accept_cond1"] + subgraph BasicFifo10["args_fifo BasicFifo"] + BasicFifo10_read["read"] + BasicFifo10_write["write"] end end - subgraph Forwarder6["requests Forwarder"] - Forwarder6_write["write"] - Forwarder6_read["read"] + subgraph Forwarder7["requests Forwarder"] + Forwarder7_read["read"] + Forwarder7_write["write"] end - subgraph FIFO6["results_noop FIFO"] - FIFO6_read["read"] - FIFO6_write["write"] + subgraph FIFO9["results_noop FIFO"] + FIFO9_read["read"] + FIFO9_write["write"] end - subgraph FIFO7["issued FIFO"] - FIFO7_read["read"] - FIFO7_write["write"] + subgraph FIFO10["issued FIFO"] + FIFO10_write["write"] + FIFO10_read["read"] end - subgraph FIFO8["issued_noop FIFO"] - FIFO8_write["write"] - FIFO8_read["read"] + subgraph FIFO11["issued_noop FIFO"] + FIFO11_write["write"] + FIFO11_read["read"] end end - subgraph WakeupSelect5["wakeup_select_0 WakeupSelect"] - WakeupSelect5_WakeupSelect["WakeupSelect"] + subgraph WakeupSelect7["wakeup_select_0 WakeupSelect"] + WakeupSelect7_WakeupSelect["WakeupSelect"] end - subgraph Collector2["collector Collector"] - Collector2_method["method"] - subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] - Forwarder7_write["write"] + subgraph Collector3["collector Collector"] + Collector3_method["method"] + subgraph Forwarder8["forwarder Forwarder"] + Forwarder8_read["read"] + Forwarder8_write["write"] end - subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] - subgraph ConnectTrans10["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans10_ConnectTrans["ConnectTrans"] + subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] + subgraph ConnectTrans13["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans13_ConnectTrans["ConnectTrans"] end end end end - subgraph CSRUnit["rs_block_2 CSRUnit"] + subgraph CSRUnit["rs_block_3 CSRUnit"] CSRUnit_get_result["get_result"] - CSRUnit_insert["insert"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_select["select"] + CSRUnit_CSRUnit["CSRUnit"] CSRUnit_update["update"] + CSRUnit_insert["insert"] CSRUnit_fetch_resume["fetch_resume"] end end @@ -606,8 +699,8 @@ end end subgraph CSRRegister4["mscratch CSRRegister"] - CSRRegister4__internal_fu_read["_internal_fu_read"] CSRRegister4__internal_fu_write["_internal_fu_write"] + CSRRegister4__internal_fu_read["_internal_fu_read"] subgraph MethodMap8["fu_write_map MethodMap"] MethodMap8_method["method"] end @@ -625,17 +718,17 @@ end end subgraph AliasedCSR["mstatus AliasedCSR"] - AliasedCSR__fu_read["_fu_read"] AliasedCSR__fu_write["_fu_write"] + AliasedCSR__fu_read["_fu_read"] end subgraph AliasedCSR1["mstatush AliasedCSR"] AliasedCSR1__fu_read["_fu_read"] AliasedCSR1__fu_write["_fu_write"] end subgraph CSRRegister6["mcause CSRRegister"] - CSRRegister6_write["write"] - CSRRegister6__internal_fu_read["_internal_fu_read"] CSRRegister6__internal_fu_write["_internal_fu_write"] + CSRRegister6__internal_fu_read["_internal_fu_read"] + CSRRegister6_write["write"] subgraph MethodMap12["fu_write_map MethodMap"] MethodMap12_method["method"] end @@ -647,8 +740,8 @@ end end subgraph CSRRegister7["mtvec CSRRegister"] - CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7_read["read"] + CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7__internal_fu_read["_internal_fu_read"] subgraph MethodMap14["fu_write_map MethodMap"] MethodMap14_method["method"] @@ -663,8 +756,8 @@ subgraph CSRRegister8["mepc CSRRegister"] CSRRegister8__internal_fu_write["_internal_fu_write"] CSRRegister8_write["write"] - CSRRegister8__internal_fu_read["_internal_fu_read"] CSRRegister8_read["read"] + CSRRegister8__internal_fu_read["_internal_fu_read"] subgraph MethodMap16["fu_write_map MethodMap"] MethodMap16_method["method"] end @@ -676,8 +769,8 @@ end end subgraph CSRRegister9["mtval CSRRegister"] - CSRRegister9__internal_fu_write["_internal_fu_write"] CSRRegister9_write["write"] + CSRRegister9__internal_fu_write["_internal_fu_write"] CSRRegister9__internal_fu_read["_internal_fu_read"] subgraph MethodMap18["fu_write_map MethodMap"] MethodMap18_method["method"] @@ -703,13 +796,13 @@ end end subgraph CSRRegister11["priv_mode CSRRegister"] - CSRRegister11_read["read"] CSRRegister11_write["write"] + CSRRegister11_read["read"] end subgraph CSRRegister12["mstatus_mie CSRRegister"] CSRRegister12_write["write"] - CSRRegister12__internal_fu_write["_internal_fu_write"] CSRRegister12_read["read"] + CSRRegister12__internal_fu_write["_internal_fu_write"] CSRRegister12__internal_fu_read["_internal_fu_read"] subgraph MethodMap24["fu_write_map MethodMap"] MethodMap24_method["method"] @@ -722,10 +815,10 @@ end end subgraph CSRRegister13["mstatus_mpie CSRRegister"] + CSRRegister13_write["write"] CSRRegister13__internal_fu_write["_internal_fu_write"] CSRRegister13_read["read"] CSRRegister13__internal_fu_read["_internal_fu_read"] - CSRRegister13_write["write"] subgraph MethodMap26["fu_write_map MethodMap"] MethodMap26_method["method"] end @@ -752,9 +845,9 @@ end end subgraph CSRRegister15["mstatus_mprv CSRRegister"] - CSRRegister15__internal_fu_read["_internal_fu_read"] CSRRegister15_write["write"] CSRRegister15__internal_fu_write["_internal_fu_write"] + CSRRegister15__internal_fu_read["_internal_fu_read"] subgraph MethodMap30["fu_write_map MethodMap"] MethodMap30_method["method"] end @@ -766,8 +859,8 @@ end end subgraph CSRRegister16["mstatus_tw CSRRegister"] - CSRRegister16__internal_fu_read["_internal_fu_read"] CSRRegister16__internal_fu_write["_internal_fu_write"] + CSRRegister16__internal_fu_read["_internal_fu_read"] CSRRegister16_read["read"] subgraph MethodMap32["fu_write_map MethodMap"] MethodMap32_method["method"] @@ -791,9 +884,9 @@ end end subgraph CSRRegister18["register_high CSRRegister"] - CSRRegister18__internal_fu_read["_internal_fu_read"] CSRRegister18_read["read"] CSRRegister18_write["write"] + CSRRegister18__internal_fu_read["_internal_fu_read"] subgraph MethodMap37["fu_read_map MethodMap"] MethodMap37_method["method"] end @@ -802,16 +895,16 @@ subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] DoubleCounterCSR1_increment["increment"] subgraph CSRRegister19["register_low CSRRegister"] - CSRRegister19_read["read"] CSRRegister19__internal_fu_read["_internal_fu_read"] CSRRegister19_write["write"] + CSRRegister19_read["read"] subgraph MethodMap39["fu_read_map MethodMap"] MethodMap39_method["method"] end end subgraph CSRRegister20["register_high CSRRegister"] - CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_read["read"] + CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_write["write"] subgraph MethodMap41["fu_read_map MethodMap"] MethodMap41_method["method"] @@ -820,16 +913,16 @@ end end subgraph InternalInterruptController["interrupt_controller InternalInterruptController"] - InternalInterruptController_interrupt_cause["interrupt_cause"] + InternalInterruptController_entry["entry"] + InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController["InternalInterruptController"] + InternalInterruptController_interrupt_cause["interrupt_cause"] InternalInterruptController_InternalInterruptController1["InternalInterruptController"] - InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController2["InternalInterruptController"] - InternalInterruptController_entry["entry"] subgraph CSRRegister21["mie CSRRegister"] - CSRRegister21_read["read"] CSRRegister21__internal_fu_read["_internal_fu_read"] CSRRegister21__internal_fu_write["_internal_fu_write"] + CSRRegister21_read["read"] subgraph MethodMap42["fu_write_map MethodMap"] MethodMap42_method["method"] end @@ -841,11 +934,11 @@ end end subgraph CSRRegister22["mip CSRRegister"] - CSRRegister22__internal_fu_write["_internal_fu_write"] CSRRegister22_read_comb["read_comb"] CSRRegister22__internal_fu_read["_internal_fu_read"] - CSRRegister22_read["read"] CSRRegister22_write["write"] + CSRRegister22_read["read"] + CSRRegister22__internal_fu_write["_internal_fu_write"] subgraph MethodMap44["fu_write_map MethodMap"] MethodMap44_method["method"] end @@ -858,16 +951,16 @@ end end subgraph CoreInstructionCounter["core_counter CoreInstructionCounter"] - CoreInstructionCounter_increment["increment"] CoreInstructionCounter_decrement["decrement"] + CoreInstructionCounter_increment["increment"] end subgraph MethodProduct1["get_instr MethodProduct"] MethodProduct1_method["method"] end subgraph Scheduler["scheduler Scheduler"] - subgraph FIFO9["alloc_rename_buf FIFO"] - FIFO9_write["write"] - FIFO9_read["read"] + subgraph FIFO12["alloc_rename_buf FIFO"] + FIFO12_read["read"] + FIFO12_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -879,69 +972,70 @@ subgraph Renaming["renaming Renaming"] Renaming_Renaming["Renaming"] end - subgraph FIFO10["reg_alloc_out_buf FIFO"] - FIFO10_write["write"] - FIFO10_read["read"] + subgraph FIFO13["reg_alloc_out_buf FIFO"] + FIFO13_read["read"] + FIFO13_write["write"] end subgraph ROBAllocation["rob_alloc ROBAllocation"] ROBAllocation_ROBAllocation["ROBAllocation"] end - subgraph FIFO11["rs_select_out_buf FIFO"] - FIFO11_read["read"] - FIFO11_write["write"] + subgraph FIFO14["rs_select_out_buf FIFO"] + FIFO14_write["write"] + FIFO14_read["read"] end subgraph RSSelection["rs_selector RSSelection"] RSSelection_RSSelection["RSSelection"] RSSelection_RSSelection1["RSSelection"] RSSelection_RSSelection2["RSSelection"] + RSSelection_RSSelection3["RSSelection"] end subgraph RSInsertion["rs_insertion RSInsertion"] RSInsertion_RSInsertion["RSInsertion"] end end subgraph ModuleConnector["fetch_resume_unifiers ModuleConnector"] - subgraph Collector3["FetchResumeKey_unifier Collector"] - Collector3_method["method"] - subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_read["read"] - Forwarder8_write["write"] + subgraph Collector4["FetchResumeKey_unifier Collector"] + Collector4_method["method"] + subgraph Forwarder9["forwarder Forwarder"] + Forwarder9_write["write"] + Forwarder9_read["read"] end - subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] - subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] - ConnectTrans11_ConnectTrans["ConnectTrans"] + subgraph ManyToOneConnectTrans4["connect ManyToOneConnectTrans"] + subgraph ConnectTrans14["ManyToOneConnectTrans_input_0 ConnectTrans"] + ConnectTrans14_ConnectTrans["ConnectTrans"] end - subgraph ConnectTrans12["ManyToOneConnectTrans_input_1 ConnectTrans"] - ConnectTrans12_ConnectTrans["ConnectTrans"] + subgraph ConnectTrans15["ManyToOneConnectTrans_input_1 ConnectTrans"] + ConnectTrans15_ConnectTrans["ConnectTrans"] end end end end - subgraph ConnectTrans13["fetch_resume_connector ConnectTrans"] - ConnectTrans13_ConnectTrans["ConnectTrans"] + subgraph ConnectTrans16["fetch_resume_connector ConnectTrans"] + ConnectTrans16_ConnectTrans["ConnectTrans"] end subgraph Retirement["retirement Retirement"] + Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement["Retirement"] + Retirement_Retirement1["Retirement"] Retirement_Retirement_cond1["Retirement_cond1"] Retirement_core_state["core_state"] - Retirement_precommit["precommit"] - Retirement_Retirement1["Retirement"] Retirement_Retirement2["Retirement"] - Retirement_Retirement_cond0["Retirement_cond0"] + Retirement_precommit["precommit"] Retirement_Retirement3["Retirement"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister23["register_low CSRRegister"] - CSRRegister23_read["read"] CSRRegister23__internal_fu_read["_internal_fu_read"] CSRRegister23_write["write"] + CSRRegister23_read["read"] subgraph MethodMap47["fu_read_map MethodMap"] MethodMap47_method["method"] end end subgraph CSRRegister24["register_high CSRRegister"] CSRRegister24_read["read"] - CSRRegister24_write["write"] CSRRegister24__internal_fu_read["_internal_fu_read"] + CSRRegister24_write["write"] subgraph MethodMap49["fu_read_map MethodMap"] MethodMap49_method["method"] end @@ -951,14 +1045,14 @@ HwCounter9__incr["_incr"] end subgraph FIFOLatencyMeasurer2["perf_trap_latency FIFOLatencyMeasurer"] - FIFOLatencyMeasurer2__start["_start"] FIFOLatencyMeasurer2__stop["_stop"] - subgraph HwExpHistogram9["histogram HwExpHistogram"] - HwExpHistogram9__add["_add"] + FIFOLatencyMeasurer2__start["_start"] + subgraph HwExpHistogram11["histogram HwExpHistogram"] + HwExpHistogram11__add["_add"] end - subgraph FIFO12["fifo FIFO"] - FIFO12_write["write"] - FIFO12_read["read"] + subgraph FIFO15["fifo FIFO"] + FIFO15_read["read"] + FIFO15_write["write"] end end end @@ -966,39 +1060,39 @@ end subgraph TransactionManager["transaction_manager TransactionManager"] TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit["PrivilegedFuncUnit_cond1_PrivilegedFuncUnit"] + TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_Renaming_ROBAllocation["Renaming_ROBAllocation"] + TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] - TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit["PrivilegedFuncUnit_cond3_PrivilegedFuncUnit"] - TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_issue_cond0_LSUDummy["issue_cond0_LSUDummy"] - TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2["Fetch_Stage2_cond0_Fetch_Stage2"] - TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0["Fetch_Stage2_Fetch_Stage2_cond0"] + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1["Fetch_Stage2_Fetch_Stage2_cond1"] TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit["PrivilegedFuncUnit_cond0_PrivilegedFuncUnit"] - TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] - TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2["Fetch_Stage2_cond1_Fetch_Stage2"] - TransactionManager_accept_cond1_accept_cond0_ConnectTrans["accept_cond1_accept_cond0_ConnectTrans"] - TransactionManager_Renaming_ROBAllocation["Renaming_ROBAllocation"] TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit["PrivilegedFuncUnit_cond2_PrivilegedFuncUnit"] - TransactionManager_ConnectTrans_accept_cond0_accept_cond0["ConnectTrans_accept_cond0_accept_cond0"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] + TransactionManager_Retirement_cond0_Retirement["Retirement_cond0_Retirement"] + TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] + TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] + TransactionManager_accept_cond0_ConnectTrans_accept_cond0["accept_cond0_ConnectTrans_accept_cond0"] + TransactionManager_accept_cond1_accept_cond0_ConnectTrans["accept_cond1_accept_cond0_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit["PrivilegedFuncUnit_cond3_PrivilegedFuncUnit"] end end Core_InitFreeRFFifo --> BasicFifo5_write -Retirement_Retirement3 --> BasicFifo5_write -TransactionManager_Retirement_Retirement_cond1 --> BasicFifo5_write -TransactionManager_Retirement_Retirement_cond0 --> BasicFifo5_write +Retirement_Retirement1 --> BasicFifo5_write +TransactionManager_Retirement_cond1_Retirement --> BasicFifo5_write +TransactionManager_Retirement_cond0_Retirement --> BasicFifo5_write WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write FIFO4_read --> CoreFrontend_DiscardBranchVerify -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMasterAdapter_request_read -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_serialize_in0 -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request -WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 -Serializer_serialize_out0 --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 -BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 -WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 -Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Forwarder2_write +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMasterAdapter_request_read +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Serializer_serialize_in0 +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> BasicFifo_write +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMaster_request +WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller +Serializer_serialize_out0 --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller +BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller +WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller +Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Forwarder2_write ICache_ICache1 <--> HwCounter4__incr ArgumentsToResultsZipper_peek_arg --> ICache_MemRead BasicFifo3_peek --> ICache_MemRead @@ -1069,31 +1163,39 @@ Pipe1_read --> RegAllocation_RegAllocation RegAllocation_RegAllocation <--> CoreInstructionCounter_increment BasicFifo5_read --> RegAllocation_RegAllocation -RegAllocation_RegAllocation --> FIFO9_write -FIFO10_read --> RSSelection_RSSelection -FIFO10_read --> RSSelection_RSSelection1 -FIFO10_read --> RSSelection_RSSelection2 +RegAllocation_RegAllocation --> FIFO12_write +FIFO13_read --> RSSelection_RSSelection +FIFO13_read --> RSSelection_RSSelection3 +FIFO13_read --> RSSelection_RSSelection1 +FIFO13_read --> RSSelection_RSSelection2 RSFuncBlock_select --> RSSelection_RSSelection RS_select --> RSSelection_RSSelection -RSSelection_RSSelection --> FIFO11_write -RSSelection_RSSelection1 --> FIFO11_write -RSSelection_RSSelection2 --> FIFO11_write -RSFuncBlock1_select --> RSSelection_RSSelection1 +RSSelection_RSSelection --> FIFO14_write +RSSelection_RSSelection3 --> FIFO14_write +RSSelection_RSSelection1 --> FIFO14_write +RSSelection_RSSelection2 --> FIFO14_write +RSFuncBlock1_select --> RSSelection_RSSelection3 +RS1_select --> RSSelection_RSSelection3 +RSFuncBlock2_select --> RSSelection_RSSelection1 FifoRS_select --> RSSelection_RSSelection1 RSSelection_RSSelection2 <--> CSRUnit_select -FIFO11_read --> RSInsertion_RSInsertion +FIFO14_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion Retirement_core_state --> RSInsertion_RSInsertion -Retirement_core_state --> LSUDummy_LSUDummy2 +Retirement_core_state --> LSUDummy_LSUDummy RSInsertion_RSInsertion --> RSFuncBlock_insert RSInsertion_RSInsertion --> RS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer1__start RSInsertion_RSInsertion --> AsyncMemoryBank1_write0 RSInsertion_RSInsertion --> RSFuncBlock1_insert -RSInsertion_RSInsertion --> FifoRS_insert +RSInsertion_RSInsertion --> RS1_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer2__start RSInsertion_RSInsertion --> AsyncMemoryBank2_write0 +RSInsertion_RSInsertion --> RSFuncBlock2_insert +RSInsertion_RSInsertion --> FifoRS_insert +RSInsertion_RSInsertion --> TaggedLatencyMeasurer3__start +RSInsertion_RSInsertion --> AsyncMemoryBank3_write0 RSInsertion_RSInsertion --> CSRUnit_insert BasicFifo6_read --> ConnectTrans1_ConnectTrans ConnectTrans1_ConnectTrans --> ExceptionInformationRegister_report @@ -1103,13 +1205,13 @@ ConnectTrans1_ConnectTrans <--> Serializer_clean ConnectTrans1_ConnectTrans <--> BasicFifo2_clear ConnectTrans1_ConnectTrans <--> Pipe1_clean -ConnectTrans11_ConnectTrans --> Forwarder8_write -ConnectTrans12_ConnectTrans --> Forwarder8_write -BasicFifo8_read --> ConnectTrans11_ConnectTrans -CSRUnit_fetch_resume --> ConnectTrans12_ConnectTrans -Collector3_method --> ConnectTrans13_ConnectTrans -Forwarder8_read --> ConnectTrans13_ConnectTrans -ConnectTrans13_ConnectTrans --> FetchUnit_resume_from_unsafe +ConnectTrans14_ConnectTrans --> Forwarder9_write +ConnectTrans15_ConnectTrans --> Forwarder9_write +BasicFifo8_read --> ConnectTrans14_ConnectTrans +CSRUnit_fetch_resume --> ConnectTrans15_ConnectTrans +Collector4_method --> ConnectTrans16_ConnectTrans +Forwarder9_read --> ConnectTrans16_ConnectTrans +ConnectTrans16_ConnectTrans --> FetchUnit_resume_from_unsafe Collector_method --> ResultAnnouncement_ResultAnnouncement Forwarder4_read --> ResultAnnouncement_ResultAnnouncement ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done @@ -1120,10 +1222,12 @@ ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> RSFuncBlock1_update +ResultAnnouncement_ResultAnnouncement --> RS1_update +ResultAnnouncement_ResultAnnouncement --> RSFuncBlock2_update ResultAnnouncement_ResultAnnouncement --> FifoRS_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update RS_perf --> HwExpHistogram6__add -RS_RS3 --> WakeupSelect_WakeupSelect +RS_RS2 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -1147,84 +1251,114 @@ WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> TaggedCounter4__incr WakeupSelect_WakeupSelect --> FIFO2_write -RS_RS4 --> WakeupSelect1_WakeupSelect +RS_RS1 --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write -RS_RS1 --> WakeupSelect2_WakeupSelect +RS_RS --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect <--> CoreFrontend_target_pred_req WakeupSelect2_WakeupSelect --> BasicFifo7_write WakeupSelect2_WakeupSelect --> TaggedCounter5__incr -RS_RS --> WakeupSelect3_WakeupSelect +RS_RS3 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> BasicFifo6_write -ConnectTrans7_ConnectTrans --> BasicFifo6_write -ConnectTrans9_ConnectTrans --> BasicFifo6_write -ConnectTrans4_ConnectTrans --> BasicFifo6_write +ConnectTrans8_ConnectTrans --> BasicFifo6_write +ConnectTrans10_ConnectTrans --> BasicFifo6_write +ConnectTrans5_ConnectTrans --> BasicFifo6_write +TransactionManager_accept_cond0_ConnectTrans_accept_cond0 --> BasicFifo6_write TransactionManager_accept_cond1_ConnectTrans --> BasicFifo6_write TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> BasicFifo6_write -TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> BasicFifo6_write WakeupSelect3_WakeupSelect --> FIFO5_write -RS_RS2 --> WakeupSelect4_WakeupSelect +RS_RS4 --> WakeupSelect4_WakeupSelect WakeupSelect4_WakeupSelect --> PrivilegedFuncUnit_issue -ConnectTrans5_ConnectTrans --> Forwarder5_write ConnectTrans6_ConnectTrans --> Forwarder5_write ConnectTrans7_ConnectTrans --> Forwarder5_write ConnectTrans8_ConnectTrans --> Forwarder5_write ConnectTrans9_ConnectTrans --> Forwarder5_write -AluFuncUnit_accept --> ConnectTrans5_ConnectTrans -FIFO2_read --> ConnectTrans5_ConnectTrans -ShiftFuncUnit_accept --> ConnectTrans6_ConnectTrans -FIFO3_read --> ConnectTrans6_ConnectTrans -JumpBranchFuncUnit_accept --> ConnectTrans7_ConnectTrans -BasicFifo7_read --> ConnectTrans7_ConnectTrans -CoreFrontend_target_pred_resp --> ConnectTrans7_ConnectTrans -ConnectTrans7_ConnectTrans <--> HwCounter8__incr -ConnectTrans7_ConnectTrans <--> HwCounter7__incr -ConnectTrans7_ConnectTrans --> FIFO4_write -ExceptionFuncUnit_accept --> ConnectTrans8_ConnectTrans -FIFO5_read --> ConnectTrans8_ConnectTrans -PrivilegedFuncUnit_accept --> ConnectTrans9_ConnectTrans -CSRRegister8_read --> ConnectTrans9_ConnectTrans -ConnectTrans9_ConnectTrans --> BasicFifo8_write -FifoRS_perf --> HwExpHistogram8__add -Forwarder6_read --> LSUDummy_LSUDummy -Forwarder6_read --> TransactionManager_LSUDummy_issue_cond2 -Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 -Forwarder6_read --> TransactionManager_issue_cond0_LSUDummy -LSUDummy_LSUDummy --> FIFO6_write -WakeupSelect5_WakeupSelect --> FIFO6_write -TransactionManager_LSUDummy_issue_cond2 --> FIFO6_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write -TransactionManager_issue_cond0_LSUDummy --> FIFO6_write -LSUDummy_LSUDummy --> FIFO8_write -WakeupSelect5_WakeupSelect --> FIFO8_write -TransactionManager_LSUDummy_issue_cond2 --> FIFO8_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write -TransactionManager_issue_cond0_LSUDummy --> FIFO8_write -LSUDummy_LSUDummy1 --> Retirement_precommit +ConnectTrans10_ConnectTrans --> Forwarder5_write +AluFuncUnit_accept --> ConnectTrans6_ConnectTrans +FIFO2_read --> ConnectTrans6_ConnectTrans +ShiftFuncUnit_accept --> ConnectTrans7_ConnectTrans +FIFO3_read --> ConnectTrans7_ConnectTrans +JumpBranchFuncUnit_accept --> ConnectTrans8_ConnectTrans +BasicFifo7_read --> ConnectTrans8_ConnectTrans +CoreFrontend_target_pred_resp --> ConnectTrans8_ConnectTrans +ConnectTrans8_ConnectTrans <--> HwCounter8__incr +ConnectTrans8_ConnectTrans <--> HwCounter7__incr +ConnectTrans8_ConnectTrans --> FIFO4_write +ExceptionFuncUnit_accept --> ConnectTrans9_ConnectTrans +FIFO5_read --> ConnectTrans9_ConnectTrans +PrivilegedFuncUnit_accept --> ConnectTrans10_ConnectTrans +CSRRegister8_read --> ConnectTrans10_ConnectTrans +ConnectTrans10_ConnectTrans --> BasicFifo8_write +RS1_perf --> HwExpHistogram8__add +SequentialUnsignedMul_accept --> MulUnit_MulUnit +FIFO7_read --> MulUnit_MulUnit +MulUnit_MulUnit --> FIFO6_write +RecursiveWithSingleDSPMul_RecursiveWithSingleDSPMul <--> DSPMulUnit_compute +RS1_RS --> WakeupSelect5_WakeupSelect +RS1_take --> WakeupSelect5_WakeupSelect +RS1_take --> WakeupSelect6_WakeupSelect +WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop +WakeupSelect6_WakeupSelect --> TaggedLatencyMeasurer2__stop +AsyncMemoryBank2_read0 --> WakeupSelect5_WakeupSelect +AsyncMemoryBank2_read0 --> WakeupSelect6_WakeupSelect +WakeupSelect5_WakeupSelect --> HwExpHistogram7__add +WakeupSelect6_WakeupSelect --> HwExpHistogram7__add +WakeupSelect5_WakeupSelect --> MulUnit_issue +WakeupSelect5_WakeupSelect --> FIFO7_write +WakeupSelect5_WakeupSelect --> SequentialUnsignedMul_issue +LongDivider_accept --> DivUnit_DivUnit +FIFO8_read --> DivUnit_DivUnit +DivUnit_DivUnit --> BasicFifo9_write +RS1_RS1 --> WakeupSelect6_WakeupSelect +WakeupSelect6_WakeupSelect --> DivUnit_issue +WakeupSelect6_WakeupSelect --> FIFO8_write +WakeupSelect6_WakeupSelect --> LongDivider_issue +ConnectTrans11_ConnectTrans --> Forwarder6_write +ConnectTrans12_ConnectTrans --> Forwarder6_write +MulUnit_accept --> ConnectTrans11_ConnectTrans +FIFO6_read --> ConnectTrans11_ConnectTrans +DivUnit_accept --> ConnectTrans12_ConnectTrans +BasicFifo9_read --> ConnectTrans12_ConnectTrans +FifoRS_perf --> HwExpHistogram10__add +Forwarder7_read --> LSUDummy_LSUDummy1 +Forwarder7_read --> TransactionManager_LSUDummy_issue_cond2 +Forwarder7_read --> TransactionManager_LSUDummy_issue_cond0 +Forwarder7_read --> TransactionManager_LSUDummy_issue_cond1 +LSUDummy_LSUDummy1 --> FIFO9_write +WakeupSelect7_WakeupSelect --> FIFO9_write +TransactionManager_LSUDummy_issue_cond2 --> FIFO9_write +TransactionManager_LSUDummy_issue_cond0 --> FIFO9_write +TransactionManager_LSUDummy_issue_cond1 --> FIFO9_write +LSUDummy_LSUDummy1 --> FIFO11_write +WakeupSelect7_WakeupSelect --> FIFO11_write +TransactionManager_LSUDummy_issue_cond2 --> FIFO11_write +TransactionManager_LSUDummy_issue_cond0 --> FIFO11_write +TransactionManager_LSUDummy_issue_cond1 --> FIFO11_write +LSUDummy_LSUDummy2 --> Retirement_precommit CSRUnit_CSRUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit --> Retirement_precommit TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit --> Retirement_precommit -ReorderBuffer_peek --> LSUDummy_LSUDummy1 +ReorderBuffer_peek --> LSUDummy_LSUDummy2 ReorderBuffer_peek --> CSRUnit_CSRUnit -ReorderBuffer_peek --> Retirement_Retirement2 -ReorderBuffer_peek --> Retirement_Retirement3 +ReorderBuffer_peek --> Retirement_Retirement +ReorderBuffer_peek --> Retirement_Retirement1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit +ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit -ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit -ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit -FifoRS_FifoRS --> WakeupSelect5_WakeupSelect -FifoRS_take --> WakeupSelect5_WakeupSelect -WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop -AsyncMemoryBank2_read0 --> WakeupSelect5_WakeupSelect -WakeupSelect5_WakeupSelect --> HwExpHistogram7__add -WakeupSelect5_WakeupSelect --> LSUDummy_issue -WakeupSelect5_WakeupSelect --> Forwarder6_write +ReorderBuffer_peek --> TransactionManager_Retirement_cond0_Retirement +FifoRS_FifoRS --> WakeupSelect7_WakeupSelect +FifoRS_take --> WakeupSelect7_WakeupSelect +WakeupSelect7_WakeupSelect --> TaggedLatencyMeasurer3__stop +AsyncMemoryBank3_read0 --> WakeupSelect7_WakeupSelect +WakeupSelect7_WakeupSelect --> HwExpHistogram9__add +WakeupSelect7_WakeupSelect --> LSUDummy_issue +WakeupSelect7_WakeupSelect --> Forwarder7_write MethodMap1_method --> CSRUnit_CSRUnit CSRRegister__internal_fu_read --> CSRUnit_CSRUnit MethodMap3_method --> CSRUnit_CSRUnit @@ -1319,87 +1453,71 @@ ConnectTrans2_ConnectTrans --> Forwarder4_write ConnectTrans3_ConnectTrans --> Forwarder4_write ConnectTrans4_ConnectTrans --> Forwarder4_write +ConnectTrans5_ConnectTrans --> Forwarder4_write RSFuncBlock_get_result --> ConnectTrans2_ConnectTrans Collector1_method --> ConnectTrans2_ConnectTrans Forwarder5_read --> ConnectTrans2_ConnectTrans RSFuncBlock1_get_result --> ConnectTrans3_ConnectTrans Collector2_method --> ConnectTrans3_ConnectTrans -Forwarder7_read --> ConnectTrans3_ConnectTrans -CSRUnit_get_result --> ConnectTrans4_ConnectTrans -ExceptionInformationRegister_get --> Retirement_Retirement2 -ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond1 -ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement3 <--> ReorderBuffer_retire -TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire -TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire -Retirement_Retirement3 <--> FIFOLatencyMeasurer1__stop -TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer1__stop -TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer1__stop -FIFO1_read --> Retirement_Retirement3 -FIFO1_read --> TransactionManager_Retirement_Retirement_cond1 -FIFO1_read --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement3 --> HwExpHistogram3__add -TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram3__add -TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram3__add -CoreInstructionCounter_decrement --> Retirement_Retirement3 -CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 -CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 -RRAT_peek --> Retirement_Retirement3 -RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 -Retirement_Retirement3 --> RegisterFile_free -TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free -TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free -Retirement_Retirement3 --> TaggedLatencyMeasurer__stop -TransactionManager_Retirement_Retirement_cond1 --> TaggedLatencyMeasurer__stop -TransactionManager_Retirement_Retirement_cond0 --> TaggedLatencyMeasurer__stop -AsyncMemoryBank_read0 --> Retirement_Retirement3 -AsyncMemoryBank_read0 --> TransactionManager_Retirement_Retirement_cond1 -AsyncMemoryBank_read0 --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement3 --> HwExpHistogram1__add -TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add -TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add -Retirement_Retirement3 --> FRAT_rename -TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename +Forwarder6_read --> ConnectTrans3_ConnectTrans +RSFuncBlock2_get_result --> ConnectTrans4_ConnectTrans +Collector3_method --> ConnectTrans4_ConnectTrans +Forwarder8_read --> ConnectTrans4_ConnectTrans +CSRUnit_get_result --> ConnectTrans5_ConnectTrans +ExceptionInformationRegister_get --> Retirement_Retirement +ExceptionInformationRegister_get --> TransactionManager_Retirement_cond1_Retirement +ExceptionInformationRegister_get --> TransactionManager_Retirement_cond0_Retirement +Retirement_Retirement1 <--> ReorderBuffer_retire +TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire +TransactionManager_Retirement_cond0_Retirement <--> ReorderBuffer_retire +Retirement_Retirement1 <--> FIFOLatencyMeasurer1__stop +TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer1__stop +TransactionManager_Retirement_cond0_Retirement <--> FIFOLatencyMeasurer1__stop +FIFO1_read --> Retirement_Retirement1 +FIFO1_read --> TransactionManager_Retirement_cond1_Retirement +FIFO1_read --> TransactionManager_Retirement_cond0_Retirement +Retirement_Retirement1 --> HwExpHistogram3__add +TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram3__add +TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram3__add +CoreInstructionCounter_decrement --> Retirement_Retirement1 +CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement +CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond0_Retirement +RRAT_peek --> Retirement_Retirement1 +RRAT_peek --> TransactionManager_Retirement_cond1_Retirement +Retirement_Retirement1 --> RegisterFile_free +TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free +TransactionManager_Retirement_cond0_Retirement --> RegisterFile_free +Retirement_Retirement1 --> TaggedLatencyMeasurer__stop +TransactionManager_Retirement_cond1_Retirement --> TaggedLatencyMeasurer__stop +TransactionManager_Retirement_cond0_Retirement --> TaggedLatencyMeasurer__stop +AsyncMemoryBank_read0 --> Retirement_Retirement1 +AsyncMemoryBank_read0 --> TransactionManager_Retirement_cond1_Retirement +AsyncMemoryBank_read0 --> TransactionManager_Retirement_cond0_Retirement +Retirement_Retirement1 --> HwExpHistogram1__add +TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add +TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram1__add +Retirement_Retirement1 --> FRAT_rename +TransactionManager_Retirement_cond1_Retirement --> FRAT_rename TransactionManager_Renaming_ROBAllocation --> FRAT_rename -Retirement_Retirement1 <--> FIFOLatencyMeasurer2__stop -FIFO12_read --> Retirement_Retirement1 -Retirement_Retirement1 --> HwExpHistogram9__add -CSRRegister7_read --> Retirement_Retirement1 -Retirement_Retirement1 --> FetchUnit_resume_from_exception -Retirement_Retirement1 <--> ExceptionInformationRegister_clear -TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 -FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans -FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans -TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans -TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> ConnectTrans10_ConnectTrans -TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> ConnectTrans10_ConnectTrans -TransactionManager_accept_cond1_ConnectTrans --> Forwarder7_write -TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> Forwarder7_write -TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> Forwarder7_write -LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans -LSUDummy_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -LSUDummy_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2_cond0 -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> HwCounter5__incr -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter__incr -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> Serializer_write -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2 -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2 -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 <--> Semaphore_release -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> Semaphore_release -Pipe_read --> TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 -Pipe_read --> TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> Predecoder_predecode -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> Predecoder_predecode -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> PredictionChecker_check -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> PredictionChecker_check -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter1__incr -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter1__incr -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter2__incr -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter2__incr -TransactionManager_Fetch_Stage2_cond0_Fetch_Stage2 --> TaggedCounter3__incr -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 --> TaggedCounter3__incr -TransactionManager_Fetch_Stage2_cond1_Fetch_Stage2 <--> FetchUnit_Fetch_Stage2_cond1 +Retirement_Retirement3 <--> FIFOLatencyMeasurer2__stop +FIFO15_read --> Retirement_Retirement3 +Retirement_Retirement3 --> HwExpHistogram11__add +CSRRegister7_read --> Retirement_Retirement3 +Retirement_Retirement3 --> FetchUnit_resume_from_exception +Retirement_Retirement3 <--> ExceptionInformationRegister_clear +TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy3 +TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy3 +TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy3 +TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue +TransactionManager_LSUDummy_issue_cond0 --> LSURequester_issue +TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue +TransactionManager_LSUDummy_issue_cond2 --> BasicFifo10_write +TransactionManager_LSUDummy_issue_cond0 --> BasicFifo10_write +TransactionManager_LSUDummy_issue_cond1 --> BasicFifo10_write +TransactionManager_LSUDummy_issue_cond2 --> FIFO10_write +TransactionManager_LSUDummy_issue_cond0 --> FIFO10_write +TransactionManager_LSUDummy_issue_cond1 --> FIFO10_write +TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> ICache_flush TransactionManager_PrivilegedFuncUnit_cond1_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit @@ -1414,87 +1532,107 @@ CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit CSRRegister16_read --> TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 -TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement -TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement -TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer2__start -TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer2__start -TransactionManager_Retirement_Retirement_cond1 --> FIFO12_write -TransactionManager_Retirement_Retirement_cond0 --> FIFO12_write -InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond1 -InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond1 --> CSRRegister6_write -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister6_write -TransactionManager_Retirement_Retirement_cond1 --> CSRRegister8_write -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write -TransactionManager_Retirement_Retirement_cond1 --> CSRRegister9_write -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister9_write -TransactionManager_Retirement_Retirement_cond1 <--> InternalInterruptController_entry -TransactionManager_Retirement_Retirement_cond0 <--> InternalInterruptController_entry -TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret -TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSURequester_accept_cond1 -WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -Serializer1_serialize_out0 --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> LSUDummy_accept_cond0 +TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 +LSURequester_accept --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +LSURequester_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +BasicFifo10_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +BasicFifo10_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +FIFO10_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +FIFO10_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> ConnectTrans13_ConnectTrans +TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans13_ConnectTrans +TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> ConnectTrans13_ConnectTrans +TransactionManager_accept_cond0_ConnectTrans_accept_cond0 --> Forwarder8_write +TransactionManager_accept_cond1_ConnectTrans --> Forwarder8_write +TransactionManager_accept_cond1_accept_cond0_ConnectTrans --> Forwarder8_write +LSUDummy_accept --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans +LSUDummy_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +TransactionManager_accept_cond0_ConnectTrans_accept_cond0 <--> LSURequester_accept_cond0 +WishboneMasterAdapter1_get_write_response --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +Serializer1_serialize_out1 --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 +BasicFifo1_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 BasicFifo1_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -BasicFifo1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +WishboneMaster1_result --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 WishboneMaster1_result --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -WishboneMaster1_result --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +Forwarder1_read --> TransactionManager_accept_cond0_ConnectTrans_accept_cond0 Forwarder1_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -Forwarder1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 -TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSUDummy_accept_cond0 -LSURequester_accept --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -LSURequester_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -BasicFifo9_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -BasicFifo9_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -FIFO7_read --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans -FIFO7_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy3 -TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy3 -TransactionManager_issue_cond0_LSUDummy <--> LSUDummy_LSUDummy3 -TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue -TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue -TransactionManager_issue_cond0_LSUDummy --> LSURequester_issue -TransactionManager_LSUDummy_issue_cond2 --> BasicFifo9_write -TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write -TransactionManager_issue_cond0_LSUDummy --> BasicFifo9_write -TransactionManager_LSUDummy_issue_cond2 --> FIFO7_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write -TransactionManager_issue_cond0_LSUDummy --> FIFO7_write -TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 -TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit -TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment -CSRRegister23_read --> TransactionManager_Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister23_write -CSRRegister24_read --> TransactionManager_Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister24_write -TransactionManager_Retirement_Retirement_cond0 <--> HwCounter9__incr -TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 -TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read -TransactionManager_LSUDummy_issue_cond1 --> Serializer1_serialize_in0 -TransactionManager_LSUDummy_issue_cond1 --> BasicFifo1_write -TransactionManager_issue_cond0_LSUDummy --> BasicFifo1_write -TransactionManager_LSUDummy_issue_cond1 --> WishboneMaster1_request -TransactionManager_issue_cond0_LSUDummy --> WishboneMaster1_request -TransactionManager_issue_cond0_LSUDummy <--> LSURequester_issue_cond0 -TransactionManager_issue_cond0_LSUDummy --> WishboneMasterAdapter1_request_write -TransactionManager_issue_cond0_LSUDummy --> Serializer1_serialize_in1 +TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 +TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement2 +TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement2 +TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer2__start +TransactionManager_Retirement_cond0_Retirement <--> FIFOLatencyMeasurer2__start +TransactionManager_Retirement_cond1_Retirement --> FIFO15_write +TransactionManager_Retirement_cond0_Retirement --> FIFO15_write +InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond1_Retirement +InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond0_Retirement +TransactionManager_Retirement_cond1_Retirement --> CSRRegister6_write +TransactionManager_Retirement_cond0_Retirement --> CSRRegister6_write +TransactionManager_Retirement_cond1_Retirement --> CSRRegister8_write +TransactionManager_Retirement_cond0_Retirement --> CSRRegister8_write +TransactionManager_Retirement_cond1_Retirement --> CSRRegister9_write +TransactionManager_Retirement_cond0_Retirement --> CSRRegister9_write +TransactionManager_Retirement_cond1_Retirement <--> InternalInterruptController_entry +TransactionManager_Retirement_cond0_Retirement <--> InternalInterruptController_entry TransactionManager_Renaming_ROBAllocation <--> Renaming_Renaming -FIFO9_read --> TransactionManager_Renaming_ROBAllocation +FIFO12_read --> TransactionManager_Renaming_ROBAllocation TransactionManager_Renaming_ROBAllocation --> Connect_write TransactionManager_Renaming_ROBAllocation <--> ROBAllocation_ROBAllocation Connect_read --> TransactionManager_Renaming_ROBAllocation TransactionManager_Renaming_ROBAllocation --> ReorderBuffer_put TransactionManager_Renaming_ROBAllocation <--> FIFOLatencyMeasurer1__start TransactionManager_Renaming_ROBAllocation --> FIFO1_write -TransactionManager_Renaming_ROBAllocation --> FIFO10_write -TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSURequester_accept_cond0 -WishboneMasterAdapter1_get_write_response --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 -Serializer1_serialize_out1 --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +TransactionManager_Renaming_ROBAllocation --> FIFO13_write +TransactionManager_PrivilegedFuncUnit_cond2_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2 +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2 +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> Semaphore_release +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> Semaphore_release +Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 +Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Predecoder_predecode +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> Predecoder_predecode +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> PredictionChecker_check +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> PredictionChecker_check +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter1__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter1__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter2__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter2__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter3__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter3__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2_cond0 +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> HwCounter5__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Serializer_write +TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 +FIFO9_read --> TransactionManager_accept_cond1_ConnectTrans +FIFO11_read --> TransactionManager_accept_cond1_ConnectTrans TransactionManager_PrivilegedFuncUnit_cond3_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 +TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement_cond0 +TransactionManager_Retirement_cond0_Retirement --> RRAT_commit +TransactionManager_Retirement_cond0_Retirement <--> DoubleCounterCSR2_increment +CSRRegister23_read --> TransactionManager_Retirement_cond0_Retirement +TransactionManager_Retirement_cond0_Retirement --> CSRRegister23_write +CSRRegister24_read --> TransactionManager_Retirement_cond0_Retirement +TransactionManager_Retirement_cond0_Retirement --> CSRRegister24_write +TransactionManager_Retirement_cond0_Retirement <--> HwCounter9__incr +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 +TransactionManager_LSUDummy_issue_cond0 <--> LSURequester_issue_cond0 +TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write +TransactionManager_LSUDummy_issue_cond0 --> Serializer1_serialize_in1 +TransactionManager_LSUDummy_issue_cond0 --> BasicFifo1_write +TransactionManager_LSUDummy_issue_cond1 --> BasicFifo1_write +TransactionManager_LSUDummy_issue_cond0 --> WishboneMaster1_request +TransactionManager_LSUDummy_issue_cond1 --> WishboneMaster1_request +TransactionManager_accept_cond1_accept_cond0_ConnectTrans <--> LSURequester_accept_cond1 +WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +Serializer1_serialize_out0 --> TransactionManager_accept_cond1_accept_cond0_ConnectTrans +TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 +TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read +TransactionManager_LSUDummy_issue_cond1 --> Serializer1_serialize_in0 @@ -1505,7 +1643,7 @@

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/components/icache.html b/components/icache.html index 69446afc1..12cdb7029 100644 --- a/components/icache.html +++ b/components/icache.html @@ -130,7 +130,7 @@

Address mapping example

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.arch.html b/coreblocks.arch.html index 095899b30..6c705611d 100644 --- a/coreblocks.arch.html +++ b/coreblocks.arch.html @@ -3922,7 +3922,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.backend.html b/coreblocks.backend.html index 49dc411cd..c765cda1c 100644 --- a/coreblocks.backend.html +++ b/coreblocks.backend.html @@ -164,7 +164,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.cache.html b/coreblocks.cache.html index 9e19fd75c..7b57acd45 100644 --- a/coreblocks.cache.html +++ b/coreblocks.cache.html @@ -240,7 +240,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.core_structs.html b/coreblocks.core_structs.html index a9cd039d1..2c4a4de34 100644 --- a/coreblocks.core_structs.html +++ b/coreblocks.core_structs.html @@ -156,7 +156,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.frontend.decoder.html b/coreblocks.frontend.decoder.html index f7ff41c9f..b3227f395 100644 --- a/coreblocks.frontend.decoder.html +++ b/coreblocks.frontend.decoder.html @@ -312,7 +312,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.frontend.fetch.html b/coreblocks.frontend.fetch.html index 4e4a88415..16beffd53 100644 --- a/coreblocks.frontend.fetch.html +++ b/coreblocks.frontend.fetch.html @@ -209,7 +209,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.frontend.html b/coreblocks.frontend.html index 617088b61..1348fa00e 100644 --- a/coreblocks.frontend.html +++ b/coreblocks.frontend.html @@ -186,7 +186,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.fu.fpu.html b/coreblocks.func_blocks.fu.fpu.html index 63b54852d..5a97433c2 100644 --- a/coreblocks.func_blocks.fu.fpu.html +++ b/coreblocks.func_blocks.fu.fpu.html @@ -302,7 +302,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.fu.html b/coreblocks.func_blocks.fu.html index 5a870be6c..cf9335208 100644 --- a/coreblocks.func_blocks.fu.html +++ b/coreblocks.func_blocks.fu.html @@ -893,7 +893,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.fu.lsu.html b/coreblocks.func_blocks.fu.lsu.html index 7e1f90142..361fc09c5 100644 --- a/coreblocks.func_blocks.fu.lsu.html +++ b/coreblocks.func_blocks.fu.lsu.html @@ -289,7 +289,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.fu.unsigned_multiplication.html b/coreblocks.func_blocks.fu.unsigned_multiplication.html index 6df061f4a..722ee3243 100644 --- a/coreblocks.func_blocks.fu.unsigned_multiplication.html +++ b/coreblocks.func_blocks.fu.unsigned_multiplication.html @@ -259,7 +259,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.html b/coreblocks.func_blocks.html index 3e75912ba..22e5805b6 100644 --- a/coreblocks.func_blocks.html +++ b/coreblocks.func_blocks.html @@ -157,7 +157,7 @@

Subpackages

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.func_blocks.interface.html b/coreblocks.func_blocks.interface.html index 4959c233d..2fa1bbf56 100644 --- a/coreblocks.func_blocks.interface.html +++ b/coreblocks.func_blocks.interface.html @@ -163,7 +163,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.html b/coreblocks.html index 220265b8c..9d3aecd10 100644 --- a/coreblocks.html +++ b/coreblocks.html @@ -237,6 +237,11 @@

Submodules__init__(*, gen_params: GenParams)
+
+
+interrupts: Signal
+
+
wb_data: WishboneInterface
@@ -267,7 +272,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.params.html b/coreblocks.params.html index f7fc26867..ed1deecf5 100644 --- a/coreblocks.params.html +++ b/coreblocks.params.html @@ -831,7 +831,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.peripherals.html b/coreblocks.peripherals.html index e821317a7..261f1a9f5 100644 --- a/coreblocks.peripherals.html +++ b/coreblocks.peripherals.html @@ -745,7 +745,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.priv.csr.html b/coreblocks.priv.csr.html index 9acc14c02..2b8371162 100644 --- a/coreblocks.priv.csr.html +++ b/coreblocks.priv.csr.html @@ -305,7 +305,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.priv.html b/coreblocks.priv.html index 478697bc7..9b8afe97f 100644 --- a/coreblocks.priv.html +++ b/coreblocks.priv.html @@ -123,7 +123,7 @@

Subpackages

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.priv.traps.html b/coreblocks.priv.traps.html index d1f9ba33e..1568a5295 100644 --- a/coreblocks.priv.traps.html +++ b/coreblocks.priv.traps.html @@ -204,7 +204,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/coreblocks.scheduler.html b/coreblocks.scheduler.html index 8a4799307..98ec77617 100644 --- a/coreblocks.scheduler.html +++ b/coreblocks.scheduler.html @@ -188,7 +188,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/current-graph.html b/current-graph.html index 4abc7a697..2d61a0b42 100644 --- a/current-graph.html +++ b/current-graph.html @@ -90,17 +90,17 @@

Full transaction-method graph

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/development-environment.html b/development-environment.html index 5211f570a..346545a01 100644 --- a/development-environment.html +++ b/development-environment.html @@ -208,7 +208,7 @@

tprof.py

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

diff --git a/genindex.html b/genindex.html index b3b1c73a5..59909b863 100644 --- a/genindex.html +++ b/genindex.html @@ -1723,6 +1723,8 @@

I

  • InternalInterruptController (class in coreblocks.priv.traps.interrupt_controller)
  • InterruptCauseNumber (class in coreblocks.arch.isa_consts) +
  • +
  • interrupts (coreblocks.core.Core attribute)
  • INVALID (coreblocks.arch.optypes.CfiType attribute)
  • @@ -3416,7 +3418,7 @@

    Z

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/home.html b/home.html index dd830ab0e..0e2abeb9c 100644 --- a/home.html +++ b/home.html @@ -128,7 +128,7 @@

    Documentation

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/index.html b/index.html index 1f68555fc..983f9d6cb 100644 --- a/index.html +++ b/index.html @@ -202,7 +202,7 @@

    Coreblocks

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/miscellany/exceptions-summary.html b/miscellany/exceptions-summary.html index 06c372bc7..1fdf5b67d 100644 --- a/miscellany/exceptions-summary.html +++ b/miscellany/exceptions-summary.html @@ -270,7 +270,7 @@

    Summary

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/modules-coreblocks.html b/modules-coreblocks.html index f0c0fa118..469746326 100644 --- a/modules-coreblocks.html +++ b/modules-coreblocks.html @@ -178,7 +178,7 @@

    coreblocks

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/objects.inv b/objects.inv index 6545ef748..e220e6a20 100644 Binary files a/objects.inv and b/objects.inv differ diff --git a/problem-checklist.html b/problem-checklist.html index 13c5da4b0..787a7d213 100644 --- a/problem-checklist.html +++ b/problem-checklist.html @@ -104,7 +104,7 @@

    Problem checklist

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/py-modindex.html b/py-modindex.html index d0773e527..562947ae9 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -492,7 +492,7 @@

    Python Module Index

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/scheduler/overview.html b/scheduler/overview.html index 72208ab67..eca7f3963 100644 --- a/scheduler/overview.html +++ b/scheduler/overview.html @@ -145,7 +145,7 @@

    More detailed description of each block

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/search.html b/search.html index 7a056ff9f..5151c90a7 100644 --- a/search.html +++ b/search.html @@ -100,7 +100,7 @@

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/searchindex.js b/searchindex.js index 3dbb12322..33fad376c 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api", "assumptions", "auto_graph", "components/icache", "coreblocks", "coreblocks.arch", "coreblocks.backend", "coreblocks.cache", "coreblocks.core_structs", "coreblocks.frontend", "coreblocks.frontend.decoder", "coreblocks.frontend.fetch", "coreblocks.func_blocks", "coreblocks.func_blocks.fu", "coreblocks.func_blocks.fu.fpu", "coreblocks.func_blocks.fu.lsu", "coreblocks.func_blocks.fu.unsigned_multiplication", "coreblocks.func_blocks.interface", "coreblocks.params", "coreblocks.peripherals", "coreblocks.priv", "coreblocks.priv.csr", "coreblocks.priv.traps", "coreblocks.scheduler", "current-graph", "development-environment", "home", "index", "miscellany/exceptions-summary", "modules-coreblocks", "problem-checklist", "scheduler/overview", "shared-structs/implementation/rs-impl", "shared-structs/rs", "synthesis/synthesis"], "filenames": ["api.md", "assumptions.md", "auto_graph.rst", "components/icache.md", "coreblocks.rst", "coreblocks.arch.rst", "coreblocks.backend.rst", "coreblocks.cache.rst", "coreblocks.core_structs.rst", "coreblocks.frontend.rst", "coreblocks.frontend.decoder.rst", "coreblocks.frontend.fetch.rst", "coreblocks.func_blocks.rst", "coreblocks.func_blocks.fu.rst", "coreblocks.func_blocks.fu.fpu.rst", "coreblocks.func_blocks.fu.lsu.rst", "coreblocks.func_blocks.fu.unsigned_multiplication.rst", "coreblocks.func_blocks.interface.rst", "coreblocks.params.rst", "coreblocks.peripherals.rst", "coreblocks.priv.rst", "coreblocks.priv.csr.rst", "coreblocks.priv.traps.rst", "coreblocks.scheduler.rst", "current-graph.md", "development-environment.md", "home.md", "index.md", "miscellany/exceptions-summary.md", "modules-coreblocks.rst", "problem-checklist.md", "scheduler/overview.md", "shared-structs/implementation/rs-impl.md", "shared-structs/rs.md", "synthesis/synthesis.md"], "titles": ["API", "List of assumptions made during development", "<no title>", "Instruction Cache", "coreblocks package", "coreblocks.arch package", "coreblocks.backend package", "coreblocks.cache package", "coreblocks.core_structs package", "coreblocks.frontend package", "coreblocks.frontend.decoder package", "coreblocks.frontend.fetch package", "coreblocks.func_blocks package", "coreblocks.func_blocks.fu package", "coreblocks.func_blocks.fu.fpu package", "coreblocks.func_blocks.fu.lsu package", "coreblocks.func_blocks.fu.unsigned_multiplication package", "coreblocks.func_blocks.interface package", "coreblocks.params package", "coreblocks.peripherals package", "coreblocks.priv package", "coreblocks.priv.csr package", "coreblocks.priv.traps package", "coreblocks.scheduler package", "Full transaction-method graph", "Development environment", "Introduction", "Coreblocks", "Summary of papers about interrupts", "coreblocks", "Problem checklist", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Core verification"], "terms": {"packag": [0, 25, 27, 29], "subpackag": [0, 29], "arch": [0, 4, 13, 15, 18, 23, 25, 29, 34], "submodul": [0, 12, 20, 29, 34], "csr_address": [0, 4, 29], "modul": [0, 25, 29, 34], "isa": [0, 4, 10, 21, 29], "isa_const": [0, 4, 29], "optyp": [0, 4, 10, 13, 15, 18, 23, 29], "content": [0, 29], "backend": [0, 4, 29], "annouc": [0, 4, 29], "retir": [0, 4, 22, 29], "cach": [0, 4, 11, 18, 27, 29], "icach": [0, 4, 11, 29], "ifac": [0, 4, 29], "refil": [0, 3, 4, 29], "core_struct": [0, 4, 29], "rat": [0, 1, 4, 23, 28, 29], "rf": [0, 1, 4, 6, 28, 29, 32, 33], "rob": [0, 1, 4, 6, 22, 23, 28, 29, 31, 32, 33], "frontend": [0, 4, 29, 31], "frontend_param": [0, 4, 29], "func_block": [0, 4, 23, 29], "param": [0, 4, 7, 13, 19, 29], "configur": [0, 4, 5, 19, 22, 23, 29, 34], "fu_param": [0, 4, 29], "genparam": [0, 4, 6, 8, 9, 10, 11, 13, 15, 16, 17, 21, 22, 23, 29], "icache_param": [0, 4, 29], "instr": [0, 4, 10, 29], "peripher": [0, 4, 29], "axi_lit": [0, 4, 29], "bus_adapt": [0, 4, 29], "wishbon": [0, 4, 29], "priv": [0, 4, 5, 12, 29], "schedul": [0, 4, 27, 28, 29], "wakeup_select": [0, 4, 29], "core": [0, 6, 9, 10, 11, 13, 16, 19, 21, 22, 23, 25, 27, 28, 29], "ha": [1, 7, 10, 11, 23, 25, 28, 30, 32], "data": [1, 10, 11, 15, 19, 21, 22, 27, 33, 34], "forward": [1, 11, 19], "from": [1, 6, 7, 9, 10, 11, 14, 15, 19, 21, 22, 23, 25, 26, 28, 30, 32, 33, 34], "tomasulo": 1, "announc": [1, 6], "bu": [1, 5, 15, 18, 19], "read": [1, 15, 19, 21, 25, 27, 30], "x0": [1, 5], "rf0": 1, "return": [1, 3, 9, 13, 14, 15, 18, 19, 21, 22, 28], "0": [1, 5, 10, 13, 14, 19, 21, 22, 23, 32, 33, 34], "write": [1, 7, 10, 19, 21, 28, 33], "i": [1, 3, 5, 6, 7, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 26, 28, 31, 32, 33, 34], "noop": 1, "separ": [1, 31], "r": [1, 5, 6, 23, 25, 28, 31, 32, 33, 34], "each": [1, 5, 13, 19, 21, 22, 25, 27, 28, 32, 33], "fu": [1, 4, 5, 6, 12, 22, 32, 33], "writeback": 1, "stage": [1, 11, 14, 22], "save": [1, 5, 6, 22, 25, 28, 32, 33], "after": [1, 3, 7, 9, 19, 22, 28, 31, 34], "get": [1, 5, 6, 10, 11, 13, 16, 23, 25, 27], "output": [1, 6, 7, 15, 19, 25, 28, 32, 33], "commit": [1, 25, 28, 34], "updat": [1, 17, 21, 34], "The": [3, 6, 7, 11, 13, 18, 19, 25, 26, 28, 31, 32, 33, 34], "should": [3, 5, 6, 7, 10, 11, 18, 19, 21, 22, 23, 25, 26, 28, 31, 32, 33, 34], "expos": 3, "three": [3, 10, 28, 34], "method": [3, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27], "issue_req": [3, 7], "thi": [3, 6, 7, 10, 11, 13, 15, 16, 18, 19, 21, 22, 23, 25, 28, 30, 32, 33, 34], "issu": [3, 7, 13, 15, 16, 17, 23, 25], "an": [3, 6, 7, 9, 11, 15, 18, 19, 23, 25, 26, 28, 30, 32, 34], "lookup": [3, 7], "request": [3, 7, 13, 15, 16, 18, 19], "accept_resp": 3, "result": [3, 6, 7, 10, 13, 14, 15, 16, 18, 19, 22, 28, 34], "flush": [3, 7, 9, 22, 28], "entir": [3, 34], "oper": [3, 5, 10, 13, 21, 22, 28], "under": 3, "follow": [3, 11, 13, 18, 23, 25, 32, 34], "ar": [3, 5, 6, 10, 11, 15, 18, 19, 21, 22, 25, 26, 28, 30, 31, 32, 33, 34], "alwai": [3, 10, 18, 21, 34], "multipl": [3, 5, 13, 16, 19, 23], "4": [3, 5, 11, 13, 14, 15], "byte": [3, 11, 18], "risc": [3, 5, 10, 18, 22, 26, 34], "v": [3, 5, 10, 18, 22, 25, 26, 28, 32, 34], "specif": [3, 5, 10, 19, 22, 25, 28, 34], "requir": [3, 21, 25, 28, 34], "align": [3, 11, 15], "c": [3, 5, 11, 28, 34], "extens": [3, 5, 11, 34], "introduc": [3, 28], "16": [3, 5, 14, 22, 28], "bit": [3, 5, 7, 10, 13, 14, 16, 18, 19, 21, 22, 28, 32, 33], "relax": 3, "fetch": [3, 4, 5, 6, 7, 9, 10, 22, 28], "unit": [3, 6, 10, 11, 13, 15, 16, 19, 23, 25, 31, 34], "handl": [3, 11, 13, 22, 27], "case": [3, 5, 6, 15, 18, 19, 23, 28, 30], "fulli": [3, 11, 15], "pipelin": [3, 12, 13, 15, 19, 23, 28, 32], "process": [3, 22, 25, 27, 34], "order": [3, 5, 11, 22, 23, 25, 26, 27, 34], "As": [3, 28], "can": [3, 6, 11, 15, 19, 21, 22, 25, 26, 28, 31, 32, 34], "invok": [3, 6, 10, 11, 23, 28, 32], "independ": 3, "accept_r": [3, 7], "If": [3, 10, 18, 19, 21, 22, 28, 30, 32], "space": [3, 28], "anoth": [3, 7, 18, 25], "simpli": 3, "block": [3, 7, 9, 11, 16, 17, 19, 23, 27, 28], "latenc": [3, 15, 28, 34], "least": [3, 18], "one": [3, 6, 7, 11, 13, 19, 22, 25, 28, 31, 32, 33], "cycl": [3, 5, 13, 16, 19, 21, 22, 25, 28, 31, 34], "miss": [3, 28], "occur": [3, 7], "arbitrarili": 3, "long": [3, 33, 34], "ensur": [3, 34], "ani": [3, 10, 18, 19, 23, 28, 30], "refetch": 3, "howev": [3, 18], "guarante": [3, 28], "have": [3, 6, 15, 18, 19, 25, 28, 30, 34], "alreadi": [3, 6, 28], "been": 3, "still": [3, 28, 33], "wait": [3, 6, 19, 22, 25, 28, 32, 33], "accept": [3, 7, 11, 13, 15, 16, 17, 34], "inform": [3, 18, 23, 25], "regard": 3, "error": [3, 7, 11, 14, 19], "mean": [3, 23, 25, 33], "dure": [3, 15, 27, 31], "line": [3, 7, 18, 25, 27], "subsequ": 3, "access": [3, 5, 19, 21, 28], "trigger": [3, 21, 22], "which": [3, 6, 7, 10, 11, 13, 15, 19, 23, 25, 26, 28, 31, 32, 33, 34], "most": [3, 22, 28], "like": [3, 10, 18, 28], "For": [3, 5, 9, 18, 25, 32, 33], "32": [3, 5, 13, 16, 19, 28], "128": [3, 5], "set": [3, 7, 10, 13, 15, 18, 21, 22, 23, 27, 32, 34], "size": [3, 11, 18, 19, 28], "equal": [3, 22], "31": [3, 5], "15": [3, 5, 22], "14": [3, 5], "13": [3, 5], "12": [3, 5], "11": [3, 5, 25, 34], "10": [3, 5, 28], "09": 3, "08": 3, "07": 3, "06": 3, "05": 3, "04": 3, "03": 3, "02": 3, "01": 3, "00": 3, "tag": [3, 19, 28, 32, 33], "index": [3, 9], "offset": [3, 18], "decod": [4, 9, 11, 13, 23], "decode_stag": [4, 9], "instr_decod": [4, 9], "instr_descript": [4, 9], "rvc": [4, 9], "alu": [4, 12], "div_unit": [4, 12], "except": [4, 5, 6, 9, 12, 18, 20, 27, 30], "jumpbranch": [4, 12], "mul_unit": [4, 12], "shift_unit": [4, 12], "zbc": [4, 5, 12], "zb": [4, 5, 12], "interfac": [4, 7, 10, 12, 15, 16, 19, 22, 23, 27, 34], "func_blocks_unifi": [4, 12], "func_protocol": [4, 12, 23], "csr": [4, 5, 10, 20, 22], "alias": [4, 20], "csr_instanc": [4, 20], "csr_regist": [4, 20], "trap": [4, 20], "instr_count": [4, 20], "interrupt_control": [4, 20], "class": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25], "base": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 28], "compon": [4, 10, 18, 19, 22, 26], "__init__": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "gen_param": [4, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 21, 22, 23], "wb_data": 4, "wishboneinterfac": [4, 19], "wb_instr": 4, "csraddress": [5, 21], "intenum": [5, 13], "coreblocks_test_csr": 5, "2047": 5, "coreblocks_test_priv_mod": 5, "2303": 5, "3072": 5, "cycleh": 5, "3200": 5, "dcsr": 5, "1968": 5, "dpc": 5, "1969": 5, "dscratch0": 5, "1970": 5, "dscratch1": 5, "1971": 5, "fcsr": 5, "3": [5, 13, 14, 25], "fflag": 5, "1": [5, 10, 13, 14, 16, 18, 21, 22, 23, 28, 32, 33, 34], "frm": 5, "2": [5, 13, 14, 16, 19, 21, 34], "hcontext": 5, "1704": 5, "hcounteren": 5, "1542": 5, "hedeleg": 5, "1538": 5, "hedelegh": 5, "1554": 5, "henvcfg": 5, "1546": 5, "henvcfgh": 5, "1562": 5, "hgatp": 5, "1664": 5, "hgeie": 5, "1543": 5, "hgeip": 5, "3602": 5, "hideleg": 5, "1539": 5, "hie": 5, "1540": 5, "hip": 5, "1604": 5, "hpmcounter10": 5, "3082": 5, "hpmcounter10h": 5, "3210": 5, "hpmcounter11": 5, "3083": 5, "hpmcounter11h": 5, "3211": 5, "hpmcounter12": 5, "3084": 5, "hpmcounter12h": 5, "3212": 5, "hpmcounter13": 5, "3085": 5, "hpmcounter13h": 5, "3213": 5, "hpmcounter14": 5, "3086": 5, "hpmcounter14h": 5, "3214": 5, "hpmcounter15": 5, "3087": 5, "hpmcounter15h": 5, "3215": 5, "hpmcounter16": 5, "3088": 5, "hpmcounter16h": 5, "3216": 5, "hpmcounter17": 5, "3089": 5, "hpmcounter17h": 5, "3217": 5, "hpmcounter18": 5, "3090": 5, "hpmcounter18h": 5, "3218": 5, "hpmcounter19": 5, "3091": 5, "hpmcounter19h": 5, "3219": 5, "hpmcounter20": 5, "3092": 5, "hpmcounter20h": 5, "3220": 5, "hpmcounter21": 5, "3093": 5, "hpmcounter21h": 5, "3221": 5, "hpmcounter22": 5, "3094": 5, "hpmcounter22h": 5, "3222": 5, "hpmcounter23": 5, "3095": 5, "hpmcounter23h": 5, "3223": 5, "hpmcounter24": 5, "3096": 5, "hpmcounter24h": 5, "3224": 5, "hpmcounter25": 5, "3097": 5, "hpmcounter25h": 5, "3225": 5, "hpmcounter26": 5, "3098": 5, "hpmcounter26h": 5, "3226": 5, "hpmcounter27": 5, "3099": 5, "hpmcounter27h": 5, "3227": 5, "hpmcounter28": 5, "3100": 5, "hpmcounter28h": 5, "3228": 5, "hpmcounter29": 5, "3101": 5, "hpmcounter29h": 5, "3229": 5, "hpmcounter3": 5, "3075": 5, "hpmcounter30": 5, "3102": 5, "hpmcounter30h": 5, "3230": 5, "hpmcounter31": 5, "3103": 5, "hpmcounter31h": 5, "3231": 5, "hpmcounter3h": 5, "3203": 5, "hpmcounter4": 5, "3076": 5, "hpmcounter4h": 5, "3204": 5, "hpmcounter5": 5, "3077": 5, "hpmcounter5h": 5, "3205": 5, "hpmcounter6": 5, "3078": 5, "hpmcounter6h": 5, "3206": 5, "hpmcounter7": 5, "3079": 5, "hpmcounter7h": 5, "3207": 5, "hpmcounter8": 5, "3080": 5, "hpmcounter8h": 5, "3208": 5, "hpmcounter9": 5, "3081": 5, "hpmcounter9h": 5, "3209": 5, "hstateen0": 5, "1548": 5, "hstateen0h": 5, "1564": 5, "hstateen1": 5, "1549": 5, "hstateen1h": 5, "1565": 5, "hstateen2": 5, "1550": 5, "hstateen2h": 5, "1566": 5, "hstateen3": 5, "1551": 5, "hstateen3h": 5, "1567": 5, "hstatu": 5, "1536": 5, "htimedelta": 5, "1541": 5, "htimedeltah": 5, "1557": 5, "htinst": 5, "1610": 5, "htval": 5, "1603": 5, "hvip": 5, "1605": 5, "instret": 5, "3074": 5, "instreth": 5, "3202": 5, "marchid": 5, "3858": 5, "mcaus": 5, "834": 5, "mconfigptr": 5, "3861": 5, "mcontext": 5, "1960": 5, "mcounteren": 5, "774": 5, "mcountinhibit": 5, "800": 5, "mcycl": 5, "2816": 5, "mcycleh": 5, "2944": 5, "medeleg": 5, "770": 5, "medelegh": 5, "786": 5, "menvcfg": 5, "778": 5, "menvcfgh": 5, "794": 5, "mepc": 5, "833": 5, "mhartid": 5, "3860": 5, "mhpmcounter10": 5, "2826": 5, "mhpmcounter10h": 5, "2954": 5, "mhpmcounter11": 5, "2827": 5, "mhpmcounter11h": 5, "2955": 5, "mhpmcounter12": 5, "2828": 5, "mhpmcounter12h": 5, "2956": 5, "mhpmcounter13": 5, "2829": 5, "mhpmcounter13h": 5, "2957": 5, "mhpmcounter14": 5, "2830": 5, "mhpmcounter14h": 5, "2958": 5, "mhpmcounter15": 5, "2831": 5, "mhpmcounter15h": 5, "2959": 5, "mhpmcounter16": 5, "2832": 5, "mhpmcounter16h": 5, "2960": 5, "mhpmcounter17": 5, "2833": 5, "mhpmcounter17h": 5, "2961": 5, "mhpmcounter18": 5, "2834": 5, "mhpmcounter18h": 5, "2962": 5, "mhpmcounter19": 5, "2835": 5, "mhpmcounter19h": 5, "2963": 5, "mhpmcounter20": 5, "2836": 5, "mhpmcounter20h": 5, "2964": 5, "mhpmcounter21": 5, "2837": 5, "mhpmcounter21h": 5, "2965": 5, "mhpmcounter22": 5, "2838": 5, "mhpmcounter22h": 5, "2966": 5, "mhpmcounter23": 5, "2839": 5, "mhpmcounter23h": 5, "2967": 5, "mhpmcounter24": 5, "2840": 5, "mhpmcounter24h": 5, "2968": 5, "mhpmcounter25": 5, "2841": 5, "mhpmcounter25h": 5, "2969": 5, "mhpmcounter26": 5, "2842": 5, "mhpmcounter26h": 5, "2970": 5, "mhpmcounter27": 5, "2843": 5, "mhpmcounter27h": 5, "2971": 5, "mhpmcounter28": 5, "2844": 5, "mhpmcounter28h": 5, "2972": 5, "mhpmcounter29": 5, "2845": 5, "mhpmcounter29h": 5, "2973": 5, "mhpmcounter3": 5, "2819": 5, "mhpmcounter30": 5, "2846": 5, "mhpmcounter30h": 5, "2974": 5, "mhpmcounter31": 5, "2847": 5, "mhpmcounter31h": 5, "2975": 5, "mhpmcounter3h": 5, "2947": 5, "mhpmcounter4": 5, "2820": 5, "mhpmcounter4h": 5, "2948": 5, "mhpmcounter5": 5, "2821": 5, "mhpmcounter5h": 5, "2949": 5, "mhpmcounter6": 5, "2822": 5, "mhpmcounter6h": 5, "2950": 5, "mhpmcounter7": 5, "2823": 5, "mhpmcounter7h": 5, "2951": 5, "mhpmcounter8": 5, "2824": 5, "mhpmcounter8h": 5, "2952": 5, "mhpmcounter9": 5, "2825": 5, "mhpmcounter9h": 5, "2953": 5, "mhpmevent10": 5, "810": 5, "mhpmevent10h": 5, "1834": 5, "mhpmevent11": 5, "811": 5, "mhpmevent11h": 5, "1835": 5, "mhpmevent12": 5, "812": 5, "mhpmevent12h": 5, "1836": 5, "mhpmevent13": 5, "813": 5, "mhpmevent13h": 5, "1837": 5, "mhpmevent14": 5, "814": 5, "mhpmevent14h": 5, "1838": 5, "mhpmevent15": 5, "815": 5, "mhpmevent15h": 5, "1839": 5, "mhpmevent16": 5, "816": 5, "mhpmevent16h": 5, "1840": 5, "mhpmevent17": 5, "817": 5, "mhpmevent17h": 5, "1841": 5, "mhpmevent18": 5, "818": 5, "mhpmevent18h": 5, "1842": 5, "mhpmevent19": 5, "819": 5, "mhpmevent19h": 5, "1843": 5, "mhpmevent20": 5, "820": 5, "mhpmevent20h": 5, "1844": 5, "mhpmevent21": 5, "821": 5, "mhpmevent21h": 5, "1845": 5, "mhpmevent22": 5, "822": 5, "mhpmevent22h": 5, "1846": 5, "mhpmevent23": 5, "823": 5, "mhpmevent23h": 5, "1847": 5, "mhpmevent24": 5, "824": 5, "mhpmevent24h": 5, "1848": 5, "mhpmevent25": 5, "825": 5, "mhpmevent25h": 5, "1849": 5, "mhpmevent26": 5, "826": 5, "mhpmevent26h": 5, "1850": 5, "mhpmevent27": 5, "827": 5, "mhpmevent27h": 5, "1851": 5, "mhpmevent28": 5, "828": 5, "mhpmevent28h": 5, "1852": 5, "mhpmevent29": 5, "829": 5, "mhpmevent29h": 5, "1853": 5, "mhpmevent3": 5, "803": 5, "mhpmevent30": 5, "830": 5, "mhpmevent30h": 5, "1854": 5, "mhpmevent31": 5, "831": 5, "mhpmevent31h": 5, "1855": 5, "mhpmevent3h": 5, "1827": 5, "mhpmevent4": 5, "804": 5, "mhpmevent4h": 5, "1828": 5, "mhpmevent5": 5, "805": 5, "mhpmevent5h": 5, "1829": 5, "mhpmevent6": 5, "806": 5, "mhpmevent6h": 5, "1830": 5, "mhpmevent7": 5, "807": 5, "mhpmevent7h": 5, "1831": 5, "mhpmevent8": 5, "808": 5, "mhpmevent8h": 5, "1832": 5, "mhpmevent9": 5, "809": 5, "mhpmevent9h": 5, "1833": 5, "mideleg": 5, "771": 5, "mie": 5, "772": 5, "mimpid": 5, "3859": 5, "minstret": 5, "2818": 5, "minstreth": 5, "2946": 5, "mip": [5, 28], "836": 5, "misa": 5, "769": 5, "mncaus": 5, "1858": 5, "mnepc": 5, "1857": 5, "mnscratch": 5, "1856": 5, "mnstatu": 5, "1860": 5, "mscratch": 5, "832": 5, "mseccfg": 5, "1863": 5, "mseccfgh": 5, "1879": 5, "mstateen0": 5, "780": 5, "mstateen0h": 5, "796": 5, "mstateen1": 5, "781": 5, "mstateen1h": 5, "797": 5, "mstateen2": 5, "782": 5, "mstateen2h": 5, "798": 5, "mstateen3": 5, "783": 5, "mstateen3h": 5, "799": 5, "mstatu": 5, "768": 5, "mstatush": 5, "784": 5, "mtinst": 5, "842": 5, "mtval": 5, "835": 5, "mtval2": 5, "843": 5, "mtvec": 5, "773": 5, "mvendorid": 5, "3857": 5, "pmpaddr0": 5, "944": 5, "pmpaddr1": 5, "945": 5, "pmpaddr10": 5, "954": 5, "pmpaddr11": 5, "955": 5, "pmpaddr12": 5, "956": 5, "pmpaddr13": 5, "957": 5, "pmpaddr14": 5, "958": 5, "pmpaddr15": 5, "959": 5, "pmpaddr16": 5, "960": 5, "pmpaddr17": 5, "961": 5, "pmpaddr18": 5, "962": 5, "pmpaddr19": 5, "963": 5, "pmpaddr2": 5, "946": 5, "pmpaddr20": 5, "964": 5, "pmpaddr21": 5, "965": 5, "pmpaddr22": 5, "966": 5, "pmpaddr23": 5, "967": 5, "pmpaddr24": 5, "968": 5, "pmpaddr25": 5, "969": 5, "pmpaddr26": 5, "970": 5, "pmpaddr27": 5, "971": 5, "pmpaddr28": 5, "972": 5, "pmpaddr29": 5, "973": 5, "pmpaddr3": 5, "947": 5, "pmpaddr30": 5, "974": 5, "pmpaddr31": 5, "975": 5, "pmpaddr32": 5, "976": 5, "pmpaddr33": 5, "977": 5, "pmpaddr34": 5, "978": 5, "pmpaddr35": 5, "979": 5, "pmpaddr36": 5, "980": 5, "pmpaddr37": 5, "981": 5, "pmpaddr38": 5, "982": 5, "pmpaddr39": 5, "983": 5, "pmpaddr4": 5, "948": 5, "pmpaddr40": 5, "984": 5, "pmpaddr41": 5, "985": 5, "pmpaddr42": 5, "986": 5, "pmpaddr43": 5, "987": 5, "pmpaddr44": 5, "988": 5, "pmpaddr45": 5, "989": 5, "pmpaddr46": 5, "990": 5, "pmpaddr47": 5, "991": 5, "pmpaddr48": 5, "992": 5, "pmpaddr49": 5, "993": 5, "pmpaddr5": 5, "949": 5, "pmpaddr50": 5, "994": 5, "pmpaddr51": 5, "995": 5, "pmpaddr52": 5, "996": 5, "pmpaddr53": 5, "997": 5, "pmpaddr54": 5, "998": 5, "pmpaddr55": 5, "999": 5, "pmpaddr56": 5, "1000": 5, "pmpaddr57": 5, "1001": 5, "pmpaddr58": 5, "1002": 5, "pmpaddr59": 5, "1003": 5, "pmpaddr6": 5, "950": 5, "pmpaddr60": 5, "1004": 5, "pmpaddr61": 5, "1005": 5, "pmpaddr62": 5, "1006": 5, "pmpaddr63": 5, "1007": 5, "pmpaddr7": 5, "951": 5, "pmpaddr8": 5, "952": 5, "pmpaddr9": 5, "953": 5, "pmpcfg0": 5, "928": 5, "pmpcfg1": 5, "929": 5, "pmpcfg10": 5, "938": 5, "pmpcfg11": 5, "939": 5, "pmpcfg12": 5, "940": 5, "pmpcfg13": 5, "941": 5, "pmpcfg14": 5, "942": 5, "pmpcfg15": 5, "943": 5, "pmpcfg2": 5, "930": 5, "pmpcfg3": 5, "931": 5, "pmpcfg4": 5, "932": 5, "pmpcfg5": 5, "933": 5, "pmpcfg6": 5, "934": 5, "pmpcfg7": 5, "935": 5, "pmpcfg8": 5, "936": 5, "pmpcfg9": 5, "937": 5, "satp": 5, "384": 5, "scaus": 5, "322": 5, "scontext": 5, "1448": 5, "scounteren": 5, "262": 5, "scountinhibit": 5, "288": 5, "scountovf": 5, "3488": 5, "senvcfg": 5, "266": 5, "sepc": 5, "321": 5, "sie": 5, "260": 5, "sip": 5, "324": 5, "sscratch": 5, "320": 5, "ssp": 5, "17": 5, "sstateen0": 5, "268": 5, "sstateen1": 5, "269": 5, "sstateen2": 5, "270": 5, "sstateen3": 5, "271": 5, "sstatu": 5, "256": 5, "stval": 5, "323": 5, "stvec": 5, "261": 5, "tdata1": 5, "1953": 5, "tdata2": 5, "1954": 5, "tdata3": 5, "1955": 5, "time": [5, 7, 11, 19, 28], "3073": 5, "timeh": 5, "3201": 5, "tselect": 5, "1952": 5, "vsatp": 5, "640": 5, "vscaus": 5, "578": 5, "vsepc": 5, "577": 5, "vsie": 5, "516": 5, "vsip": 5, "580": 5, "vsscratch": 5, "576": 5, "vsstatu": 5, "512": 5, "vstval": 5, "579": 5, "vstvec": 5, "517": 5, "__new__": [5, 13, 14], "valu": [5, 6, 7, 9, 10, 13, 14, 15, 18, 19, 21, 22, 23, 30, 32, 33], "mstatusfieldoffset": 5, "f": [5, 23, 25, 34], "mbe": 5, "37": 5, "mpie": 5, "7": [5, 16], "mpp": 5, "mprv": 5, "mxr": 5, "19": 5, "sbe": 5, "36": 5, "sd": 5, "spie": 5, "5": [5, 13, 31], "spp": 5, "8": [5, 13, 14, 16, 19], "sum": 5, "18": [5, 16], "sxl": 5, "34": 5, "tsr": 5, "22": 5, "tvm": 5, "20": 5, "tw": 5, "21": 5, "ub": 5, "6": [5, 28], "uxl": 5, "9": 5, "x": 5, "intflag": [5, 13, 14], "enum": [5, 9, 10, 13, 14, 18, 21], "avail": [5, 19, 21, 23, 25, 26, 34], "A": [5, 7, 18, 19, 34], "atom": [5, 32], "b": 5, "manipul": 5, "compress": [5, 11], "instruct": [5, 6, 7, 9, 10, 11, 13, 18, 21, 22, 23, 27, 28, 31, 32, 34], "d": 5, "doubl": [5, 21, 28], "precis": [5, 28, 34], "float": [5, 14], "point": [5, 14, 28, 30, 34], "64": [5, 19], "e": [5, 10, 25, 28, 30], "reduc": [5, 28], "integ": [5, 13], "singl": [5, 9, 10, 13, 16, 18, 21, 22, 23], "g": [5, 10, 25, 28, 30], "98366": 5, "gener": [5, 6, 7, 10, 11, 13, 15, 16, 19, 21, 23, 25, 26, 28, 30, 34], "contain": [5, 25, 34], "all": [5, 15, 19, 22, 25, 27, 28, 30], "basic": [5, 11, 34], "full": [5, 18, 25, 27, 28, 34], "j": 5, "1024": 5, "dynam": [5, 28], "languag": [5, 18], "l": [5, 25], "decim": 5, "m": [5, 15, 19, 21, 22, 25, 28, 34], "divis": 5, "n": [5, 13, 16], "16384": 5, "user": [5, 28, 34], "level": [5, 19, 22, 26, 28, 34], "interrupt": [5, 22, 27], "p": [5, 25], "4096": 5, "pack": 5, "simd": 5, "q": 5, "quad": 5, "t": [5, 7, 10, 11, 15, 25, 28, 30, 32, 34], "2048": 5, "transact": [5, 10, 14, 19, 21, 25, 27, 32], "memori": [5, 11, 15, 19, 28], "8192": 5, "vector": [5, 23, 27, 28], "xintmachinemod": 5, "8589934592": 5, "intern": [5, 22, 27], "categor": 5, "machin": [5, 18], "mode": [5, 10, 25, 28], "privilieg": 5, "xintsupervisor": 5, "17179869184": 5, "supervisor": 5, "zam": 5, "2097152": 5, "misalign": 5, "zba": 5, "268435456": 5, "extend": [5, 30], "shift": [5, 12, 13], "zbb": 5, "536870912": 5, "1073741824": 5, "carri": [5, 13, 34], "less": [5, 13], "2147483648": 5, "zdinx": 5, "33554432": 5, "support": [5, 10, 15, 21, 23, 25, 27], "regist": [5, 10, 21, 22, 23, 28, 31], "zfh": 5, "4194304": 5, "half": 5, "zfhmin": 5, "8388608": 5, "minim": 5, "zfinx": 5, "16777216": 5, "zhinx": 5, "67108864": 5, "zicntr": 5, "524288": 5, "enabl": [5, 18], "counter": [5, 7, 21, 22, 25], "timer": [5, 21], "zicsr": 5, "32768": 5, "control": [5, 10, 11, 19, 22, 34], "statu": [5, 21], "zifencei": 5, "65536": 5, "fenc": [5, 10], "zihintntl": 5, "262144": 5, "non": [5, 11, 32], "tempor": 5, "local": [5, 22, 25], "hint": 5, "zihintpaus": 5, "131072": 5, "send": [5, 6, 10, 11, 15, 19, 23], "paus": 5, "energi": 5, "zihpm": 5, "1048576": 5, "hardwar": [5, 27, 31], "perform": [5, 10, 11, 13, 16, 21, 23, 25, 34], "zmmul": 5, "134217728": 5, "ztso": 5, "4294967296": 5, "total": 5, "store": [5, 6, 15, 22, 28, 32, 33], "object": [5, 9, 10, 13, 14, 15, 18, 19, 34], "gather": 5, "numer": 5, "val": 5, "correspond": [5, 32], "val_log": 5, "field": [5, 10, 15, 18, 21, 25, 32, 33], "provid": [5, 10, 13, 15, 18, 21, 22, 23, 34], "relev": 5, "attribut": [5, 9, 10, 13, 14, 15, 16, 18, 19, 21, 22], "xlen": [5, 10, 13, 21], "int": [5, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21], "nativ": 5, "width": [5, 11, 13, 14, 16, 19, 21], "reg_cnt": 5, "number": [5, 14, 15, 16, 18, 19, 22, 25, 28, 34], "ilen": [5, 10], "maximum": [5, 34], "length": [5, 18, 28], "csr_alen": [5, 10], "address": [5, 9, 10, 15, 18, 19, 21, 27, 28], "form": [5, 10, 21, 28, 34], "bitwis": 5, "isa_str": 5, "str": [5, 7, 11, 19, 21], "paramet": [5, 6, 7, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23], "string": 5, "identifi": [5, 10, 11, 32], "pleas": [5, 25, 30], "refer": 5, "gcc": 5, "": [5, 9, 11, 19, 28], "depend": [5, 11, 21, 27], "option": [5, 10, 13, 18, 19, 21, 25], "detail": [5, 22, 27], "exceptioncaus": 5, "breakpoint": 5, "environment_call_from_m": 5, "environment_call_from_": 5, "environment_call_from_u": 5, "illegal_instruct": 5, "instruction_access_fault": 5, "instruction_address_misalign": 5, "instruction_page_fault": 5, "load_access_fault": 5, "load_address_misalign": 5, "load_page_fault": 5, "store_access_fault": 5, "store_address_misalign": 5, "store_page_fault": 5, "fencefm": [5, 10], "none": [5, 7, 8, 10, 11, 13, 15, 18, 21], "tso": 5, "fencetarget": [5, 10], "dev_i": 5, "dev_o": 5, "mem_r": 5, "mem_w": 5, "funct12": [5, 10], "clz": 5, "cpop": 5, "ctz": 5, "1537": 5, "ebreak": 5, "ecal": 5, "mret": [5, 13, 22], "orcb": 5, "647": 5, "rev8_32": 5, "1688": 5, "rev8_64": 5, "1720": 5, "sextb": 5, "sexth": 5, "sret": 5, "258": 5, "wfi": [5, 13], "zexth": 5, "funct3": [5, 10, 13, 15, 18], "add": 5, "AND": 5, "andn": 5, "bclr": [5, 13], "beq": 5, "bext": [5, 13], "bge": 5, "bgeu": 5, "binv": [5, 13], "blt": 5, "bltu": 5, "bne": 5, "bset": [5, 13], "clmul": [5, 13], "clmulh": [5, 13], "clmulr": [5, 13], "csrrc": 5, "csrrci": 5, "csrr": 5, "csrrsi": 5, "csrrw": 5, "csrrwi": 5, "div": [5, 13], "divu": [5, 13], "divuw": 5, "divw": 5, "fencei": [5, 13], "h": [5, 28], "hu": 5, "jalr": [5, 11], "max": [5, 34], "maxu": 5, "min": 5, "minu": 5, "mul": [5, 13], "mulh": [5, 13], "mulhsu": [5, 13], "mulhu": [5, 13], "mulw": 5, "OR": 5, "orn": 5, "rem": [5, 13], "remu": [5, 13], "remuw": 5, "remw": 5, "rev8": 5, "rol": 5, "ror": 5, "sh1add": 5, "sh2add": 5, "sh3add": 5, "sll": 5, "slt": 5, "sltu": 5, "sr": 5, "sub": 5, "w": [5, 28], "xnor": 5, "xor": 5, "funct7": [5, 10, 13, 18], "52": 5, "48": 5, "muldiv": 5, "sa": 5, "sfencevma": 5, "sl": 5, "instrtyp": [5, 10], "u": [5, 28, 34], "interruptcausenumb": 5, "mei": 5, "msi": 5, "mti": 5, "sei": 5, "ssi": 5, "sti": 5, "opcod": [5, 10, 18, 32, 33], "auipc": 5, "branch": [5, 11, 28, 34], "24": [5, 14], "jal": [5, 11], "27": 5, "25": 5, "load": [5, 15, 28], "load_fp": 5, "lui": 5, "misc_mem": 5, "op": 5, "op32": 5, "op_imm": 5, "op_imm_32": 5, "reserv": [5, 27, 28], "store_fp": 5, "system": [5, 34], "28": [5, 28], "privilegelevel": 5, "a0": 5, "a1": 5, "a2": 5, "a3": 5, "a4": 5, "a5": 5, "a6": 5, "a7": 5, "fp": 5, "gp": [5, 13], "ra": 5, "s0": 5, "s1": 5, "s10": 5, "26": 5, "s11": 5, "s2": 5, "s3": 5, "s4": 5, "s5": 5, "s6": 5, "s7": 5, "23": 5, "s8": 5, "s9": 5, "sp": 5, "t0": 5, "t1": 5, "t2": 5, "t3": 5, "t4": 5, "29": 5, "t5": 5, "30": [5, 28], "t6": 5, "tp": 5, "x1": 5, "x10": 5, "x11": 5, "x12": 5, "x13": 5, "x14": 5, "x15": 5, "x16": 5, "x17": 5, "x18": 5, "x19": 5, "x2": 5, "x20": 5, "x21": 5, "x22": 5, "x23": 5, "x24": 5, "x25": 5, "x26": 5, "x27": 5, "x28": 5, "x29": 5, "x3": 5, "x30": 5, "x31": 5, "x4": 5, "x5": 5, "x6": 5, "x7": 5, "x8": 5, "x9": 5, "zero": [5, 10, 22, 32], "xlenencod": 5, "w128": 5, "w32": 5, "w64": 5, "cfityp": 5, "type": [5, 10, 11, 13, 18, 25], "flow": [5, 11], "There": 5, "main": [5, 25, 28, 31, 34], "invalid": [5, 33], "call": [5, 7, 18, 21, 22, 23, 25, 30, 32], "ret": 5, "just": [5, 25], "special": 5, "respect": [5, 21], "thu": 5, "encod": [5, 10, 18, 28], "wa": [5, 10, 11, 21, 22, 25, 28], "chosen": [5, 28], "wai": [5, 7, 13, 19, 25, 28, 34], "suffici": 5, "check": [5, 11, 14, 15, 25, 28, 30, 32, 33, 34], "lowest": 5, "two": [5, 7, 21, 28, 30, 34], "third": 5, "about": [5, 11, 18, 25, 27], "becaus": [5, 28], "tweak": 5, "helper": 5, "function": [5, 10, 13, 18, 21, 23, 28, 30], "prefer": [5, 19], "us": [5, 6, 7, 10, 11, 13, 15, 16, 18, 19, 21, 22, 23, 27, 28, 30, 34], "cfi": [5, 11], "static": [5, 18], "is_branch": 5, "amaranth": [5, 7, 9, 10, 11, 13, 18, 19, 21, 30, 34], "hdl": [5, 7, 9, 10, 13, 18, 21], "_ast": [5, 7, 9, 10, 13, 18, 21], "valuecast": [5, 9, 10, 18, 21], "is_jal": 5, "is_jalr": 5, "valid": [5, 13, 19, 23, 32], "do": [5, 10, 28, 30], "confus": 5, "address_gener": 5, "arithmet": [5, 14], "bit_manipul": 5, "bit_rot": 5, "compar": [5, 27], "csr_imm": 5, "csr_reg": 5, "div_rem": 5, "caus": [5, 18, 22, 28], "befor": [5, 15, 19, 22, 25, 30, 31], "execut": [5, 6, 13, 19, 23, 25, 27, 31, 33], "logic": [5, 15, 28, 33, 34], "33": 5, "single_bit_manipul": 5, "unary_bit_manipulation_1": 5, "unary_bit_manipulation_2": 5, "unary_bit_manipulation_3": 5, "unary_bit_manipulation_4": 5, "unary_bit_manipulation_5": 5, "unknown": [5, 25], "resultannounc": 6, "elaborat": [6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23], "simpl": [6, 7, 10, 15, 21, 23], "It": [6, 10, 11, 13, 15, 16, 18, 19, 21, 23, 25, 28, 31, 32, 34], "take": [6, 10, 14, 19, 31, 32], "its": [6, 10, 18, 21, 23, 28, 34], "mark": [6, 27, 28], "complet": [6, 19, 21, 28], "also": [6, 11, 18, 25, 34], "sent": [6, 19], "get_result": [6, 17], "serial": [6, 11, 15], "so": [6, 18, 19, 28, 34], "we": [6, 7, 19, 28, 31, 32, 33, 34], "more": [6, 21, 25, 27, 28], "than": [6, 28], "connect": [6, 10, 19, 21, 28], "manytooneconnecttran": 6, "fifo": [6, 28], "rob_mark_don": 6, "rs_updat": 6, "rf_write": 6, "instanc": [6, 7, 10, 11, 15, 18, 23, 34], "next": [6, 7, 10, 11, 23, 28], "readi": [6, 7, 19, 21, 23, 27, 32], "assum": [6, 13, 28], "differ": [6, 13, 19, 25, 26, 28, 30, 34], "end": [6, 15, 28], "without": [6, 23, 28], "pass": [6, 25, 34], "finish": [6, 19, 22], "debug_sign": 6, "rob_peek": 6, "rob_retir": 6, "r_rat_commit": 6, "r_rat_peek": 6, "free_rf_put": 6, "rf_free": 6, "exception_cause_get": 6, "exception_cause_clear": 6, "frat_renam": 6, "fetch_continu": 6, "instr_decr": 6, "trap_entri": 6, "async_interrupt_caus": 6, "cacheinterfac": [7, 11], "associ": [7, 18], "replac": [7, 16, 18, 21, 32], "polici": 7, "pseudo": 7, "random": 7, "scheme": 7, "everi": [7, 13, 19, 25, 34], "trash": 7, "select": [7, 10, 13, 17, 19, 23, 25], "keep": 7, "global": [7, 28], "abstract": [7, 16, 18, 34], "awai": 7, "need": [7, 11, 18, 19, 25, 28, 32], "refiller_start": 7, "whenev": [7, 18], "refiller_accept": 7, "written": [7, 21, 33, 34], "last": [7, 22, 23], "when": [7, 15, 18, 19, 22, 25, 28, 30, 32, 33], "either": [7, 18, 19, 22], "transfer": [7, 19], "over": [7, 21], "shouldn": [7, 34], "until": [7, 11, 28], "start": [7, 13, 15, 19, 22, 28], "layout": [7, 10, 11, 14, 19, 23, 25, 30], "icachelayout": 7, "icacheparamet": [7, 18], "cacherefillerinterfac": 7, "creat": [7, 16, 18, 19, 25, 34], "input": [7, 10, 13, 14, 19, 21, 22, 28, 32, 33], "start_refil": 7, "accept_refil": 7, "deserialize_addr": 7, "raw_addr": 7, "dict": [7, 19], "serialize_addr": 7, "addr": [7, 15, 19], "view": [7, 13, 15], "icachebypass": 7, "bus_mast": 7, "busmasterinterfac": [7, 9, 15, 19], "haselabor": [7, 17, 19], "protocol": [7, 17, 19], "whole": [7, 26, 28], "given": [7, 9, 15, 18, 21, 25, 32], "simplecommonbuscacherefil": 7, "frat": 8, "rrat": 8, "registerfil": 8, "reorderbuff": [8, 22], "corefrontend": 9, "consume_instr": 9, "consum": [9, 11], "resume_from_except": 9, "resum": 9, "pc": [9, 27], "resume_from_unsaf": 9, "unsaf": 9, "stall": [9, 19, 28], "instr_bu": 9, "frontendparam": 9, "fb_addr": 9, "fb_instr_idx": 9, "pc_from_fb": 9, "decodestag": 10, "instanti": 10, "instrdecod": 10, "make": [10, 13, 25, 26, 28, 30, 34], "actual": [10, 25, 27], "combinatori": 10, "manner": [10, 19], "get_raw": 10, "push_decod": 10, "raw": 10, "previou": [10, 11, 14, 19, 28], "step": [10, 11, 23, 25, 28, 34], "fetchlayout": [10, 11], "describ": [10, 11, 15, 23, 28, 34], "decodelayout": [10, 23], "elementari": 10, "etc": 10, "via": [10, 22], "signal": [10, 13, 15, 19, 21, 22, 27, 30], "gen": [10, 13, 16], "out": [10, 13, 16, 19, 22, 26, 27], "funct3_v": 10, "seven": 10, "funct7_v": 10, "twelv": 10, "funct12_v": 10, "rd": [10, 18], "reg_cnt_log": 10, "rd_v": 10, "rs1": [10, 18], "hold": [10, 18, 19], "first": [10, 13, 15, 21, 23, 28, 32, 33, 34], "rs1_v": 10, "rs2": [10, 18], "second": [10, 13, 21, 23, 32, 33, 34], "rs2_v": 10, "imm": [10, 18], "immedi": [10, 18, 19], "were": [10, 28], "succ": 10, "successor": 10, "pred": 10, "predecessor": 10, "fm": 10, "sourc": [10, 21, 23, 25, 32], "defin": [10, 15, 21], "kind": [10, 13, 23], "illeg": [10, 18], "success": [10, 19], "fit": 10, "constructor": 10, "repres": [10, 21], "exist": 10, "instr_type_overrid": 10, "specifi": [10, 19, 21, 33], "determin": [10, 11, 28, 34], "instrust": 10, "almost": 10, "correct": [10, 11, 15, 28, 32, 33, 34], "rd_zero": 10, "bool": [10, 15, 18, 21], "constant": 10, "other": [10, 18, 21, 25, 27], "accordingli": 10, "default": [10, 19, 21, 25], "fals": [10, 13, 15, 25], "rs1_zero": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": [10, 19], "list": [10, 13, 18, 19, 25, 27, 30, 34], "tupl": [10, 11, 13, 19, 21, 23], "is_instr_compress": 10, "fetchunit": 11, "superscalar": 11, "respons": [11, 13, 15, 19, 23, 25], "retriev": [11, 15], "them": [11, 25, 28, 34], "work": [11, 23, 28, 30, 34], "chunk": 11, "fetch_block_byt": 11, "relat": [11, 28], "how": [11, 18, 21, 25, 28, 32, 34], "mani": [11, 18, 21, 25, 28, 34], "onc": [11, 34], "vari": 11, "deal": 11, "expand": 11, "manag": [11, 13, 25, 27], "aren": [11, 28], "boundari": [11, 28], "cont": 11, "predecod": 11, "analysi": [11, 27], "jump": [11, 18, 28], "find": [11, 25, 28], "target": [11, 34], "Its": [11, 14, 15, 31], "role": 11, "give": 11, "quick": 11, "feedback": 11, "potenti": [11, 31], "predictor": 11, "help": [11, 25, 28], "redirect": 11, "promptli": 11, "predictioncheck": 11, "predict": 11, "checker": [11, 15], "look": [11, 28], "taken": [11, 21, 23, 34], "mistak": [11, 30], "ones": 11, "wrong": [11, 28], "element": [11, 28], "dispatch": [11, 28, 31, 32, 33], "new": [11, 13, 15, 19, 22, 27, 28], "batch": 11, "onli": [11, 13, 18, 19, 21, 22, 28, 34], "temporari": [11, 21], "workaround": 11, "buffer": [11, 19, 28, 32], "rest": 11, "becom": [11, 19], "elem_layout": 11, "lib": [11, 21], "structlayout": [11, 15], "collect": [11, 26, 34], "abc": [11, 18], "iter": [11, 17, 18], "shapelik": 11, "layoutlist": 11, "fpu": [12, 13], "fpu_common": [12, 13], "fpu_error_modul": [12, 13], "fpu_rounding_modul": [12, 13], "lsu": [12, 13], "dummylsu": [12, 13], "lsu_request": [12, 13], "pma": [12, 13], "unsigned_multipl": [12, 13], "common": [12, 13, 19], "fast_recurs": [12, 13], "sequenc": [12, 13, 23], "alucompon": 13, "functionalcomponentparam": [13, 15, 18], "zba_en": 13, "zbb_enabl": 13, "get_modul": [13, 15, 18], "funcunit": [13, 15, 17, 18], "get_optyp": [13, 15, 18], "alufuncunit": 13, "alu_fn": 13, "alufn": 13, "divcompon": 13, "ipc": [13, 34], "div_fn": 13, "divfn": 13, "decodermanag": 13, "fn": 13, "get_instruct": 13, "implement": [13, 15, 19, 21, 26, 27, 28, 31], "format": [13, 25, 34], "divunit": 13, "get_input": 13, "arg": [13, 19], "exceptionfuncunit": 13, "unit_fn": 13, "exceptionunitfn": 13, "exceptionunitcompon": 13, "jumpbranchfuncunit": 13, "jb_fn": 13, "jumpbranchfn": 13, "jumpcompon": 13, "mulcompon": 13, "mul_unit_typ": 13, "multyp": 13, "dsp_width": [13, 16], "mul_fn": 13, "mulfn": 13, "hot": [13, 28], "wire": 13, "recursive_mul": 13, "fastest": 13, "multipli": [13, 16], "costli": [13, 28], "term": 13, "resourc": [13, 22, 28, 34], "sequence_mul": 13, "dsp": [13, 16], "balanc": 13, "between": [13, 15, 25, 28], "cost": [13, 27], "shift_mul": 13, "cheapest": 13, "russian": [13, 16], "peasant": [13, 16], "algorithm": [13, 16], "mulunit": 13, "unsign": [13, 16], "standard": [13, 22, 28, 34], "funcunitlayout": [13, 23], "comput": [13, 16, 18, 22, 28], "mul_typ": 13, "privilegedfn": 13, "classmethod": 13, "privilegedfuncunit": 13, "privilegedunitcompon": 13, "shiftfuncunit": 13, "shift_unit_fn": 13, "shiftunitfn": 13, "shiftunitcompon": 13, "clmultipli": 13, "product": 13, "i1": [13, 16], "factor": 13, "i2": [13, 16], "reset": [13, 21, 27], "busi": 13, "while": 13, "progress": 13, "bit_width": [13, 21], "recursion_depth": 13, "depth": [13, 15, 19, 34], "recurs": [13, 16, 34], "parallel": 13, "power": 13, "iterative_modul": 13, "recursive_modul": 13, "zbccompon": 13, "zbc_fn": 13, "zbcfn": 13, "zbcunit": 13, "zbsfunction": 13, "in1": 13, "in2": 13, "zbscompon": 13, "zbsunit": 13, "zbs_fn": 13, "division_by_zero": 14, "inexact": 14, "invalid_oper": 14, "overflow": [14, 21], "underflow": 14, "fpuparam": 14, "sig_width": 14, "significand": 14, "includ": [14, 15, 34], "implicit": 14, "exp_width": 14, "expon": 14, "roundingmod": 14, "round_down": 14, "round_nearest_awai": 14, "round_nearest_even": 14, "round_up": 14, "round_zero": 14, "fpuerrormethodlayout": 14, "fpu_param": 14, "input_inf": 14, "flag": 14, "come": 14, "purpos": [14, 28], "indic": [14, 15, 28, 33], "infin": 14, "fpuerrormodul": 14, "round": [14, 19], "error_checking_request": 14, "initi": [14, 19, 27], "error_in_layout": 14, "argument": [14, 19, 23, 25, 33, 34], "final": 14, "error_out_layout": 14, "fpuroudningmethodlayout": 14, "fpuround": 14, "rounding_request": 14, "rounding_in_layout": 14, "rounding_out_layout": 14, "lsucompon": 15, "lsudummi": 15, "veri": [15, 28], "isn": [15, 34], "compliant": [15, 34], "riscv": [15, 18, 34], "spec": [15, 22], "doesn": [15, 28, 30], "rang": 15, "processor": [15, 26, 27, 31], "master": [15, 19, 34], "lsurequest": 15, "job": [15, 28], "resili": 15, "check_align": 15, "tmodul": [15, 19, 21, 22], "postprocess_load_data": 15, "modulelik": 15, "raw_data": 15, "prepare_bytes_mask": 15, "prepare_data_to_sav": 15, "pmacheck": 15, "physic": [15, 23, 28], "mai": [15, 18, 25], "part": [15, 18, 21, 22, 28, 31], "combin": [15, 30], "circuit": [15, 34], "pmalayout": 15, "pmaregion": 15, "contigu": 15, "region": [15, 28], "both": [15, 21, 32], "begin": [15, 28], "mmio": 15, "true": [15, 18, 19, 21], "dspmulunit": 16, "clock": [16, 31, 34], "design": [16, 28], "synthesi": [16, 27], "tool": [16, 25, 34], "o": [16, 28], "same": [16, 18, 21, 25], "mulbaseunsign": 16, "unsignedmulunitlayout": 16, "recursiveunsignedmul": 16, "see": [16, 22, 30, 34], "fast": 16, "within": [16, 25], "pipelinedunsignedmul": 16, "dsp_number": 16, "sequentialunsignedmul": 16, "sequenti": [16, 19], "classic": [16, 28], "shiftunsignedmul": 16, "cheap": 16, "multi": 16, "funcblocksunifi": 17, "blockcomponentparam": [17, 18], "funcblock": [17, 18, 23], "insert": [17, 22, 23, 27, 28, 31, 32], "coreconfigur": 18, "_coreconfigurationdataclass": 18, "kwarg": [18, 19], "self": 18, "get_rs_entry_count": 18, "optypes_support": 18, "dependentcach": 18, "cfg": 18, "addr_width": [18, 19], "word_width": 18, "word": 18, "num_of_wai": 18, "num_of_sets_bit": 18, "log": [18, 19, 28], "line_bytes_log": 18, "disabl": 18, "bypass": 18, "fetch_block_bytes_log": 18, "python": [18, 25], "model": 18, "stefan": 18, "wallentowitz": 18, "http": [18, 34], "github": [18, 26, 34], "com": [18, 34], "wallento": 18, "btypeinstr": 18, "instructionfunct3typ": 18, "posit": [18, 23, 32, 33], "where": [18, 19, 23, 25, 28, 32, 33], "would": [18, 25, 28], "map": [18, 21, 27, 28], "sign": 18, "whether": [18, 34], "skip": 18, "exampl": [18, 21, 25, 27, 32], "signific": 18, "affect": [18, 34], "procedur": [18, 28], "extern": [18, 27, 34], "static_valu": 18, "ebreakinstr": 18, "itypeinstr": 18, "illegalinstr": 18, "riscvinstr": 18, "cat": [18, 34], "const": 18, "d1": 18, "jtypeinstr": 18, "as_valu": 18, "convert": 18, "concret": 18, "usual": [18, 28], "deleg": 18, "must": [18, 19], "idempot": 18, "twice": 18, "exactli": 18, "code": [18, 25, 26, 28, 30, 34], "recogn": 18, "cast": 18, "rais": [18, 28], "convers": 18, "cannot": 18, "done": [18, 28, 34], "propag": 18, "caller": [18, 25], "directli": 18, "recommend": 18, "shape": 18, "itself": [18, 28], "discov": 18, "castabl": 18, "subclass": 18, "richer": 18, "represent": 18, "shapecast": 18, "condit": [18, 25], "rtypeinstr": 18, "instructionfunct7typ": 18, "stypeinstr": 18, "utypeinstr": 18, "axiliteinterfac": 19, "abstractinterfac": 19, "abstractsignatur": 19, "read_address": 19, "axilitereadaddressinterfac": 19, "read_data": 19, "axilitereaddatainterfac": 19, "write_address": 19, "axilitewriteaddressinterfac": 19, "write_data": 19, "axilitewritedatainterfac": 19, "write_respons": 19, "axilitewriteresponseinterfac": 19, "axilitemast": 19, "axi": 19, "lite": 19, "axil_param": 19, "axiliteparamet": 19, "ra_request": 19, "channel": 19, "being": [19, 25], "ra_request_layout": 19, "rd_respons": 19, "availab": 19, "state": [19, 22, 27, 28], "rd_response_layout": 19, "wa_request": 19, "wa_request_layout": 19, "wd_request": 19, "wd_request_layout": 19, "wr_respons": 19, "wr_response_layout": 19, "axil_mast": 19, "result_handl": 19, "start_request_transact": 19, "is_address_channel": 19, "state_machine_request": 19, "request_sign": 19, "data_width": 19, "axilitesignatur": 19, "signatur": 19, "patamet": 19, "axilitemasteradapt": 19, "adapt": 19, "place": [19, 28, 32, 34], "expect": 19, "busparametersinterfac": 19, "method_layout": 19, "commonbusmastermethodlayout": 19, "request_read": 19, "underli": 19, "request_read_layout": 19, "request_writ": 19, "request_write_layout": 19, "get_read_respons": 19, "action": [19, 21], "read_response_layout": 19, "get_write_respons": 19, "write_response_layout": 19, "gain": 19, "simplifi": 19, "interchang": 19, "buse": 19, "receiv": 19, "previous": 19, "wishbonemasteradapt": 19, "wishbonemast": 19, "pipelinedwishbonemast": 19, "wb_param": 19, "wishboneparamet": 19, "max_req": 19, "limit": 19, "pend": [19, 22], "wb": 19, "request_layout": 19, "result_layout": 19, "requests_finish": 19, "generate_method_layout": 19, "wishbonearbit": 19, "arbit": 19, "slave": 19, "assert": 19, "cyc": 19, "grant": 19, "robin": 19, "num_slav": 19, "devic": 19, "slave_wb": 19, "intefac": 19, "num_mast": 19, "ack": 19, "adr": 19, "dat_r": 19, "dat_w": 19, "err": 19, "lock": [19, 25, 28], "rst": 19, "rty": 19, "stb": 19, "name": [19, 25], "wb_master": 19, "wishbonemastermethodlayout": 19, "wishbonememoryslav": 19, "underneath": 19, "keyword": 19, "thei": [19, 21, 25, 28, 31, 34], "re": [19, 28, 30], "infer": 19, "wishbonemux": 19, "muxer": 19, "multiplex": 19, "ssel_tga": 19, "corespond": 19, "tga": 19, "note": [19, 21], "stare": 19, "clear": [19, 32, 33], "delai": 19, "deassert": 19, "master_wb": 19, "singal": 19, "granular": 19, "smallest": 19, "port": 19, "capabl": 19, "wishbonesignatur": 19, "path": 19, "src_loc_at": 19, "aliasedcsr": 21, "csrregist": 21, "internalinterruptcontrol": [21, 22], "Will": 21, "soon": 21, "csr_number": 21, "virtual": [21, 25], "automat": [21, 25, 34], "csrunit": 21, "ro_bit": 21, "mask": 21, "_fu_writ": 21, "those": [21, 28], "ignor": 21, "some": [21, 28, 30], "upper": 21, "0b11": 21, "discard": 21, "init": [21, 34], "fu_write_prior": 21, "prioriti": [21, 22], "writeabl": 21, "deafult": 21, "fu_write_filtermap": 21, "valuelik": 21, "filter": [21, 25], "modifi": [21, 28], "fu_read_map": 21, "src_loc": 21, "srcloc": 21, "stack": 21, "frame": 21, "deep": 21, "locat": [21, 25, 26, 31], "altern": 21, "instead": [21, 28, 30], "add_field": 21, "bit_posit": 21, "add_read_only_field": 21, "doublecountercsr": 21, "group": 21, "increment": [21, 22], "At": 21, "low_addr": 21, "high_addr": 21, "lower": 21, "higher": 21, "synthetis": 21, "genericcsrregist": 21, "machinemodecsrregist": 21, "behaviour": [21, 34], "assign": [21, 22, 30], "csrlistkei": 21, "kei": 21, "bodi": 21, "csr_val": 21, "els": [21, 28], "side": [21, 28, 32, 33], "effect": [21, 28, 32, 33], "_fu_read": 21, "current": [21, 22, 23, 28], "read_comb": 21, "submit": 21, "combination": 21, "allow": [21, 26, 28, 34], "callabl": 21, "exceptioninformationregist": 22, "earliest": 22, "report": 22, "exceptioncauseregist": 22, "rob_get_indic": 22, "fetch_stall_except": 22, "should_update_priorii": 22, "current_caus": 22, "new_caus": 22, "coreinstructioncount": 22, "count": [22, 25], "leav": [22, 25], "decrement": 22, "compat": [22, 34], "privileg": [22, 28], "xie": 22, "xip": 22, "xstatu": 22, "interrup": 22, "plain": 22, "internal_report_level": 22, "In": [22, 23, 25, 26, 27, 33, 34], "custom_report": 22, "interrupt_custom_count": 22, "custom": 22, "edg": 22, "coreconfigr": 22, "interrupt_custom_edge_trig_mask": 22, "interrupt_insert": 22, "entri": [22, 23, 28, 31, 32, 33], "chang": [22, 25, 32], "handler": [22, 28], "exit": [22, 34], "interrupt_caus": 22, "priorit": 22, "prepar": [23, 25, 28], "alloc": [23, 31, 32, 33], "renam": [23, 31], "stuck": 23, "get_instr": 23, "get_free_reg": 23, "rat_renam": 23, "rob_put": 23, "rf_read1": 23, "rf_read2": 23, "reservation_st": 23, "decoded_instr": 23, "id": [23, 32, 33], "free": [23, 27, 28, 33], "ratlayout": 23, "rat_rename_in": 23, "rat_rename_out": 23, "roblayout": 23, "data_layout": 23, "rflayout": 23, "rf_read_out": 23, "rf_read_in": 23, "wakeupselect": 23, "wakeup": [23, 33], "firstli": 23, "get_readi": 23, "binari": [23, 34], "th": 23, "row": [23, 25, 27], "take_row": 23, "rslayout": 23, "get_ready_list_out": 23, "take_out": 23, "push": 23, "down": 23, "below": 25, "instal": [25, 34], "interpret": 25, "pip": [25, 34], "python3": [25, 34], "venv": [25, 34], "project": [25, 26, 28], "directori": [25, 26, 34], "activ": [25, 34], "bin": [25, 34], "librari": 25, "pip3": [25, 34], "dev": [25, 34], "txt": [25, 34], "riscv64": 25, "elf": 25, "binutil": 25, "your": [25, 30], "favourit": 25, "On": 25, "debian": 25, "distro": 25, "precommit": 25, "hook": 25, "pre": [25, 34], "run": [25, 34], "linter": 25, "ci": [25, 34], "intend": 25, "test": [25, 27, 30], "By": 25, "file": [25, 28, 34], "test_transact": 25, "One": [25, 28], "even": [25, 28], "testschedul": 25, "Or": 25, "test_singl": 25, "search": 25, "match": [25, 32, 33], "queri": 25, "thank": 25, "uniqu": 25, "parameter": 25, "trace": 25, "waveform": 25, "vcd": 25, "gtkw": 25, "gtkwave": 25, "__traces__": 25, "debug": 25, "driven": 25, "profil": 25, "transactron": 25, "__profile__": 25, "analyz": 25, "verbos": [25, 34], "runner": 25, "print": 25, "subcommand": 25, "filenam": 25, "reformat": 25, "black": 25, "check_format": 25, "verifi": [25, 34], "flake8": 25, "check_typ": 25, "pyright": 25, "confront": 25, "messag": 25, "you": [25, 30, 32, 34], "diff": 25, "displai": 25, "appli": [25, 28, 30], "chose": 25, "visual": 25, "architectur": [25, 28, 34], "graph": [25, 27, 34], "appropri": [25, 32], "prune": 25, "remov": [25, 28], "disconnect": 25, "node": 25, "elk": 25, "eclips": 25, "kernel": [25, 28], "dot": 25, "graphviz": 25, "mermaid": 25, "document": [25, 27], "sphinx": 25, "html": [25, 26], "build": [25, 34], "present": [25, 28], "readabl": 25, "To": [25, 28, 34], "profile_fil": 25, "json": [25, 34], "column": 25, "question": 25, "togeth": 25, "differenti": 25, "ident": 25, "declar": 25, "further": 25, "disambigu": 25, "show": 25, "could": 25, "forc": 25, "conflict": 25, "produc": 25, "tree": 25, "root": 25, "invert": 25, "children": 25, "sort": 25, "regular": 25, "express": 25, "loc": 25, "coreblock": [26, 30, 34], "go": [26, 28, 30], "microarchitectur": 26, "focu": 26, "flexibl": [26, 31], "easili": 26, "experi": 26, "doc": 26, "descript": [26, 27, 34], "overview": [26, 27, 28], "high": 26, "found": [26, 34], "version": [26, 34], "page": [26, 28, 34], "api": [26, 27], "kuznia": [26, 34], "rdzeni": [26, 34], "io": [26, 34], "introduct": 27, "assumpt": [27, 28], "made": [27, 28], "develop": 27, "environ": 27, "up": [27, 33, 34], "script": [27, 34], "run_test": [27, 34], "py": [27, 34], "lint": 27, "sh": 27, "core_graph": 27, "build_doc": 27, "tprof": 27, "schema": 27, "structur": [27, 28, 32], "proposit": [27, 28], "station": 27, "slot": 27, "tabl": 27, "substitut": 27, "clean": 27, "problem": [27, 28], "checklist": 27, "verif": 27, "manual": 27, "reproduct": 27, "benchmark": 27, "regress": 27, "summari": 27, "paper": 27, "old": 27, "softwar": 27, "tlb": 27, "strategi": 27, "igpu": 27, "specul": 27, "gpu": 27, "effici": 27, "journal": 28, "articl": 28, "choic": 28, "primari": 28, "basi": 28, "improv": 28, "pretti": 28, "1993": 28, "2001": 28, "much": 28, "research": 28, "cpu": 28, "consid": 28, "solv": 28, "try": [28, 30], "due": 28, "characterist": 28, "easi": [28, 30], "our": [28, 31, 34], "decid": [28, 31], "what": 28, "peopl": 28, "probabl": 28, "lot": 28, "worth": 28, "walker": 28, "cragon": 28, "concurr": 28, "ieee": 28, "vol": 28, "june": 28, "1995": 28, "moudgil": 28, "vassiliadi": 28, "micro": 28, "pp": 28, "58": 28, "67": 28, "februari": 28, "1996": 28, "These": [28, 34], "survei": 28, "topic": 28, "cdc": 28, "6600": 28, "ibm360": 28, "stop": 28, "crai": 28, "similar": [28, 34], "here": [28, 32], "bigger": 28, "torng": 28, "martin": 28, "dai": 28, "probe": 28, "idea": 28, "author": 28, "window": 28, "iw": 28, "didn": 28, "context": 28, "copi": 28, "restor": 28, "restart": 28, "few": 28, "big": 28, "overhead": 28, "origin": 28, "unfeas": 28, "addition": 28, "But": 28, "mayb": 28, "possibl": [28, 34], "cooper": 28, "smaller": 28, "interest": 28, "propos": 28, "nrp": 28, "No": 28, "don": [28, 30, 32], "wast": 28, "rememb": 28, "left": 28, "middl": [28, 31], "aamer": 28, "jaleel": 28, "bruce": 28, "jacob": 28, "cours": 28, "switch": [28, 32], "penalti": 28, "alpha": 28, "concentr": 28, "properti": [28, 34], "short": 28, "inlin": 28, "program": [28, 34], "observ": 28, "import": 28, "enough": 28, "live": 28, "known": 28, "fly": 28, "swap": 28, "nop": 28, "reexecut": 28, "contrast": 28, "tendenc": 28, "longer": 28, "hard": 28, "risk": 28, "linux": [28, 34], "addit": [28, 34], "hw": 28, "bore": 28, "treat": [28, 31], "mansur": 28, "samadzadeh": 28, "loai": 28, "garalnabi": 28, "checkpoint": 28, "repair": 28, "histori": 28, "reorder": 28, "futur": [28, 31, 32], "jaikrishnan": 28, "menon": 28, "marc": 28, "de": 28, "kruijf": 28, "karthikeyan": 28, "sankaralingam": 28, "2012": 28, "low": 28, "safe": 28, "rewritten": 28, "recompil": 28, "runtim": 28, "subregion": 28, "small": 28, "overrid": 28, "barrier": 28, "warp": 28, "split": [28, 31], "prevent": 28, "ivan": 28, "tanas": 28, "isaac": 28, "gelado": 28, "jorda": 28, "eduard": 28, "ayguad": 28, "nacho": 28, "navarro": 28, "2017": 28, "analys": 28, "problemat": 28, "successfulli": 28, "kill": 28, "modif": 28, "fail": 28, "repli": 28, "claim": 28, "operand": [28, 32, 33], "replai": 28, "queue": 28, "marker": 28, "jerom": 28, "hampton": 28, "2008": 28, "mention": 28, "alli": 28, "bailei": 28, "ab04": 28, "ag": 28, "younger": 28, "repeat": 28, "commun": [28, 32], "canon": 28, "eventu": 28, "someth": 30, "puzzl": 30, "why": 30, "through": 30, "sure": 30, "yield": 30, "testbenchio": 30, "notabl": 30, "settl": 30, "unexpect": 30, "ad": 30, "right": 30, "eq": 30, "record": 30, "util": 30, "statement": 30, "domain": 30, "loop": 30, "especi": 30, "simul": [30, 34], "hang": 30, "spot": 30, "yourself": 30, "fix": 30, "task": 31, "rss": 31, "phase": 31, "choos": [31, 34], "merg": 31, "optim": 31, "todo": 31, "framework": 32, "want": [32, 34], "feel": 32, "anyth": 32, "id_out": [32, 33], "id_rob": [32, 33], "id_rs1": [32, 33], "val_rs1": [32, 33], "id_rs2": [32, 33], "val_rs2": [32, 33], "fill": 32, "id_rsx": 32, "val_rsx": 32, "put": [32, 34], "releas": 32, "comparison": 32, "null": [32, 33], "woken": 33, "src1": 33, "src2": 33, "inst_readi": 33, "sever": 34, "besid": 34, "synthesis": 34, "ecp5": 34, "fpga": 34, "realiti": 34, "cocotb": 34, "assembl": 34, "deliv": 34, "histor": 34, "dedic": 34, "subpag": 34, "built": 34, "docker": 34, "publicli": 34, "subsect": 34, "recreat": 34, "command": 34, "platform": 34, "amd64": 34, "synth": 34, "latest": 34, "amaranthsynthecp5": 34, "dockerfil": 34, "complex": 34, "although": 34, "educ": 34, "practic": 34, "frequenc": 34, "too": 34, "met": 34, "cell": 34, "ram": 34, "dff": 34, "repo": 34, "sudo": 34, "pull": 34, "ghcr": 34, "rm": 34, "git": 34, "clone": 34, "cd": 34, "apt": 34, "upgrad": 34, "pythonhashse": 34, "synthes": 34, "config": 34, "parse_benchmark_info": 34, "abov": 34, "verilog": 34, "yosi": 34, "nextpnr": 34, "bitstream": 34, "strength": 34, "modular": 34, "littl": 34, "effort": 34, "gate": 34, "rout": 34, "prjtrelli": 34, "measur": 34, "theori": 34, "increas": 34, "fmax": 34, "avoid": 34, "pitfal": 34, "throughput": 34, "monitor": 34, "per": 34, "accuraci": 34, "insid": 34, "embench": 34, "compil": 34, "gnu": 34, "toolchain": 34, "glibc": 34, "subset": 34, "exact": 34, "veril": 34, "featur": 34, "stub": 34, "host": 34, "mount": 34, "subdirectori": 34, "share": 34, "surviv": 34, "close": 34, "gen_verilog": 34, "run_benchmark": 34}, "objects": {"": [[4, 0, 0, "-", "coreblocks"]], "coreblocks": [[5, 0, 0, "-", "arch"], [6, 0, 0, "-", "backend"], [7, 0, 0, "-", "cache"], [4, 0, 0, "-", "core"], [8, 0, 0, "-", "core_structs"], [9, 0, 0, "-", "frontend"], [12, 0, 0, "-", "func_blocks"], [18, 0, 0, "-", "params"], [19, 0, 0, "-", "peripherals"], [20, 0, 0, "-", "priv"], [23, 0, 0, "-", "scheduler"]], "coreblocks.arch": [[5, 0, 0, "-", "csr_address"], [5, 0, 0, "-", "isa"], [5, 0, 0, "-", "isa_consts"], [5, 0, 0, "-", "optypes"]], "coreblocks.arch.csr_address": [[5, 1, 1, "", "CSRAddress"], [5, 1, 1, "", "MstatusFieldOffsets"]], "coreblocks.arch.csr_address.CSRAddress": [[5, 2, 1, "", "COREBLOCKS_TEST_CSR"], [5, 2, 1, "", "COREBLOCKS_TEST_PRIV_MODE"], [5, 2, 1, "", "CYCLE"], [5, 2, 1, "", "CYCLEH"], [5, 2, 1, "", "DCSR"], [5, 2, 1, "", "DPC"], [5, 2, 1, "", "DSCRATCH0"], [5, 2, 1, "", "DSCRATCH1"], [5, 2, 1, "", "FCSR"], [5, 2, 1, "", "FFLAGS"], [5, 2, 1, "", "FRM"], [5, 2, 1, "", "HCONTEXT"], [5, 2, 1, "", "HCOUNTEREN"], [5, 2, 1, "", "HEDELEG"], [5, 2, 1, "", "HEDELEGH"], [5, 2, 1, "", "HENVCFG"], [5, 2, 1, "", "HENVCFGH"], [5, 2, 1, "", "HGATP"], [5, 2, 1, "", "HGEIE"], [5, 2, 1, "", "HGEIP"], [5, 2, 1, "", "HIDELEG"], [5, 2, 1, "", "HIE"], [5, 2, 1, "", "HIP"], [5, 2, 1, "", "HPMCOUNTER10"], [5, 2, 1, "", "HPMCOUNTER10H"], [5, 2, 1, "", "HPMCOUNTER11"], [5, 2, 1, "", "HPMCOUNTER11H"], [5, 2, 1, "", "HPMCOUNTER12"], [5, 2, 1, "", "HPMCOUNTER12H"], [5, 2, 1, "", "HPMCOUNTER13"], [5, 2, 1, "", "HPMCOUNTER13H"], [5, 2, 1, "", "HPMCOUNTER14"], [5, 2, 1, "", "HPMCOUNTER14H"], [5, 2, 1, "", "HPMCOUNTER15"], [5, 2, 1, "", "HPMCOUNTER15H"], [5, 2, 1, "", "HPMCOUNTER16"], [5, 2, 1, "", "HPMCOUNTER16H"], [5, 2, 1, "", "HPMCOUNTER17"], [5, 2, 1, "", "HPMCOUNTER17H"], [5, 2, 1, "", "HPMCOUNTER18"], [5, 2, 1, "", "HPMCOUNTER18H"], [5, 2, 1, "", "HPMCOUNTER19"], [5, 2, 1, "", "HPMCOUNTER19H"], [5, 2, 1, "", "HPMCOUNTER20"], [5, 2, 1, "", "HPMCOUNTER20H"], [5, 2, 1, "", "HPMCOUNTER21"], [5, 2, 1, "", "HPMCOUNTER21H"], [5, 2, 1, "", "HPMCOUNTER22"], [5, 2, 1, "", "HPMCOUNTER22H"], [5, 2, 1, "", "HPMCOUNTER23"], [5, 2, 1, "", "HPMCOUNTER23H"], [5, 2, 1, "", "HPMCOUNTER24"], [5, 2, 1, "", "HPMCOUNTER24H"], [5, 2, 1, "", "HPMCOUNTER25"], [5, 2, 1, "", "HPMCOUNTER25H"], [5, 2, 1, "", "HPMCOUNTER26"], [5, 2, 1, "", "HPMCOUNTER26H"], [5, 2, 1, "", "HPMCOUNTER27"], [5, 2, 1, "", "HPMCOUNTER27H"], [5, 2, 1, "", "HPMCOUNTER28"], [5, 2, 1, "", "HPMCOUNTER28H"], [5, 2, 1, "", "HPMCOUNTER29"], [5, 2, 1, "", "HPMCOUNTER29H"], [5, 2, 1, "", "HPMCOUNTER3"], [5, 2, 1, "", "HPMCOUNTER30"], [5, 2, 1, "", "HPMCOUNTER30H"], [5, 2, 1, "", "HPMCOUNTER31"], [5, 2, 1, "", "HPMCOUNTER31H"], [5, 2, 1, "", "HPMCOUNTER3H"], [5, 2, 1, "", "HPMCOUNTER4"], [5, 2, 1, "", "HPMCOUNTER4H"], [5, 2, 1, "", "HPMCOUNTER5"], [5, 2, 1, "", "HPMCOUNTER5H"], [5, 2, 1, "", "HPMCOUNTER6"], [5, 2, 1, "", "HPMCOUNTER6H"], [5, 2, 1, "", "HPMCOUNTER7"], [5, 2, 1, "", "HPMCOUNTER7H"], [5, 2, 1, "", "HPMCOUNTER8"], [5, 2, 1, "", "HPMCOUNTER8H"], [5, 2, 1, "", "HPMCOUNTER9"], [5, 2, 1, "", "HPMCOUNTER9H"], [5, 2, 1, "", "HSTATEEN0"], [5, 2, 1, "", "HSTATEEN0H"], [5, 2, 1, "", "HSTATEEN1"], [5, 2, 1, "", "HSTATEEN1H"], [5, 2, 1, "", "HSTATEEN2"], [5, 2, 1, "", "HSTATEEN2H"], [5, 2, 1, "", "HSTATEEN3"], [5, 2, 1, "", "HSTATEEN3H"], [5, 2, 1, "", "HSTATUS"], [5, 2, 1, "", "HTIMEDELTA"], [5, 2, 1, "", "HTIMEDELTAH"], [5, 2, 1, "", "HTINST"], [5, 2, 1, "", "HTVAL"], [5, 2, 1, "", "HVIP"], [5, 2, 1, "", "INSTRET"], [5, 2, 1, "", "INSTRETH"], [5, 2, 1, "", "MARCHID"], [5, 2, 1, "", "MCAUSE"], [5, 2, 1, "", "MCONFIGPTR"], [5, 2, 1, "", "MCONTEXT"], [5, 2, 1, "", "MCOUNTEREN"], [5, 2, 1, "", "MCOUNTINHIBIT"], [5, 2, 1, "", "MCYCLE"], [5, 2, 1, "", "MCYCLEH"], [5, 2, 1, "", "MEDELEG"], [5, 2, 1, "", "MEDELEGH"], [5, 2, 1, "", "MENVCFG"], [5, 2, 1, "", "MENVCFGH"], [5, 2, 1, "", "MEPC"], [5, 2, 1, "", "MHARTID"], [5, 2, 1, "", "MHPMCOUNTER10"], [5, 2, 1, "", "MHPMCOUNTER10H"], [5, 2, 1, "", "MHPMCOUNTER11"], [5, 2, 1, "", "MHPMCOUNTER11H"], [5, 2, 1, "", "MHPMCOUNTER12"], [5, 2, 1, "", "MHPMCOUNTER12H"], [5, 2, 1, "", "MHPMCOUNTER13"], [5, 2, 1, "", "MHPMCOUNTER13H"], [5, 2, 1, "", "MHPMCOUNTER14"], [5, 2, 1, "", "MHPMCOUNTER14H"], [5, 2, 1, "", "MHPMCOUNTER15"], [5, 2, 1, "", "MHPMCOUNTER15H"], [5, 2, 1, "", "MHPMCOUNTER16"], [5, 2, 1, "", "MHPMCOUNTER16H"], [5, 2, 1, "", "MHPMCOUNTER17"], [5, 2, 1, "", "MHPMCOUNTER17H"], [5, 2, 1, "", "MHPMCOUNTER18"], [5, 2, 1, "", "MHPMCOUNTER18H"], [5, 2, 1, "", "MHPMCOUNTER19"], [5, 2, 1, "", "MHPMCOUNTER19H"], [5, 2, 1, "", "MHPMCOUNTER20"], [5, 2, 1, "", "MHPMCOUNTER20H"], [5, 2, 1, "", "MHPMCOUNTER21"], [5, 2, 1, "", "MHPMCOUNTER21H"], [5, 2, 1, "", "MHPMCOUNTER22"], [5, 2, 1, "", "MHPMCOUNTER22H"], [5, 2, 1, "", "MHPMCOUNTER23"], [5, 2, 1, "", "MHPMCOUNTER23H"], [5, 2, 1, "", "MHPMCOUNTER24"], [5, 2, 1, "", "MHPMCOUNTER24H"], [5, 2, 1, "", "MHPMCOUNTER25"], [5, 2, 1, "", "MHPMCOUNTER25H"], [5, 2, 1, "", "MHPMCOUNTER26"], [5, 2, 1, "", "MHPMCOUNTER26H"], [5, 2, 1, "", "MHPMCOUNTER27"], [5, 2, 1, "", "MHPMCOUNTER27H"], [5, 2, 1, "", "MHPMCOUNTER28"], [5, 2, 1, "", "MHPMCOUNTER28H"], [5, 2, 1, "", "MHPMCOUNTER29"], [5, 2, 1, "", "MHPMCOUNTER29H"], [5, 2, 1, "", "MHPMCOUNTER3"], [5, 2, 1, "", "MHPMCOUNTER30"], [5, 2, 1, "", "MHPMCOUNTER30H"], [5, 2, 1, "", "MHPMCOUNTER31"], [5, 2, 1, "", "MHPMCOUNTER31H"], [5, 2, 1, "", "MHPMCOUNTER3H"], [5, 2, 1, "", "MHPMCOUNTER4"], [5, 2, 1, "", "MHPMCOUNTER4H"], [5, 2, 1, "", "MHPMCOUNTER5"], [5, 2, 1, "", "MHPMCOUNTER5H"], [5, 2, 1, "", "MHPMCOUNTER6"], [5, 2, 1, "", "MHPMCOUNTER6H"], [5, 2, 1, "", "MHPMCOUNTER7"], [5, 2, 1, "", "MHPMCOUNTER7H"], [5, 2, 1, "", "MHPMCOUNTER8"], [5, 2, 1, "", "MHPMCOUNTER8H"], [5, 2, 1, "", "MHPMCOUNTER9"], [5, 2, 1, "", "MHPMCOUNTER9H"], [5, 2, 1, "", "MHPMEVENT10"], [5, 2, 1, "", "MHPMEVENT10H"], [5, 2, 1, "", "MHPMEVENT11"], [5, 2, 1, "", "MHPMEVENT11H"], [5, 2, 1, "", "MHPMEVENT12"], [5, 2, 1, "", "MHPMEVENT12H"], [5, 2, 1, "", "MHPMEVENT13"], [5, 2, 1, "", "MHPMEVENT13H"], [5, 2, 1, "", "MHPMEVENT14"], [5, 2, 1, "", "MHPMEVENT14H"], [5, 2, 1, "", "MHPMEVENT15"], [5, 2, 1, "", "MHPMEVENT15H"], [5, 2, 1, "", "MHPMEVENT16"], [5, 2, 1, "", "MHPMEVENT16H"], [5, 2, 1, "", "MHPMEVENT17"], [5, 2, 1, "", "MHPMEVENT17H"], [5, 2, 1, "", "MHPMEVENT18"], [5, 2, 1, "", "MHPMEVENT18H"], [5, 2, 1, "", "MHPMEVENT19"], [5, 2, 1, "", "MHPMEVENT19H"], [5, 2, 1, "", "MHPMEVENT20"], [5, 2, 1, "", "MHPMEVENT20H"], [5, 2, 1, "", "MHPMEVENT21"], [5, 2, 1, "", "MHPMEVENT21H"], [5, 2, 1, "", "MHPMEVENT22"], [5, 2, 1, "", "MHPMEVENT22H"], [5, 2, 1, "", "MHPMEVENT23"], [5, 2, 1, "", "MHPMEVENT23H"], [5, 2, 1, "", "MHPMEVENT24"], [5, 2, 1, "", "MHPMEVENT24H"], [5, 2, 1, "", "MHPMEVENT25"], [5, 2, 1, "", "MHPMEVENT25H"], [5, 2, 1, "", "MHPMEVENT26"], [5, 2, 1, "", "MHPMEVENT26H"], [5, 2, 1, "", "MHPMEVENT27"], [5, 2, 1, "", "MHPMEVENT27H"], [5, 2, 1, "", "MHPMEVENT28"], [5, 2, 1, "", "MHPMEVENT28H"], [5, 2, 1, "", "MHPMEVENT29"], [5, 2, 1, "", "MHPMEVENT29H"], [5, 2, 1, "", "MHPMEVENT3"], [5, 2, 1, "", "MHPMEVENT30"], [5, 2, 1, "", "MHPMEVENT30H"], [5, 2, 1, "", "MHPMEVENT31"], [5, 2, 1, "", "MHPMEVENT31H"], [5, 2, 1, "", "MHPMEVENT3H"], [5, 2, 1, "", "MHPMEVENT4"], [5, 2, 1, "", "MHPMEVENT4H"], [5, 2, 1, "", "MHPMEVENT5"], [5, 2, 1, "", "MHPMEVENT5H"], [5, 2, 1, "", "MHPMEVENT6"], [5, 2, 1, "", "MHPMEVENT6H"], [5, 2, 1, "", "MHPMEVENT7"], [5, 2, 1, "", "MHPMEVENT7H"], [5, 2, 1, "", "MHPMEVENT8"], [5, 2, 1, "", "MHPMEVENT8H"], [5, 2, 1, "", "MHPMEVENT9"], [5, 2, 1, "", "MHPMEVENT9H"], [5, 2, 1, "", "MIDELEG"], [5, 2, 1, "", "MIE"], [5, 2, 1, "", "MIMPID"], [5, 2, 1, "", "MINSTRET"], [5, 2, 1, "", "MINSTRETH"], [5, 2, 1, "", "MIP"], [5, 2, 1, "", "MISA"], [5, 2, 1, "", "MNCAUSE"], [5, 2, 1, "", "MNEPC"], [5, 2, 1, "", "MNSCRATCH"], [5, 2, 1, "", "MNSTATUS"], [5, 2, 1, "", "MSCRATCH"], [5, 2, 1, "", "MSECCFG"], [5, 2, 1, "", "MSECCFGH"], [5, 2, 1, "", "MSTATEEN0"], [5, 2, 1, "", "MSTATEEN0H"], [5, 2, 1, "", "MSTATEEN1"], [5, 2, 1, "", "MSTATEEN1H"], [5, 2, 1, "", "MSTATEEN2"], [5, 2, 1, "", "MSTATEEN2H"], [5, 2, 1, "", "MSTATEEN3"], [5, 2, 1, "", "MSTATEEN3H"], [5, 2, 1, "", "MSTATUS"], [5, 2, 1, "", "MSTATUSH"], [5, 2, 1, "", "MTINST"], [5, 2, 1, "", "MTVAL"], [5, 2, 1, "", "MTVAL2"], [5, 2, 1, "", "MTVEC"], [5, 2, 1, "", "MVENDORID"], [5, 2, 1, "", "PMPADDR0"], [5, 2, 1, "", "PMPADDR1"], [5, 2, 1, "", "PMPADDR10"], [5, 2, 1, "", "PMPADDR11"], [5, 2, 1, "", "PMPADDR12"], [5, 2, 1, "", "PMPADDR13"], [5, 2, 1, "", "PMPADDR14"], [5, 2, 1, "", "PMPADDR15"], [5, 2, 1, "", "PMPADDR16"], [5, 2, 1, "", "PMPADDR17"], [5, 2, 1, "", "PMPADDR18"], [5, 2, 1, "", "PMPADDR19"], [5, 2, 1, "", "PMPADDR2"], [5, 2, 1, "", "PMPADDR20"], [5, 2, 1, "", "PMPADDR21"], [5, 2, 1, "", "PMPADDR22"], [5, 2, 1, "", "PMPADDR23"], [5, 2, 1, "", "PMPADDR24"], [5, 2, 1, "", "PMPADDR25"], [5, 2, 1, "", "PMPADDR26"], [5, 2, 1, "", "PMPADDR27"], [5, 2, 1, "", "PMPADDR28"], [5, 2, 1, "", "PMPADDR29"], [5, 2, 1, "", "PMPADDR3"], [5, 2, 1, "", "PMPADDR30"], [5, 2, 1, "", "PMPADDR31"], [5, 2, 1, "", "PMPADDR32"], [5, 2, 1, "", "PMPADDR33"], [5, 2, 1, "", "PMPADDR34"], [5, 2, 1, "", "PMPADDR35"], [5, 2, 1, "", "PMPADDR36"], [5, 2, 1, "", "PMPADDR37"], [5, 2, 1, "", "PMPADDR38"], [5, 2, 1, "", "PMPADDR39"], [5, 2, 1, "", "PMPADDR4"], [5, 2, 1, "", "PMPADDR40"], [5, 2, 1, "", "PMPADDR41"], [5, 2, 1, "", "PMPADDR42"], [5, 2, 1, "", "PMPADDR43"], [5, 2, 1, "", "PMPADDR44"], [5, 2, 1, "", "PMPADDR45"], [5, 2, 1, "", "PMPADDR46"], [5, 2, 1, "", "PMPADDR47"], [5, 2, 1, "", "PMPADDR48"], [5, 2, 1, "", "PMPADDR49"], [5, 2, 1, "", "PMPADDR5"], [5, 2, 1, "", "PMPADDR50"], [5, 2, 1, "", "PMPADDR51"], [5, 2, 1, "", "PMPADDR52"], [5, 2, 1, "", "PMPADDR53"], [5, 2, 1, "", "PMPADDR54"], [5, 2, 1, "", "PMPADDR55"], [5, 2, 1, "", "PMPADDR56"], [5, 2, 1, "", "PMPADDR57"], [5, 2, 1, "", "PMPADDR58"], [5, 2, 1, "", "PMPADDR59"], [5, 2, 1, "", "PMPADDR6"], [5, 2, 1, "", "PMPADDR60"], [5, 2, 1, "", "PMPADDR61"], [5, 2, 1, "", "PMPADDR62"], [5, 2, 1, "", "PMPADDR63"], [5, 2, 1, "", "PMPADDR7"], [5, 2, 1, "", "PMPADDR8"], [5, 2, 1, "", "PMPADDR9"], [5, 2, 1, "", "PMPCFG0"], [5, 2, 1, "", "PMPCFG1"], [5, 2, 1, "", "PMPCFG10"], [5, 2, 1, "", "PMPCFG11"], [5, 2, 1, "", "PMPCFG12"], [5, 2, 1, "", "PMPCFG13"], [5, 2, 1, "", "PMPCFG14"], [5, 2, 1, "", "PMPCFG15"], [5, 2, 1, "", "PMPCFG2"], [5, 2, 1, "", "PMPCFG3"], [5, 2, 1, "", "PMPCFG4"], [5, 2, 1, "", "PMPCFG5"], [5, 2, 1, "", "PMPCFG6"], [5, 2, 1, "", "PMPCFG7"], [5, 2, 1, "", "PMPCFG8"], [5, 2, 1, "", "PMPCFG9"], [5, 2, 1, "", "SATP"], [5, 2, 1, "", "SCAUSE"], [5, 2, 1, "", "SCONTEXT"], [5, 2, 1, "", "SCOUNTEREN"], [5, 2, 1, "", "SCOUNTINHIBIT"], [5, 2, 1, "", "SCOUNTOVF"], [5, 2, 1, "", "SENVCFG"], [5, 2, 1, "", "SEPC"], [5, 2, 1, "", "SIE"], [5, 2, 1, "", "SIP"], [5, 2, 1, "", "SSCRATCH"], [5, 2, 1, "", "SSP"], [5, 2, 1, "", "SSTATEEN0"], [5, 2, 1, "", "SSTATEEN1"], [5, 2, 1, "", "SSTATEEN2"], [5, 2, 1, "", "SSTATEEN3"], [5, 2, 1, "", "SSTATUS"], [5, 2, 1, "", "STVAL"], [5, 2, 1, "", "STVEC"], [5, 2, 1, "", "TDATA1"], [5, 2, 1, "", "TDATA2"], [5, 2, 1, "", "TDATA3"], [5, 2, 1, "", "TIME"], [5, 2, 1, "", "TIMEH"], [5, 2, 1, "", "TSELECT"], [5, 2, 1, "", "VSATP"], [5, 2, 1, "", "VSCAUSE"], [5, 2, 1, "", "VSEPC"], [5, 2, 1, "", "VSIE"], [5, 2, 1, "", "VSIP"], [5, 2, 1, "", "VSSCRATCH"], [5, 2, 1, "", "VSSTATUS"], [5, 2, 1, "", "VSTVAL"], [5, 2, 1, "", "VSTVEC"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.csr_address.MstatusFieldOffsets": [[5, 2, 1, "", "FS"], [5, 2, 1, "", "MBE"], [5, 2, 1, "", "MIE"], [5, 2, 1, "", "MPIE"], [5, 2, 1, "", "MPP"], [5, 2, 1, "", "MPRV"], [5, 2, 1, "", "MXR"], [5, 2, 1, "", "SBE"], [5, 2, 1, "", "SD"], [5, 2, 1, "", "SIE"], [5, 2, 1, "", "SPIE"], [5, 2, 1, "", "SPP"], [5, 2, 1, "", "SUM"], [5, 2, 1, "", "SXL"], [5, 2, 1, "", "TSR"], [5, 2, 1, "", "TVM"], [5, 2, 1, "", "TW"], [5, 2, 1, "", "UBE"], [5, 2, 1, "", "UXL"], [5, 2, 1, "", "VS"], [5, 2, 1, "", "XS"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa": [[5, 1, 1, "", "Extension"], [5, 1, 1, "", "ISA"]], "coreblocks.arch.isa.Extension": [[5, 2, 1, "", "A"], [5, 2, 1, "", "B"], [5, 2, 1, "", "C"], [5, 2, 1, "", "D"], [5, 2, 1, "", "E"], [5, 2, 1, "", "F"], [5, 2, 1, "", "G"], [5, 2, 1, "", "I"], [5, 2, 1, "", "J"], [5, 2, 1, "", "L"], [5, 2, 1, "", "M"], [5, 2, 1, "", "N"], [5, 2, 1, "", "P"], [5, 2, 1, "", "Q"], [5, 2, 1, "", "T"], [5, 2, 1, "", "V"], [5, 2, 1, "", "XINTMACHINEMODE"], [5, 2, 1, "", "XINTSUPERVISOR"], [5, 2, 1, "", "ZAM"], [5, 2, 1, "", "ZBA"], [5, 2, 1, "", "ZBB"], [5, 2, 1, "", "ZBC"], [5, 2, 1, "", "ZBS"], [5, 2, 1, "", "ZDINX"], [5, 2, 1, "", "ZFH"], [5, 2, 1, "", "ZFHMIN"], [5, 2, 1, "", "ZFINX"], [5, 2, 1, "", "ZHINX"], [5, 2, 1, "", "ZICNTR"], [5, 2, 1, "", "ZICSR"], [5, 2, 1, "", "ZIFENCEI"], [5, 2, 1, "", "ZIHINTNTL"], [5, 2, 1, "", "ZIHINTPAUSE"], [5, 2, 1, "", "ZIHPM"], [5, 2, 1, "", "ZMMUL"], [5, 2, 1, "", "ZTSO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa.ISA": [[5, 3, 1, "", "__init__"]], "coreblocks.arch.isa_consts": [[5, 1, 1, "", "ExceptionCause"], [5, 1, 1, "", "FenceFm"], [5, 1, 1, "", "FenceTarget"], [5, 1, 1, "", "Funct12"], [5, 1, 1, "", "Funct3"], [5, 1, 1, "", "Funct7"], [5, 1, 1, "", "InstrType"], [5, 1, 1, "", "InterruptCauseNumber"], [5, 1, 1, "", "Opcode"], [5, 1, 1, "", "PrivilegeLevel"], [5, 1, 1, "", "Registers"], [5, 1, 1, "", "XlenEncoding"]], "coreblocks.arch.isa_consts.ExceptionCause": [[5, 2, 1, "", "BREAKPOINT"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_M"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_S"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_U"], [5, 2, 1, "", "ILLEGAL_INSTRUCTION"], [5, 2, 1, "", "INSTRUCTION_ACCESS_FAULT"], [5, 2, 1, "", "INSTRUCTION_ADDRESS_MISALIGNED"], [5, 2, 1, "", "INSTRUCTION_PAGE_FAULT"], [5, 2, 1, "", "LOAD_ACCESS_FAULT"], [5, 2, 1, "", "LOAD_ADDRESS_MISALIGNED"], [5, 2, 1, "", "LOAD_PAGE_FAULT"], [5, 2, 1, "", "STORE_ACCESS_FAULT"], [5, 2, 1, "", "STORE_ADDRESS_MISALIGNED"], [5, 2, 1, "", "STORE_PAGE_FAULT"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.FenceFm": [[5, 2, 1, "", "NONE"], [5, 2, 1, "", "TSO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.FenceTarget": [[5, 2, 1, "", "DEV_I"], [5, 2, 1, "", "DEV_O"], [5, 2, 1, "", "MEM_R"], [5, 2, 1, "", "MEM_W"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct12": [[5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "EBREAK"], [5, 2, 1, "", "ECALL"], [5, 2, 1, "", "MRET"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "REV8_32"], [5, 2, 1, "", "REV8_64"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SRET"], [5, 2, 1, "", "WFI"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct3": [[5, 2, 1, "", "ADD"], [5, 2, 1, "", "AND"], [5, 2, 1, "", "ANDN"], [5, 2, 1, "", "B"], [5, 2, 1, "", "BCLR"], [5, 2, 1, "", "BEQ"], [5, 2, 1, "", "BEXT"], [5, 2, 1, "", "BGE"], [5, 2, 1, "", "BGEU"], [5, 2, 1, "", "BINV"], [5, 2, 1, "", "BLT"], [5, 2, 1, "", "BLTU"], [5, 2, 1, "", "BNE"], [5, 2, 1, "", "BSET"], [5, 2, 1, "", "BU"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "CLMULH"], [5, 2, 1, "", "CLMULR"], [5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CSRRC"], [5, 2, 1, "", "CSRRCI"], [5, 2, 1, "", "CSRRS"], [5, 2, 1, "", "CSRRSI"], [5, 2, 1, "", "CSRRW"], [5, 2, 1, "", "CSRRWI"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "D"], [5, 2, 1, "", "DIV"], [5, 2, 1, "", "DIVU"], [5, 2, 1, "", "DIVUW"], [5, 2, 1, "", "DIVW"], [5, 2, 1, "", "FENCE"], [5, 2, 1, "", "FENCEI"], [5, 2, 1, "", "H"], [5, 2, 1, "", "HU"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "MAX"], [5, 2, 1, "", "MAXU"], [5, 2, 1, "", "MIN"], [5, 2, 1, "", "MINU"], [5, 2, 1, "", "MUL"], [5, 2, 1, "", "MULH"], [5, 2, 1, "", "MULHSU"], [5, 2, 1, "", "MULHU"], [5, 2, 1, "", "MULW"], [5, 2, 1, "", "OR"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "ORN"], [5, 2, 1, "", "PRIV"], [5, 2, 1, "", "REM"], [5, 2, 1, "", "REMU"], [5, 2, 1, "", "REMUW"], [5, 2, 1, "", "REMW"], [5, 2, 1, "", "REV8"], [5, 2, 1, "", "ROL"], [5, 2, 1, "", "ROR"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SH1ADD"], [5, 2, 1, "", "SH2ADD"], [5, 2, 1, "", "SH3ADD"], [5, 2, 1, "", "SLL"], [5, 2, 1, "", "SLT"], [5, 2, 1, "", "SLTU"], [5, 2, 1, "", "SR"], [5, 2, 1, "", "SUB"], [5, 2, 1, "", "W"], [5, 2, 1, "", "XNOR"], [5, 2, 1, "", "XOR"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct7": [[5, 2, 1, "", "ADD"], [5, 2, 1, "", "AND"], [5, 2, 1, "", "ANDN"], [5, 2, 1, "", "BCLR"], [5, 2, 1, "", "BEXT"], [5, 2, 1, "", "BINV"], [5, 2, 1, "", "BSET"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "MAX"], [5, 2, 1, "", "MIN"], [5, 2, 1, "", "MULDIV"], [5, 2, 1, "", "OR"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "ORN"], [5, 2, 1, "", "REV8"], [5, 2, 1, "", "ROL"], [5, 2, 1, "", "ROR"], [5, 2, 1, "", "SA"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SFENCEVMA"], [5, 2, 1, "", "SH1ADD"], [5, 2, 1, "", "SH2ADD"], [5, 2, 1, "", "SH3ADD"], [5, 2, 1, "", "SL"], [5, 2, 1, "", "SLT"], [5, 2, 1, "", "SUB"], [5, 2, 1, "", "XNOR"], [5, 2, 1, "", "XOR"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.InstrType": [[5, 2, 1, "", "B"], [5, 2, 1, "", "I"], [5, 2, 1, "", "J"], [5, 2, 1, "", "R"], [5, 2, 1, "", "S"], [5, 2, 1, "", "U"]], "coreblocks.arch.isa_consts.InterruptCauseNumber": [[5, 2, 1, "", "MEI"], [5, 2, 1, "", "MSI"], [5, 2, 1, "", "MTI"], [5, 2, 1, "", "SEI"], [5, 2, 1, "", "SSI"], [5, 2, 1, "", "STI"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Opcode": [[5, 2, 1, "", "AUIPC"], [5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "LOAD"], [5, 2, 1, "", "LOAD_FP"], [5, 2, 1, "", "LUI"], [5, 2, 1, "", "MISC_MEM"], [5, 2, 1, "", "OP"], [5, 2, 1, "", "OP32"], [5, 2, 1, "", "OP_IMM"], [5, 2, 1, "", "OP_IMM_32"], [5, 2, 1, "", "RESERVED"], [5, 2, 1, "", "STORE"], [5, 2, 1, "", "STORE_FP"], [5, 2, 1, "", "SYSTEM"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.PrivilegeLevel": [[5, 2, 1, "", "MACHINE"], [5, 2, 1, "", "SUPERVISOR"], [5, 2, 1, "", "USER"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Registers": [[5, 2, 1, "", "A0"], [5, 2, 1, "", "A1"], [5, 2, 1, "", "A2"], [5, 2, 1, "", "A3"], [5, 2, 1, "", "A4"], [5, 2, 1, "", "A5"], [5, 2, 1, "", "A6"], [5, 2, 1, "", "A7"], [5, 2, 1, "", "FP"], [5, 2, 1, "", "GP"], [5, 2, 1, "", "RA"], [5, 2, 1, "", "S0"], [5, 2, 1, "", "S1"], [5, 2, 1, "", "S10"], [5, 2, 1, "", "S11"], [5, 2, 1, "", "S2"], [5, 2, 1, "", "S3"], [5, 2, 1, "", "S4"], [5, 2, 1, "", "S5"], [5, 2, 1, "", "S6"], [5, 2, 1, "", "S7"], [5, 2, 1, "", "S8"], [5, 2, 1, "", "S9"], [5, 2, 1, "", "SP"], [5, 2, 1, "", "T0"], [5, 2, 1, "", "T1"], [5, 2, 1, "", "T2"], [5, 2, 1, "", "T3"], [5, 2, 1, "", "T4"], [5, 2, 1, "", "T5"], [5, 2, 1, "", "T6"], [5, 2, 1, "", "TP"], [5, 2, 1, "", "X0"], [5, 2, 1, "", "X1"], [5, 2, 1, "", "X10"], [5, 2, 1, "", "X11"], [5, 2, 1, "", "X12"], [5, 2, 1, "", "X13"], [5, 2, 1, "", "X14"], [5, 2, 1, "", "X15"], [5, 2, 1, "", "X16"], [5, 2, 1, "", "X17"], [5, 2, 1, "", "X18"], [5, 2, 1, "", "X19"], [5, 2, 1, "", "X2"], [5, 2, 1, "", "X20"], [5, 2, 1, "", "X21"], [5, 2, 1, "", "X22"], [5, 2, 1, "", "X23"], [5, 2, 1, "", "X24"], [5, 2, 1, "", "X25"], [5, 2, 1, "", "X26"], [5, 2, 1, "", "X27"], [5, 2, 1, "", "X28"], [5, 2, 1, "", "X29"], [5, 2, 1, "", "X3"], [5, 2, 1, "", "X30"], [5, 2, 1, "", "X31"], [5, 2, 1, "", "X4"], [5, 2, 1, "", "X5"], [5, 2, 1, "", "X6"], [5, 2, 1, "", "X7"], [5, 2, 1, "", "X8"], [5, 2, 1, "", "X9"], [5, 2, 1, "", "ZERO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.XlenEncoding": [[5, 2, 1, "", "W128"], [5, 2, 1, "", "W32"], [5, 2, 1, "", "W64"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.optypes": [[5, 1, 1, "", "CfiType"], [5, 1, 1, "", "OpType"]], "coreblocks.arch.optypes.CfiType": [[5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "CALL"], [5, 2, 1, "", "INVALID"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "RET"], [5, 3, 1, "", "__new__"], [5, 3, 1, "", "is_branch"], [5, 3, 1, "", "is_jal"], [5, 3, 1, "", "is_jalr"], [5, 3, 1, "", "valid"]], "coreblocks.arch.optypes.OpType": [[5, 2, 1, "", "ADDRESS_GENERATION"], [5, 2, 1, "", "ARITHMETIC"], [5, 2, 1, "", "AUIPC"], [5, 2, 1, "", "BIT_MANIPULATION"], [5, 2, 1, "", "BIT_ROTATION"], [5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "COMPARE"], [5, 2, 1, "", "CSR_IMM"], [5, 2, 1, "", "CSR_REG"], [5, 2, 1, "", "DIV_REM"], [5, 2, 1, "", "EBREAK"], [5, 2, 1, "", "ECALL"], [5, 2, 1, "", "EXCEPTION"], [5, 2, 1, "", "FENCE"], [5, 2, 1, "", "FENCEI"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "LOAD"], [5, 2, 1, "", "LOGIC"], [5, 2, 1, "", "MRET"], [5, 2, 1, "", "MUL"], [5, 2, 1, "", "SFENCEVMA"], [5, 2, 1, "", "SHIFT"], [5, 2, 1, "", "SINGLE_BIT_MANIPULATION"], [5, 2, 1, "", "SRET"], [5, 2, 1, "", "STORE"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_1"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_2"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_3"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_4"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_5"], [5, 2, 1, "", "UNKNOWN"], [5, 2, 1, "", "WFI"], [5, 3, 1, "", "__new__"]], "coreblocks.backend": [[6, 0, 0, "-", "annoucement"], [6, 0, 0, "-", "retirement"]], "coreblocks.backend.annoucement": [[6, 1, 1, "", "ResultAnnouncement"]], "coreblocks.backend.annoucement.ResultAnnouncement": [[6, 3, 1, "", "__init__"], [6, 3, 1, "", "debug_signals"]], "coreblocks.backend.retirement": [[6, 1, 1, "", "Retirement"]], "coreblocks.backend.retirement.Retirement": [[6, 3, 1, "", "__init__"]], "coreblocks.cache": [[7, 0, 0, "-", "icache"], [7, 0, 0, "-", "iface"], [7, 0, 0, "-", "refiller"]], "coreblocks.cache.icache": [[7, 1, 1, "", "ICache"], [7, 1, 1, "", "ICacheBypass"]], "coreblocks.cache.icache.ICache": [[7, 3, 1, "", "__init__"], [7, 3, 1, "", "deserialize_addr"], [7, 3, 1, "", "serialize_addr"]], "coreblocks.cache.icache.ICacheBypass": [[7, 3, 1, "", "__init__"]], "coreblocks.cache.iface": [[7, 1, 1, "", "CacheInterface"], [7, 1, 1, "", "CacheRefillerInterface"]], "coreblocks.cache.iface.CacheInterface": [[7, 2, 1, "", "accept_res"], [7, 2, 1, "", "flush"], [7, 2, 1, "", "issue_req"]], "coreblocks.cache.iface.CacheRefillerInterface": [[7, 2, 1, "", "accept_refill"], [7, 2, 1, "", "start_refill"]], "coreblocks.cache.refiller": [[7, 1, 1, "", "SimpleCommonBusCacheRefiller"]], "coreblocks.cache.refiller.SimpleCommonBusCacheRefiller": [[7, 3, 1, "", "__init__"]], "coreblocks.core": [[4, 1, 1, "", "Core"]], "coreblocks.core.Core": [[4, 3, 1, "", "__init__"], [4, 2, 1, "", "wb_data"], [4, 2, 1, "", "wb_instr"]], "coreblocks.core_structs": [[8, 0, 0, "-", "rat"], [8, 0, 0, "-", "rf"], [8, 0, 0, "-", "rob"]], "coreblocks.core_structs.rat": [[8, 1, 1, "", "FRAT"], [8, 1, 1, "", "RRAT"]], "coreblocks.core_structs.rat.FRAT": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rat.RRAT": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rf": [[8, 1, 1, "", "RegisterFile"]], "coreblocks.core_structs.rf.RegisterFile": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rob": [[8, 1, 1, "", "ReorderBuffer"]], "coreblocks.core_structs.rob.ReorderBuffer": [[8, 3, 1, "", "__init__"]], "coreblocks.frontend": [[10, 0, 0, "-", "decoder"], [11, 0, 0, "-", "fetch"], [9, 0, 0, "-", "frontend"], [9, 0, 0, "-", "frontend_params"]], "coreblocks.frontend.decoder": [[10, 0, 0, "-", "decode_stage"], [10, 0, 0, "-", "instr_decoder"], [10, 0, 0, "-", "instr_description"], [10, 0, 0, "-", "rvc"]], "coreblocks.frontend.decoder.decode_stage": [[10, 1, 1, "", "DecodeStage"]], "coreblocks.frontend.decoder.decode_stage.DecodeStage": [[10, 3, 1, "", "__init__"]], "coreblocks.frontend.decoder.instr_decoder": [[10, 1, 1, "", "InstrDecoder"]], "coreblocks.frontend.decoder.instr_decoder.InstrDecoder": [[10, 3, 1, "", "__init__"]], "coreblocks.frontend.decoder.instr_description": [[10, 1, 1, "", "Encoding"]], "coreblocks.frontend.decoder.instr_description.Encoding": [[10, 3, 1, "", "__init__"], [10, 2, 1, "", "funct12"], [10, 2, 1, "", "funct3"], [10, 2, 1, "", "funct7"], [10, 2, 1, "", "instr_type_override"], [10, 2, 1, "", "opcode"], [10, 2, 1, "", "rd_zero"], [10, 2, 1, "", "rs1_zero"]], "coreblocks.frontend.decoder.rvc": [[10, 1, 1, "", "InstrDecompress"], [10, 4, 1, "", "is_instr_compressed"]], "coreblocks.frontend.decoder.rvc.InstrDecompress": [[10, 3, 1, "", "__init__"], [10, 3, 1, "", "decompr_reg"], [10, 3, 1, "", "instr_mux"]], "coreblocks.frontend.fetch": [[11, 0, 0, "-", "fetch"]], "coreblocks.frontend.fetch.fetch": [[11, 1, 1, "", "FetchUnit"], [11, 1, 1, "", "Predecoder"], [11, 1, 1, "", "PredictionChecker"], [11, 1, 1, "", "Serializer"]], "coreblocks.frontend.fetch.fetch.FetchUnit": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.Predecoder": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.PredictionChecker": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.Serializer": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.frontend": [[9, 1, 1, "", "CoreFrontend"]], "coreblocks.frontend.frontend.CoreFrontend": [[9, 3, 1, "", "__init__"]], "coreblocks.frontend.frontend_params": [[9, 1, 1, "", "FrontendParams"]], "coreblocks.frontend.frontend_params.FrontendParams": [[9, 3, 1, "", "__init__"], [9, 3, 1, "", "fb_addr"], [9, 3, 1, "", "fb_instr_idx"], [9, 3, 1, "", "pc_from_fb"]], "coreblocks.func_blocks": [[13, 0, 0, "-", "fu"], [17, 0, 0, "-", "interface"]], "coreblocks.func_blocks.fu": [[13, 0, 0, "-", "alu"], [13, 0, 0, "-", "div_unit"], [13, 0, 0, "-", "exception"], [14, 0, 0, "-", "fpu"], [13, 0, 0, "-", "jumpbranch"], [15, 0, 0, "-", "lsu"], [13, 0, 0, "-", "mul_unit"], [13, 0, 0, "-", "priv"], [13, 0, 0, "-", "shift_unit"], [16, 0, 0, "-", "unsigned_multiplication"], [13, 0, 0, "-", "zbc"], [13, 0, 0, "-", "zbs"]], "coreblocks.func_blocks.fu.alu": [[13, 1, 1, "", "ALUComponent"], [13, 1, 1, "", "AluFuncUnit"]], "coreblocks.func_blocks.fu.alu.ALUComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.alu.AluFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.div_unit": [[13, 1, 1, "", "DivComponent"], [13, 1, 1, "", "DivFn"], [13, 1, 1, "", "DivUnit"], [13, 4, 1, "", "get_input"]], "coreblocks.func_blocks.fu.div_unit.DivComponent": [[13, 3, 1, "", "__init__"], [13, 2, 1, "", "div_fn"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "ipc"]], "coreblocks.func_blocks.fu.div_unit.DivFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.div_unit.DivFn.Fn": [[13, 2, 1, "", "DIV"], [13, 2, 1, "", "DIVU"], [13, 2, 1, "", "REM"], [13, 2, 1, "", "REMU"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.div_unit.DivUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.exception": [[13, 1, 1, "", "ExceptionFuncUnit"], [13, 1, 1, "", "ExceptionUnitComponent"]], "coreblocks.func_blocks.fu.exception.ExceptionFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.exception.ExceptionUnitComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.fpu": [[14, 0, 0, "-", "fpu_common"], [14, 0, 0, "-", "fpu_error_module"], [14, 0, 0, "-", "fpu_rounding_module"]], "coreblocks.func_blocks.fu.fpu.fpu_common": [[14, 1, 1, "", "Errors"], [14, 1, 1, "", "FPUParams"], [14, 1, 1, "", "RoundingModes"]], "coreblocks.func_blocks.fu.fpu.fpu_common.Errors": [[14, 2, 1, "", "DIVISION_BY_ZERO"], [14, 2, 1, "", "INEXACT"], [14, 2, 1, "", "INVALID_OPERATION"], [14, 2, 1, "", "OVERFLOW"], [14, 2, 1, "", "UNDERFLOW"], [14, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.fpu.fpu_common.FPUParams": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_common.RoundingModes": [[14, 2, 1, "", "ROUND_DOWN"], [14, 2, 1, "", "ROUND_NEAREST_AWAY"], [14, 2, 1, "", "ROUND_NEAREST_EVEN"], [14, 2, 1, "", "ROUND_UP"], [14, 2, 1, "", "ROUND_ZERO"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module": [[14, 1, 1, "", "FPUErrorMethodLayout"], [14, 1, 1, "", "FPUErrorModule"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module.FPUErrorMethodLayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module.FPUErrorModule": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module": [[14, 1, 1, "", "FPURoudningMethodLayout"], [14, 1, 1, "", "FPURounding"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module.FPURoudningMethodLayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module.FPURounding": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.jumpbranch": [[13, 1, 1, "", "JumpBranchFuncUnit"], [13, 1, 1, "", "JumpComponent"]], "coreblocks.func_blocks.fu.jumpbranch.JumpBranchFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.jumpbranch.JumpComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu": [[15, 0, 0, "-", "dummyLsu"], [15, 0, 0, "-", "lsu_requester"], [15, 0, 0, "-", "pma"]], "coreblocks.func_blocks.fu.lsu.dummyLsu": [[15, 1, 1, "", "LSUComponent"], [15, 1, 1, "", "LSUDummy"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUComponent": [[15, 3, 1, "", "__init__"], [15, 3, 1, "", "get_module"], [15, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUDummy": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.lsu_requester": [[15, 1, 1, "", "LSURequester"]], "coreblocks.func_blocks.fu.lsu.lsu_requester.LSURequester": [[15, 3, 1, "", "__init__"], [15, 3, 1, "", "check_align"], [15, 3, 1, "", "postprocess_load_data"], [15, 3, 1, "", "prepare_bytes_mask"], [15, 3, 1, "", "prepare_data_to_save"]], "coreblocks.func_blocks.fu.lsu.pma": [[15, 1, 1, "", "PMAChecker"], [15, 1, 1, "", "PMALayout"], [15, 1, 1, "", "PMARegion"]], "coreblocks.func_blocks.fu.lsu.pma.PMAChecker": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMALayout": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMARegion": [[15, 3, 1, "", "__init__"], [15, 2, 1, "", "end"], [15, 2, 1, "", "mmio"], [15, 2, 1, "", "start"]], "coreblocks.func_blocks.fu.mul_unit": [[13, 1, 1, "", "MulComponent"], [13, 1, 1, "", "MulFn"], [13, 1, 1, "", "MulType"], [13, 1, 1, "", "MulUnit"]], "coreblocks.func_blocks.fu.mul_unit.MulComponent": [[13, 3, 1, "", "__init__"], [13, 2, 1, "", "dsp_width"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "mul_fn"], [13, 2, 1, "", "mul_unit_type"]], "coreblocks.func_blocks.fu.mul_unit.MulFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.mul_unit.MulFn.Fn": [[13, 2, 1, "", "MUL"], [13, 2, 1, "", "MULH"], [13, 2, 1, "", "MULHSU"], [13, 2, 1, "", "MULHU"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.mul_unit.MulType": [[13, 2, 1, "", "RECURSIVE_MUL"], [13, 2, 1, "", "SEQUENCE_MUL"], [13, 2, 1, "", "SHIFT_MUL"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.mul_unit.MulUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.priv": [[13, 1, 1, "", "PrivilegedFn"], [13, 1, 1, "", "PrivilegedFuncUnit"], [13, 1, 1, "", "PrivilegedUnitComponent"]], "coreblocks.func_blocks.fu.priv.PrivilegedFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.priv.PrivilegedFn.Fn": [[13, 2, 1, "", "FENCEI"], [13, 2, 1, "", "MRET"], [13, 2, 1, "", "WFI"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.priv.PrivilegedFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.priv.PrivilegedUnitComponent": [[13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.shift_unit": [[13, 1, 1, "", "ShiftFuncUnit"], [13, 1, 1, "", "ShiftUnitComponent"]], "coreblocks.func_blocks.fu.shift_unit.ShiftFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.shift_unit.ShiftUnitComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.unsigned_multiplication": [[16, 0, 0, "-", "common"], [16, 0, 0, "-", "fast_recursive"], [16, 0, 0, "-", "pipelined"], [16, 0, 0, "-", "sequence"], [16, 0, 0, "-", "shift"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common": [[16, 1, 1, "", "DSPMulUnit"], [16, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.DSPMulUnit": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive": [[16, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined": [[16, 1, 1, "", "PipelinedUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined.PipelinedUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence": [[16, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift": [[16, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbc": [[13, 1, 1, "", "ClMultiplier"], [13, 1, 1, "", "ZbcComponent"], [13, 1, 1, "", "ZbcFn"], [13, 1, 1, "", "ZbcUnit"]], "coreblocks.func_blocks.fu.zbc.ClMultiplier": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "iterative_module"], [13, 3, 1, "", "recursive_module"]], "coreblocks.func_blocks.fu.zbc.ZbcComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "recursion_depth"], [13, 2, 1, "", "zbc_fn"]], "coreblocks.func_blocks.fu.zbc.ZbcFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.zbc.ZbcFn.Fn": [[13, 2, 1, "", "CLMUL"], [13, 2, 1, "", "CLMULH"], [13, 2, 1, "", "CLMULR"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.zbc.ZbcUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbs": [[13, 1, 1, "", "Zbs"], [13, 1, 1, "", "ZbsComponent"], [13, 1, 1, "", "ZbsFunction"], [13, 1, 1, "", "ZbsUnit"]], "coreblocks.func_blocks.fu.zbs.Zbs": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbs.ZbsComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.zbs.ZbsFunction": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.zbs.ZbsFunction.Fn": [[13, 2, 1, "", "BCLR"], [13, 2, 1, "", "BEXT"], [13, 2, 1, "", "BINV"], [13, 2, 1, "", "BSET"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.zbs.ZbsUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface": [[17, 0, 0, "-", "func_blocks_unifier"], [17, 0, 0, "-", "func_protocols"]], "coreblocks.func_blocks.interface.func_blocks_unifier": [[17, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.func_blocks.interface.func_blocks_unifier.FuncBlocksUnifier": [[17, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface.func_protocols": [[17, 1, 1, "", "FuncBlock"], [17, 1, 1, "", "FuncUnit"]], "coreblocks.func_blocks.interface.func_protocols.FuncBlock": [[17, 2, 1, "", "get_result"], [17, 2, 1, "", "insert"], [17, 2, 1, "", "select"], [17, 2, 1, "", "update"]], "coreblocks.func_blocks.interface.func_protocols.FuncUnit": [[17, 2, 1, "", "accept"], [17, 2, 1, "", "issue"]], "coreblocks.params": [[18, 0, 0, "-", "configurations"], [18, 0, 0, "-", "fu_params"], [18, 0, 0, "-", "genparams"], [18, 0, 0, "-", "icache_params"], [18, 0, 0, "-", "instr"]], "coreblocks.params.configurations": [[18, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[18, 3, 1, "", "replace"]], "coreblocks.params.fu_params": [[18, 1, 1, "", "BlockComponentParams"], [18, 1, 1, "", "FunctionalComponentParams"], [18, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "get_module"], [18, 3, 1, "", "get_optypes"], [18, 3, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[18, 3, 1, "", "get_module"], [18, 3, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[18, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[18, 3, 1, "", "__init__"]], "coreblocks.params.icache_params": [[18, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.params.instr": [[18, 1, 1, "", "BTypeInstr"], [18, 1, 1, "", "EBreakInstr"], [18, 1, 1, "", "ITypeInstr"], [18, 1, 1, "", "IllegalInstr"], [18, 1, 1, "", "JTypeInstr"], [18, 1, 1, "", "RISCVInstr"], [18, 1, 1, "", "RTypeInstr"], [18, 1, 1, "", "STypeInstr"], [18, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.EBreakInstr": [[18, 3, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"], [18, 2, 1, "", "rs1"]], "coreblocks.params.instr.IllegalInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "illegal"]], "coreblocks.params.instr.JTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"]], "coreblocks.params.instr.RISCVInstr": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "as_value"], [18, 3, 1, "", "encode"], [18, 2, 1, "", "opcode"], [18, 3, 1, "", "shape"]], "coreblocks.params.instr.RTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "rd"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.STypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.UTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"]], "coreblocks.peripherals": [[19, 0, 0, "-", "axi_lite"], [19, 0, 0, "-", "bus_adapter"], [19, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.axi_lite": [[19, 1, 1, "", "AXILiteInterface"], [19, 1, 1, "", "AXILiteMaster"], [19, 1, 1, "", "AXILiteParameters"], [19, 1, 1, "", "AXILiteSignature"]], "coreblocks.peripherals.axi_lite.AXILiteInterface": [[19, 2, 1, "", "read_address"], [19, 2, 1, "", "read_data"], [19, 2, 1, "", "write_address"], [19, 2, 1, "", "write_data"], [19, 2, 1, "", "write_response"]], "coreblocks.peripherals.axi_lite.AXILiteMaster": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "axil_master"], [19, 3, 1, "", "result_handler"], [19, 3, 1, "", "start_request_transaction"], [19, 3, 1, "", "state_machine_request"]], "coreblocks.peripherals.axi_lite.AXILiteParameters": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.axi_lite.AXILiteSignature": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter": [[19, 1, 1, "", "AXILiteMasterAdapter"], [19, 1, 1, "", "BusMasterInterface"], [19, 1, 1, "", "WishboneMasterAdapter"]], "coreblocks.peripherals.bus_adapter.AXILiteMasterAdapter": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter.BusMasterInterface": [[19, 2, 1, "", "get_read_response"], [19, 2, 1, "", "get_write_response"], [19, 2, 1, "", "params"], [19, 2, 1, "", "request_read"], [19, 2, 1, "", "request_write"]], "coreblocks.peripherals.bus_adapter.WishboneMasterAdapter": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone": [[19, 1, 1, "", "PipelinedWishboneMaster"], [19, 1, 1, "", "WishboneArbiter"], [19, 1, 1, "", "WishboneInterface"], [19, 1, 1, "", "WishboneMaster"], [19, 1, 1, "", "WishboneMasterMethodLayout"], [19, 1, 1, "", "WishboneMemorySlave"], [19, 1, 1, "", "WishboneMuxer"], [19, 1, 1, "", "WishboneParameters"], [19, 1, 1, "", "WishboneSignature"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[19, 3, 1, "", "__init__"], [19, 3, 1, "", "generate_method_layouts"], [19, 2, 1, "", "wb"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "masters"], [19, 2, 1, "", "slave_wb"]], "coreblocks.peripherals.wishbone.WishboneInterface": [[19, 2, 1, "", "ack"], [19, 2, 1, "", "adr"], [19, 2, 1, "", "cyc"], [19, 2, 1, "", "dat_r"], [19, 2, 1, "", "dat_w"], [19, 2, 1, "", "err"], [19, 2, 1, "", "lock"], [19, 2, 1, "", "rst"], [19, 2, 1, "", "rty"], [19, 2, 1, "", "sel"], [19, 2, 1, "", "stall"], [19, 2, 1, "", "stb"], [19, 2, 1, "", "we"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "wb_master"]], "coreblocks.peripherals.wishbone.WishboneMasterMethodLayout": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "bus"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "master_wb"], [19, 2, 1, "", "slaves"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneSignature": [[19, 3, 1, "", "__init__"], [19, 3, 1, "", "create"]], "coreblocks.priv": [[21, 0, 0, "-", "csr"], [22, 0, 0, "-", "traps"]], "coreblocks.priv.csr": [[21, 0, 0, "-", "aliased"], [21, 0, 0, "-", "csr_instances"], [21, 0, 0, "-", "csr_register"]], "coreblocks.priv.csr.aliased": [[21, 1, 1, "", "AliasedCSR"]], "coreblocks.priv.csr.aliased.AliasedCSR": [[21, 3, 1, "", "__init__"], [21, 3, 1, "", "add_field"], [21, 3, 1, "", "add_read_only_field"]], "coreblocks.priv.csr.csr_instances": [[21, 1, 1, "", "DoubleCounterCSR"], [21, 1, 1, "", "GenericCSRRegisters"], [21, 1, 1, "", "MachineModeCSRRegisters"]], "coreblocks.priv.csr.csr_instances.DoubleCounterCSR": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.GenericCSRRegisters": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.MachineModeCSRRegisters": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_register": [[21, 1, 1, "", "CSRRegister"]], "coreblocks.priv.csr.csr_register.CSRRegister": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps": [[22, 0, 0, "-", "exception"], [22, 0, 0, "-", "instr_counter"], [22, 0, 0, "-", "interrupt_controller"]], "coreblocks.priv.traps.exception": [[22, 1, 1, "", "ExceptionInformationRegister"], [22, 4, 1, "", "should_update_prioriy"]], "coreblocks.priv.traps.exception.ExceptionInformationRegister": [[22, 3, 1, "", "__init__"]], "coreblocks.priv.traps.instr_counter": [[22, 1, 1, "", "CoreInstructionCounter"]], "coreblocks.priv.traps.instr_counter.CoreInstructionCounter": [[22, 3, 1, "", "__init__"]], "coreblocks.priv.traps.interrupt_controller": [[22, 1, 1, "", "InternalInterruptController"]], "coreblocks.priv.traps.interrupt_controller.InternalInterruptController": [[22, 3, 1, "", "__init__"], [22, 2, 1, "", "custom_report"], [22, 2, 1, "", "internal_report_level"]], "coreblocks.scheduler": [[23, 0, 0, "-", "scheduler"], [23, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[23, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[23, 3, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[23, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[23, 3, 1, "", "__init__"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "coreblock": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 27, 29], "list": 1, "assumpt": [1, 3], "made": 1, "dure": 1, "develop": [1, 25], "instruct": [3, 33], "cach": [3, 7], "interfac": [3, 17, 32, 33], "address": 3, "map": 3, "exampl": 3, "packag": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "subpackag": [4, 9, 12, 13, 20], "submodul": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "core": [4, 34], "modul": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "content": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "arch": 5, "csr_address": 5, "isa": 5, "isa_const": 5, "optyp": 5, "backend": 6, "annouc": 6, "retir": 6, "icach": 7, "ifac": 7, "refil": 7, "core_struct": 8, "rat": 8, "rf": 8, "rob": 8, "frontend": [9, 10, 11], "frontend_param": 9, "decod": 10, "decode_stag": 10, "instr_decod": 10, "instr_descript": 10, "rvc": 10, "fetch": 11, "func_block": [12, 13, 14, 15, 16, 17], "fu": [13, 14, 15, 16], "alu": 13, "div_unit": 13, "except": [13, 22, 28], "jumpbranch": 13, "mul_unit": 13, "priv": [13, 20, 21, 22], "shift_unit": 13, "zbc": 13, "zb": 13, "fpu": 14, "fpu_common": 14, "fpu_error_modul": 14, "fpu_rounding_modul": 14, "lsu": 15, "dummylsu": 15, "lsu_request": 15, "pma": 15, "unsigned_multipl": 16, "common": 16, "fast_recurs": 16, "pipelin": 16, "sequenc": 16, "shift": 16, "func_blocks_unifi": 17, "func_protocol": 17, "param": 18, "configur": 18, "fu_param": 18, "genparam": 18, "icache_param": 18, "instr": 18, "peripher": 19, "axi_lit": 19, "bus_adapt": 19, "wishbon": 19, "csr": 21, "alias": 21, "csr_instanc": 21, "csr_regist": 21, "trap": 22, "instr_count": 22, "interrupt_control": 22, "schedul": [23, 31], "wakeup_select": 23, "full": 24, "transact": 24, "method": [24, 32, 33], "graph": 24, "environ": 25, "set": 25, "up": 25, "us": [25, 32, 33], "script": 25, "run_test": 25, "py": 25, "lint": 25, "sh": 25, "core_graph": 25, "build_doc": 25, "tprof": 25, "introduct": [26, 28], "document": 26, "summari": 28, "paper": 28, "about": 28, "interrupt": 28, "handl": 28, "old": 28, "pc": 28, "out": 28, "order": 28, "execut": [28, 34], "processor": 28, "In": 28, "line": 28, "softwar": 28, "manag": 28, "tlb": 28, "hardwar": 28, "cost": 28, "analysi": 28, "process": 28, "strategi": 28, "igpu": 28, "support": 28, "specul": 28, "gpu": 28, "effici": 28, "other": 28, "problem": 30, "checklist": 30, "overview": [31, 33], "descript": 31, "schema": 31, "structur": 31, "more": 31, "detail": 31, "each": 31, "block": 31, "proposit": 32, "reserv": [32, 33], "station": [32, 33], "implement": 32, "intern": 32, "data": 32, "actual": 32, "slot": [32, 33], "tabl": 32, "compar": [32, 33], "substitut": [32, 33], "read": [32, 33], "row": [32, 33], "clean": [32, 33], "get": [32, 33], "free": 32, "mark": [32, 33], "extern": [32, 33], "all": [32, 33], "reset": 33, "initi": 33, "state": 33, "insert": 33, "new": 33, "readi": 33, "vector": 33, "signal": 33, "verif": 34, "synthesi": 34, "manual": 34, "reproduct": 34, "depend": 34, "benchmark": 34, "regress": 34, "test": 34}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["api", "assumptions", "auto_graph", "components/icache", "coreblocks", "coreblocks.arch", "coreblocks.backend", "coreblocks.cache", "coreblocks.core_structs", "coreblocks.frontend", "coreblocks.frontend.decoder", "coreblocks.frontend.fetch", "coreblocks.func_blocks", "coreblocks.func_blocks.fu", "coreblocks.func_blocks.fu.fpu", "coreblocks.func_blocks.fu.lsu", "coreblocks.func_blocks.fu.unsigned_multiplication", "coreblocks.func_blocks.interface", "coreblocks.params", "coreblocks.peripherals", "coreblocks.priv", "coreblocks.priv.csr", "coreblocks.priv.traps", "coreblocks.scheduler", "current-graph", "development-environment", "home", "index", "miscellany/exceptions-summary", "modules-coreblocks", "problem-checklist", "scheduler/overview", "shared-structs/implementation/rs-impl", "shared-structs/rs", "synthesis/synthesis"], "filenames": ["api.md", "assumptions.md", "auto_graph.rst", "components/icache.md", "coreblocks.rst", "coreblocks.arch.rst", "coreblocks.backend.rst", "coreblocks.cache.rst", "coreblocks.core_structs.rst", "coreblocks.frontend.rst", "coreblocks.frontend.decoder.rst", "coreblocks.frontend.fetch.rst", "coreblocks.func_blocks.rst", "coreblocks.func_blocks.fu.rst", "coreblocks.func_blocks.fu.fpu.rst", "coreblocks.func_blocks.fu.lsu.rst", "coreblocks.func_blocks.fu.unsigned_multiplication.rst", "coreblocks.func_blocks.interface.rst", "coreblocks.params.rst", "coreblocks.peripherals.rst", "coreblocks.priv.rst", "coreblocks.priv.csr.rst", "coreblocks.priv.traps.rst", "coreblocks.scheduler.rst", "current-graph.md", "development-environment.md", "home.md", "index.md", "miscellany/exceptions-summary.md", "modules-coreblocks.rst", "problem-checklist.md", "scheduler/overview.md", "shared-structs/implementation/rs-impl.md", "shared-structs/rs.md", "synthesis/synthesis.md"], "titles": ["API", "List of assumptions made during development", "<no title>", "Instruction Cache", "coreblocks package", "coreblocks.arch package", "coreblocks.backend package", "coreblocks.cache package", "coreblocks.core_structs package", "coreblocks.frontend package", "coreblocks.frontend.decoder package", "coreblocks.frontend.fetch package", "coreblocks.func_blocks package", "coreblocks.func_blocks.fu package", "coreblocks.func_blocks.fu.fpu package", "coreblocks.func_blocks.fu.lsu package", "coreblocks.func_blocks.fu.unsigned_multiplication package", "coreblocks.func_blocks.interface package", "coreblocks.params package", "coreblocks.peripherals package", "coreblocks.priv package", "coreblocks.priv.csr package", "coreblocks.priv.traps package", "coreblocks.scheduler package", "Full transaction-method graph", "Development environment", "Introduction", "Coreblocks", "Summary of papers about interrupts", "coreblocks", "Problem checklist", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Core verification"], "terms": {"packag": [0, 25, 27, 29], "subpackag": [0, 29], "arch": [0, 4, 13, 15, 18, 23, 25, 29, 34], "submodul": [0, 12, 20, 29, 34], "csr_address": [0, 4, 29], "modul": [0, 25, 29, 34], "isa": [0, 4, 10, 21, 29], "isa_const": [0, 4, 29], "optyp": [0, 4, 10, 13, 15, 18, 23, 29], "content": [0, 29], "backend": [0, 4, 29], "annouc": [0, 4, 29], "retir": [0, 4, 22, 29], "cach": [0, 4, 11, 18, 27, 29], "icach": [0, 4, 11, 29], "ifac": [0, 4, 29], "refil": [0, 3, 4, 29], "core_struct": [0, 4, 29], "rat": [0, 1, 4, 23, 28, 29], "rf": [0, 1, 4, 6, 28, 29, 32, 33], "rob": [0, 1, 4, 6, 22, 23, 28, 29, 31, 32, 33], "frontend": [0, 4, 29, 31], "frontend_param": [0, 4, 29], "func_block": [0, 4, 23, 29], "param": [0, 4, 7, 13, 19, 29], "configur": [0, 4, 5, 19, 22, 23, 29, 34], "fu_param": [0, 4, 29], "genparam": [0, 4, 6, 8, 9, 10, 11, 13, 15, 16, 17, 21, 22, 23, 29], "icache_param": [0, 4, 29], "instr": [0, 4, 10, 29], "peripher": [0, 4, 29], "axi_lit": [0, 4, 29], "bus_adapt": [0, 4, 29], "wishbon": [0, 4, 29], "priv": [0, 4, 5, 12, 29], "schedul": [0, 4, 27, 28, 29], "wakeup_select": [0, 4, 29], "core": [0, 6, 9, 10, 11, 13, 16, 19, 21, 22, 23, 25, 27, 28, 29], "ha": [1, 7, 10, 11, 23, 25, 28, 30, 32], "data": [1, 10, 11, 15, 19, 21, 22, 27, 33, 34], "forward": [1, 11, 19], "from": [1, 6, 7, 9, 10, 11, 14, 15, 19, 21, 22, 23, 25, 26, 28, 30, 32, 33, 34], "tomasulo": 1, "announc": [1, 6], "bu": [1, 5, 15, 18, 19], "read": [1, 15, 19, 21, 25, 27, 30], "x0": [1, 5], "rf0": 1, "return": [1, 3, 9, 13, 14, 15, 18, 19, 21, 22, 28], "0": [1, 5, 10, 13, 14, 19, 21, 22, 23, 32, 33, 34], "write": [1, 7, 10, 19, 21, 28, 33], "i": [1, 3, 5, 6, 7, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 26, 28, 31, 32, 33, 34], "noop": 1, "separ": [1, 31], "r": [1, 5, 6, 23, 25, 28, 31, 32, 33, 34], "each": [1, 5, 13, 19, 21, 22, 25, 27, 28, 32, 33], "fu": [1, 4, 5, 6, 12, 22, 32, 33], "writeback": 1, "stage": [1, 11, 14, 22], "save": [1, 5, 6, 22, 25, 28, 32, 33], "after": [1, 3, 7, 9, 19, 22, 28, 31, 34], "get": [1, 5, 6, 10, 11, 13, 16, 23, 25, 27], "output": [1, 6, 7, 15, 19, 25, 28, 32, 33], "commit": [1, 25, 28, 34], "updat": [1, 17, 21, 34], "The": [3, 6, 7, 11, 13, 18, 19, 25, 26, 28, 31, 32, 33, 34], "should": [3, 5, 6, 7, 10, 11, 18, 19, 21, 22, 23, 25, 26, 28, 31, 32, 33, 34], "expos": 3, "three": [3, 10, 28, 34], "method": [3, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 27], "issue_req": [3, 7], "thi": [3, 6, 7, 10, 11, 13, 15, 16, 18, 19, 21, 22, 23, 25, 28, 30, 32, 33, 34], "issu": [3, 7, 13, 15, 16, 17, 23, 25], "an": [3, 6, 7, 9, 11, 15, 18, 19, 23, 25, 26, 28, 30, 32, 34], "lookup": [3, 7], "request": [3, 7, 13, 15, 16, 18, 19], "accept_resp": 3, "result": [3, 6, 7, 10, 13, 14, 15, 16, 18, 19, 22, 28, 34], "flush": [3, 7, 9, 22, 28], "entir": [3, 34], "oper": [3, 5, 10, 13, 21, 22, 28], "under": 3, "follow": [3, 11, 13, 18, 23, 25, 32, 34], "ar": [3, 5, 6, 10, 11, 15, 18, 19, 21, 22, 25, 26, 28, 30, 31, 32, 33, 34], "alwai": [3, 10, 18, 21, 34], "multipl": [3, 5, 13, 16, 19, 23], "4": [3, 5, 11, 13, 14, 15], "byte": [3, 11, 18], "risc": [3, 5, 10, 18, 22, 26, 34], "v": [3, 5, 10, 18, 22, 25, 26, 28, 32, 34], "specif": [3, 5, 10, 19, 22, 25, 28, 34], "requir": [3, 21, 25, 28, 34], "align": [3, 11, 15], "c": [3, 5, 11, 28, 34], "extens": [3, 5, 11, 34], "introduc": [3, 28], "16": [3, 5, 14, 22, 28], "bit": [3, 5, 7, 10, 13, 14, 16, 18, 19, 21, 22, 28, 32, 33], "relax": 3, "fetch": [3, 4, 5, 6, 7, 9, 10, 22, 28], "unit": [3, 6, 10, 11, 13, 15, 16, 19, 23, 25, 31, 34], "handl": [3, 11, 13, 22, 27], "case": [3, 5, 6, 15, 18, 19, 23, 28, 30], "fulli": [3, 11, 15], "pipelin": [3, 12, 13, 15, 19, 23, 28, 32], "process": [3, 22, 25, 27, 34], "order": [3, 5, 11, 22, 23, 25, 26, 27, 34], "As": [3, 28], "can": [3, 6, 11, 15, 19, 21, 22, 25, 26, 28, 31, 32, 34], "invok": [3, 6, 10, 11, 23, 28, 32], "independ": 3, "accept_r": [3, 7], "If": [3, 10, 18, 19, 21, 22, 28, 30, 32], "space": [3, 28], "anoth": [3, 7, 18, 25], "simpli": 3, "block": [3, 7, 9, 11, 16, 17, 19, 23, 27, 28], "latenc": [3, 15, 28, 34], "least": [3, 18], "one": [3, 6, 7, 11, 13, 19, 22, 25, 28, 31, 32, 33], "cycl": [3, 5, 13, 16, 19, 21, 22, 25, 28, 31, 34], "miss": [3, 28], "occur": [3, 7], "arbitrarili": 3, "long": [3, 33, 34], "ensur": [3, 34], "ani": [3, 10, 18, 19, 23, 28, 30], "refetch": 3, "howev": [3, 18], "guarante": [3, 28], "have": [3, 6, 15, 18, 19, 25, 28, 30, 34], "alreadi": [3, 6, 28], "been": 3, "still": [3, 28, 33], "wait": [3, 6, 19, 22, 25, 28, 32, 33], "accept": [3, 7, 11, 13, 15, 16, 17, 34], "inform": [3, 18, 23, 25], "regard": 3, "error": [3, 7, 11, 14, 19], "mean": [3, 23, 25, 33], "dure": [3, 15, 27, 31], "line": [3, 7, 18, 25, 27], "subsequ": 3, "access": [3, 5, 19, 21, 28], "trigger": [3, 21, 22], "which": [3, 6, 7, 10, 11, 13, 15, 19, 23, 25, 26, 28, 31, 32, 33, 34], "most": [3, 22, 28], "like": [3, 10, 18, 28], "For": [3, 5, 9, 18, 25, 32, 33], "32": [3, 5, 13, 16, 19, 28], "128": [3, 5], "set": [3, 7, 10, 13, 15, 18, 21, 22, 23, 27, 32, 34], "size": [3, 11, 18, 19, 28], "equal": [3, 22], "31": [3, 5], "15": [3, 5, 22], "14": [3, 5], "13": [3, 5], "12": [3, 5], "11": [3, 5, 25, 34], "10": [3, 5, 28], "09": 3, "08": 3, "07": 3, "06": 3, "05": 3, "04": 3, "03": 3, "02": 3, "01": 3, "00": 3, "tag": [3, 19, 28, 32, 33], "index": [3, 9], "offset": [3, 18], "decod": [4, 9, 11, 13, 23], "decode_stag": [4, 9], "instr_decod": [4, 9], "instr_descript": [4, 9], "rvc": [4, 9], "alu": [4, 12], "div_unit": [4, 12], "except": [4, 5, 6, 9, 12, 18, 20, 27, 30], "jumpbranch": [4, 12], "mul_unit": [4, 12], "shift_unit": [4, 12], "zbc": [4, 5, 12], "zb": [4, 5, 12], "interfac": [4, 7, 10, 12, 15, 16, 19, 22, 23, 27, 34], "func_blocks_unifi": [4, 12], "func_protocol": [4, 12, 23], "csr": [4, 5, 10, 20, 22], "alias": [4, 20], "csr_instanc": [4, 20], "csr_regist": [4, 20], "trap": [4, 20], "instr_count": [4, 20], "interrupt_control": [4, 20], "class": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25], "base": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 28], "compon": [4, 10, 18, 19, 22, 26], "__init__": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "gen_param": [4, 6, 8, 9, 10, 11, 13, 15, 16, 17, 18, 21, 22, 23], "interrupt": [4, 5, 22, 27], "signal": [4, 10, 13, 15, 19, 21, 22, 27, 30], "wb_data": 4, "wishboneinterfac": [4, 19], "wb_instr": 4, "csraddress": [5, 21], "intenum": [5, 13], "coreblocks_test_csr": 5, "2047": 5, "coreblocks_test_priv_mod": 5, "2303": 5, "3072": 5, "cycleh": 5, "3200": 5, "dcsr": 5, "1968": 5, "dpc": 5, "1969": 5, "dscratch0": 5, "1970": 5, "dscratch1": 5, "1971": 5, "fcsr": 5, "3": [5, 13, 14, 25], "fflag": 5, "1": [5, 10, 13, 14, 16, 18, 21, 22, 23, 28, 32, 33, 34], "frm": 5, "2": [5, 13, 14, 16, 19, 21, 34], "hcontext": 5, "1704": 5, "hcounteren": 5, "1542": 5, "hedeleg": 5, "1538": 5, "hedelegh": 5, "1554": 5, "henvcfg": 5, "1546": 5, "henvcfgh": 5, "1562": 5, "hgatp": 5, "1664": 5, "hgeie": 5, "1543": 5, "hgeip": 5, "3602": 5, "hideleg": 5, "1539": 5, "hie": 5, "1540": 5, "hip": 5, "1604": 5, "hpmcounter10": 5, "3082": 5, "hpmcounter10h": 5, "3210": 5, "hpmcounter11": 5, "3083": 5, "hpmcounter11h": 5, "3211": 5, "hpmcounter12": 5, "3084": 5, "hpmcounter12h": 5, "3212": 5, "hpmcounter13": 5, "3085": 5, "hpmcounter13h": 5, "3213": 5, "hpmcounter14": 5, "3086": 5, "hpmcounter14h": 5, "3214": 5, "hpmcounter15": 5, "3087": 5, "hpmcounter15h": 5, "3215": 5, "hpmcounter16": 5, "3088": 5, "hpmcounter16h": 5, "3216": 5, "hpmcounter17": 5, "3089": 5, "hpmcounter17h": 5, "3217": 5, "hpmcounter18": 5, "3090": 5, "hpmcounter18h": 5, "3218": 5, "hpmcounter19": 5, "3091": 5, "hpmcounter19h": 5, "3219": 5, "hpmcounter20": 5, "3092": 5, "hpmcounter20h": 5, "3220": 5, "hpmcounter21": 5, "3093": 5, "hpmcounter21h": 5, "3221": 5, "hpmcounter22": 5, "3094": 5, "hpmcounter22h": 5, "3222": 5, "hpmcounter23": 5, "3095": 5, "hpmcounter23h": 5, "3223": 5, "hpmcounter24": 5, "3096": 5, "hpmcounter24h": 5, "3224": 5, "hpmcounter25": 5, "3097": 5, "hpmcounter25h": 5, "3225": 5, "hpmcounter26": 5, "3098": 5, "hpmcounter26h": 5, "3226": 5, "hpmcounter27": 5, "3099": 5, "hpmcounter27h": 5, "3227": 5, "hpmcounter28": 5, "3100": 5, "hpmcounter28h": 5, "3228": 5, "hpmcounter29": 5, "3101": 5, "hpmcounter29h": 5, "3229": 5, "hpmcounter3": 5, "3075": 5, "hpmcounter30": 5, "3102": 5, "hpmcounter30h": 5, "3230": 5, "hpmcounter31": 5, "3103": 5, "hpmcounter31h": 5, "3231": 5, "hpmcounter3h": 5, "3203": 5, "hpmcounter4": 5, "3076": 5, "hpmcounter4h": 5, "3204": 5, "hpmcounter5": 5, "3077": 5, "hpmcounter5h": 5, "3205": 5, "hpmcounter6": 5, "3078": 5, "hpmcounter6h": 5, "3206": 5, "hpmcounter7": 5, "3079": 5, "hpmcounter7h": 5, "3207": 5, "hpmcounter8": 5, "3080": 5, "hpmcounter8h": 5, "3208": 5, "hpmcounter9": 5, "3081": 5, "hpmcounter9h": 5, "3209": 5, "hstateen0": 5, "1548": 5, "hstateen0h": 5, "1564": 5, "hstateen1": 5, "1549": 5, "hstateen1h": 5, "1565": 5, "hstateen2": 5, "1550": 5, "hstateen2h": 5, "1566": 5, "hstateen3": 5, "1551": 5, "hstateen3h": 5, "1567": 5, "hstatu": 5, "1536": 5, "htimedelta": 5, "1541": 5, "htimedeltah": 5, "1557": 5, "htinst": 5, "1610": 5, "htval": 5, "1603": 5, "hvip": 5, "1605": 5, "instret": 5, "3074": 5, "instreth": 5, "3202": 5, "marchid": 5, "3858": 5, "mcaus": 5, "834": 5, "mconfigptr": 5, "3861": 5, "mcontext": 5, "1960": 5, "mcounteren": 5, "774": 5, "mcountinhibit": 5, "800": 5, "mcycl": 5, "2816": 5, "mcycleh": 5, "2944": 5, "medeleg": 5, "770": 5, "medelegh": 5, "786": 5, "menvcfg": 5, "778": 5, "menvcfgh": 5, "794": 5, "mepc": 5, "833": 5, "mhartid": 5, "3860": 5, "mhpmcounter10": 5, "2826": 5, "mhpmcounter10h": 5, "2954": 5, "mhpmcounter11": 5, "2827": 5, "mhpmcounter11h": 5, "2955": 5, "mhpmcounter12": 5, "2828": 5, "mhpmcounter12h": 5, "2956": 5, "mhpmcounter13": 5, "2829": 5, "mhpmcounter13h": 5, "2957": 5, "mhpmcounter14": 5, "2830": 5, "mhpmcounter14h": 5, "2958": 5, "mhpmcounter15": 5, "2831": 5, "mhpmcounter15h": 5, "2959": 5, "mhpmcounter16": 5, "2832": 5, "mhpmcounter16h": 5, "2960": 5, "mhpmcounter17": 5, "2833": 5, "mhpmcounter17h": 5, "2961": 5, "mhpmcounter18": 5, "2834": 5, "mhpmcounter18h": 5, "2962": 5, "mhpmcounter19": 5, "2835": 5, "mhpmcounter19h": 5, "2963": 5, "mhpmcounter20": 5, "2836": 5, "mhpmcounter20h": 5, "2964": 5, "mhpmcounter21": 5, "2837": 5, "mhpmcounter21h": 5, "2965": 5, "mhpmcounter22": 5, "2838": 5, "mhpmcounter22h": 5, "2966": 5, "mhpmcounter23": 5, "2839": 5, "mhpmcounter23h": 5, "2967": 5, "mhpmcounter24": 5, "2840": 5, "mhpmcounter24h": 5, "2968": 5, "mhpmcounter25": 5, "2841": 5, "mhpmcounter25h": 5, "2969": 5, "mhpmcounter26": 5, "2842": 5, "mhpmcounter26h": 5, "2970": 5, "mhpmcounter27": 5, "2843": 5, "mhpmcounter27h": 5, "2971": 5, "mhpmcounter28": 5, "2844": 5, "mhpmcounter28h": 5, "2972": 5, "mhpmcounter29": 5, "2845": 5, "mhpmcounter29h": 5, "2973": 5, "mhpmcounter3": 5, "2819": 5, "mhpmcounter30": 5, "2846": 5, "mhpmcounter30h": 5, "2974": 5, "mhpmcounter31": 5, "2847": 5, "mhpmcounter31h": 5, "2975": 5, "mhpmcounter3h": 5, "2947": 5, "mhpmcounter4": 5, "2820": 5, "mhpmcounter4h": 5, "2948": 5, "mhpmcounter5": 5, "2821": 5, "mhpmcounter5h": 5, "2949": 5, "mhpmcounter6": 5, "2822": 5, "mhpmcounter6h": 5, "2950": 5, "mhpmcounter7": 5, "2823": 5, "mhpmcounter7h": 5, "2951": 5, "mhpmcounter8": 5, "2824": 5, "mhpmcounter8h": 5, "2952": 5, "mhpmcounter9": 5, "2825": 5, "mhpmcounter9h": 5, "2953": 5, "mhpmevent10": 5, "810": 5, "mhpmevent10h": 5, "1834": 5, "mhpmevent11": 5, "811": 5, "mhpmevent11h": 5, "1835": 5, "mhpmevent12": 5, "812": 5, "mhpmevent12h": 5, "1836": 5, "mhpmevent13": 5, "813": 5, "mhpmevent13h": 5, "1837": 5, "mhpmevent14": 5, "814": 5, "mhpmevent14h": 5, "1838": 5, "mhpmevent15": 5, "815": 5, "mhpmevent15h": 5, "1839": 5, "mhpmevent16": 5, "816": 5, "mhpmevent16h": 5, "1840": 5, "mhpmevent17": 5, "817": 5, "mhpmevent17h": 5, "1841": 5, "mhpmevent18": 5, "818": 5, "mhpmevent18h": 5, "1842": 5, "mhpmevent19": 5, "819": 5, "mhpmevent19h": 5, "1843": 5, "mhpmevent20": 5, "820": 5, "mhpmevent20h": 5, "1844": 5, "mhpmevent21": 5, "821": 5, "mhpmevent21h": 5, "1845": 5, "mhpmevent22": 5, "822": 5, "mhpmevent22h": 5, "1846": 5, "mhpmevent23": 5, "823": 5, "mhpmevent23h": 5, "1847": 5, "mhpmevent24": 5, "824": 5, "mhpmevent24h": 5, "1848": 5, "mhpmevent25": 5, "825": 5, "mhpmevent25h": 5, "1849": 5, "mhpmevent26": 5, "826": 5, "mhpmevent26h": 5, "1850": 5, "mhpmevent27": 5, "827": 5, "mhpmevent27h": 5, "1851": 5, "mhpmevent28": 5, "828": 5, "mhpmevent28h": 5, "1852": 5, "mhpmevent29": 5, "829": 5, "mhpmevent29h": 5, "1853": 5, "mhpmevent3": 5, "803": 5, "mhpmevent30": 5, "830": 5, "mhpmevent30h": 5, "1854": 5, "mhpmevent31": 5, "831": 5, "mhpmevent31h": 5, "1855": 5, "mhpmevent3h": 5, "1827": 5, "mhpmevent4": 5, "804": 5, "mhpmevent4h": 5, "1828": 5, "mhpmevent5": 5, "805": 5, "mhpmevent5h": 5, "1829": 5, "mhpmevent6": 5, "806": 5, "mhpmevent6h": 5, "1830": 5, "mhpmevent7": 5, "807": 5, "mhpmevent7h": 5, "1831": 5, "mhpmevent8": 5, "808": 5, "mhpmevent8h": 5, "1832": 5, "mhpmevent9": 5, "809": 5, "mhpmevent9h": 5, "1833": 5, "mideleg": 5, "771": 5, "mie": 5, "772": 5, "mimpid": 5, "3859": 5, "minstret": 5, "2818": 5, "minstreth": 5, "2946": 5, "mip": [5, 28], "836": 5, "misa": 5, "769": 5, "mncaus": 5, "1858": 5, "mnepc": 5, "1857": 5, "mnscratch": 5, "1856": 5, "mnstatu": 5, "1860": 5, "mscratch": 5, "832": 5, "mseccfg": 5, "1863": 5, "mseccfgh": 5, "1879": 5, "mstateen0": 5, "780": 5, "mstateen0h": 5, "796": 5, "mstateen1": 5, "781": 5, "mstateen1h": 5, "797": 5, "mstateen2": 5, "782": 5, "mstateen2h": 5, "798": 5, "mstateen3": 5, "783": 5, "mstateen3h": 5, "799": 5, "mstatu": 5, "768": 5, "mstatush": 5, "784": 5, "mtinst": 5, "842": 5, "mtval": 5, "835": 5, "mtval2": 5, "843": 5, "mtvec": 5, "773": 5, "mvendorid": 5, "3857": 5, "pmpaddr0": 5, "944": 5, "pmpaddr1": 5, "945": 5, "pmpaddr10": 5, "954": 5, "pmpaddr11": 5, "955": 5, "pmpaddr12": 5, "956": 5, "pmpaddr13": 5, "957": 5, "pmpaddr14": 5, "958": 5, "pmpaddr15": 5, "959": 5, "pmpaddr16": 5, "960": 5, "pmpaddr17": 5, "961": 5, "pmpaddr18": 5, "962": 5, "pmpaddr19": 5, "963": 5, "pmpaddr2": 5, "946": 5, "pmpaddr20": 5, "964": 5, "pmpaddr21": 5, "965": 5, "pmpaddr22": 5, "966": 5, "pmpaddr23": 5, "967": 5, "pmpaddr24": 5, "968": 5, "pmpaddr25": 5, "969": 5, "pmpaddr26": 5, "970": 5, "pmpaddr27": 5, "971": 5, "pmpaddr28": 5, "972": 5, "pmpaddr29": 5, "973": 5, "pmpaddr3": 5, "947": 5, "pmpaddr30": 5, "974": 5, "pmpaddr31": 5, "975": 5, "pmpaddr32": 5, "976": 5, "pmpaddr33": 5, "977": 5, "pmpaddr34": 5, "978": 5, "pmpaddr35": 5, "979": 5, "pmpaddr36": 5, "980": 5, "pmpaddr37": 5, "981": 5, "pmpaddr38": 5, "982": 5, "pmpaddr39": 5, "983": 5, "pmpaddr4": 5, "948": 5, "pmpaddr40": 5, "984": 5, "pmpaddr41": 5, "985": 5, "pmpaddr42": 5, "986": 5, "pmpaddr43": 5, "987": 5, "pmpaddr44": 5, "988": 5, "pmpaddr45": 5, "989": 5, "pmpaddr46": 5, "990": 5, "pmpaddr47": 5, "991": 5, "pmpaddr48": 5, "992": 5, "pmpaddr49": 5, "993": 5, "pmpaddr5": 5, "949": 5, "pmpaddr50": 5, "994": 5, "pmpaddr51": 5, "995": 5, "pmpaddr52": 5, "996": 5, "pmpaddr53": 5, "997": 5, "pmpaddr54": 5, "998": 5, "pmpaddr55": 5, "999": 5, "pmpaddr56": 5, "1000": 5, "pmpaddr57": 5, "1001": 5, "pmpaddr58": 5, "1002": 5, "pmpaddr59": 5, "1003": 5, "pmpaddr6": 5, "950": 5, "pmpaddr60": 5, "1004": 5, "pmpaddr61": 5, "1005": 5, "pmpaddr62": 5, "1006": 5, "pmpaddr63": 5, "1007": 5, "pmpaddr7": 5, "951": 5, "pmpaddr8": 5, "952": 5, "pmpaddr9": 5, "953": 5, "pmpcfg0": 5, "928": 5, "pmpcfg1": 5, "929": 5, "pmpcfg10": 5, "938": 5, "pmpcfg11": 5, "939": 5, "pmpcfg12": 5, "940": 5, "pmpcfg13": 5, "941": 5, "pmpcfg14": 5, "942": 5, "pmpcfg15": 5, "943": 5, "pmpcfg2": 5, "930": 5, "pmpcfg3": 5, "931": 5, "pmpcfg4": 5, "932": 5, "pmpcfg5": 5, "933": 5, "pmpcfg6": 5, "934": 5, "pmpcfg7": 5, "935": 5, "pmpcfg8": 5, "936": 5, "pmpcfg9": 5, "937": 5, "satp": 5, "384": 5, "scaus": 5, "322": 5, "scontext": 5, "1448": 5, "scounteren": 5, "262": 5, "scountinhibit": 5, "288": 5, "scountovf": 5, "3488": 5, "senvcfg": 5, "266": 5, "sepc": 5, "321": 5, "sie": 5, "260": 5, "sip": 5, "324": 5, "sscratch": 5, "320": 5, "ssp": 5, "17": 5, "sstateen0": 5, "268": 5, "sstateen1": 5, "269": 5, "sstateen2": 5, "270": 5, "sstateen3": 5, "271": 5, "sstatu": 5, "256": 5, "stval": 5, "323": 5, "stvec": 5, "261": 5, "tdata1": 5, "1953": 5, "tdata2": 5, "1954": 5, "tdata3": 5, "1955": 5, "time": [5, 7, 11, 19, 28], "3073": 5, "timeh": 5, "3201": 5, "tselect": 5, "1952": 5, "vsatp": 5, "640": 5, "vscaus": 5, "578": 5, "vsepc": 5, "577": 5, "vsie": 5, "516": 5, "vsip": 5, "580": 5, "vsscratch": 5, "576": 5, "vsstatu": 5, "512": 5, "vstval": 5, "579": 5, "vstvec": 5, "517": 5, "__new__": [5, 13, 14], "valu": [5, 6, 7, 9, 10, 13, 14, 15, 18, 19, 21, 22, 23, 30, 32, 33], "mstatusfieldoffset": 5, "f": [5, 23, 25, 34], "mbe": 5, "37": 5, "mpie": 5, "7": [5, 16], "mpp": 5, "mprv": 5, "mxr": 5, "19": 5, "sbe": 5, "36": 5, "sd": 5, "spie": 5, "5": [5, 13, 31], "spp": 5, "8": [5, 13, 14, 16, 19], "sum": 5, "18": [5, 16], "sxl": 5, "34": 5, "tsr": 5, "22": 5, "tvm": 5, "20": 5, "tw": 5, "21": 5, "ub": 5, "6": [5, 28], "uxl": 5, "9": 5, "x": 5, "intflag": [5, 13, 14], "enum": [5, 9, 10, 13, 14, 18, 21], "avail": [5, 19, 21, 23, 25, 26, 34], "A": [5, 7, 18, 19, 34], "atom": [5, 32], "b": 5, "manipul": 5, "compress": [5, 11], "instruct": [5, 6, 7, 9, 10, 11, 13, 18, 21, 22, 23, 27, 28, 31, 32, 34], "d": 5, "doubl": [5, 21, 28], "precis": [5, 28, 34], "float": [5, 14], "point": [5, 14, 28, 30, 34], "64": [5, 19], "e": [5, 10, 25, 28, 30], "reduc": [5, 28], "integ": [5, 13], "singl": [5, 9, 10, 13, 16, 18, 21, 22, 23], "g": [5, 10, 25, 28, 30], "98366": 5, "gener": [5, 6, 7, 10, 11, 13, 15, 16, 19, 21, 23, 25, 26, 28, 30, 34], "contain": [5, 25, 34], "all": [5, 15, 19, 22, 25, 27, 28, 30], "basic": [5, 11, 34], "full": [5, 18, 25, 27, 28, 34], "j": 5, "1024": 5, "dynam": [5, 28], "languag": [5, 18], "l": [5, 25], "decim": 5, "m": [5, 15, 19, 21, 22, 25, 28, 34], "divis": 5, "n": [5, 13, 16], "16384": 5, "user": [5, 28, 34], "level": [5, 19, 22, 26, 28, 34], "p": [5, 25], "4096": 5, "pack": 5, "simd": 5, "q": 5, "quad": 5, "t": [5, 7, 10, 11, 15, 25, 28, 30, 32, 34], "2048": 5, "transact": [5, 10, 14, 19, 21, 25, 27, 32], "memori": [5, 11, 15, 19, 28], "8192": 5, "vector": [5, 23, 27, 28], "xintmachinemod": 5, "8589934592": 5, "intern": [5, 22, 27], "categor": 5, "machin": [5, 18], "mode": [5, 10, 25, 28], "privilieg": 5, "xintsupervisor": 5, "17179869184": 5, "supervisor": 5, "zam": 5, "2097152": 5, "misalign": 5, "zba": 5, "268435456": 5, "extend": [5, 30], "shift": [5, 12, 13], "zbb": 5, "536870912": 5, "1073741824": 5, "carri": [5, 13, 34], "less": [5, 13], "2147483648": 5, "zdinx": 5, "33554432": 5, "support": [5, 10, 15, 21, 23, 25, 27], "regist": [5, 10, 21, 22, 23, 28, 31], "zfh": 5, "4194304": 5, "half": 5, "zfhmin": 5, "8388608": 5, "minim": 5, "zfinx": 5, "16777216": 5, "zhinx": 5, "67108864": 5, "zicntr": 5, "524288": 5, "enabl": [5, 18], "counter": [5, 7, 21, 22, 25], "timer": [5, 21], "zicsr": 5, "32768": 5, "control": [5, 10, 11, 19, 22, 34], "statu": [5, 21], "zifencei": 5, "65536": 5, "fenc": [5, 10], "zihintntl": 5, "262144": 5, "non": [5, 11, 32], "tempor": 5, "local": [5, 22, 25], "hint": 5, "zihintpaus": 5, "131072": 5, "send": [5, 6, 10, 11, 15, 19, 23], "paus": 5, "energi": 5, "zihpm": 5, "1048576": 5, "hardwar": [5, 27, 31], "perform": [5, 10, 11, 13, 16, 21, 23, 25, 34], "zmmul": 5, "134217728": 5, "ztso": 5, "4294967296": 5, "total": 5, "store": [5, 6, 15, 22, 28, 32, 33], "object": [5, 9, 10, 13, 14, 15, 18, 19, 34], "gather": 5, "numer": 5, "val": 5, "correspond": [5, 32], "val_log": 5, "field": [5, 10, 15, 18, 21, 25, 32, 33], "provid": [5, 10, 13, 15, 18, 21, 22, 23, 34], "relev": 5, "attribut": [5, 9, 10, 13, 14, 15, 16, 18, 19, 21, 22], "xlen": [5, 10, 13, 21], "int": [5, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21], "nativ": 5, "width": [5, 11, 13, 14, 16, 19, 21], "reg_cnt": 5, "number": [5, 14, 15, 16, 18, 19, 22, 25, 28, 34], "ilen": [5, 10], "maximum": [5, 34], "length": [5, 18, 28], "csr_alen": [5, 10], "address": [5, 9, 10, 15, 18, 19, 21, 27, 28], "form": [5, 10, 21, 28, 34], "bitwis": 5, "isa_str": 5, "str": [5, 7, 11, 19, 21], "paramet": [5, 6, 7, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23], "string": 5, "identifi": [5, 10, 11, 32], "pleas": [5, 25, 30], "refer": 5, "gcc": 5, "": [5, 9, 11, 19, 28], "depend": [5, 11, 21, 27], "option": [5, 10, 13, 18, 19, 21, 25], "detail": [5, 22, 27], "exceptioncaus": 5, "breakpoint": 5, "environment_call_from_m": 5, "environment_call_from_": 5, "environment_call_from_u": 5, "illegal_instruct": 5, "instruction_access_fault": 5, "instruction_address_misalign": 5, "instruction_page_fault": 5, "load_access_fault": 5, "load_address_misalign": 5, "load_page_fault": 5, "store_access_fault": 5, "store_address_misalign": 5, "store_page_fault": 5, "fencefm": [5, 10], "none": [5, 7, 8, 10, 11, 13, 15, 18, 21], "tso": 5, "fencetarget": [5, 10], "dev_i": 5, "dev_o": 5, "mem_r": 5, "mem_w": 5, "funct12": [5, 10], "clz": 5, "cpop": 5, "ctz": 5, "1537": 5, "ebreak": 5, "ecal": 5, "mret": [5, 13, 22], "orcb": 5, "647": 5, "rev8_32": 5, "1688": 5, "rev8_64": 5, "1720": 5, "sextb": 5, "sexth": 5, "sret": 5, "258": 5, "wfi": [5, 13], "zexth": 5, "funct3": [5, 10, 13, 15, 18], "add": 5, "AND": 5, "andn": 5, "bclr": [5, 13], "beq": 5, "bext": [5, 13], "bge": 5, "bgeu": 5, "binv": [5, 13], "blt": 5, "bltu": 5, "bne": 5, "bset": [5, 13], "clmul": [5, 13], "clmulh": [5, 13], "clmulr": [5, 13], "csrrc": 5, "csrrci": 5, "csrr": 5, "csrrsi": 5, "csrrw": 5, "csrrwi": 5, "div": [5, 13], "divu": [5, 13], "divuw": 5, "divw": 5, "fencei": [5, 13], "h": [5, 28], "hu": 5, "jalr": [5, 11], "max": [5, 34], "maxu": 5, "min": 5, "minu": 5, "mul": [5, 13], "mulh": [5, 13], "mulhsu": [5, 13], "mulhu": [5, 13], "mulw": 5, "OR": 5, "orn": 5, "rem": [5, 13], "remu": [5, 13], "remuw": 5, "remw": 5, "rev8": 5, "rol": 5, "ror": 5, "sh1add": 5, "sh2add": 5, "sh3add": 5, "sll": 5, "slt": 5, "sltu": 5, "sr": 5, "sub": 5, "w": [5, 28], "xnor": 5, "xor": 5, "funct7": [5, 10, 13, 18], "52": 5, "48": 5, "muldiv": 5, "sa": 5, "sfencevma": 5, "sl": 5, "instrtyp": [5, 10], "u": [5, 28, 34], "interruptcausenumb": 5, "mei": 5, "msi": 5, "mti": 5, "sei": 5, "ssi": 5, "sti": 5, "opcod": [5, 10, 18, 32, 33], "auipc": 5, "branch": [5, 11, 28, 34], "24": [5, 14], "jal": [5, 11], "27": 5, "25": 5, "load": [5, 15, 28], "load_fp": 5, "lui": 5, "misc_mem": 5, "op": 5, "op32": 5, "op_imm": 5, "op_imm_32": 5, "reserv": [5, 27, 28], "store_fp": 5, "system": [5, 34], "28": [5, 28], "privilegelevel": 5, "a0": 5, "a1": 5, "a2": 5, "a3": 5, "a4": 5, "a5": 5, "a6": 5, "a7": 5, "fp": 5, "gp": [5, 13], "ra": 5, "s0": 5, "s1": 5, "s10": 5, "26": 5, "s11": 5, "s2": 5, "s3": 5, "s4": 5, "s5": 5, "s6": 5, "s7": 5, "23": 5, "s8": 5, "s9": 5, "sp": 5, "t0": 5, "t1": 5, "t2": 5, "t3": 5, "t4": 5, "29": 5, "t5": 5, "30": [5, 28], "t6": 5, "tp": 5, "x1": 5, "x10": 5, "x11": 5, "x12": 5, "x13": 5, "x14": 5, "x15": 5, "x16": 5, "x17": 5, "x18": 5, "x19": 5, "x2": 5, "x20": 5, "x21": 5, "x22": 5, "x23": 5, "x24": 5, "x25": 5, "x26": 5, "x27": 5, "x28": 5, "x29": 5, "x3": 5, "x30": 5, "x31": 5, "x4": 5, "x5": 5, "x6": 5, "x7": 5, "x8": 5, "x9": 5, "zero": [5, 10, 22, 32], "xlenencod": 5, "w128": 5, "w32": 5, "w64": 5, "cfityp": 5, "type": [5, 10, 11, 13, 18, 25], "flow": [5, 11], "There": 5, "main": [5, 25, 28, 31, 34], "invalid": [5, 33], "call": [5, 7, 18, 21, 22, 23, 25, 30, 32], "ret": 5, "just": [5, 25], "special": 5, "respect": [5, 21], "thu": 5, "encod": [5, 10, 18, 28], "wa": [5, 10, 11, 21, 22, 25, 28], "chosen": [5, 28], "wai": [5, 7, 13, 19, 25, 28, 34], "suffici": 5, "check": [5, 11, 14, 15, 25, 28, 30, 32, 33, 34], "lowest": 5, "two": [5, 7, 21, 28, 30, 34], "third": 5, "about": [5, 11, 18, 25, 27], "becaus": [5, 28], "tweak": 5, "helper": 5, "function": [5, 10, 13, 18, 21, 23, 28, 30], "prefer": [5, 19], "us": [5, 6, 7, 10, 11, 13, 15, 16, 18, 19, 21, 22, 23, 27, 28, 30, 34], "cfi": [5, 11], "static": [5, 18], "is_branch": 5, "amaranth": [5, 7, 9, 10, 11, 13, 18, 19, 21, 30, 34], "hdl": [5, 7, 9, 10, 13, 18, 21], "_ast": [5, 7, 9, 10, 13, 18, 21], "valuecast": [5, 9, 10, 18, 21], "is_jal": 5, "is_jalr": 5, "valid": [5, 13, 19, 23, 32], "do": [5, 10, 28, 30], "confus": 5, "address_gener": 5, "arithmet": [5, 14], "bit_manipul": 5, "bit_rot": 5, "compar": [5, 27], "csr_imm": 5, "csr_reg": 5, "div_rem": 5, "caus": [5, 18, 22, 28], "befor": [5, 15, 19, 22, 25, 30, 31], "execut": [5, 6, 13, 19, 23, 25, 27, 31, 33], "logic": [5, 15, 28, 33, 34], "33": 5, "single_bit_manipul": 5, "unary_bit_manipulation_1": 5, "unary_bit_manipulation_2": 5, "unary_bit_manipulation_3": 5, "unary_bit_manipulation_4": 5, "unary_bit_manipulation_5": 5, "unknown": [5, 25], "resultannounc": 6, "elaborat": [6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 22, 23], "simpl": [6, 7, 10, 15, 21, 23], "It": [6, 10, 11, 13, 15, 16, 18, 19, 21, 23, 25, 28, 31, 32, 34], "take": [6, 10, 14, 19, 31, 32], "its": [6, 10, 18, 21, 23, 28, 34], "mark": [6, 27, 28], "complet": [6, 19, 21, 28], "also": [6, 11, 18, 25, 34], "sent": [6, 19], "get_result": [6, 17], "serial": [6, 11, 15], "so": [6, 18, 19, 28, 34], "we": [6, 7, 19, 28, 31, 32, 33, 34], "more": [6, 21, 25, 27, 28], "than": [6, 28], "connect": [6, 10, 19, 21, 28], "manytooneconnecttran": 6, "fifo": [6, 28], "rob_mark_don": 6, "rs_updat": 6, "rf_write": 6, "instanc": [6, 7, 10, 11, 15, 18, 23, 34], "next": [6, 7, 10, 11, 23, 28], "readi": [6, 7, 19, 21, 23, 27, 32], "assum": [6, 13, 28], "differ": [6, 13, 19, 25, 26, 28, 30, 34], "end": [6, 15, 28], "without": [6, 23, 28], "pass": [6, 25, 34], "finish": [6, 19, 22], "debug_sign": 6, "rob_peek": 6, "rob_retir": 6, "r_rat_commit": 6, "r_rat_peek": 6, "free_rf_put": 6, "rf_free": 6, "exception_cause_get": 6, "exception_cause_clear": 6, "frat_renam": 6, "fetch_continu": 6, "instr_decr": 6, "trap_entri": 6, "async_interrupt_caus": 6, "cacheinterfac": [7, 11], "associ": [7, 18], "replac": [7, 16, 18, 21, 32], "polici": 7, "pseudo": 7, "random": 7, "scheme": 7, "everi": [7, 13, 19, 25, 34], "trash": 7, "select": [7, 10, 13, 17, 19, 23, 25], "keep": 7, "global": [7, 28], "abstract": [7, 16, 18, 34], "awai": 7, "need": [7, 11, 18, 19, 25, 28, 32], "refiller_start": 7, "whenev": [7, 18], "refiller_accept": 7, "written": [7, 21, 33, 34], "last": [7, 22, 23], "when": [7, 15, 18, 19, 22, 25, 28, 30, 32, 33], "either": [7, 18, 19, 22], "transfer": [7, 19], "over": [7, 21], "shouldn": [7, 34], "until": [7, 11, 28], "start": [7, 13, 15, 19, 22, 28], "layout": [7, 10, 11, 14, 19, 23, 25, 30], "icachelayout": 7, "icacheparamet": [7, 18], "cacherefillerinterfac": 7, "creat": [7, 16, 18, 19, 25, 34], "input": [7, 10, 13, 14, 19, 21, 22, 28, 32, 33], "start_refil": 7, "accept_refil": 7, "deserialize_addr": 7, "raw_addr": 7, "dict": [7, 19], "serialize_addr": 7, "addr": [7, 15, 19], "view": [7, 13, 15], "icachebypass": 7, "bus_mast": 7, "busmasterinterfac": [7, 9, 15, 19], "haselabor": [7, 17, 19], "protocol": [7, 17, 19], "whole": [7, 26, 28], "given": [7, 9, 15, 18, 21, 25, 32], "simplecommonbuscacherefil": 7, "frat": 8, "rrat": 8, "registerfil": 8, "reorderbuff": [8, 22], "corefrontend": 9, "consume_instr": 9, "consum": [9, 11], "resume_from_except": 9, "resum": 9, "pc": [9, 27], "resume_from_unsaf": 9, "unsaf": 9, "stall": [9, 19, 28], "instr_bu": 9, "frontendparam": 9, "fb_addr": 9, "fb_instr_idx": 9, "pc_from_fb": 9, "decodestag": 10, "instanti": 10, "instrdecod": 10, "make": [10, 13, 25, 26, 28, 30, 34], "actual": [10, 25, 27], "combinatori": 10, "manner": [10, 19], "get_raw": 10, "push_decod": 10, "raw": 10, "previou": [10, 11, 14, 19, 28], "step": [10, 11, 23, 25, 28, 34], "fetchlayout": [10, 11], "describ": [10, 11, 15, 23, 28, 34], "decodelayout": [10, 23], "elementari": 10, "etc": 10, "via": [10, 22], "gen": [10, 13, 16], "out": [10, 13, 16, 19, 22, 26, 27], "funct3_v": 10, "seven": 10, "funct7_v": 10, "twelv": 10, "funct12_v": 10, "rd": [10, 18], "reg_cnt_log": 10, "rd_v": 10, "rs1": [10, 18], "hold": [10, 18, 19], "first": [10, 13, 15, 21, 23, 28, 32, 33, 34], "rs1_v": 10, "rs2": [10, 18], "second": [10, 13, 21, 23, 32, 33, 34], "rs2_v": 10, "imm": [10, 18], "immedi": [10, 18, 19], "were": [10, 28], "succ": 10, "successor": 10, "pred": 10, "predecessor": 10, "fm": 10, "sourc": [10, 21, 23, 25, 32], "defin": [10, 15, 21], "kind": [10, 13, 23], "illeg": [10, 18], "success": [10, 19], "fit": 10, "constructor": 10, "repres": [10, 21], "exist": 10, "instr_type_overrid": 10, "specifi": [10, 19, 21, 33], "determin": [10, 11, 28, 34], "instrust": 10, "almost": 10, "correct": [10, 11, 15, 28, 32, 33, 34], "rd_zero": 10, "bool": [10, 15, 18, 21], "constant": 10, "other": [10, 18, 21, 25, 27], "accordingli": 10, "default": [10, 19, 21, 25], "fals": [10, 13, 15, 25], "rs1_zero": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": [10, 19], "list": [10, 13, 18, 19, 25, 27, 30, 34], "tupl": [10, 11, 13, 19, 21, 23], "is_instr_compress": 10, "fetchunit": 11, "superscalar": 11, "respons": [11, 13, 15, 19, 23, 25], "retriev": [11, 15], "them": [11, 25, 28, 34], "work": [11, 23, 28, 30, 34], "chunk": 11, "fetch_block_byt": 11, "relat": [11, 28], "how": [11, 18, 21, 25, 28, 32, 34], "mani": [11, 18, 21, 25, 28, 34], "onc": [11, 34], "vari": 11, "deal": 11, "expand": 11, "manag": [11, 13, 25, 27], "aren": [11, 28], "boundari": [11, 28], "cont": 11, "predecod": 11, "analysi": [11, 27], "jump": [11, 18, 28], "find": [11, 25, 28], "target": [11, 34], "Its": [11, 14, 15, 31], "role": 11, "give": 11, "quick": 11, "feedback": 11, "potenti": [11, 31], "predictor": 11, "help": [11, 25, 28], "redirect": 11, "promptli": 11, "predictioncheck": 11, "predict": 11, "checker": [11, 15], "look": [11, 28], "taken": [11, 21, 23, 34], "mistak": [11, 30], "ones": 11, "wrong": [11, 28], "element": [11, 28], "dispatch": [11, 28, 31, 32, 33], "new": [11, 13, 15, 19, 22, 27, 28], "batch": 11, "onli": [11, 13, 18, 19, 21, 22, 28, 34], "temporari": [11, 21], "workaround": 11, "buffer": [11, 19, 28, 32], "rest": 11, "becom": [11, 19], "elem_layout": 11, "lib": [11, 21], "structlayout": [11, 15], "collect": [11, 26, 34], "abc": [11, 18], "iter": [11, 17, 18], "shapelik": 11, "layoutlist": 11, "fpu": [12, 13], "fpu_common": [12, 13], "fpu_error_modul": [12, 13], "fpu_rounding_modul": [12, 13], "lsu": [12, 13], "dummylsu": [12, 13], "lsu_request": [12, 13], "pma": [12, 13], "unsigned_multipl": [12, 13], "common": [12, 13, 19], "fast_recurs": [12, 13], "sequenc": [12, 13, 23], "alucompon": 13, "functionalcomponentparam": [13, 15, 18], "zba_en": 13, "zbb_enabl": 13, "get_modul": [13, 15, 18], "funcunit": [13, 15, 17, 18], "get_optyp": [13, 15, 18], "alufuncunit": 13, "alu_fn": 13, "alufn": 13, "divcompon": 13, "ipc": [13, 34], "div_fn": 13, "divfn": 13, "decodermanag": 13, "fn": 13, "get_instruct": 13, "implement": [13, 15, 19, 21, 26, 27, 28, 31], "format": [13, 25, 34], "divunit": 13, "get_input": 13, "arg": [13, 19], "exceptionfuncunit": 13, "unit_fn": 13, "exceptionunitfn": 13, "exceptionunitcompon": 13, "jumpbranchfuncunit": 13, "jb_fn": 13, "jumpbranchfn": 13, "jumpcompon": 13, "mulcompon": 13, "mul_unit_typ": 13, "multyp": 13, "dsp_width": [13, 16], "mul_fn": 13, "mulfn": 13, "hot": [13, 28], "wire": 13, "recursive_mul": 13, "fastest": 13, "multipli": [13, 16], "costli": [13, 28], "term": 13, "resourc": [13, 22, 28, 34], "sequence_mul": 13, "dsp": [13, 16], "balanc": 13, "between": [13, 15, 25, 28], "cost": [13, 27], "shift_mul": 13, "cheapest": 13, "russian": [13, 16], "peasant": [13, 16], "algorithm": [13, 16], "mulunit": 13, "unsign": [13, 16], "standard": [13, 22, 28, 34], "funcunitlayout": [13, 23], "comput": [13, 16, 18, 22, 28], "mul_typ": 13, "privilegedfn": 13, "classmethod": 13, "privilegedfuncunit": 13, "privilegedunitcompon": 13, "shiftfuncunit": 13, "shift_unit_fn": 13, "shiftunitfn": 13, "shiftunitcompon": 13, "clmultipli": 13, "product": 13, "i1": [13, 16], "factor": 13, "i2": [13, 16], "reset": [13, 21, 27], "busi": 13, "while": 13, "progress": 13, "bit_width": [13, 21], "recursion_depth": 13, "depth": [13, 15, 19, 34], "recurs": [13, 16, 34], "parallel": 13, "power": 13, "iterative_modul": 13, "recursive_modul": 13, "zbccompon": 13, "zbc_fn": 13, "zbcfn": 13, "zbcunit": 13, "zbsfunction": 13, "in1": 13, "in2": 13, "zbscompon": 13, "zbsunit": 13, "zbs_fn": 13, "division_by_zero": 14, "inexact": 14, "invalid_oper": 14, "overflow": [14, 21], "underflow": 14, "fpuparam": 14, "sig_width": 14, "significand": 14, "includ": [14, 15, 34], "implicit": 14, "exp_width": 14, "expon": 14, "roundingmod": 14, "round_down": 14, "round_nearest_awai": 14, "round_nearest_even": 14, "round_up": 14, "round_zero": 14, "fpuerrormethodlayout": 14, "fpu_param": 14, "input_inf": 14, "flag": 14, "come": 14, "purpos": [14, 28], "indic": [14, 15, 28, 33], "infin": 14, "fpuerrormodul": 14, "round": [14, 19], "error_checking_request": 14, "initi": [14, 19, 27], "error_in_layout": 14, "argument": [14, 19, 23, 25, 33, 34], "final": 14, "error_out_layout": 14, "fpuroudningmethodlayout": 14, "fpuround": 14, "rounding_request": 14, "rounding_in_layout": 14, "rounding_out_layout": 14, "lsucompon": 15, "lsudummi": 15, "veri": [15, 28], "isn": [15, 34], "compliant": [15, 34], "riscv": [15, 18, 34], "spec": [15, 22], "doesn": [15, 28, 30], "rang": 15, "processor": [15, 26, 27, 31], "master": [15, 19, 34], "lsurequest": 15, "job": [15, 28], "resili": 15, "check_align": 15, "tmodul": [15, 19, 21, 22], "postprocess_load_data": 15, "modulelik": 15, "raw_data": 15, "prepare_bytes_mask": 15, "prepare_data_to_sav": 15, "pmacheck": 15, "physic": [15, 23, 28], "mai": [15, 18, 25], "part": [15, 18, 21, 22, 28, 31], "combin": [15, 30], "circuit": [15, 34], "pmalayout": 15, "pmaregion": 15, "contigu": 15, "region": [15, 28], "both": [15, 21, 32], "begin": [15, 28], "mmio": 15, "true": [15, 18, 19, 21], "dspmulunit": 16, "clock": [16, 31, 34], "design": [16, 28], "synthesi": [16, 27], "tool": [16, 25, 34], "o": [16, 28], "same": [16, 18, 21, 25], "mulbaseunsign": 16, "unsignedmulunitlayout": 16, "recursiveunsignedmul": 16, "see": [16, 22, 30, 34], "fast": 16, "within": [16, 25], "pipelinedunsignedmul": 16, "dsp_number": 16, "sequentialunsignedmul": 16, "sequenti": [16, 19], "classic": [16, 28], "shiftunsignedmul": 16, "cheap": 16, "multi": 16, "funcblocksunifi": 17, "blockcomponentparam": [17, 18], "funcblock": [17, 18, 23], "insert": [17, 22, 23, 27, 28, 31, 32], "coreconfigur": 18, "_coreconfigurationdataclass": 18, "kwarg": [18, 19], "self": 18, "get_rs_entry_count": 18, "optypes_support": 18, "dependentcach": 18, "cfg": 18, "addr_width": [18, 19], "word_width": 18, "word": 18, "num_of_wai": 18, "num_of_sets_bit": 18, "log": [18, 19, 28], "line_bytes_log": 18, "disabl": 18, "bypass": 18, "fetch_block_bytes_log": 18, "python": [18, 25], "model": 18, "stefan": 18, "wallentowitz": 18, "http": [18, 34], "github": [18, 26, 34], "com": [18, 34], "wallento": 18, "btypeinstr": 18, "instructionfunct3typ": 18, "posit": [18, 23, 32, 33], "where": [18, 19, 23, 25, 28, 32, 33], "would": [18, 25, 28], "map": [18, 21, 27, 28], "sign": 18, "whether": [18, 34], "skip": 18, "exampl": [18, 21, 25, 27, 32], "signific": 18, "affect": [18, 34], "procedur": [18, 28], "extern": [18, 27, 34], "static_valu": 18, "ebreakinstr": 18, "itypeinstr": 18, "illegalinstr": 18, "riscvinstr": 18, "cat": [18, 34], "const": 18, "d1": 18, "jtypeinstr": 18, "as_valu": 18, "convert": 18, "concret": 18, "usual": [18, 28], "deleg": 18, "must": [18, 19], "idempot": 18, "twice": 18, "exactli": 18, "code": [18, 25, 26, 28, 30, 34], "recogn": 18, "cast": 18, "rais": [18, 28], "convers": 18, "cannot": 18, "done": [18, 28, 34], "propag": 18, "caller": [18, 25], "directli": 18, "recommend": 18, "shape": 18, "itself": [18, 28], "discov": 18, "castabl": 18, "subclass": 18, "richer": 18, "represent": 18, "shapecast": 18, "condit": [18, 25], "rtypeinstr": 18, "instructionfunct7typ": 18, "stypeinstr": 18, "utypeinstr": 18, "axiliteinterfac": 19, "abstractinterfac": 19, "abstractsignatur": 19, "read_address": 19, "axilitereadaddressinterfac": 19, "read_data": 19, "axilitereaddatainterfac": 19, "write_address": 19, "axilitewriteaddressinterfac": 19, "write_data": 19, "axilitewritedatainterfac": 19, "write_respons": 19, "axilitewriteresponseinterfac": 19, "axilitemast": 19, "axi": 19, "lite": 19, "axil_param": 19, "axiliteparamet": 19, "ra_request": 19, "channel": 19, "being": [19, 25], "ra_request_layout": 19, "rd_respons": 19, "availab": 19, "state": [19, 22, 27, 28], "rd_response_layout": 19, "wa_request": 19, "wa_request_layout": 19, "wd_request": 19, "wd_request_layout": 19, "wr_respons": 19, "wr_response_layout": 19, "axil_mast": 19, "result_handl": 19, "start_request_transact": 19, "is_address_channel": 19, "state_machine_request": 19, "request_sign": 19, "data_width": 19, "axilitesignatur": 19, "signatur": 19, "patamet": 19, "axilitemasteradapt": 19, "adapt": 19, "place": [19, 28, 32, 34], "expect": 19, "busparametersinterfac": 19, "method_layout": 19, "commonbusmastermethodlayout": 19, "request_read": 19, "underli": 19, "request_read_layout": 19, "request_writ": 19, "request_write_layout": 19, "get_read_respons": 19, "action": [19, 21], "read_response_layout": 19, "get_write_respons": 19, "write_response_layout": 19, "gain": 19, "simplifi": 19, "interchang": 19, "buse": 19, "receiv": 19, "previous": 19, "wishbonemasteradapt": 19, "wishbonemast": 19, "pipelinedwishbonemast": 19, "wb_param": 19, "wishboneparamet": 19, "max_req": 19, "limit": 19, "pend": [19, 22], "wb": 19, "request_layout": 19, "result_layout": 19, "requests_finish": 19, "generate_method_layout": 19, "wishbonearbit": 19, "arbit": 19, "slave": 19, "assert": 19, "cyc": 19, "grant": 19, "robin": 19, "num_slav": 19, "devic": 19, "slave_wb": 19, "intefac": 19, "num_mast": 19, "ack": 19, "adr": 19, "dat_r": 19, "dat_w": 19, "err": 19, "lock": [19, 25, 28], "rst": 19, "rty": 19, "stb": 19, "name": [19, 25], "wb_master": 19, "wishbonemastermethodlayout": 19, "wishbonememoryslav": 19, "underneath": 19, "keyword": 19, "thei": [19, 21, 25, 28, 31, 34], "re": [19, 28, 30], "infer": 19, "wishbonemux": 19, "muxer": 19, "multiplex": 19, "ssel_tga": 19, "corespond": 19, "tga": 19, "note": [19, 21], "stare": 19, "clear": [19, 32, 33], "delai": 19, "deassert": 19, "master_wb": 19, "singal": 19, "granular": 19, "smallest": 19, "port": 19, "capabl": 19, "wishbonesignatur": 19, "path": 19, "src_loc_at": 19, "aliasedcsr": 21, "csrregist": 21, "internalinterruptcontrol": [21, 22], "Will": 21, "soon": 21, "csr_number": 21, "virtual": [21, 25], "automat": [21, 25, 34], "csrunit": 21, "ro_bit": 21, "mask": 21, "_fu_writ": 21, "those": [21, 28], "ignor": 21, "some": [21, 28, 30], "upper": 21, "0b11": 21, "discard": 21, "init": [21, 34], "fu_write_prior": 21, "prioriti": [21, 22], "writeabl": 21, "deafult": 21, "fu_write_filtermap": 21, "valuelik": 21, "filter": [21, 25], "modifi": [21, 28], "fu_read_map": 21, "src_loc": 21, "srcloc": 21, "stack": 21, "frame": 21, "deep": 21, "locat": [21, 25, 26, 31], "altern": 21, "instead": [21, 28, 30], "add_field": 21, "bit_posit": 21, "add_read_only_field": 21, "doublecountercsr": 21, "group": 21, "increment": [21, 22], "At": 21, "low_addr": 21, "high_addr": 21, "lower": 21, "higher": 21, "synthetis": 21, "genericcsrregist": 21, "machinemodecsrregist": 21, "behaviour": [21, 34], "assign": [21, 22, 30], "csrlistkei": 21, "kei": 21, "bodi": 21, "csr_val": 21, "els": [21, 28], "side": [21, 28, 32, 33], "effect": [21, 28, 32, 33], "_fu_read": 21, "current": [21, 22, 23, 28], "read_comb": 21, "submit": 21, "combination": 21, "allow": [21, 26, 28, 34], "callabl": 21, "exceptioninformationregist": 22, "earliest": 22, "report": 22, "exceptioncauseregist": 22, "rob_get_indic": 22, "fetch_stall_except": 22, "should_update_priorii": 22, "current_caus": 22, "new_caus": 22, "coreinstructioncount": 22, "count": [22, 25], "leav": [22, 25], "decrement": 22, "compat": [22, 34], "privileg": [22, 28], "xie": 22, "xip": 22, "xstatu": 22, "interrup": 22, "plain": 22, "internal_report_level": 22, "In": [22, 23, 25, 26, 27, 33, 34], "custom_report": 22, "interrupt_custom_count": 22, "custom": 22, "edg": 22, "coreconfigr": 22, "interrupt_custom_edge_trig_mask": 22, "interrupt_insert": 22, "entri": [22, 23, 28, 31, 32, 33], "chang": [22, 25, 32], "handler": [22, 28], "exit": [22, 34], "interrupt_caus": 22, "priorit": 22, "prepar": [23, 25, 28], "alloc": [23, 31, 32, 33], "renam": [23, 31], "stuck": 23, "get_instr": 23, "get_free_reg": 23, "rat_renam": 23, "rob_put": 23, "rf_read1": 23, "rf_read2": 23, "reservation_st": 23, "decoded_instr": 23, "id": [23, 32, 33], "free": [23, 27, 28, 33], "ratlayout": 23, "rat_rename_in": 23, "rat_rename_out": 23, "roblayout": 23, "data_layout": 23, "rflayout": 23, "rf_read_out": 23, "rf_read_in": 23, "wakeupselect": 23, "wakeup": [23, 33], "firstli": 23, "get_readi": 23, "binari": [23, 34], "th": 23, "row": [23, 25, 27], "take_row": 23, "rslayout": 23, "get_ready_list_out": 23, "take_out": 23, "push": 23, "down": 23, "below": 25, "instal": [25, 34], "interpret": 25, "pip": [25, 34], "python3": [25, 34], "venv": [25, 34], "project": [25, 26, 28], "directori": [25, 26, 34], "activ": [25, 34], "bin": [25, 34], "librari": 25, "pip3": [25, 34], "dev": [25, 34], "txt": [25, 34], "riscv64": 25, "elf": 25, "binutil": 25, "your": [25, 30], "favourit": 25, "On": 25, "debian": 25, "distro": 25, "precommit": 25, "hook": 25, "pre": [25, 34], "run": [25, 34], "linter": 25, "ci": [25, 34], "intend": 25, "test": [25, 27, 30], "By": 25, "file": [25, 28, 34], "test_transact": 25, "One": [25, 28], "even": [25, 28], "testschedul": 25, "Or": 25, "test_singl": 25, "search": 25, "match": [25, 32, 33], "queri": 25, "thank": 25, "uniqu": 25, "parameter": 25, "trace": 25, "waveform": 25, "vcd": 25, "gtkw": 25, "gtkwave": 25, "__traces__": 25, "debug": 25, "driven": 25, "profil": 25, "transactron": 25, "__profile__": 25, "analyz": 25, "verbos": [25, 34], "runner": 25, "print": 25, "subcommand": 25, "filenam": 25, "reformat": 25, "black": 25, "check_format": 25, "verifi": [25, 34], "flake8": 25, "check_typ": 25, "pyright": 25, "confront": 25, "messag": 25, "you": [25, 30, 32, 34], "diff": 25, "displai": 25, "appli": [25, 28, 30], "chose": 25, "visual": 25, "architectur": [25, 28, 34], "graph": [25, 27, 34], "appropri": [25, 32], "prune": 25, "remov": [25, 28], "disconnect": 25, "node": 25, "elk": 25, "eclips": 25, "kernel": [25, 28], "dot": 25, "graphviz": 25, "mermaid": 25, "document": [25, 27], "sphinx": 25, "html": [25, 26], "build": [25, 34], "present": [25, 28], "readabl": 25, "To": [25, 28, 34], "profile_fil": 25, "json": [25, 34], "column": 25, "question": 25, "togeth": 25, "differenti": 25, "ident": 25, "declar": 25, "further": 25, "disambigu": 25, "show": 25, "could": 25, "forc": 25, "conflict": 25, "produc": 25, "tree": 25, "root": 25, "invert": 25, "children": 25, "sort": 25, "regular": 25, "express": 25, "loc": 25, "coreblock": [26, 30, 34], "go": [26, 28, 30], "microarchitectur": 26, "focu": 26, "flexibl": [26, 31], "easili": 26, "experi": 26, "doc": 26, "descript": [26, 27, 34], "overview": [26, 27, 28], "high": 26, "found": [26, 34], "version": [26, 34], "page": [26, 28, 34], "api": [26, 27], "kuznia": [26, 34], "rdzeni": [26, 34], "io": [26, 34], "introduct": 27, "assumpt": [27, 28], "made": [27, 28], "develop": 27, "environ": 27, "up": [27, 33, 34], "script": [27, 34], "run_test": [27, 34], "py": [27, 34], "lint": 27, "sh": 27, "core_graph": 27, "build_doc": 27, "tprof": 27, "schema": 27, "structur": [27, 28, 32], "proposit": [27, 28], "station": 27, "slot": 27, "tabl": 27, "substitut": 27, "clean": 27, "problem": [27, 28], "checklist": 27, "verif": 27, "manual": 27, "reproduct": 27, "benchmark": 27, "regress": 27, "summari": 27, "paper": 27, "old": 27, "softwar": 27, "tlb": 27, "strategi": 27, "igpu": 27, "specul": 27, "gpu": 27, "effici": 27, "journal": 28, "articl": 28, "choic": 28, "primari": 28, "basi": 28, "improv": 28, "pretti": 28, "1993": 28, "2001": 28, "much": 28, "research": 28, "cpu": 28, "consid": 28, "solv": 28, "try": [28, 30], "due": 28, "characterist": 28, "easi": [28, 30], "our": [28, 31, 34], "decid": [28, 31], "what": 28, "peopl": 28, "probabl": 28, "lot": 28, "worth": 28, "walker": 28, "cragon": 28, "concurr": 28, "ieee": 28, "vol": 28, "june": 28, "1995": 28, "moudgil": 28, "vassiliadi": 28, "micro": 28, "pp": 28, "58": 28, "67": 28, "februari": 28, "1996": 28, "These": [28, 34], "survei": 28, "topic": 28, "cdc": 28, "6600": 28, "ibm360": 28, "stop": 28, "crai": 28, "similar": [28, 34], "here": [28, 32], "bigger": 28, "torng": 28, "martin": 28, "dai": 28, "probe": 28, "idea": 28, "author": 28, "window": 28, "iw": 28, "didn": 28, "context": 28, "copi": 28, "restor": 28, "restart": 28, "few": 28, "big": 28, "overhead": 28, "origin": 28, "unfeas": 28, "addition": 28, "But": 28, "mayb": 28, "possibl": [28, 34], "cooper": 28, "smaller": 28, "interest": 28, "propos": 28, "nrp": 28, "No": 28, "don": [28, 30, 32], "wast": 28, "rememb": 28, "left": 28, "middl": [28, 31], "aamer": 28, "jaleel": 28, "bruce": 28, "jacob": 28, "cours": 28, "switch": [28, 32], "penalti": 28, "alpha": 28, "concentr": 28, "properti": [28, 34], "short": 28, "inlin": 28, "program": [28, 34], "observ": 28, "import": 28, "enough": 28, "live": 28, "known": 28, "fly": 28, "swap": 28, "nop": 28, "reexecut": 28, "contrast": 28, "tendenc": 28, "longer": 28, "hard": 28, "risk": 28, "linux": [28, 34], "addit": [28, 34], "hw": 28, "bore": 28, "treat": [28, 31], "mansur": 28, "samadzadeh": 28, "loai": 28, "garalnabi": 28, "checkpoint": 28, "repair": 28, "histori": 28, "reorder": 28, "futur": [28, 31, 32], "jaikrishnan": 28, "menon": 28, "marc": 28, "de": 28, "kruijf": 28, "karthikeyan": 28, "sankaralingam": 28, "2012": 28, "low": 28, "safe": 28, "rewritten": 28, "recompil": 28, "runtim": 28, "subregion": 28, "small": 28, "overrid": 28, "barrier": 28, "warp": 28, "split": [28, 31], "prevent": 28, "ivan": 28, "tanas": 28, "isaac": 28, "gelado": 28, "jorda": 28, "eduard": 28, "ayguad": 28, "nacho": 28, "navarro": 28, "2017": 28, "analys": 28, "problemat": 28, "successfulli": 28, "kill": 28, "modif": 28, "fail": 28, "repli": 28, "claim": 28, "operand": [28, 32, 33], "replai": 28, "queue": 28, "marker": 28, "jerom": 28, "hampton": 28, "2008": 28, "mention": 28, "alli": 28, "bailei": 28, "ab04": 28, "ag": 28, "younger": 28, "repeat": 28, "commun": [28, 32], "canon": 28, "eventu": 28, "someth": 30, "puzzl": 30, "why": 30, "through": 30, "sure": 30, "yield": 30, "testbenchio": 30, "notabl": 30, "settl": 30, "unexpect": 30, "ad": 30, "right": 30, "eq": 30, "record": 30, "util": 30, "statement": 30, "domain": 30, "loop": 30, "especi": 30, "simul": [30, 34], "hang": 30, "spot": 30, "yourself": 30, "fix": 30, "task": 31, "rss": 31, "phase": 31, "choos": [31, 34], "merg": 31, "optim": 31, "todo": 31, "framework": 32, "want": [32, 34], "feel": 32, "anyth": 32, "id_out": [32, 33], "id_rob": [32, 33], "id_rs1": [32, 33], "val_rs1": [32, 33], "id_rs2": [32, 33], "val_rs2": [32, 33], "fill": 32, "id_rsx": 32, "val_rsx": 32, "put": [32, 34], "releas": 32, "comparison": 32, "null": [32, 33], "woken": 33, "src1": 33, "src2": 33, "inst_readi": 33, "sever": 34, "besid": 34, "synthesis": 34, "ecp5": 34, "fpga": 34, "realiti": 34, "cocotb": 34, "assembl": 34, "deliv": 34, "histor": 34, "dedic": 34, "subpag": 34, "built": 34, "docker": 34, "publicli": 34, "subsect": 34, "recreat": 34, "command": 34, "platform": 34, "amd64": 34, "synth": 34, "latest": 34, "amaranthsynthecp5": 34, "dockerfil": 34, "complex": 34, "although": 34, "educ": 34, "practic": 34, "frequenc": 34, "too": 34, "met": 34, "cell": 34, "ram": 34, "dff": 34, "repo": 34, "sudo": 34, "pull": 34, "ghcr": 34, "rm": 34, "git": 34, "clone": 34, "cd": 34, "apt": 34, "upgrad": 34, "pythonhashse": 34, "synthes": 34, "config": 34, "parse_benchmark_info": 34, "abov": 34, "verilog": 34, "yosi": 34, "nextpnr": 34, "bitstream": 34, "strength": 34, "modular": 34, "littl": 34, "effort": 34, "gate": 34, "rout": 34, "prjtrelli": 34, "measur": 34, "theori": 34, "increas": 34, "fmax": 34, "avoid": 34, "pitfal": 34, "throughput": 34, "monitor": 34, "per": 34, "accuraci": 34, "insid": 34, "embench": 34, "compil": 34, "gnu": 34, "toolchain": 34, "glibc": 34, "subset": 34, "exact": 34, "veril": 34, "featur": 34, "stub": 34, "host": 34, "mount": 34, "subdirectori": 34, "share": 34, "surviv": 34, "close": 34, "gen_verilog": 34, "run_benchmark": 34}, "objects": {"": [[4, 0, 0, "-", "coreblocks"]], "coreblocks": [[5, 0, 0, "-", "arch"], [6, 0, 0, "-", "backend"], [7, 0, 0, "-", "cache"], [4, 0, 0, "-", "core"], [8, 0, 0, "-", "core_structs"], [9, 0, 0, "-", "frontend"], [12, 0, 0, "-", "func_blocks"], [18, 0, 0, "-", "params"], [19, 0, 0, "-", "peripherals"], [20, 0, 0, "-", "priv"], [23, 0, 0, "-", "scheduler"]], "coreblocks.arch": [[5, 0, 0, "-", "csr_address"], [5, 0, 0, "-", "isa"], [5, 0, 0, "-", "isa_consts"], [5, 0, 0, "-", "optypes"]], "coreblocks.arch.csr_address": [[5, 1, 1, "", "CSRAddress"], [5, 1, 1, "", "MstatusFieldOffsets"]], "coreblocks.arch.csr_address.CSRAddress": [[5, 2, 1, "", "COREBLOCKS_TEST_CSR"], [5, 2, 1, "", "COREBLOCKS_TEST_PRIV_MODE"], [5, 2, 1, "", "CYCLE"], [5, 2, 1, "", "CYCLEH"], [5, 2, 1, "", "DCSR"], [5, 2, 1, "", "DPC"], [5, 2, 1, "", "DSCRATCH0"], [5, 2, 1, "", "DSCRATCH1"], [5, 2, 1, "", "FCSR"], [5, 2, 1, "", "FFLAGS"], [5, 2, 1, "", "FRM"], [5, 2, 1, "", "HCONTEXT"], [5, 2, 1, "", "HCOUNTEREN"], [5, 2, 1, "", "HEDELEG"], [5, 2, 1, "", "HEDELEGH"], [5, 2, 1, "", "HENVCFG"], [5, 2, 1, "", "HENVCFGH"], [5, 2, 1, "", "HGATP"], [5, 2, 1, "", "HGEIE"], [5, 2, 1, "", "HGEIP"], [5, 2, 1, "", "HIDELEG"], [5, 2, 1, "", "HIE"], [5, 2, 1, "", "HIP"], [5, 2, 1, "", "HPMCOUNTER10"], [5, 2, 1, "", "HPMCOUNTER10H"], [5, 2, 1, "", "HPMCOUNTER11"], [5, 2, 1, "", "HPMCOUNTER11H"], [5, 2, 1, "", "HPMCOUNTER12"], [5, 2, 1, "", "HPMCOUNTER12H"], [5, 2, 1, "", "HPMCOUNTER13"], [5, 2, 1, "", "HPMCOUNTER13H"], [5, 2, 1, "", "HPMCOUNTER14"], [5, 2, 1, "", "HPMCOUNTER14H"], [5, 2, 1, "", "HPMCOUNTER15"], [5, 2, 1, "", "HPMCOUNTER15H"], [5, 2, 1, "", "HPMCOUNTER16"], [5, 2, 1, "", "HPMCOUNTER16H"], [5, 2, 1, "", "HPMCOUNTER17"], [5, 2, 1, "", "HPMCOUNTER17H"], [5, 2, 1, "", "HPMCOUNTER18"], [5, 2, 1, "", "HPMCOUNTER18H"], [5, 2, 1, "", "HPMCOUNTER19"], [5, 2, 1, "", "HPMCOUNTER19H"], [5, 2, 1, "", "HPMCOUNTER20"], [5, 2, 1, "", "HPMCOUNTER20H"], [5, 2, 1, "", "HPMCOUNTER21"], [5, 2, 1, "", "HPMCOUNTER21H"], [5, 2, 1, "", "HPMCOUNTER22"], [5, 2, 1, "", "HPMCOUNTER22H"], [5, 2, 1, "", "HPMCOUNTER23"], [5, 2, 1, "", "HPMCOUNTER23H"], [5, 2, 1, "", "HPMCOUNTER24"], [5, 2, 1, "", "HPMCOUNTER24H"], [5, 2, 1, "", "HPMCOUNTER25"], [5, 2, 1, "", "HPMCOUNTER25H"], [5, 2, 1, "", "HPMCOUNTER26"], [5, 2, 1, "", "HPMCOUNTER26H"], [5, 2, 1, "", "HPMCOUNTER27"], [5, 2, 1, "", "HPMCOUNTER27H"], [5, 2, 1, "", "HPMCOUNTER28"], [5, 2, 1, "", "HPMCOUNTER28H"], [5, 2, 1, "", "HPMCOUNTER29"], [5, 2, 1, "", "HPMCOUNTER29H"], [5, 2, 1, "", "HPMCOUNTER3"], [5, 2, 1, "", "HPMCOUNTER30"], [5, 2, 1, "", "HPMCOUNTER30H"], [5, 2, 1, "", "HPMCOUNTER31"], [5, 2, 1, "", "HPMCOUNTER31H"], [5, 2, 1, "", "HPMCOUNTER3H"], [5, 2, 1, "", "HPMCOUNTER4"], [5, 2, 1, "", "HPMCOUNTER4H"], [5, 2, 1, "", "HPMCOUNTER5"], [5, 2, 1, "", "HPMCOUNTER5H"], [5, 2, 1, "", "HPMCOUNTER6"], [5, 2, 1, "", "HPMCOUNTER6H"], [5, 2, 1, "", "HPMCOUNTER7"], [5, 2, 1, "", "HPMCOUNTER7H"], [5, 2, 1, "", "HPMCOUNTER8"], [5, 2, 1, "", "HPMCOUNTER8H"], [5, 2, 1, "", "HPMCOUNTER9"], [5, 2, 1, "", "HPMCOUNTER9H"], [5, 2, 1, "", "HSTATEEN0"], [5, 2, 1, "", "HSTATEEN0H"], [5, 2, 1, "", "HSTATEEN1"], [5, 2, 1, "", "HSTATEEN1H"], [5, 2, 1, "", "HSTATEEN2"], [5, 2, 1, "", "HSTATEEN2H"], [5, 2, 1, "", "HSTATEEN3"], [5, 2, 1, "", "HSTATEEN3H"], [5, 2, 1, "", "HSTATUS"], [5, 2, 1, "", "HTIMEDELTA"], [5, 2, 1, "", "HTIMEDELTAH"], [5, 2, 1, "", "HTINST"], [5, 2, 1, "", "HTVAL"], [5, 2, 1, "", "HVIP"], [5, 2, 1, "", "INSTRET"], [5, 2, 1, "", "INSTRETH"], [5, 2, 1, "", "MARCHID"], [5, 2, 1, "", "MCAUSE"], [5, 2, 1, "", "MCONFIGPTR"], [5, 2, 1, "", "MCONTEXT"], [5, 2, 1, "", "MCOUNTEREN"], [5, 2, 1, "", "MCOUNTINHIBIT"], [5, 2, 1, "", "MCYCLE"], [5, 2, 1, "", "MCYCLEH"], [5, 2, 1, "", "MEDELEG"], [5, 2, 1, "", "MEDELEGH"], [5, 2, 1, "", "MENVCFG"], [5, 2, 1, "", "MENVCFGH"], [5, 2, 1, "", "MEPC"], [5, 2, 1, "", "MHARTID"], [5, 2, 1, "", "MHPMCOUNTER10"], [5, 2, 1, "", "MHPMCOUNTER10H"], [5, 2, 1, "", "MHPMCOUNTER11"], [5, 2, 1, "", "MHPMCOUNTER11H"], [5, 2, 1, "", "MHPMCOUNTER12"], [5, 2, 1, "", "MHPMCOUNTER12H"], [5, 2, 1, "", "MHPMCOUNTER13"], [5, 2, 1, "", "MHPMCOUNTER13H"], [5, 2, 1, "", "MHPMCOUNTER14"], [5, 2, 1, "", "MHPMCOUNTER14H"], [5, 2, 1, "", "MHPMCOUNTER15"], [5, 2, 1, "", "MHPMCOUNTER15H"], [5, 2, 1, "", "MHPMCOUNTER16"], [5, 2, 1, "", "MHPMCOUNTER16H"], [5, 2, 1, "", "MHPMCOUNTER17"], [5, 2, 1, "", "MHPMCOUNTER17H"], [5, 2, 1, "", "MHPMCOUNTER18"], [5, 2, 1, "", "MHPMCOUNTER18H"], [5, 2, 1, "", "MHPMCOUNTER19"], [5, 2, 1, "", "MHPMCOUNTER19H"], [5, 2, 1, "", "MHPMCOUNTER20"], [5, 2, 1, "", "MHPMCOUNTER20H"], [5, 2, 1, "", "MHPMCOUNTER21"], [5, 2, 1, "", "MHPMCOUNTER21H"], [5, 2, 1, "", "MHPMCOUNTER22"], [5, 2, 1, "", "MHPMCOUNTER22H"], [5, 2, 1, "", "MHPMCOUNTER23"], [5, 2, 1, "", "MHPMCOUNTER23H"], [5, 2, 1, "", "MHPMCOUNTER24"], [5, 2, 1, "", "MHPMCOUNTER24H"], [5, 2, 1, "", "MHPMCOUNTER25"], [5, 2, 1, "", "MHPMCOUNTER25H"], [5, 2, 1, "", "MHPMCOUNTER26"], [5, 2, 1, "", "MHPMCOUNTER26H"], [5, 2, 1, "", "MHPMCOUNTER27"], [5, 2, 1, "", "MHPMCOUNTER27H"], [5, 2, 1, "", "MHPMCOUNTER28"], [5, 2, 1, "", "MHPMCOUNTER28H"], [5, 2, 1, "", "MHPMCOUNTER29"], [5, 2, 1, "", "MHPMCOUNTER29H"], [5, 2, 1, "", "MHPMCOUNTER3"], [5, 2, 1, "", "MHPMCOUNTER30"], [5, 2, 1, "", "MHPMCOUNTER30H"], [5, 2, 1, "", "MHPMCOUNTER31"], [5, 2, 1, "", "MHPMCOUNTER31H"], [5, 2, 1, "", "MHPMCOUNTER3H"], [5, 2, 1, "", "MHPMCOUNTER4"], [5, 2, 1, "", "MHPMCOUNTER4H"], [5, 2, 1, "", "MHPMCOUNTER5"], [5, 2, 1, "", "MHPMCOUNTER5H"], [5, 2, 1, "", "MHPMCOUNTER6"], [5, 2, 1, "", "MHPMCOUNTER6H"], [5, 2, 1, "", "MHPMCOUNTER7"], [5, 2, 1, "", "MHPMCOUNTER7H"], [5, 2, 1, "", "MHPMCOUNTER8"], [5, 2, 1, "", "MHPMCOUNTER8H"], [5, 2, 1, "", "MHPMCOUNTER9"], [5, 2, 1, "", "MHPMCOUNTER9H"], [5, 2, 1, "", "MHPMEVENT10"], [5, 2, 1, "", "MHPMEVENT10H"], [5, 2, 1, "", "MHPMEVENT11"], [5, 2, 1, "", "MHPMEVENT11H"], [5, 2, 1, "", "MHPMEVENT12"], [5, 2, 1, "", "MHPMEVENT12H"], [5, 2, 1, "", "MHPMEVENT13"], [5, 2, 1, "", "MHPMEVENT13H"], [5, 2, 1, "", "MHPMEVENT14"], [5, 2, 1, "", "MHPMEVENT14H"], [5, 2, 1, "", "MHPMEVENT15"], [5, 2, 1, "", "MHPMEVENT15H"], [5, 2, 1, "", "MHPMEVENT16"], [5, 2, 1, "", "MHPMEVENT16H"], [5, 2, 1, "", "MHPMEVENT17"], [5, 2, 1, "", "MHPMEVENT17H"], [5, 2, 1, "", "MHPMEVENT18"], [5, 2, 1, "", "MHPMEVENT18H"], [5, 2, 1, "", "MHPMEVENT19"], [5, 2, 1, "", "MHPMEVENT19H"], [5, 2, 1, "", "MHPMEVENT20"], [5, 2, 1, "", "MHPMEVENT20H"], [5, 2, 1, "", "MHPMEVENT21"], [5, 2, 1, "", "MHPMEVENT21H"], [5, 2, 1, "", "MHPMEVENT22"], [5, 2, 1, "", "MHPMEVENT22H"], [5, 2, 1, "", "MHPMEVENT23"], [5, 2, 1, "", "MHPMEVENT23H"], [5, 2, 1, "", "MHPMEVENT24"], [5, 2, 1, "", "MHPMEVENT24H"], [5, 2, 1, "", "MHPMEVENT25"], [5, 2, 1, "", "MHPMEVENT25H"], [5, 2, 1, "", "MHPMEVENT26"], [5, 2, 1, "", "MHPMEVENT26H"], [5, 2, 1, "", "MHPMEVENT27"], [5, 2, 1, "", "MHPMEVENT27H"], [5, 2, 1, "", "MHPMEVENT28"], [5, 2, 1, "", "MHPMEVENT28H"], [5, 2, 1, "", "MHPMEVENT29"], [5, 2, 1, "", "MHPMEVENT29H"], [5, 2, 1, "", "MHPMEVENT3"], [5, 2, 1, "", "MHPMEVENT30"], [5, 2, 1, "", "MHPMEVENT30H"], [5, 2, 1, "", "MHPMEVENT31"], [5, 2, 1, "", "MHPMEVENT31H"], [5, 2, 1, "", "MHPMEVENT3H"], [5, 2, 1, "", "MHPMEVENT4"], [5, 2, 1, "", "MHPMEVENT4H"], [5, 2, 1, "", "MHPMEVENT5"], [5, 2, 1, "", "MHPMEVENT5H"], [5, 2, 1, "", "MHPMEVENT6"], [5, 2, 1, "", "MHPMEVENT6H"], [5, 2, 1, "", "MHPMEVENT7"], [5, 2, 1, "", "MHPMEVENT7H"], [5, 2, 1, "", "MHPMEVENT8"], [5, 2, 1, "", "MHPMEVENT8H"], [5, 2, 1, "", "MHPMEVENT9"], [5, 2, 1, "", "MHPMEVENT9H"], [5, 2, 1, "", "MIDELEG"], [5, 2, 1, "", "MIE"], [5, 2, 1, "", "MIMPID"], [5, 2, 1, "", "MINSTRET"], [5, 2, 1, "", "MINSTRETH"], [5, 2, 1, "", "MIP"], [5, 2, 1, "", "MISA"], [5, 2, 1, "", "MNCAUSE"], [5, 2, 1, "", "MNEPC"], [5, 2, 1, "", "MNSCRATCH"], [5, 2, 1, "", "MNSTATUS"], [5, 2, 1, "", "MSCRATCH"], [5, 2, 1, "", "MSECCFG"], [5, 2, 1, "", "MSECCFGH"], [5, 2, 1, "", "MSTATEEN0"], [5, 2, 1, "", "MSTATEEN0H"], [5, 2, 1, "", "MSTATEEN1"], [5, 2, 1, "", "MSTATEEN1H"], [5, 2, 1, "", "MSTATEEN2"], [5, 2, 1, "", "MSTATEEN2H"], [5, 2, 1, "", "MSTATEEN3"], [5, 2, 1, "", "MSTATEEN3H"], [5, 2, 1, "", "MSTATUS"], [5, 2, 1, "", "MSTATUSH"], [5, 2, 1, "", "MTINST"], [5, 2, 1, "", "MTVAL"], [5, 2, 1, "", "MTVAL2"], [5, 2, 1, "", "MTVEC"], [5, 2, 1, "", "MVENDORID"], [5, 2, 1, "", "PMPADDR0"], [5, 2, 1, "", "PMPADDR1"], [5, 2, 1, "", "PMPADDR10"], [5, 2, 1, "", "PMPADDR11"], [5, 2, 1, "", "PMPADDR12"], [5, 2, 1, "", "PMPADDR13"], [5, 2, 1, "", "PMPADDR14"], [5, 2, 1, "", "PMPADDR15"], [5, 2, 1, "", "PMPADDR16"], [5, 2, 1, "", "PMPADDR17"], [5, 2, 1, "", "PMPADDR18"], [5, 2, 1, "", "PMPADDR19"], [5, 2, 1, "", "PMPADDR2"], [5, 2, 1, "", "PMPADDR20"], [5, 2, 1, "", "PMPADDR21"], [5, 2, 1, "", "PMPADDR22"], [5, 2, 1, "", "PMPADDR23"], [5, 2, 1, "", "PMPADDR24"], [5, 2, 1, "", "PMPADDR25"], [5, 2, 1, "", "PMPADDR26"], [5, 2, 1, "", "PMPADDR27"], [5, 2, 1, "", "PMPADDR28"], [5, 2, 1, "", "PMPADDR29"], [5, 2, 1, "", "PMPADDR3"], [5, 2, 1, "", "PMPADDR30"], [5, 2, 1, "", "PMPADDR31"], [5, 2, 1, "", "PMPADDR32"], [5, 2, 1, "", "PMPADDR33"], [5, 2, 1, "", "PMPADDR34"], [5, 2, 1, "", "PMPADDR35"], [5, 2, 1, "", "PMPADDR36"], [5, 2, 1, "", "PMPADDR37"], [5, 2, 1, "", "PMPADDR38"], [5, 2, 1, "", "PMPADDR39"], [5, 2, 1, "", "PMPADDR4"], [5, 2, 1, "", "PMPADDR40"], [5, 2, 1, "", "PMPADDR41"], [5, 2, 1, "", "PMPADDR42"], [5, 2, 1, "", "PMPADDR43"], [5, 2, 1, "", "PMPADDR44"], [5, 2, 1, "", "PMPADDR45"], [5, 2, 1, "", "PMPADDR46"], [5, 2, 1, "", "PMPADDR47"], [5, 2, 1, "", "PMPADDR48"], [5, 2, 1, "", "PMPADDR49"], [5, 2, 1, "", "PMPADDR5"], [5, 2, 1, "", "PMPADDR50"], [5, 2, 1, "", "PMPADDR51"], [5, 2, 1, "", "PMPADDR52"], [5, 2, 1, "", "PMPADDR53"], [5, 2, 1, "", "PMPADDR54"], [5, 2, 1, "", "PMPADDR55"], [5, 2, 1, "", "PMPADDR56"], [5, 2, 1, "", "PMPADDR57"], [5, 2, 1, "", "PMPADDR58"], [5, 2, 1, "", "PMPADDR59"], [5, 2, 1, "", "PMPADDR6"], [5, 2, 1, "", "PMPADDR60"], [5, 2, 1, "", "PMPADDR61"], [5, 2, 1, "", "PMPADDR62"], [5, 2, 1, "", "PMPADDR63"], [5, 2, 1, "", "PMPADDR7"], [5, 2, 1, "", "PMPADDR8"], [5, 2, 1, "", "PMPADDR9"], [5, 2, 1, "", "PMPCFG0"], [5, 2, 1, "", "PMPCFG1"], [5, 2, 1, "", "PMPCFG10"], [5, 2, 1, "", "PMPCFG11"], [5, 2, 1, "", "PMPCFG12"], [5, 2, 1, "", "PMPCFG13"], [5, 2, 1, "", "PMPCFG14"], [5, 2, 1, "", "PMPCFG15"], [5, 2, 1, "", "PMPCFG2"], [5, 2, 1, "", "PMPCFG3"], [5, 2, 1, "", "PMPCFG4"], [5, 2, 1, "", "PMPCFG5"], [5, 2, 1, "", "PMPCFG6"], [5, 2, 1, "", "PMPCFG7"], [5, 2, 1, "", "PMPCFG8"], [5, 2, 1, "", "PMPCFG9"], [5, 2, 1, "", "SATP"], [5, 2, 1, "", "SCAUSE"], [5, 2, 1, "", "SCONTEXT"], [5, 2, 1, "", "SCOUNTEREN"], [5, 2, 1, "", "SCOUNTINHIBIT"], [5, 2, 1, "", "SCOUNTOVF"], [5, 2, 1, "", "SENVCFG"], [5, 2, 1, "", "SEPC"], [5, 2, 1, "", "SIE"], [5, 2, 1, "", "SIP"], [5, 2, 1, "", "SSCRATCH"], [5, 2, 1, "", "SSP"], [5, 2, 1, "", "SSTATEEN0"], [5, 2, 1, "", "SSTATEEN1"], [5, 2, 1, "", "SSTATEEN2"], [5, 2, 1, "", "SSTATEEN3"], [5, 2, 1, "", "SSTATUS"], [5, 2, 1, "", "STVAL"], [5, 2, 1, "", "STVEC"], [5, 2, 1, "", "TDATA1"], [5, 2, 1, "", "TDATA2"], [5, 2, 1, "", "TDATA3"], [5, 2, 1, "", "TIME"], [5, 2, 1, "", "TIMEH"], [5, 2, 1, "", "TSELECT"], [5, 2, 1, "", "VSATP"], [5, 2, 1, "", "VSCAUSE"], [5, 2, 1, "", "VSEPC"], [5, 2, 1, "", "VSIE"], [5, 2, 1, "", "VSIP"], [5, 2, 1, "", "VSSCRATCH"], [5, 2, 1, "", "VSSTATUS"], [5, 2, 1, "", "VSTVAL"], [5, 2, 1, "", "VSTVEC"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.csr_address.MstatusFieldOffsets": [[5, 2, 1, "", "FS"], [5, 2, 1, "", "MBE"], [5, 2, 1, "", "MIE"], [5, 2, 1, "", "MPIE"], [5, 2, 1, "", "MPP"], [5, 2, 1, "", "MPRV"], [5, 2, 1, "", "MXR"], [5, 2, 1, "", "SBE"], [5, 2, 1, "", "SD"], [5, 2, 1, "", "SIE"], [5, 2, 1, "", "SPIE"], [5, 2, 1, "", "SPP"], [5, 2, 1, "", "SUM"], [5, 2, 1, "", "SXL"], [5, 2, 1, "", "TSR"], [5, 2, 1, "", "TVM"], [5, 2, 1, "", "TW"], [5, 2, 1, "", "UBE"], [5, 2, 1, "", "UXL"], [5, 2, 1, "", "VS"], [5, 2, 1, "", "XS"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa": [[5, 1, 1, "", "Extension"], [5, 1, 1, "", "ISA"]], "coreblocks.arch.isa.Extension": [[5, 2, 1, "", "A"], [5, 2, 1, "", "B"], [5, 2, 1, "", "C"], [5, 2, 1, "", "D"], [5, 2, 1, "", "E"], [5, 2, 1, "", "F"], [5, 2, 1, "", "G"], [5, 2, 1, "", "I"], [5, 2, 1, "", "J"], [5, 2, 1, "", "L"], [5, 2, 1, "", "M"], [5, 2, 1, "", "N"], [5, 2, 1, "", "P"], [5, 2, 1, "", "Q"], [5, 2, 1, "", "T"], [5, 2, 1, "", "V"], [5, 2, 1, "", "XINTMACHINEMODE"], [5, 2, 1, "", "XINTSUPERVISOR"], [5, 2, 1, "", "ZAM"], [5, 2, 1, "", "ZBA"], [5, 2, 1, "", "ZBB"], [5, 2, 1, "", "ZBC"], [5, 2, 1, "", "ZBS"], [5, 2, 1, "", "ZDINX"], [5, 2, 1, "", "ZFH"], [5, 2, 1, "", "ZFHMIN"], [5, 2, 1, "", "ZFINX"], [5, 2, 1, "", "ZHINX"], [5, 2, 1, "", "ZICNTR"], [5, 2, 1, "", "ZICSR"], [5, 2, 1, "", "ZIFENCEI"], [5, 2, 1, "", "ZIHINTNTL"], [5, 2, 1, "", "ZIHINTPAUSE"], [5, 2, 1, "", "ZIHPM"], [5, 2, 1, "", "ZMMUL"], [5, 2, 1, "", "ZTSO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa.ISA": [[5, 3, 1, "", "__init__"]], "coreblocks.arch.isa_consts": [[5, 1, 1, "", "ExceptionCause"], [5, 1, 1, "", "FenceFm"], [5, 1, 1, "", "FenceTarget"], [5, 1, 1, "", "Funct12"], [5, 1, 1, "", "Funct3"], [5, 1, 1, "", "Funct7"], [5, 1, 1, "", "InstrType"], [5, 1, 1, "", "InterruptCauseNumber"], [5, 1, 1, "", "Opcode"], [5, 1, 1, "", "PrivilegeLevel"], [5, 1, 1, "", "Registers"], [5, 1, 1, "", "XlenEncoding"]], "coreblocks.arch.isa_consts.ExceptionCause": [[5, 2, 1, "", "BREAKPOINT"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_M"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_S"], [5, 2, 1, "", "ENVIRONMENT_CALL_FROM_U"], [5, 2, 1, "", "ILLEGAL_INSTRUCTION"], [5, 2, 1, "", "INSTRUCTION_ACCESS_FAULT"], [5, 2, 1, "", "INSTRUCTION_ADDRESS_MISALIGNED"], [5, 2, 1, "", "INSTRUCTION_PAGE_FAULT"], [5, 2, 1, "", "LOAD_ACCESS_FAULT"], [5, 2, 1, "", "LOAD_ADDRESS_MISALIGNED"], [5, 2, 1, "", "LOAD_PAGE_FAULT"], [5, 2, 1, "", "STORE_ACCESS_FAULT"], [5, 2, 1, "", "STORE_ADDRESS_MISALIGNED"], [5, 2, 1, "", "STORE_PAGE_FAULT"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.FenceFm": [[5, 2, 1, "", "NONE"], [5, 2, 1, "", "TSO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.FenceTarget": [[5, 2, 1, "", "DEV_I"], [5, 2, 1, "", "DEV_O"], [5, 2, 1, "", "MEM_R"], [5, 2, 1, "", "MEM_W"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct12": [[5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "EBREAK"], [5, 2, 1, "", "ECALL"], [5, 2, 1, "", "MRET"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "REV8_32"], [5, 2, 1, "", "REV8_64"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SRET"], [5, 2, 1, "", "WFI"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct3": [[5, 2, 1, "", "ADD"], [5, 2, 1, "", "AND"], [5, 2, 1, "", "ANDN"], [5, 2, 1, "", "B"], [5, 2, 1, "", "BCLR"], [5, 2, 1, "", "BEQ"], [5, 2, 1, "", "BEXT"], [5, 2, 1, "", "BGE"], [5, 2, 1, "", "BGEU"], [5, 2, 1, "", "BINV"], [5, 2, 1, "", "BLT"], [5, 2, 1, "", "BLTU"], [5, 2, 1, "", "BNE"], [5, 2, 1, "", "BSET"], [5, 2, 1, "", "BU"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "CLMULH"], [5, 2, 1, "", "CLMULR"], [5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CSRRC"], [5, 2, 1, "", "CSRRCI"], [5, 2, 1, "", "CSRRS"], [5, 2, 1, "", "CSRRSI"], [5, 2, 1, "", "CSRRW"], [5, 2, 1, "", "CSRRWI"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "D"], [5, 2, 1, "", "DIV"], [5, 2, 1, "", "DIVU"], [5, 2, 1, "", "DIVUW"], [5, 2, 1, "", "DIVW"], [5, 2, 1, "", "FENCE"], [5, 2, 1, "", "FENCEI"], [5, 2, 1, "", "H"], [5, 2, 1, "", "HU"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "MAX"], [5, 2, 1, "", "MAXU"], [5, 2, 1, "", "MIN"], [5, 2, 1, "", "MINU"], [5, 2, 1, "", "MUL"], [5, 2, 1, "", "MULH"], [5, 2, 1, "", "MULHSU"], [5, 2, 1, "", "MULHU"], [5, 2, 1, "", "MULW"], [5, 2, 1, "", "OR"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "ORN"], [5, 2, 1, "", "PRIV"], [5, 2, 1, "", "REM"], [5, 2, 1, "", "REMU"], [5, 2, 1, "", "REMUW"], [5, 2, 1, "", "REMW"], [5, 2, 1, "", "REV8"], [5, 2, 1, "", "ROL"], [5, 2, 1, "", "ROR"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SH1ADD"], [5, 2, 1, "", "SH2ADD"], [5, 2, 1, "", "SH3ADD"], [5, 2, 1, "", "SLL"], [5, 2, 1, "", "SLT"], [5, 2, 1, "", "SLTU"], [5, 2, 1, "", "SR"], [5, 2, 1, "", "SUB"], [5, 2, 1, "", "W"], [5, 2, 1, "", "XNOR"], [5, 2, 1, "", "XOR"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Funct7": [[5, 2, 1, "", "ADD"], [5, 2, 1, "", "AND"], [5, 2, 1, "", "ANDN"], [5, 2, 1, "", "BCLR"], [5, 2, 1, "", "BEXT"], [5, 2, 1, "", "BINV"], [5, 2, 1, "", "BSET"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "CLZ"], [5, 2, 1, "", "CPOP"], [5, 2, 1, "", "CTZ"], [5, 2, 1, "", "MAX"], [5, 2, 1, "", "MIN"], [5, 2, 1, "", "MULDIV"], [5, 2, 1, "", "OR"], [5, 2, 1, "", "ORCB"], [5, 2, 1, "", "ORN"], [5, 2, 1, "", "REV8"], [5, 2, 1, "", "ROL"], [5, 2, 1, "", "ROR"], [5, 2, 1, "", "SA"], [5, 2, 1, "", "SEXTB"], [5, 2, 1, "", "SEXTH"], [5, 2, 1, "", "SFENCEVMA"], [5, 2, 1, "", "SH1ADD"], [5, 2, 1, "", "SH2ADD"], [5, 2, 1, "", "SH3ADD"], [5, 2, 1, "", "SL"], [5, 2, 1, "", "SLT"], [5, 2, 1, "", "SUB"], [5, 2, 1, "", "XNOR"], [5, 2, 1, "", "XOR"], [5, 2, 1, "", "ZEXTH"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.InstrType": [[5, 2, 1, "", "B"], [5, 2, 1, "", "I"], [5, 2, 1, "", "J"], [5, 2, 1, "", "R"], [5, 2, 1, "", "S"], [5, 2, 1, "", "U"]], "coreblocks.arch.isa_consts.InterruptCauseNumber": [[5, 2, 1, "", "MEI"], [5, 2, 1, "", "MSI"], [5, 2, 1, "", "MTI"], [5, 2, 1, "", "SEI"], [5, 2, 1, "", "SSI"], [5, 2, 1, "", "STI"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Opcode": [[5, 2, 1, "", "AUIPC"], [5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "LOAD"], [5, 2, 1, "", "LOAD_FP"], [5, 2, 1, "", "LUI"], [5, 2, 1, "", "MISC_MEM"], [5, 2, 1, "", "OP"], [5, 2, 1, "", "OP32"], [5, 2, 1, "", "OP_IMM"], [5, 2, 1, "", "OP_IMM_32"], [5, 2, 1, "", "RESERVED"], [5, 2, 1, "", "STORE"], [5, 2, 1, "", "STORE_FP"], [5, 2, 1, "", "SYSTEM"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.PrivilegeLevel": [[5, 2, 1, "", "MACHINE"], [5, 2, 1, "", "SUPERVISOR"], [5, 2, 1, "", "USER"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.Registers": [[5, 2, 1, "", "A0"], [5, 2, 1, "", "A1"], [5, 2, 1, "", "A2"], [5, 2, 1, "", "A3"], [5, 2, 1, "", "A4"], [5, 2, 1, "", "A5"], [5, 2, 1, "", "A6"], [5, 2, 1, "", "A7"], [5, 2, 1, "", "FP"], [5, 2, 1, "", "GP"], [5, 2, 1, "", "RA"], [5, 2, 1, "", "S0"], [5, 2, 1, "", "S1"], [5, 2, 1, "", "S10"], [5, 2, 1, "", "S11"], [5, 2, 1, "", "S2"], [5, 2, 1, "", "S3"], [5, 2, 1, "", "S4"], [5, 2, 1, "", "S5"], [5, 2, 1, "", "S6"], [5, 2, 1, "", "S7"], [5, 2, 1, "", "S8"], [5, 2, 1, "", "S9"], [5, 2, 1, "", "SP"], [5, 2, 1, "", "T0"], [5, 2, 1, "", "T1"], [5, 2, 1, "", "T2"], [5, 2, 1, "", "T3"], [5, 2, 1, "", "T4"], [5, 2, 1, "", "T5"], [5, 2, 1, "", "T6"], [5, 2, 1, "", "TP"], [5, 2, 1, "", "X0"], [5, 2, 1, "", "X1"], [5, 2, 1, "", "X10"], [5, 2, 1, "", "X11"], [5, 2, 1, "", "X12"], [5, 2, 1, "", "X13"], [5, 2, 1, "", "X14"], [5, 2, 1, "", "X15"], [5, 2, 1, "", "X16"], [5, 2, 1, "", "X17"], [5, 2, 1, "", "X18"], [5, 2, 1, "", "X19"], [5, 2, 1, "", "X2"], [5, 2, 1, "", "X20"], [5, 2, 1, "", "X21"], [5, 2, 1, "", "X22"], [5, 2, 1, "", "X23"], [5, 2, 1, "", "X24"], [5, 2, 1, "", "X25"], [5, 2, 1, "", "X26"], [5, 2, 1, "", "X27"], [5, 2, 1, "", "X28"], [5, 2, 1, "", "X29"], [5, 2, 1, "", "X3"], [5, 2, 1, "", "X30"], [5, 2, 1, "", "X31"], [5, 2, 1, "", "X4"], [5, 2, 1, "", "X5"], [5, 2, 1, "", "X6"], [5, 2, 1, "", "X7"], [5, 2, 1, "", "X8"], [5, 2, 1, "", "X9"], [5, 2, 1, "", "ZERO"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.isa_consts.XlenEncoding": [[5, 2, 1, "", "W128"], [5, 2, 1, "", "W32"], [5, 2, 1, "", "W64"], [5, 3, 1, "", "__new__"]], "coreblocks.arch.optypes": [[5, 1, 1, "", "CfiType"], [5, 1, 1, "", "OpType"]], "coreblocks.arch.optypes.CfiType": [[5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "CALL"], [5, 2, 1, "", "INVALID"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "RET"], [5, 3, 1, "", "__new__"], [5, 3, 1, "", "is_branch"], [5, 3, 1, "", "is_jal"], [5, 3, 1, "", "is_jalr"], [5, 3, 1, "", "valid"]], "coreblocks.arch.optypes.OpType": [[5, 2, 1, "", "ADDRESS_GENERATION"], [5, 2, 1, "", "ARITHMETIC"], [5, 2, 1, "", "AUIPC"], [5, 2, 1, "", "BIT_MANIPULATION"], [5, 2, 1, "", "BIT_ROTATION"], [5, 2, 1, "", "BRANCH"], [5, 2, 1, "", "CLMUL"], [5, 2, 1, "", "COMPARE"], [5, 2, 1, "", "CSR_IMM"], [5, 2, 1, "", "CSR_REG"], [5, 2, 1, "", "DIV_REM"], [5, 2, 1, "", "EBREAK"], [5, 2, 1, "", "ECALL"], [5, 2, 1, "", "EXCEPTION"], [5, 2, 1, "", "FENCE"], [5, 2, 1, "", "FENCEI"], [5, 2, 1, "", "JAL"], [5, 2, 1, "", "JALR"], [5, 2, 1, "", "LOAD"], [5, 2, 1, "", "LOGIC"], [5, 2, 1, "", "MRET"], [5, 2, 1, "", "MUL"], [5, 2, 1, "", "SFENCEVMA"], [5, 2, 1, "", "SHIFT"], [5, 2, 1, "", "SINGLE_BIT_MANIPULATION"], [5, 2, 1, "", "SRET"], [5, 2, 1, "", "STORE"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_1"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_2"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_3"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_4"], [5, 2, 1, "", "UNARY_BIT_MANIPULATION_5"], [5, 2, 1, "", "UNKNOWN"], [5, 2, 1, "", "WFI"], [5, 3, 1, "", "__new__"]], "coreblocks.backend": [[6, 0, 0, "-", "annoucement"], [6, 0, 0, "-", "retirement"]], "coreblocks.backend.annoucement": [[6, 1, 1, "", "ResultAnnouncement"]], "coreblocks.backend.annoucement.ResultAnnouncement": [[6, 3, 1, "", "__init__"], [6, 3, 1, "", "debug_signals"]], "coreblocks.backend.retirement": [[6, 1, 1, "", "Retirement"]], "coreblocks.backend.retirement.Retirement": [[6, 3, 1, "", "__init__"]], "coreblocks.cache": [[7, 0, 0, "-", "icache"], [7, 0, 0, "-", "iface"], [7, 0, 0, "-", "refiller"]], "coreblocks.cache.icache": [[7, 1, 1, "", "ICache"], [7, 1, 1, "", "ICacheBypass"]], "coreblocks.cache.icache.ICache": [[7, 3, 1, "", "__init__"], [7, 3, 1, "", "deserialize_addr"], [7, 3, 1, "", "serialize_addr"]], "coreblocks.cache.icache.ICacheBypass": [[7, 3, 1, "", "__init__"]], "coreblocks.cache.iface": [[7, 1, 1, "", "CacheInterface"], [7, 1, 1, "", "CacheRefillerInterface"]], "coreblocks.cache.iface.CacheInterface": [[7, 2, 1, "", "accept_res"], [7, 2, 1, "", "flush"], [7, 2, 1, "", "issue_req"]], "coreblocks.cache.iface.CacheRefillerInterface": [[7, 2, 1, "", "accept_refill"], [7, 2, 1, "", "start_refill"]], "coreblocks.cache.refiller": [[7, 1, 1, "", "SimpleCommonBusCacheRefiller"]], "coreblocks.cache.refiller.SimpleCommonBusCacheRefiller": [[7, 3, 1, "", "__init__"]], "coreblocks.core": [[4, 1, 1, "", "Core"]], "coreblocks.core.Core": [[4, 3, 1, "", "__init__"], [4, 2, 1, "", "interrupts"], [4, 2, 1, "", "wb_data"], [4, 2, 1, "", "wb_instr"]], "coreblocks.core_structs": [[8, 0, 0, "-", "rat"], [8, 0, 0, "-", "rf"], [8, 0, 0, "-", "rob"]], "coreblocks.core_structs.rat": [[8, 1, 1, "", "FRAT"], [8, 1, 1, "", "RRAT"]], "coreblocks.core_structs.rat.FRAT": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rat.RRAT": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rf": [[8, 1, 1, "", "RegisterFile"]], "coreblocks.core_structs.rf.RegisterFile": [[8, 3, 1, "", "__init__"]], "coreblocks.core_structs.rob": [[8, 1, 1, "", "ReorderBuffer"]], "coreblocks.core_structs.rob.ReorderBuffer": [[8, 3, 1, "", "__init__"]], "coreblocks.frontend": [[10, 0, 0, "-", "decoder"], [11, 0, 0, "-", "fetch"], [9, 0, 0, "-", "frontend"], [9, 0, 0, "-", "frontend_params"]], "coreblocks.frontend.decoder": [[10, 0, 0, "-", "decode_stage"], [10, 0, 0, "-", "instr_decoder"], [10, 0, 0, "-", "instr_description"], [10, 0, 0, "-", "rvc"]], "coreblocks.frontend.decoder.decode_stage": [[10, 1, 1, "", "DecodeStage"]], "coreblocks.frontend.decoder.decode_stage.DecodeStage": [[10, 3, 1, "", "__init__"]], "coreblocks.frontend.decoder.instr_decoder": [[10, 1, 1, "", "InstrDecoder"]], "coreblocks.frontend.decoder.instr_decoder.InstrDecoder": [[10, 3, 1, "", "__init__"]], "coreblocks.frontend.decoder.instr_description": [[10, 1, 1, "", "Encoding"]], "coreblocks.frontend.decoder.instr_description.Encoding": [[10, 3, 1, "", "__init__"], [10, 2, 1, "", "funct12"], [10, 2, 1, "", "funct3"], [10, 2, 1, "", "funct7"], [10, 2, 1, "", "instr_type_override"], [10, 2, 1, "", "opcode"], [10, 2, 1, "", "rd_zero"], [10, 2, 1, "", "rs1_zero"]], "coreblocks.frontend.decoder.rvc": [[10, 1, 1, "", "InstrDecompress"], [10, 4, 1, "", "is_instr_compressed"]], "coreblocks.frontend.decoder.rvc.InstrDecompress": [[10, 3, 1, "", "__init__"], [10, 3, 1, "", "decompr_reg"], [10, 3, 1, "", "instr_mux"]], "coreblocks.frontend.fetch": [[11, 0, 0, "-", "fetch"]], "coreblocks.frontend.fetch.fetch": [[11, 1, 1, "", "FetchUnit"], [11, 1, 1, "", "Predecoder"], [11, 1, 1, "", "PredictionChecker"], [11, 1, 1, "", "Serializer"]], "coreblocks.frontend.fetch.fetch.FetchUnit": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.Predecoder": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.PredictionChecker": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.fetch.fetch.Serializer": [[11, 3, 1, "", "__init__"]], "coreblocks.frontend.frontend": [[9, 1, 1, "", "CoreFrontend"]], "coreblocks.frontend.frontend.CoreFrontend": [[9, 3, 1, "", "__init__"]], "coreblocks.frontend.frontend_params": [[9, 1, 1, "", "FrontendParams"]], "coreblocks.frontend.frontend_params.FrontendParams": [[9, 3, 1, "", "__init__"], [9, 3, 1, "", "fb_addr"], [9, 3, 1, "", "fb_instr_idx"], [9, 3, 1, "", "pc_from_fb"]], "coreblocks.func_blocks": [[13, 0, 0, "-", "fu"], [17, 0, 0, "-", "interface"]], "coreblocks.func_blocks.fu": [[13, 0, 0, "-", "alu"], [13, 0, 0, "-", "div_unit"], [13, 0, 0, "-", "exception"], [14, 0, 0, "-", "fpu"], [13, 0, 0, "-", "jumpbranch"], [15, 0, 0, "-", "lsu"], [13, 0, 0, "-", "mul_unit"], [13, 0, 0, "-", "priv"], [13, 0, 0, "-", "shift_unit"], [16, 0, 0, "-", "unsigned_multiplication"], [13, 0, 0, "-", "zbc"], [13, 0, 0, "-", "zbs"]], "coreblocks.func_blocks.fu.alu": [[13, 1, 1, "", "ALUComponent"], [13, 1, 1, "", "AluFuncUnit"]], "coreblocks.func_blocks.fu.alu.ALUComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.alu.AluFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.div_unit": [[13, 1, 1, "", "DivComponent"], [13, 1, 1, "", "DivFn"], [13, 1, 1, "", "DivUnit"], [13, 4, 1, "", "get_input"]], "coreblocks.func_blocks.fu.div_unit.DivComponent": [[13, 3, 1, "", "__init__"], [13, 2, 1, "", "div_fn"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "ipc"]], "coreblocks.func_blocks.fu.div_unit.DivFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.div_unit.DivFn.Fn": [[13, 2, 1, "", "DIV"], [13, 2, 1, "", "DIVU"], [13, 2, 1, "", "REM"], [13, 2, 1, "", "REMU"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.div_unit.DivUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.exception": [[13, 1, 1, "", "ExceptionFuncUnit"], [13, 1, 1, "", "ExceptionUnitComponent"]], "coreblocks.func_blocks.fu.exception.ExceptionFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.exception.ExceptionUnitComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.fpu": [[14, 0, 0, "-", "fpu_common"], [14, 0, 0, "-", "fpu_error_module"], [14, 0, 0, "-", "fpu_rounding_module"]], "coreblocks.func_blocks.fu.fpu.fpu_common": [[14, 1, 1, "", "Errors"], [14, 1, 1, "", "FPUParams"], [14, 1, 1, "", "RoundingModes"]], "coreblocks.func_blocks.fu.fpu.fpu_common.Errors": [[14, 2, 1, "", "DIVISION_BY_ZERO"], [14, 2, 1, "", "INEXACT"], [14, 2, 1, "", "INVALID_OPERATION"], [14, 2, 1, "", "OVERFLOW"], [14, 2, 1, "", "UNDERFLOW"], [14, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.fpu.fpu_common.FPUParams": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_common.RoundingModes": [[14, 2, 1, "", "ROUND_DOWN"], [14, 2, 1, "", "ROUND_NEAREST_AWAY"], [14, 2, 1, "", "ROUND_NEAREST_EVEN"], [14, 2, 1, "", "ROUND_UP"], [14, 2, 1, "", "ROUND_ZERO"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module": [[14, 1, 1, "", "FPUErrorMethodLayout"], [14, 1, 1, "", "FPUErrorModule"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module.FPUErrorMethodLayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_error_module.FPUErrorModule": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module": [[14, 1, 1, "", "FPURoudningMethodLayout"], [14, 1, 1, "", "FPURounding"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module.FPURoudningMethodLayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.fpu.fpu_rounding_module.FPURounding": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.jumpbranch": [[13, 1, 1, "", "JumpBranchFuncUnit"], [13, 1, 1, "", "JumpComponent"]], "coreblocks.func_blocks.fu.jumpbranch.JumpBranchFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.jumpbranch.JumpComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu": [[15, 0, 0, "-", "dummyLsu"], [15, 0, 0, "-", "lsu_requester"], [15, 0, 0, "-", "pma"]], "coreblocks.func_blocks.fu.lsu.dummyLsu": [[15, 1, 1, "", "LSUComponent"], [15, 1, 1, "", "LSUDummy"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUComponent": [[15, 3, 1, "", "__init__"], [15, 3, 1, "", "get_module"], [15, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUDummy": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.lsu_requester": [[15, 1, 1, "", "LSURequester"]], "coreblocks.func_blocks.fu.lsu.lsu_requester.LSURequester": [[15, 3, 1, "", "__init__"], [15, 3, 1, "", "check_align"], [15, 3, 1, "", "postprocess_load_data"], [15, 3, 1, "", "prepare_bytes_mask"], [15, 3, 1, "", "prepare_data_to_save"]], "coreblocks.func_blocks.fu.lsu.pma": [[15, 1, 1, "", "PMAChecker"], [15, 1, 1, "", "PMALayout"], [15, 1, 1, "", "PMARegion"]], "coreblocks.func_blocks.fu.lsu.pma.PMAChecker": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMALayout": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMARegion": [[15, 3, 1, "", "__init__"], [15, 2, 1, "", "end"], [15, 2, 1, "", "mmio"], [15, 2, 1, "", "start"]], "coreblocks.func_blocks.fu.mul_unit": [[13, 1, 1, "", "MulComponent"], [13, 1, 1, "", "MulFn"], [13, 1, 1, "", "MulType"], [13, 1, 1, "", "MulUnit"]], "coreblocks.func_blocks.fu.mul_unit.MulComponent": [[13, 3, 1, "", "__init__"], [13, 2, 1, "", "dsp_width"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "mul_fn"], [13, 2, 1, "", "mul_unit_type"]], "coreblocks.func_blocks.fu.mul_unit.MulFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.mul_unit.MulFn.Fn": [[13, 2, 1, "", "MUL"], [13, 2, 1, "", "MULH"], [13, 2, 1, "", "MULHSU"], [13, 2, 1, "", "MULHU"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.mul_unit.MulType": [[13, 2, 1, "", "RECURSIVE_MUL"], [13, 2, 1, "", "SEQUENCE_MUL"], [13, 2, 1, "", "SHIFT_MUL"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.mul_unit.MulUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.priv": [[13, 1, 1, "", "PrivilegedFn"], [13, 1, 1, "", "PrivilegedFuncUnit"], [13, 1, 1, "", "PrivilegedUnitComponent"]], "coreblocks.func_blocks.fu.priv.PrivilegedFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.priv.PrivilegedFn.Fn": [[13, 2, 1, "", "FENCEI"], [13, 2, 1, "", "MRET"], [13, 2, 1, "", "WFI"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.priv.PrivilegedFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.priv.PrivilegedUnitComponent": [[13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.shift_unit": [[13, 1, 1, "", "ShiftFuncUnit"], [13, 1, 1, "", "ShiftUnitComponent"]], "coreblocks.func_blocks.fu.shift_unit.ShiftFuncUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.shift_unit.ShiftUnitComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.unsigned_multiplication": [[16, 0, 0, "-", "common"], [16, 0, 0, "-", "fast_recursive"], [16, 0, 0, "-", "pipelined"], [16, 0, 0, "-", "sequence"], [16, 0, 0, "-", "shift"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common": [[16, 1, 1, "", "DSPMulUnit"], [16, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.DSPMulUnit": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive": [[16, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined": [[16, 1, 1, "", "PipelinedUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined.PipelinedUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence": [[16, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift": [[16, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbc": [[13, 1, 1, "", "ClMultiplier"], [13, 1, 1, "", "ZbcComponent"], [13, 1, 1, "", "ZbcFn"], [13, 1, 1, "", "ZbcUnit"]], "coreblocks.func_blocks.fu.zbc.ClMultiplier": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "iterative_module"], [13, 3, 1, "", "recursive_module"]], "coreblocks.func_blocks.fu.zbc.ZbcComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"], [13, 2, 1, "", "recursion_depth"], [13, 2, 1, "", "zbc_fn"]], "coreblocks.func_blocks.fu.zbc.ZbcFn": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.zbc.ZbcFn.Fn": [[13, 2, 1, "", "CLMUL"], [13, 2, 1, "", "CLMULH"], [13, 2, 1, "", "CLMULR"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.zbc.ZbcUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbs": [[13, 1, 1, "", "Zbs"], [13, 1, 1, "", "ZbsComponent"], [13, 1, 1, "", "ZbsFunction"], [13, 1, 1, "", "ZbsUnit"]], "coreblocks.func_blocks.fu.zbs.Zbs": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.zbs.ZbsComponent": [[13, 3, 1, "", "__init__"], [13, 3, 1, "", "get_module"], [13, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.zbs.ZbsFunction": [[13, 1, 1, "", "Fn"], [13, 3, 1, "", "get_instructions"]], "coreblocks.func_blocks.fu.zbs.ZbsFunction.Fn": [[13, 2, 1, "", "BCLR"], [13, 2, 1, "", "BEXT"], [13, 2, 1, "", "BINV"], [13, 2, 1, "", "BSET"], [13, 3, 1, "", "__new__"]], "coreblocks.func_blocks.fu.zbs.ZbsUnit": [[13, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface": [[17, 0, 0, "-", "func_blocks_unifier"], [17, 0, 0, "-", "func_protocols"]], "coreblocks.func_blocks.interface.func_blocks_unifier": [[17, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.func_blocks.interface.func_blocks_unifier.FuncBlocksUnifier": [[17, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface.func_protocols": [[17, 1, 1, "", "FuncBlock"], [17, 1, 1, "", "FuncUnit"]], "coreblocks.func_blocks.interface.func_protocols.FuncBlock": [[17, 2, 1, "", "get_result"], [17, 2, 1, "", "insert"], [17, 2, 1, "", "select"], [17, 2, 1, "", "update"]], "coreblocks.func_blocks.interface.func_protocols.FuncUnit": [[17, 2, 1, "", "accept"], [17, 2, 1, "", "issue"]], "coreblocks.params": [[18, 0, 0, "-", "configurations"], [18, 0, 0, "-", "fu_params"], [18, 0, 0, "-", "genparams"], [18, 0, 0, "-", "icache_params"], [18, 0, 0, "-", "instr"]], "coreblocks.params.configurations": [[18, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[18, 3, 1, "", "replace"]], "coreblocks.params.fu_params": [[18, 1, 1, "", "BlockComponentParams"], [18, 1, 1, "", "FunctionalComponentParams"], [18, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "get_module"], [18, 3, 1, "", "get_optypes"], [18, 3, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[18, 3, 1, "", "get_module"], [18, 3, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[18, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[18, 3, 1, "", "__init__"]], "coreblocks.params.icache_params": [[18, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.params.instr": [[18, 1, 1, "", "BTypeInstr"], [18, 1, 1, "", "EBreakInstr"], [18, 1, 1, "", "ITypeInstr"], [18, 1, 1, "", "IllegalInstr"], [18, 1, 1, "", "JTypeInstr"], [18, 1, 1, "", "RISCVInstr"], [18, 1, 1, "", "RTypeInstr"], [18, 1, 1, "", "STypeInstr"], [18, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.EBreakInstr": [[18, 3, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"], [18, 2, 1, "", "rs1"]], "coreblocks.params.instr.IllegalInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "illegal"]], "coreblocks.params.instr.JTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"]], "coreblocks.params.instr.RISCVInstr": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "as_value"], [18, 3, 1, "", "encode"], [18, 2, 1, "", "opcode"], [18, 3, 1, "", "shape"]], "coreblocks.params.instr.RTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "rd"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.STypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rs1"], [18, 2, 1, "", "rs2"]], "coreblocks.params.instr.UTypeInstr": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "imm"], [18, 2, 1, "", "rd"]], "coreblocks.peripherals": [[19, 0, 0, "-", "axi_lite"], [19, 0, 0, "-", "bus_adapter"], [19, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.axi_lite": [[19, 1, 1, "", "AXILiteInterface"], [19, 1, 1, "", "AXILiteMaster"], [19, 1, 1, "", "AXILiteParameters"], [19, 1, 1, "", "AXILiteSignature"]], "coreblocks.peripherals.axi_lite.AXILiteInterface": [[19, 2, 1, "", "read_address"], [19, 2, 1, "", "read_data"], [19, 2, 1, "", "write_address"], [19, 2, 1, "", "write_data"], [19, 2, 1, "", "write_response"]], "coreblocks.peripherals.axi_lite.AXILiteMaster": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "axil_master"], [19, 3, 1, "", "result_handler"], [19, 3, 1, "", "start_request_transaction"], [19, 3, 1, "", "state_machine_request"]], "coreblocks.peripherals.axi_lite.AXILiteParameters": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.axi_lite.AXILiteSignature": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter": [[19, 1, 1, "", "AXILiteMasterAdapter"], [19, 1, 1, "", "BusMasterInterface"], [19, 1, 1, "", "WishboneMasterAdapter"]], "coreblocks.peripherals.bus_adapter.AXILiteMasterAdapter": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter.BusMasterInterface": [[19, 2, 1, "", "get_read_response"], [19, 2, 1, "", "get_write_response"], [19, 2, 1, "", "params"], [19, 2, 1, "", "request_read"], [19, 2, 1, "", "request_write"]], "coreblocks.peripherals.bus_adapter.WishboneMasterAdapter": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone": [[19, 1, 1, "", "PipelinedWishboneMaster"], [19, 1, 1, "", "WishboneArbiter"], [19, 1, 1, "", "WishboneInterface"], [19, 1, 1, "", "WishboneMaster"], [19, 1, 1, "", "WishboneMasterMethodLayout"], [19, 1, 1, "", "WishboneMemorySlave"], [19, 1, 1, "", "WishboneMuxer"], [19, 1, 1, "", "WishboneParameters"], [19, 1, 1, "", "WishboneSignature"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[19, 3, 1, "", "__init__"], [19, 3, 1, "", "generate_method_layouts"], [19, 2, 1, "", "wb"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "masters"], [19, 2, 1, "", "slave_wb"]], "coreblocks.peripherals.wishbone.WishboneInterface": [[19, 2, 1, "", "ack"], [19, 2, 1, "", "adr"], [19, 2, 1, "", "cyc"], [19, 2, 1, "", "dat_r"], [19, 2, 1, "", "dat_w"], [19, 2, 1, "", "err"], [19, 2, 1, "", "lock"], [19, 2, 1, "", "rst"], [19, 2, 1, "", "rty"], [19, 2, 1, "", "sel"], [19, 2, 1, "", "stall"], [19, 2, 1, "", "stb"], [19, 2, 1, "", "we"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "wb_master"]], "coreblocks.peripherals.wishbone.WishboneMasterMethodLayout": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "bus"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[19, 3, 1, "", "__init__"], [19, 2, 1, "", "master_wb"], [19, 2, 1, "", "slaves"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[19, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneSignature": [[19, 3, 1, "", "__init__"], [19, 3, 1, "", "create"]], "coreblocks.priv": [[21, 0, 0, "-", "csr"], [22, 0, 0, "-", "traps"]], "coreblocks.priv.csr": [[21, 0, 0, "-", "aliased"], [21, 0, 0, "-", "csr_instances"], [21, 0, 0, "-", "csr_register"]], "coreblocks.priv.csr.aliased": [[21, 1, 1, "", "AliasedCSR"]], "coreblocks.priv.csr.aliased.AliasedCSR": [[21, 3, 1, "", "__init__"], [21, 3, 1, "", "add_field"], [21, 3, 1, "", "add_read_only_field"]], "coreblocks.priv.csr.csr_instances": [[21, 1, 1, "", "DoubleCounterCSR"], [21, 1, 1, "", "GenericCSRRegisters"], [21, 1, 1, "", "MachineModeCSRRegisters"]], "coreblocks.priv.csr.csr_instances.DoubleCounterCSR": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.GenericCSRRegisters": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.MachineModeCSRRegisters": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_register": [[21, 1, 1, "", "CSRRegister"]], "coreblocks.priv.csr.csr_register.CSRRegister": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps": [[22, 0, 0, "-", "exception"], [22, 0, 0, "-", "instr_counter"], [22, 0, 0, "-", "interrupt_controller"]], "coreblocks.priv.traps.exception": [[22, 1, 1, "", "ExceptionInformationRegister"], [22, 4, 1, "", "should_update_prioriy"]], "coreblocks.priv.traps.exception.ExceptionInformationRegister": [[22, 3, 1, "", "__init__"]], "coreblocks.priv.traps.instr_counter": [[22, 1, 1, "", "CoreInstructionCounter"]], "coreblocks.priv.traps.instr_counter.CoreInstructionCounter": [[22, 3, 1, "", "__init__"]], "coreblocks.priv.traps.interrupt_controller": [[22, 1, 1, "", "InternalInterruptController"]], "coreblocks.priv.traps.interrupt_controller.InternalInterruptController": [[22, 3, 1, "", "__init__"], [22, 2, 1, "", "custom_report"], [22, 2, 1, "", "internal_report_level"]], "coreblocks.scheduler": [[23, 0, 0, "-", "scheduler"], [23, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[23, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[23, 3, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[23, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[23, 3, 1, "", "__init__"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"]}, "titleterms": {"api": 0, "coreblock": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 27, 29], "list": 1, "assumpt": [1, 3], "made": 1, "dure": 1, "develop": [1, 25], "instruct": [3, 33], "cach": [3, 7], "interfac": [3, 17, 32, 33], "address": 3, "map": 3, "exampl": 3, "packag": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "subpackag": [4, 9, 12, 13, 20], "submodul": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "core": [4, 34], "modul": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "content": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "arch": 5, "csr_address": 5, "isa": 5, "isa_const": 5, "optyp": 5, "backend": 6, "annouc": 6, "retir": 6, "icach": 7, "ifac": 7, "refil": 7, "core_struct": 8, "rat": 8, "rf": 8, "rob": 8, "frontend": [9, 10, 11], "frontend_param": 9, "decod": 10, "decode_stag": 10, "instr_decod": 10, "instr_descript": 10, "rvc": 10, "fetch": 11, "func_block": [12, 13, 14, 15, 16, 17], "fu": [13, 14, 15, 16], "alu": 13, "div_unit": 13, "except": [13, 22, 28], "jumpbranch": 13, "mul_unit": 13, "priv": [13, 20, 21, 22], "shift_unit": 13, "zbc": 13, "zb": 13, "fpu": 14, "fpu_common": 14, "fpu_error_modul": 14, "fpu_rounding_modul": 14, "lsu": 15, "dummylsu": 15, "lsu_request": 15, "pma": 15, "unsigned_multipl": 16, "common": 16, "fast_recurs": 16, "pipelin": 16, "sequenc": 16, "shift": 16, "func_blocks_unifi": 17, "func_protocol": 17, "param": 18, "configur": 18, "fu_param": 18, "genparam": 18, "icache_param": 18, "instr": 18, "peripher": 19, "axi_lit": 19, "bus_adapt": 19, "wishbon": 19, "csr": 21, "alias": 21, "csr_instanc": 21, "csr_regist": 21, "trap": 22, "instr_count": 22, "interrupt_control": 22, "schedul": [23, 31], "wakeup_select": 23, "full": 24, "transact": 24, "method": [24, 32, 33], "graph": 24, "environ": 25, "set": 25, "up": 25, "us": [25, 32, 33], "script": 25, "run_test": 25, "py": 25, "lint": 25, "sh": 25, "core_graph": 25, "build_doc": 25, "tprof": 25, "introduct": [26, 28], "document": 26, "summari": 28, "paper": 28, "about": 28, "interrupt": 28, "handl": 28, "old": 28, "pc": 28, "out": 28, "order": 28, "execut": [28, 34], "processor": 28, "In": 28, "line": 28, "softwar": 28, "manag": 28, "tlb": 28, "hardwar": 28, "cost": 28, "analysi": 28, "process": 28, "strategi": 28, "igpu": 28, "support": 28, "specul": 28, "gpu": 28, "effici": 28, "other": 28, "problem": 30, "checklist": 30, "overview": [31, 33], "descript": 31, "schema": 31, "structur": 31, "more": 31, "detail": 31, "each": 31, "block": 31, "proposit": 32, "reserv": [32, 33], "station": [32, 33], "implement": 32, "intern": 32, "data": 32, "actual": 32, "slot": [32, 33], "tabl": 32, "compar": [32, 33], "substitut": [32, 33], "read": [32, 33], "row": [32, 33], "clean": [32, 33], "get": [32, 33], "free": 32, "mark": [32, 33], "extern": [32, 33], "all": [32, 33], "reset": 33, "initi": 33, "state": 33, "insert": 33, "new": 33, "readi": 33, "vector": 33, "signal": 33, "verif": 34, "synthesi": 34, "manual": 34, "reproduct": 34, "depend": 34, "benchmark": 34, "regress": 34, "test": 34}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/shared-structs/implementation/rs-impl.html b/shared-structs/implementation/rs-impl.html index 15c1386c2..c734c1c75 100644 --- a/shared-structs/implementation/rs-impl.html +++ b/shared-structs/implementation/rs-impl.html @@ -251,7 +251,7 @@

    Read and clean row

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/shared-structs/rs.html b/shared-structs/rs.html index 640cfe239..9d336b674 100644 --- a/shared-structs/rs.html +++ b/shared-structs/rs.html @@ -221,7 +221,7 @@

    External interface signals

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.

    diff --git a/synthesis/synthesis.html b/synthesis/synthesis.html index d37cba67b..2d9b18ef0 100644 --- a/synthesis/synthesis.html +++ b/synthesis/synthesis.html @@ -265,7 +265,7 @@

    Regression tests manual execution

    © Copyright Kuźnia Rdzeni, 2024. - Last updated on 14:48 2024-11-25. + Last updated on 15:14 2024-11-25.