diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree index 8af9dd2f9..0051faba9 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 d7d384c88..490eb827e 100644 Binary files a/.doctrees/auto_graph.doctree and b/.doctrees/auto_graph.doctree differ diff --git a/.doctrees/current-graph.doctree b/.doctrees/current-graph.doctree index c8040cee0..e434f889d 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 716eeece0..ceeea8506 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/transactron.lib.doctree b/.doctrees/transactron.lib.doctree index 54b8fd273..e5d0d4a70 100644 Binary files a/.doctrees/transactron.lib.doctree and b/.doctrees/transactron.lib.doctree differ diff --git a/_sources/auto_graph.rst.txt b/_sources/auto_graph.rst.txt index e332048e1..8d0d93c08 100644 --- a/_sources/auto_graph.rst.txt +++ b/_sources/auto_graph.rst.txt @@ -6,26 +6,26 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_WishboneMaster["WishboneMaster"] - WishboneMaster_result["result"] WishboneMaster_request["request"] + WishboneMaster_result["result"] + WishboneMaster_WishboneMaster["WishboneMaster"] subgraph Forwarder["result Forwarder"] Forwarder_read["read"] Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] + WishboneMaster1_request["request"] WishboneMaster1_result["result"] WishboneMaster1_WishboneMaster["WishboneMaster"] - WishboneMaster1_request["request"] subgraph Forwarder1["result Forwarder"] Forwarder1_write["write"] Forwarder1_read["read"] end end subgraph WishboneMasterAdapter["bus_master_instr_adapter WishboneMasterAdapter"] - WishboneMasterAdapter_get_read_response["get_read_response"] WishboneMasterAdapter_request_read["request_read"] + WishboneMasterAdapter_get_read_response["get_read_response"] subgraph Serializer["bus_serializer Serializer"] Serializer_Serializer["Serializer"] Serializer_Serializer1["Serializer"] @@ -37,8 +37,8 @@ end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] WishboneMasterAdapter1_request_write["request_write"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_read["request_read"] + WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_get_read_response["get_read_response"] subgraph Serializer1["bus_serializer Serializer"] Serializer1_Serializer["Serializer"] @@ -52,32 +52,32 @@ end end subgraph CoreFrontend["frontend CoreFrontend"] - CoreFrontend_DiscardBranchVerify["DiscardBranchVerify"] CoreFrontend_target_pred_req["target_pred_req"] - CoreFrontend_stall["stall"] CoreFrontend_target_pred_resp["target_pred_resp"] + CoreFrontend_DiscardBranchVerify["DiscardBranchVerify"] + CoreFrontend_stall["stall"] subgraph BasicFifo2["instr_buffer BasicFifo"] - BasicFifo2_write["write"] - BasicFifo2_clear["clear"] BasicFifo2_read["read"] + BasicFifo2_clear["clear"] + BasicFifo2_write["write"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_start_refill["start_refill"] subgraph Forwarder2["resp_fwd Forwarder"] - Forwarder2_write["write"] Forwarder2_read["read"] + Forwarder2_write["write"] end end subgraph ICache["icache ICache"] - ICache_issue_req["issue_req"] - ICache_MemRead["MemRead"] ICache_ICache["ICache"] + ICache_MemRead["MemRead"] + ICache_ICache1["ICache"] ICache_accept_res["accept_res"] ICache_flush["flush"] - ICache_ICache1["ICache"] + ICache_issue_req["issue_req"] subgraph HwCounter["perf_loads HwCounter"] HwCounter__incr["_incr"] end @@ -100,34 +100,34 @@ HwExpHistogram__add["_add"] end subgraph FIFO["fifo FIFO"] - FIFO_read["read"] FIFO_write["write"] + FIFO_read["read"] end end subgraph ArgumentsToResultsZipper["req_zipper ArgumentsToResultsZipper"] ArgumentsToResultsZipper_peek_arg["peek_arg"] - ArgumentsToResultsZipper_read["read"] - ArgumentsToResultsZipper_write_args["write_args"] ArgumentsToResultsZipper_write_results["write_results"] + ArgumentsToResultsZipper_write_args["write_args"] + ArgumentsToResultsZipper_read["read"] subgraph BasicFifo3["fifo BasicFifo"] BasicFifo3_read["read"] - BasicFifo3_write["write"] BasicFifo3_peek["peek"] + BasicFifo3_write["write"] end subgraph Forwarder3["forwarder Forwarder"] - Forwarder3_write["write"] Forwarder3_read["read"] + Forwarder3_write["write"] end end end subgraph FetchUnit["fetch FetchUnit"] - FetchUnit_Fetch_Stage2["Fetch_Stage2"] + FetchUnit_resume_from_exception["resume_from_exception"] 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_Stage1["Fetch_Stage1"] - FetchUnit_resume_from_exception["resume_from_exception"] - FetchUnit_resume_from_unsafe["resume_from_unsafe"] + FetchUnit_stall_exception["stall_exception"] + FetchUnit_Fetch_Stage2["Fetch_Stage2"] FetchUnit_Fetch_Stage0["Fetch_Stage0"] subgraph TaggedCounter["perf_fetch_utilization TaggedCounter"] TaggedCounter__incr["_incr"] @@ -136,9 +136,9 @@ HwCounter5__incr["_incr"] end subgraph Serializer["serializer Serializer"] + Serializer_clean["clean"] Serializer_write["write"] Serializer_read["read"] - Serializer_clean["clean"] end subgraph ConnectTrans["serializer_connector ConnectTrans"] ConnectTrans_ConnectTrans["ConnectTrans"] @@ -148,12 +148,12 @@ 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"] @@ -184,8 +184,8 @@ end end subgraph BasicFifo5["free_rf_fifo BasicFifo"] - BasicFifo5_write["write"] BasicFifo5_read["read"] + BasicFifo5_write["write"] end subgraph FRAT["FRAT FRAT"] FRAT_rename["rename"] @@ -195,11 +195,11 @@ RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] - RegisterFile_perf["perf"] RegisterFile_write["write"] + RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_read1["read1"] - RegisterFile_read2["read2"] + RegisterFile_perf["perf"] subgraph TaggedLatencyMeasurer["perf_rf_valid_time TaggedLatencyMeasurer"] TaggedLatencyMeasurer__start["_start"] TaggedLatencyMeasurer__stop["_stop"] @@ -207,8 +207,8 @@ HwExpHistogram1__add["_add"] end subgraph AsyncMemoryBank["slots AsyncMemoryBank"] - AsyncMemoryBank_read["read"] - AsyncMemoryBank_write["write"] + AsyncMemoryBank_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram2["perf_num_valid HwExpHistogram"] @@ -216,12 +216,12 @@ end end subgraph ReorderBuffer["ROB ReorderBuffer"] + ReorderBuffer_put["put"] ReorderBuffer_peek["peek"] - ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_retire["retire"] + ReorderBuffer_get_indices["get_indices"] ReorderBuffer_perf["perf"] - ReorderBuffer_put["put"] + ReorderBuffer_retire["retire"] subgraph FIFOLatencyMeasurer1["perf_rob_wait_time FIFOLatencyMeasurer"] FIFOLatencyMeasurer1__start["_start"] FIFOLatencyMeasurer1__stop["_stop"] @@ -238,12 +238,12 @@ end end subgraph ExceptionInformationRegister["exception_information_register ExceptionInformationRegister"] - ExceptionInformationRegister_clear["clear"] ExceptionInformationRegister_report["report"] + 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"] @@ -273,29 +273,29 @@ end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] RSFuncBlock_update["update"] - RSFuncBlock_insert["insert"] - RSFuncBlock_get_result["get_result"] RSFuncBlock_select["select"] + RSFuncBlock_get_result["get_result"] + RSFuncBlock_insert["insert"] subgraph RS["rs RS"] + RS_perf["perf"] RS_RS["RS"] RS_RS1["RS"] - RS_insert["insert"] - RS_RS2["RS"] RS_update["update"] + RS_RS2["RS"] RS_select["select"] + RS_insert["insert"] + RS_take["take"] RS_RS3["RS"] RS_RS4["RS"] - RS_perf["perf"] - RS_take["take"] 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_write["write"] - AsyncMemoryBank1_read["read"] + AsyncMemoryBank1_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank1_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram6["perf_num_full HwExpHistogram"] @@ -309,16 +309,16 @@ 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"] @@ -328,8 +328,8 @@ WakeupSelect1_WakeupSelect["WakeupSelect"] end subgraph JumpBranchFuncUnit["func_unit_2 JumpBranchFuncUnit"] - JumpBranchFuncUnit_accept["accept"] JumpBranchFuncUnit_issue["issue"] + JumpBranchFuncUnit_accept["accept"] subgraph FIFO4["fifo_branch_resolved FIFO"] FIFO4_write["write"] FIFO4_read["read"] @@ -355,8 +355,8 @@ ExceptionFuncUnit_accept["accept"] ExceptionFuncUnit_issue["issue"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -364,12 +364,12 @@ end subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] - PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_accept["accept"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] PrivilegedFuncUnit_issue["issue"] - PrivilegedFuncUnit_accept["accept"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] + PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] subgraph BasicFifo8["fetch_resume_fifo BasicFifo"] BasicFifo8_read["read"] BasicFifo8_write["write"] @@ -407,26 +407,26 @@ end end subgraph RSFuncBlock1["rs_block_1 RSFuncBlock"] - RSFuncBlock1_get_result["get_result"] - RSFuncBlock1_select["select"] RSFuncBlock1_insert["insert"] RSFuncBlock1_update["update"] + RSFuncBlock1_get_result["get_result"] + RSFuncBlock1_select["select"] subgraph FifoRS["rs FifoRS"] - FifoRS_select["select"] - FifoRS_FifoRS["FifoRS"] - FifoRS_update["update"] - FifoRS_insert["insert"] FifoRS_take["take"] + FifoRS_update["update"] + FifoRS_FifoRS["FifoRS"] + FifoRS_select["select"] FifoRS_perf["perf"] + FifoRS_insert["insert"] subgraph TaggedLatencyMeasurer2["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer2__start["_start"] TaggedLatencyMeasurer2__stop["_stop"] + TaggedLatencyMeasurer2__start["_start"] subgraph HwExpHistogram7["histogram HwExpHistogram"] HwExpHistogram7__add["_add"] end subgraph AsyncMemoryBank2["slots AsyncMemoryBank"] - AsyncMemoryBank2_read["read"] - AsyncMemoryBank2_write["write"] + AsyncMemoryBank2_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank2_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram8["perf_num_full HwExpHistogram"] @@ -434,24 +434,24 @@ end end subgraph LSUDummy["func_unit_0 LSUDummy"] - LSUDummy_accept_cond0["accept_cond0"] + LSUDummy_accept["accept"] LSUDummy_LSUDummy["LSUDummy"] + LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy1["LSUDummy"] - LSUDummy_issue["issue"] - LSUDummy_accept["accept"] LSUDummy_accept_cond1["accept_cond1"] + LSUDummy_issue["issue"] LSUDummy_LSUDummy2["LSUDummy"] subgraph LSURequester["requester LSURequester"] - LSURequester_issue_cond0["issue_cond0"] - LSURequester_accept_cond0["accept_cond0"] - LSURequester_accept_cond1["accept_cond1"] LSURequester_issue["issue"] - LSURequester_issue_cond2["issue_cond2"] + LSURequester_accept_cond0["accept_cond0"] LSURequester_accept["accept"] LSURequester_issue_cond1["issue_cond1"] + LSURequester_accept_cond1["accept_cond1"] + LSURequester_issue_cond0["issue_cond0"] + LSURequester_issue_cond2["issue_cond2"] subgraph BasicFifo9["args_fifo BasicFifo"] - BasicFifo9_read["read"] BasicFifo9_write["write"] + BasicFifo9_read["read"] end end subgraph Forwarder6["requests Forwarder"] @@ -463,8 +463,8 @@ FIFO6_write["write"] end subgraph FIFO7["issued FIFO"] - FIFO7_write["write"] FIFO7_read["read"] + FIFO7_write["write"] end subgraph FIFO8["issued_noop FIFO"] FIFO8_read["read"] @@ -477,8 +477,8 @@ subgraph Collector2["collector Collector"] Collector2_method["method"] subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] Forwarder7_write["write"] + Forwarder7_read["read"] end subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] subgraph ConnectTrans10["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -488,10 +488,10 @@ end end subgraph CSRUnit["rs_block_2 CSRUnit"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_update["update"] CSRUnit_get_result["get_result"] CSRUnit_fetch_resume["fetch_resume"] + CSRUnit_CSRUnit["CSRUnit"] CSRUnit_CSRUnit1["CSRUnit"] CSRUnit_insert["insert"] CSRUnit_select["select"] @@ -547,17 +547,17 @@ end end subgraph AliasedCSR["mstatus AliasedCSR"] - AliasedCSR__fu_write["_fu_write"] AliasedCSR__fu_read["_fu_read"] + AliasedCSR__fu_write["_fu_write"] end subgraph AliasedCSR1["mstatush AliasedCSR"] - AliasedCSR1__fu_read["_fu_read"] AliasedCSR1__fu_write["_fu_write"] + AliasedCSR1__fu_read["_fu_read"] end subgraph CSRRegister6["mcause CSRRegister"] - CSRRegister6__internal_fu_read["_internal_fu_read"] CSRRegister6_write["write"] CSRRegister6__internal_fu_write["_internal_fu_write"] + CSRRegister6__internal_fu_read["_internal_fu_read"] subgraph MethodMap12["fu_write_map MethodMap"] MethodMap12_method["method"] end @@ -569,9 +569,9 @@ end end subgraph CSRRegister7["mtvec CSRRegister"] + CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7_read["read"] CSRRegister7__internal_fu_read["_internal_fu_read"] - CSRRegister7__internal_fu_write["_internal_fu_write"] subgraph MethodMap14["fu_write_map MethodMap"] MethodMap14_method["method"] end @@ -583,9 +583,9 @@ end end subgraph CSRRegister8["mepc CSRRegister"] - CSRRegister8_read["read"] CSRRegister8_write["write"] CSRRegister8__internal_fu_read["_internal_fu_read"] + CSRRegister8_read["read"] CSRRegister8__internal_fu_write["_internal_fu_write"] subgraph MethodMap16["fu_write_map MethodMap"] MethodMap16_method["method"] @@ -598,9 +598,9 @@ end end subgraph CSRRegister9["mtval CSRRegister"] - CSRRegister9__internal_fu_write["_internal_fu_write"] - CSRRegister9_write["write"] CSRRegister9__internal_fu_read["_internal_fu_read"] + CSRRegister9_write["write"] + CSRRegister9__internal_fu_write["_internal_fu_write"] subgraph MethodMap18["fu_write_map MethodMap"] MethodMap18_method["method"] end @@ -612,8 +612,8 @@ end end subgraph CSRRegister10["priv_mode CSRRegister"] - CSRRegister10_read["read"] CSRRegister10_write["write"] + CSRRegister10_read["read"] end subgraph CSRRegister11["mstatus_mie CSRRegister"] CSRRegister11__internal_fu_read["_internal_fu_read"] @@ -632,8 +632,8 @@ end subgraph CSRRegister12["mstatus_mpie CSRRegister"] CSRRegister12__internal_fu_write["_internal_fu_write"] - CSRRegister12__internal_fu_read["_internal_fu_read"] CSRRegister12_read["read"] + CSRRegister12__internal_fu_read["_internal_fu_read"] CSRRegister12_write["write"] subgraph MethodMap24["fu_write_map MethodMap"] MethodMap24_method["method"] @@ -646,10 +646,10 @@ end end subgraph CSRRegister13["mstatus_mpp CSRRegister"] + CSRRegister13__internal_fu_write["_internal_fu_write"] CSRRegister13_read["read"] CSRRegister13_write["write"] CSRRegister13__internal_fu_read["_internal_fu_read"] - CSRRegister13__internal_fu_write["_internal_fu_write"] subgraph MethodMap26["fu_write_map MethodMap"] MethodMap26_method["method"] end @@ -661,9 +661,9 @@ end end subgraph CSRRegister14["mstatus_mprv CSRRegister"] + CSRRegister14_write["write"] CSRRegister14__internal_fu_read["_internal_fu_read"] CSRRegister14__internal_fu_write["_internal_fu_write"] - CSRRegister14_write["write"] subgraph MethodMap28["fu_write_map MethodMap"] MethodMap28_method["method"] end @@ -692,17 +692,17 @@ subgraph DoubleCounterCSR["csr_cycle DoubleCounterCSR"] DoubleCounterCSR_increment["increment"] subgraph CSRRegister16["register_low CSRRegister"] - CSRRegister16_write["write"] CSRRegister16_read["read"] CSRRegister16__internal_fu_read["_internal_fu_read"] + CSRRegister16_write["write"] subgraph MethodMap33["fu_read_map MethodMap"] MethodMap33_method["method"] end end subgraph CSRRegister17["register_high CSRRegister"] - CSRRegister17_write["write"] - CSRRegister17__internal_fu_read["_internal_fu_read"] CSRRegister17_read["read"] + CSRRegister17__internal_fu_read["_internal_fu_read"] + CSRRegister17_write["write"] subgraph MethodMap35["fu_read_map MethodMap"] MethodMap35_method["method"] end @@ -711,8 +711,8 @@ subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] DoubleCounterCSR1_increment["increment"] subgraph CSRRegister18["register_low CSRRegister"] - CSRRegister18_write["write"] CSRRegister18_read["read"] + CSRRegister18_write["write"] CSRRegister18__internal_fu_read["_internal_fu_read"] subgraph MethodMap37["fu_read_map MethodMap"] MethodMap37_method["method"] @@ -720,8 +720,8 @@ end subgraph CSRRegister19["register_high CSRRegister"] CSRRegister19_write["write"] - CSRRegister19_read["read"] CSRRegister19__internal_fu_read["_internal_fu_read"] + CSRRegister19_read["read"] subgraph MethodMap39["fu_read_map MethodMap"] MethodMap39_method["method"] end @@ -729,16 +729,16 @@ end end subgraph InternalInterruptController["interrupt_controller InternalInterruptController"] - InternalInterruptController_interrupt_cause["interrupt_cause"] InternalInterruptController_InternalInterruptController["InternalInterruptController"] - InternalInterruptController_mret["mret"] - InternalInterruptController_entry["entry"] InternalInterruptController_InternalInterruptController1["InternalInterruptController"] + InternalInterruptController_interrupt_cause["interrupt_cause"] + InternalInterruptController_entry["entry"] + InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController2["InternalInterruptController"] subgraph CSRRegister20["mie CSRRegister"] + CSRRegister20__internal_fu_write["_internal_fu_write"] CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_read["read"] - CSRRegister20__internal_fu_write["_internal_fu_write"] subgraph MethodMap40["fu_write_map MethodMap"] MethodMap40_method["method"] end @@ -750,11 +750,11 @@ end end subgraph CSRRegister21["mip CSRRegister"] - CSRRegister21__internal_fu_write["_internal_fu_write"] CSRRegister21_write["write"] CSRRegister21_read["read"] CSRRegister21__internal_fu_read["_internal_fu_read"] CSRRegister21_read_comb["read_comb"] + CSRRegister21__internal_fu_write["_internal_fu_write"] subgraph MethodMap42["fu_write_map MethodMap"] MethodMap42_method["method"] end @@ -767,16 +767,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"] + FIFO9_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -789,8 +789,8 @@ Renaming_Renaming["Renaming"] end subgraph FIFO10["reg_alloc_out_buf FIFO"] - FIFO10_read["read"] FIFO10_write["write"] + FIFO10_read["read"] end subgraph ROBAllocation["rob_alloc ROBAllocation"] ROBAllocation_ROBAllocation["ROBAllocation"] @@ -812,8 +812,8 @@ subgraph Collector3["FetchResumeKey_unifier Collector"] Collector3_method["method"] subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_write["write"] Forwarder8_read["read"] + Forwarder8_write["write"] end subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -829,28 +829,28 @@ ConnectTrans13_ConnectTrans["ConnectTrans"] end subgraph Retirement["retirement Retirement"] - Retirement_precommit["precommit"] - Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement["Retirement"] Retirement_Retirement1["Retirement"] - Retirement_Retirement2["Retirement"] Retirement_Retirement_cond1["Retirement_cond1"] - Retirement_core_state["core_state"] + Retirement_Retirement_cond0["Retirement_cond0"] + Retirement_precommit["precommit"] + Retirement_Retirement2["Retirement"] Retirement_Retirement3["Retirement"] + Retirement_core_state["core_state"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister22["register_low CSRRegister"] - CSRRegister22__internal_fu_read["_internal_fu_read"] CSRRegister22_write["write"] CSRRegister22_read["read"] + CSRRegister22__internal_fu_read["_internal_fu_read"] subgraph MethodMap45["fu_read_map MethodMap"] MethodMap45_method["method"] end end subgraph CSRRegister23["register_high CSRRegister"] - CSRRegister23__internal_fu_read["_internal_fu_read"] - CSRRegister23_write["write"] CSRRegister23_read["read"] + CSRRegister23_write["write"] + CSRRegister23__internal_fu_read["_internal_fu_read"] subgraph MethodMap47["fu_read_map MethodMap"] MethodMap47_method["method"] end @@ -860,55 +860,55 @@ HwCounter9__incr["_incr"] end subgraph FIFOLatencyMeasurer2["perf_trap_latency FIFOLatencyMeasurer"] - FIFOLatencyMeasurer2__stop["_stop"] FIFOLatencyMeasurer2__start["_start"] + FIFOLatencyMeasurer2__stop["_stop"] subgraph HwExpHistogram9["histogram HwExpHistogram"] HwExpHistogram9__add["_add"] end subgraph FIFO12["fifo FIFO"] - FIFO12_read["read"] FIFO12_write["write"] + FIFO12_read["read"] end end end end end subgraph TransactionManager["transaction_manager TransactionManager"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] - TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] - TransactionManager_accept_cond0_accept_cond0_ConnectTrans["accept_cond0_accept_cond0_ConnectTrans"] - TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_ROBAllocation_Renaming["ROBAllocation_Renaming"] - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_PrivilegedFuncUnit_cond1"] - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit["PrivilegedFuncUnit_cond0_PrivilegedFuncUnit"] + TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_PrivilegedFuncUnit_cond2"] - TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_PrivilegedFuncUnit_cond1"] + TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_PrivilegedFuncUnit_cond0"] + TransactionManager_accept_cond1_ConnectTrans_accept_cond0["accept_cond1_ConnectTrans_accept_cond0"] + TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0["Fetch_Stage2_Fetch_Stage2_cond0"] - TransactionManager_accept_cond0_accept_cond1_ConnectTrans["accept_cond0_accept_cond1_ConnectTrans"] - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_PrivilegedFuncUnit_cond3"] TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1["Fetch_Stage2_Fetch_Stage2_cond1"] - TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_ConnectTrans_accept_cond0_accept_cond0["ConnectTrans_accept_cond0_accept_cond0"] TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_ROBAllocation_Renaming["ROBAllocation_Renaming"] + TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_PrivilegedFuncUnit_cond3"] end end Core_InitFreeRFFifo --> BasicFifo5_write - Retirement_Retirement1 --> BasicFifo5_write + Retirement_Retirement --> BasicFifo5_write + TransactionManager_Retirement_Retirement_cond1 --> BasicFifo5_write TransactionManager_Retirement_Retirement_cond0 --> BasicFifo5_write - TransactionManager_Retirement_cond1_Retirement --> BasicFifo5_write WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write FIFO4_read --> CoreFrontend_DiscardBranchVerify - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMasterAdapter_request_read - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Serializer_Serializer1 - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> BasicFifo_write - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMaster_request - WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller - Serializer_Serializer --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller - BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller - WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller - Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Forwarder2_write - ICache_ICache1 <--> HwCounter4__incr + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMasterAdapter_request_read + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_Serializer1 + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request + WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 + Serializer_Serializer --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 + BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 + WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 + Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Forwarder2_write + ICache_ICache <--> HwCounter4__incr ArgumentsToResultsZipper_peek_arg --> ICache_MemRead BasicFifo3_peek --> ICache_MemRead ICache_MemRead <--> HwCounter1__incr @@ -916,9 +916,9 @@ ICache_MemRead --> Forwarder3_write ICache_MemRead <--> HwCounter2__incr ICache_MemRead --> SimpleCommonBusCacheRefiller_start_refill - SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache - Forwarder2_read --> ICache_ICache - ICache_ICache <--> HwCounter3__incr + SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache1 + Forwarder2_read --> ICache_ICache1 + ICache_ICache1 <--> HwCounter3__incr FetchUnit_Fetch_Stage0 <--> Semaphore_acquire FetchUnit_Fetch_Stage0 --> ICache_issue_req FetchUnit_Fetch_Stage0 <--> HwCounter__incr @@ -953,43 +953,43 @@ GenericCSRRegisters_GenericCSRRegisters --> CSRRegister18_write CSRRegister19_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister19_write + CSRRegister11_read --> InternalInterruptController_InternalInterruptController CSRRegister11_read --> InternalInterruptController_InternalInterruptController1 - CSRRegister11_read --> InternalInterruptController_InternalInterruptController2 + CSRRegister10_read --> InternalInterruptController_InternalInterruptController CSRRegister10_read --> InternalInterruptController_InternalInterruptController1 - CSRRegister10_read --> InternalInterruptController_InternalInterruptController2 CSRRegister10_read --> WakeupSelect3_WakeupSelect - CSRRegister10_read --> CSRUnit_CSRUnit - CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 + CSRRegister10_read --> CSRUnit_CSRUnit1 CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 - CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit - CSRRegister20_read --> InternalInterruptController_InternalInterruptController1 - CSRRegister21_read --> InternalInterruptController_InternalInterruptController1 - CSRRegister21_read_comb --> InternalInterruptController_InternalInterruptController - InternalInterruptController_InternalInterruptController --> CSRRegister21_write - InternalInterruptController_InternalInterruptController2 --> CSRRegister11_write - InternalInterruptController_InternalInterruptController2 --> CSRRegister12_write - InternalInterruptController_InternalInterruptController2 --> CSRRegister13_write - InternalInterruptController_InternalInterruptController2 --> CSRRegister10_write - CSRRegister12_read --> InternalInterruptController_InternalInterruptController2 - CSRRegister13_read --> InternalInterruptController_InternalInterruptController2 - InternalInterruptController_InternalInterruptController2 --> CSRRegister14_write + CSRRegister20_read --> InternalInterruptController_InternalInterruptController + CSRRegister21_read --> InternalInterruptController_InternalInterruptController + CSRRegister21_read_comb --> InternalInterruptController_InternalInterruptController2 + InternalInterruptController_InternalInterruptController2 --> CSRRegister21_write + InternalInterruptController_InternalInterruptController1 --> CSRRegister11_write + InternalInterruptController_InternalInterruptController1 --> CSRRegister12_write + InternalInterruptController_InternalInterruptController1 --> CSRRegister13_write + InternalInterruptController_InternalInterruptController1 --> CSRRegister10_write + CSRRegister12_read --> InternalInterruptController_InternalInterruptController1 + CSRRegister13_read --> InternalInterruptController_InternalInterruptController1 + InternalInterruptController_InternalInterruptController1 --> CSRRegister14_write MethodProduct1_method --> RegAllocation_RegAllocation 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 - RSFuncBlock_select --> RSSelection_RSSelection - RS_select --> RSSelection_RSSelection - RSSelection_RSSelection --> FIFO11_write + FIFO10_read --> RSSelection_RSSelection + RSFuncBlock_select --> RSSelection_RSSelection1 + RS_select --> RSSelection_RSSelection1 RSSelection_RSSelection1 --> FIFO11_write RSSelection_RSSelection2 --> FIFO11_write - RSFuncBlock1_select --> RSSelection_RSSelection1 - FifoRS_select --> RSSelection_RSSelection1 - RSSelection_RSSelection2 <--> CSRUnit_select + RSSelection_RSSelection --> FIFO11_write + RSFuncBlock1_select --> RSSelection_RSSelection2 + FifoRS_select --> RSSelection_RSSelection2 + RSSelection_RSSelection <--> CSRUnit_select FIFO11_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion @@ -997,11 +997,11 @@ RSInsertion_RSInsertion --> RSFuncBlock_insert RSInsertion_RSInsertion --> RS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer1__start - RSInsertion_RSInsertion --> AsyncMemoryBank1_write + RSInsertion_RSInsertion --> AsyncMemoryBank1_AsyncMemoryBank RSInsertion_RSInsertion --> RSFuncBlock1_insert RSInsertion_RSInsertion --> FifoRS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer2__start - RSInsertion_RSInsertion --> AsyncMemoryBank2_write + RSInsertion_RSInsertion --> AsyncMemoryBank2_AsyncMemoryBank RSInsertion_RSInsertion --> CSRUnit_insert BasicFifo6_read --> ConnectTrans1_ConnectTrans ConnectTrans1_ConnectTrans --> ExceptionInformationRegister_report @@ -1023,7 +1023,7 @@ ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done ResultAnnouncement_ResultAnnouncement --> RegisterFile_write ResultAnnouncement_ResultAnnouncement --> TaggedLatencyMeasurer__start - ResultAnnouncement_ResultAnnouncement --> AsyncMemoryBank_write + ResultAnnouncement_ResultAnnouncement --> AsyncMemoryBank_AsyncMemoryBank1 ResultAnnouncement_ResultAnnouncement --> MethodProduct_method ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update @@ -1031,7 +1031,7 @@ ResultAnnouncement_ResultAnnouncement --> FifoRS_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update RS_perf --> HwExpHistogram6__add - RS_RS1 --> WakeupSelect_WakeupSelect + RS_RS2 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -1042,11 +1042,11 @@ WakeupSelect2_WakeupSelect --> TaggedLatencyMeasurer1__stop WakeupSelect3_WakeupSelect --> TaggedLatencyMeasurer1__stop WakeupSelect4_WakeupSelect --> TaggedLatencyMeasurer1__stop - AsyncMemoryBank1_read --> WakeupSelect_WakeupSelect - AsyncMemoryBank1_read --> WakeupSelect1_WakeupSelect - AsyncMemoryBank1_read --> WakeupSelect2_WakeupSelect - AsyncMemoryBank1_read --> WakeupSelect3_WakeupSelect - AsyncMemoryBank1_read --> WakeupSelect4_WakeupSelect + AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect_WakeupSelect + AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect1_WakeupSelect + AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect2_WakeupSelect + AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect3_WakeupSelect + AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect4_WakeupSelect WakeupSelect_WakeupSelect --> HwExpHistogram5__add WakeupSelect1_WakeupSelect --> HwExpHistogram5__add WakeupSelect2_WakeupSelect --> HwExpHistogram5__add @@ -1055,22 +1055,22 @@ WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> TaggedCounter4__incr WakeupSelect_WakeupSelect --> FIFO2_write - RS_RS3 --> WakeupSelect1_WakeupSelect + RS_RS --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write - RS_RS2 --> WakeupSelect2_WakeupSelect + RS_RS3 --> 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_RS1 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> BasicFifo6_write ConnectTrans7_ConnectTrans --> BasicFifo6_write ConnectTrans9_ConnectTrans --> BasicFifo6_write ConnectTrans4_ConnectTrans --> BasicFifo6_write - TransactionManager_accept_cond0_accept_cond0_ConnectTrans --> BasicFifo6_write - TransactionManager_accept_cond0_accept_cond1_ConnectTrans --> BasicFifo6_write + TransactionManager_accept_cond1_ConnectTrans_accept_cond0 --> BasicFifo6_write + TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> BasicFifo6_write TransactionManager_accept_cond1_ConnectTrans --> BasicFifo6_write WakeupSelect3_WakeupSelect --> FIFO5_write RS_RS4 --> WakeupSelect4_WakeupSelect @@ -1096,129 +1096,129 @@ CSRRegister8_read --> ConnectTrans9_ConnectTrans ConnectTrans9_ConnectTrans --> BasicFifo8_write FifoRS_perf --> HwExpHistogram8__add - Forwarder6_read --> LSUDummy_LSUDummy + Forwarder6_read --> LSUDummy_LSUDummy1 Forwarder6_read --> TransactionManager_LSUDummy_issue_cond0 - Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 Forwarder6_read --> TransactionManager_LSUDummy_issue_cond2 - LSUDummy_LSUDummy --> FIFO6_write + Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 + LSUDummy_LSUDummy1 --> FIFO6_write WakeupSelect5_WakeupSelect --> FIFO6_write TransactionManager_LSUDummy_issue_cond0 --> FIFO6_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write TransactionManager_LSUDummy_issue_cond2 --> FIFO6_write - LSUDummy_LSUDummy --> FIFO8_write + TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write + LSUDummy_LSUDummy1 --> FIFO8_write WakeupSelect5_WakeupSelect --> FIFO8_write TransactionManager_LSUDummy_issue_cond0 --> FIFO8_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write TransactionManager_LSUDummy_issue_cond2 --> FIFO8_write - Retirement_precommit --> LSUDummy_LSUDummy2 - Retirement_precommit --> CSRUnit_CSRUnit1 - Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 + TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write + Retirement_precommit --> LSUDummy_LSUDummy + Retirement_precommit --> CSRUnit_CSRUnit Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 - Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit - ReorderBuffer_peek --> LSUDummy_LSUDummy2 - ReorderBuffer_peek --> CSRUnit_CSRUnit1 - ReorderBuffer_peek --> Retirement_Retirement + ReorderBuffer_peek --> LSUDummy_LSUDummy + ReorderBuffer_peek --> CSRUnit_CSRUnit ReorderBuffer_peek --> Retirement_Retirement1 - ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 + ReorderBuffer_peek --> Retirement_Retirement ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 + ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 - ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement - ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit FifoRS_FifoRS --> WakeupSelect5_WakeupSelect FifoRS_take --> WakeupSelect5_WakeupSelect WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop - AsyncMemoryBank2_read --> WakeupSelect5_WakeupSelect + AsyncMemoryBank2_AsyncMemoryBank1 --> WakeupSelect5_WakeupSelect WakeupSelect5_WakeupSelect --> HwExpHistogram7__add WakeupSelect5_WakeupSelect --> LSUDummy_issue WakeupSelect5_WakeupSelect --> Forwarder6_write - MethodMap1_method --> CSRUnit_CSRUnit - CSRRegister__internal_fu_read --> CSRUnit_CSRUnit - MethodMap3_method --> CSRUnit_CSRUnit - CSRRegister1__internal_fu_read --> CSRUnit_CSRUnit - MethodMap5_method --> CSRUnit_CSRUnit - CSRRegister2__internal_fu_read --> CSRUnit_CSRUnit - MethodMap7_method --> CSRUnit_CSRUnit - CSRRegister3__internal_fu_read --> CSRUnit_CSRUnit - MethodMap9_method --> CSRUnit_CSRUnit - CSRRegister4__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter4_method - CSRUnit_CSRUnit --> MethodMap8_method - CSRUnit_CSRUnit --> CSRRegister4__internal_fu_write - MethodMap11_method --> CSRUnit_CSRUnit - CSRRegister5__internal_fu_read --> CSRUnit_CSRUnit - AliasedCSR__fu_read --> CSRUnit_CSRUnit - MethodMap23_method --> CSRUnit_CSRUnit - CSRRegister11__internal_fu_read --> CSRUnit_CSRUnit - MethodMap25_method --> CSRUnit_CSRUnit - CSRRegister12__internal_fu_read --> CSRUnit_CSRUnit - MethodMap27_method --> CSRUnit_CSRUnit - CSRRegister13__internal_fu_read --> CSRUnit_CSRUnit - MethodMap29_method --> CSRUnit_CSRUnit - CSRRegister14__internal_fu_read --> CSRUnit_CSRUnit - MethodMap31_method --> CSRUnit_CSRUnit - CSRRegister15__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> AliasedCSR__fu_write - CSRUnit_CSRUnit --> MethodFilter11_method - CSRUnit_CSRUnit --> MethodMap22_method - CSRUnit_CSRUnit --> CSRRegister11__internal_fu_write - CSRUnit_CSRUnit --> MethodFilter12_method - CSRUnit_CSRUnit --> MethodMap24_method - CSRUnit_CSRUnit --> CSRRegister12__internal_fu_write - CSRUnit_CSRUnit --> MethodFilter13_method - CSRUnit_CSRUnit --> MethodMap26_method - CSRUnit_CSRUnit --> CSRRegister13__internal_fu_write - CSRUnit_CSRUnit --> MethodFilter14_method - CSRUnit_CSRUnit --> MethodMap28_method - CSRUnit_CSRUnit --> CSRRegister14__internal_fu_write - CSRUnit_CSRUnit --> MethodFilter15_method - CSRUnit_CSRUnit --> MethodMap30_method - CSRUnit_CSRUnit --> CSRRegister15__internal_fu_write - AliasedCSR1__fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> AliasedCSR1__fu_write - MethodMap13_method --> CSRUnit_CSRUnit - CSRRegister6__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter6_method - CSRUnit_CSRUnit --> MethodMap12_method - CSRUnit_CSRUnit --> CSRRegister6__internal_fu_write - MethodMap15_method --> CSRUnit_CSRUnit - CSRRegister7__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter7_method - CSRUnit_CSRUnit --> MethodMap14_method - CSRUnit_CSRUnit --> CSRRegister7__internal_fu_write - MethodMap17_method --> CSRUnit_CSRUnit - CSRRegister8__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter8_method - CSRUnit_CSRUnit --> MethodMap16_method - CSRUnit_CSRUnit --> CSRRegister8__internal_fu_write - MethodMap19_method --> CSRUnit_CSRUnit - CSRRegister9__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter9_method - CSRUnit_CSRUnit --> MethodMap18_method - CSRUnit_CSRUnit --> CSRRegister9__internal_fu_write - MethodMap33_method --> CSRUnit_CSRUnit - CSRRegister16__internal_fu_read --> CSRUnit_CSRUnit - MethodMap35_method --> CSRUnit_CSRUnit - CSRRegister17__internal_fu_read --> CSRUnit_CSRUnit - MethodMap37_method --> CSRUnit_CSRUnit - CSRRegister18__internal_fu_read --> CSRUnit_CSRUnit - MethodMap39_method --> CSRUnit_CSRUnit - CSRRegister19__internal_fu_read --> CSRUnit_CSRUnit - MethodMap41_method --> CSRUnit_CSRUnit - CSRRegister20__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter20_method - CSRUnit_CSRUnit --> MethodMap40_method - CSRUnit_CSRUnit --> CSRRegister20__internal_fu_write - MethodMap43_method --> CSRUnit_CSRUnit - CSRRegister21__internal_fu_read --> CSRUnit_CSRUnit - CSRUnit_CSRUnit --> MethodFilter21_method - CSRUnit_CSRUnit --> MethodMap42_method - CSRUnit_CSRUnit --> CSRRegister21__internal_fu_write - MethodMap45_method --> CSRUnit_CSRUnit - CSRRegister22__internal_fu_read --> CSRUnit_CSRUnit - MethodMap47_method --> CSRUnit_CSRUnit - CSRRegister23__internal_fu_read --> CSRUnit_CSRUnit + MethodMap1_method --> CSRUnit_CSRUnit1 + CSRRegister__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap3_method --> CSRUnit_CSRUnit1 + CSRRegister1__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap5_method --> CSRUnit_CSRUnit1 + CSRRegister2__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap7_method --> CSRUnit_CSRUnit1 + CSRRegister3__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap9_method --> CSRUnit_CSRUnit1 + CSRRegister4__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter4_method + CSRUnit_CSRUnit1 --> MethodMap8_method + CSRUnit_CSRUnit1 --> CSRRegister4__internal_fu_write + MethodMap11_method --> CSRUnit_CSRUnit1 + CSRRegister5__internal_fu_read --> CSRUnit_CSRUnit1 + AliasedCSR__fu_read --> CSRUnit_CSRUnit1 + MethodMap23_method --> CSRUnit_CSRUnit1 + CSRRegister11__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap25_method --> CSRUnit_CSRUnit1 + CSRRegister12__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap27_method --> CSRUnit_CSRUnit1 + CSRRegister13__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap29_method --> CSRUnit_CSRUnit1 + CSRRegister14__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap31_method --> CSRUnit_CSRUnit1 + CSRRegister15__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> AliasedCSR__fu_write + CSRUnit_CSRUnit1 --> MethodFilter11_method + CSRUnit_CSRUnit1 --> MethodMap22_method + CSRUnit_CSRUnit1 --> CSRRegister11__internal_fu_write + CSRUnit_CSRUnit1 --> MethodFilter12_method + CSRUnit_CSRUnit1 --> MethodMap24_method + CSRUnit_CSRUnit1 --> CSRRegister12__internal_fu_write + CSRUnit_CSRUnit1 --> MethodFilter13_method + CSRUnit_CSRUnit1 --> MethodMap26_method + CSRUnit_CSRUnit1 --> CSRRegister13__internal_fu_write + CSRUnit_CSRUnit1 --> MethodFilter14_method + CSRUnit_CSRUnit1 --> MethodMap28_method + CSRUnit_CSRUnit1 --> CSRRegister14__internal_fu_write + CSRUnit_CSRUnit1 --> MethodFilter15_method + CSRUnit_CSRUnit1 --> MethodMap30_method + CSRUnit_CSRUnit1 --> CSRRegister15__internal_fu_write + AliasedCSR1__fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> AliasedCSR1__fu_write + MethodMap13_method --> CSRUnit_CSRUnit1 + CSRRegister6__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter6_method + CSRUnit_CSRUnit1 --> MethodMap12_method + CSRUnit_CSRUnit1 --> CSRRegister6__internal_fu_write + MethodMap15_method --> CSRUnit_CSRUnit1 + CSRRegister7__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter7_method + CSRUnit_CSRUnit1 --> MethodMap14_method + CSRUnit_CSRUnit1 --> CSRRegister7__internal_fu_write + MethodMap17_method --> CSRUnit_CSRUnit1 + CSRRegister8__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter8_method + CSRUnit_CSRUnit1 --> MethodMap16_method + CSRUnit_CSRUnit1 --> CSRRegister8__internal_fu_write + MethodMap19_method --> CSRUnit_CSRUnit1 + CSRRegister9__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter9_method + CSRUnit_CSRUnit1 --> MethodMap18_method + CSRUnit_CSRUnit1 --> CSRRegister9__internal_fu_write + MethodMap33_method --> CSRUnit_CSRUnit1 + CSRRegister16__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap35_method --> CSRUnit_CSRUnit1 + CSRRegister17__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap37_method --> CSRUnit_CSRUnit1 + CSRRegister18__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap39_method --> CSRUnit_CSRUnit1 + CSRRegister19__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap41_method --> CSRUnit_CSRUnit1 + CSRRegister20__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter20_method + CSRUnit_CSRUnit1 --> MethodMap40_method + CSRUnit_CSRUnit1 --> CSRRegister20__internal_fu_write + MethodMap43_method --> CSRUnit_CSRUnit1 + CSRRegister21__internal_fu_read --> CSRUnit_CSRUnit1 + CSRUnit_CSRUnit1 --> MethodFilter21_method + CSRUnit_CSRUnit1 --> MethodMap42_method + CSRUnit_CSRUnit1 --> CSRRegister21__internal_fu_write + MethodMap45_method --> CSRUnit_CSRUnit1 + CSRRegister22__internal_fu_read --> CSRUnit_CSRUnit1 + MethodMap47_method --> CSRUnit_CSRUnit1 + CSRRegister23__internal_fu_read --> CSRUnit_CSRUnit1 ConnectTrans2_ConnectTrans --> Forwarder4_write ConnectTrans3_ConnectTrans --> Forwarder4_write ConnectTrans4_ConnectTrans --> Forwarder4_write @@ -1229,160 +1229,152 @@ Collector2_method --> ConnectTrans3_ConnectTrans Forwarder7_read --> ConnectTrans3_ConnectTrans CSRUnit_get_result --> ConnectTrans4_ConnectTrans - ExceptionInformationRegister_get --> Retirement_Retirement + ExceptionInformationRegister_get --> Retirement_Retirement1 + ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond1 ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond0 - ExceptionInformationRegister_get --> TransactionManager_Retirement_cond1_Retirement - Retirement_Retirement1 <--> ReorderBuffer_retire + Retirement_Retirement <--> ReorderBuffer_retire + TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire - TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire - Retirement_Retirement1 <--> FIFOLatencyMeasurer1__stop + Retirement_Retirement <--> FIFOLatencyMeasurer1__stop + TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer1__stop TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer1__stop - TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer1__stop - FIFO1_read --> Retirement_Retirement1 + FIFO1_read --> Retirement_Retirement + FIFO1_read --> TransactionManager_Retirement_Retirement_cond1 FIFO1_read --> TransactionManager_Retirement_Retirement_cond0 - FIFO1_read --> TransactionManager_Retirement_cond1_Retirement - Retirement_Retirement1 --> HwExpHistogram3__add + Retirement_Retirement --> HwExpHistogram3__add + TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram3__add TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram3__add - TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram3__add - CoreInstructionCounter_decrement --> Retirement_Retirement1 + CoreInstructionCounter_decrement --> Retirement_Retirement + CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 - CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement - RRAT_peek --> Retirement_Retirement1 - RRAT_peek --> TransactionManager_Retirement_cond1_Retirement - Retirement_Retirement1 --> RegisterFile_free + RRAT_peek --> Retirement_Retirement + RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 + Retirement_Retirement --> RegisterFile_free + TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free - TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free - Retirement_Retirement1 --> TaggedLatencyMeasurer__stop + Retirement_Retirement --> TaggedLatencyMeasurer__stop + TransactionManager_Retirement_Retirement_cond1 --> TaggedLatencyMeasurer__stop TransactionManager_Retirement_Retirement_cond0 --> TaggedLatencyMeasurer__stop - TransactionManager_Retirement_cond1_Retirement --> TaggedLatencyMeasurer__stop - AsyncMemoryBank_read --> Retirement_Retirement1 - AsyncMemoryBank_read --> TransactionManager_Retirement_Retirement_cond0 - AsyncMemoryBank_read --> TransactionManager_Retirement_cond1_Retirement - Retirement_Retirement1 --> HwExpHistogram1__add + AsyncMemoryBank_AsyncMemoryBank --> Retirement_Retirement + AsyncMemoryBank_AsyncMemoryBank --> TransactionManager_Retirement_Retirement_cond1 + AsyncMemoryBank_AsyncMemoryBank --> TransactionManager_Retirement_Retirement_cond0 + Retirement_Retirement --> HwExpHistogram1__add + TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add - TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add - Retirement_Retirement1 --> FRAT_rename + Retirement_Retirement --> FRAT_rename + TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename TransactionManager_ROBAllocation_Renaming --> FRAT_rename - TransactionManager_Retirement_cond1_Retirement --> FRAT_rename Retirement_Retirement3 <--> FIFOLatencyMeasurer2__stop FIFO12_read --> Retirement_Retirement3 Retirement_Retirement3 --> HwExpHistogram9__add CSRRegister7_read --> Retirement_Retirement3 Retirement_Retirement3 --> FetchUnit_resume_from_exception Retirement_Retirement3 <--> ExceptionInformationRegister_clear - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 --> TaggedCounter6__incr - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 --> TaggedCounter6__incr - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 --> TaggedCounter6__incr - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit --> TaggedCounter6__incr - CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 - CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 - CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 - CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> ICache_flush - TransactionManager_ROBAllocation_Renaming <--> ROBAllocation_ROBAllocation - Connect_read --> TransactionManager_ROBAllocation_Renaming - TransactionManager_ROBAllocation_Renaming --> ReorderBuffer_put - TransactionManager_ROBAllocation_Renaming <--> FIFOLatencyMeasurer1__start - TransactionManager_ROBAllocation_Renaming --> FIFO1_write - TransactionManager_ROBAllocation_Renaming --> FIFO10_write - TransactionManager_ROBAllocation_Renaming <--> Renaming_Renaming - FIFO9_read --> TransactionManager_ROBAllocation_Renaming - TransactionManager_ROBAllocation_Renaming --> Connect_write - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 - TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy1 - TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy1 - TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy1 + 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_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy2 + TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy2 + TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy2 TransactionManager_LSUDummy_issue_cond0 --> LSURequester_issue - TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue + TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue TransactionManager_LSUDummy_issue_cond0 --> BasicFifo9_write - TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write TransactionManager_LSUDummy_issue_cond2 --> BasicFifo9_write + TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write TransactionManager_LSUDummy_issue_cond0 --> FIFO7_write - TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write TransactionManager_LSUDummy_issue_cond2 --> FIFO7_write + TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write TransactionManager_LSUDummy_issue_cond0 <--> LSURequester_issue_cond0 TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write - TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer3 + TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer 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_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 - TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 - TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond0 - LSURequester_accept --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - LSURequester_accept --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - BasicFifo9_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - BasicFifo9_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - FIFO7_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - FIFO7_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> LSURequester_accept_cond0 - WishboneMasterAdapter1_get_write_response --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - Serializer1_Serializer --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - BasicFifo1_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - BasicFifo1_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - WishboneMaster1_result --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - WishboneMaster1_result --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - Forwarder1_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - Forwarder1_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> ConnectTrans10_ConnectTrans - TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> PrivilegedFuncUnit_PrivilegedFuncUnit + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 --> TaggedCounter6__incr + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 --> TaggedCounter6__incr + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 --> TaggedCounter6__incr + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 --> TaggedCounter6__incr + CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 + CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 + TransactionManager_accept_cond1_ConnectTrans_accept_cond0 <--> LSURequester_accept_cond1 + WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + Serializer1_Serializer2 --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + BasicFifo1_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + BasicFifo1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + WishboneMaster1_result --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + WishboneMaster1_result --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + Forwarder1_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + Forwarder1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + TransactionManager_accept_cond1_ConnectTrans_accept_cond0 <--> ConnectTrans10_ConnectTrans + TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> ConnectTrans10_ConnectTrans TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans - TransactionManager_accept_cond0_accept_cond0_ConnectTrans --> Forwarder7_write - TransactionManager_accept_cond0_accept_cond1_ConnectTrans --> Forwarder7_write + TransactionManager_accept_cond1_ConnectTrans_accept_cond0 --> Forwarder7_write + TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> Forwarder7_write TransactionManager_accept_cond1_ConnectTrans --> Forwarder7_write - LSUDummy_accept --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans - LSUDummy_accept --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans + LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + LSUDummy_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2 - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2 - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> Semaphore_release - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> Semaphore_release - Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 - Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> Predecoder_predecode - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Predecoder_predecode - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> PredictionChecker_check - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> PredictionChecker_check - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter1__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter1__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter2__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter2__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter3__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter3__incr - TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 - TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> LSURequester_accept_cond1 - WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - Serializer1_Serializer1 --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans - TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 - FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans - FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans - 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_accept_cond0 <--> LSUDummy_accept_cond0 + TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSUDummy_accept_cond0 + LSURequester_accept --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + LSURequester_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + BasicFifo9_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + BasicFifo9_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + FIFO7_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 + FIFO7_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement2 TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement2 - TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement2 + TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer2__start TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer2__start - TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer2__start + TransactionManager_Retirement_Retirement_cond1 --> FIFO12_write TransactionManager_Retirement_Retirement_cond0 --> FIFO12_write - TransactionManager_Retirement_cond1_Retirement --> FIFO12_write + InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond1 InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond0 - InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond1_Retirement + TransactionManager_Retirement_Retirement_cond1 --> CSRRegister6_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister6_write - TransactionManager_Retirement_cond1_Retirement --> CSRRegister6_write + TransactionManager_Retirement_Retirement_cond1 --> CSRRegister8_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write - TransactionManager_Retirement_cond1_Retirement --> CSRRegister8_write + TransactionManager_Retirement_Retirement_cond1 --> CSRRegister9_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister9_write - TransactionManager_Retirement_cond1_Retirement --> CSRRegister9_write + TransactionManager_Retirement_Retirement_cond1 <--> InternalInterruptController_entry TransactionManager_Retirement_Retirement_cond0 <--> InternalInterruptController_entry - TransactionManager_Retirement_cond1_Retirement <--> InternalInterruptController_entry + TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 + TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSURequester_accept_cond0 + WishboneMasterAdapter1_get_write_response --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + Serializer1_Serializer3 --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> InternalInterruptController_mret + TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> ICache_flush + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 + TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment @@ -1393,8 +1385,16 @@ 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_Serializer2 - TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 - TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret + TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer1 + TransactionManager_ROBAllocation_Renaming <--> ROBAllocation_ROBAllocation + Connect_read --> TransactionManager_ROBAllocation_Renaming + TransactionManager_ROBAllocation_Renaming --> ReorderBuffer_put + TransactionManager_ROBAllocation_Renaming <--> FIFOLatencyMeasurer1__start + TransactionManager_ROBAllocation_Renaming --> FIFO1_write + TransactionManager_ROBAllocation_Renaming --> FIFO10_write + TransactionManager_ROBAllocation_Renaming <--> Renaming_Renaming + FIFO9_read --> TransactionManager_ROBAllocation_Renaming + TransactionManager_ROBAllocation_Renaming --> Connect_write + TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 + FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans + FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans diff --git a/api.html b/api.html index be84b1e13..8d34b75ba 100644 --- a/api.html +++ b/api.html @@ -271,7 +271,7 @@

transactron

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/assumptions.html b/assumptions.html index 5f0973fed..8ecce89d2 100644 --- a/assumptions.html +++ b/assumptions.html @@ -104,7 +104,7 @@

List of assumptions made during development

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/auto_graph.html b/auto_graph.html index e054a5181..0b06c100a 100644 --- a/auto_graph.html +++ b/auto_graph.html @@ -85,26 +85,26 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_WishboneMaster["WishboneMaster"] - WishboneMaster_result["result"] WishboneMaster_request["request"] + WishboneMaster_result["result"] + WishboneMaster_WishboneMaster["WishboneMaster"] subgraph Forwarder["result Forwarder"] Forwarder_read["read"] Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] + WishboneMaster1_request["request"] WishboneMaster1_result["result"] WishboneMaster1_WishboneMaster["WishboneMaster"] - WishboneMaster1_request["request"] subgraph Forwarder1["result Forwarder"] Forwarder1_write["write"] Forwarder1_read["read"] end end subgraph WishboneMasterAdapter["bus_master_instr_adapter WishboneMasterAdapter"] - WishboneMasterAdapter_get_read_response["get_read_response"] WishboneMasterAdapter_request_read["request_read"] + WishboneMasterAdapter_get_read_response["get_read_response"] subgraph Serializer["bus_serializer Serializer"] Serializer_Serializer["Serializer"] Serializer_Serializer1["Serializer"] @@ -116,8 +116,8 @@ end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] WishboneMasterAdapter1_request_write["request_write"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_read["request_read"] + WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_get_read_response["get_read_response"] subgraph Serializer1["bus_serializer Serializer"] Serializer1_Serializer["Serializer"] @@ -131,32 +131,32 @@ end end subgraph CoreFrontend["frontend CoreFrontend"] - CoreFrontend_DiscardBranchVerify["DiscardBranchVerify"] CoreFrontend_target_pred_req["target_pred_req"] - CoreFrontend_stall["stall"] CoreFrontend_target_pred_resp["target_pred_resp"] + CoreFrontend_DiscardBranchVerify["DiscardBranchVerify"] + CoreFrontend_stall["stall"] subgraph BasicFifo2["instr_buffer BasicFifo"] - BasicFifo2_write["write"] - BasicFifo2_clear["clear"] BasicFifo2_read["read"] + BasicFifo2_clear["clear"] + BasicFifo2_write["write"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] - SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] + SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_start_refill["start_refill"] subgraph Forwarder2["resp_fwd Forwarder"] - Forwarder2_write["write"] Forwarder2_read["read"] + Forwarder2_write["write"] end end subgraph ICache["icache ICache"] - ICache_issue_req["issue_req"] - ICache_MemRead["MemRead"] ICache_ICache["ICache"] + ICache_MemRead["MemRead"] + ICache_ICache1["ICache"] ICache_accept_res["accept_res"] ICache_flush["flush"] - ICache_ICache1["ICache"] + ICache_issue_req["issue_req"] subgraph HwCounter["perf_loads HwCounter"] HwCounter__incr["_incr"] end @@ -179,34 +179,34 @@ HwExpHistogram__add["_add"] end subgraph FIFO["fifo FIFO"] - FIFO_read["read"] FIFO_write["write"] + FIFO_read["read"] end end subgraph ArgumentsToResultsZipper["req_zipper ArgumentsToResultsZipper"] ArgumentsToResultsZipper_peek_arg["peek_arg"] - ArgumentsToResultsZipper_read["read"] - ArgumentsToResultsZipper_write_args["write_args"] ArgumentsToResultsZipper_write_results["write_results"] + ArgumentsToResultsZipper_write_args["write_args"] + ArgumentsToResultsZipper_read["read"] subgraph BasicFifo3["fifo BasicFifo"] BasicFifo3_read["read"] - BasicFifo3_write["write"] BasicFifo3_peek["peek"] + BasicFifo3_write["write"] end subgraph Forwarder3["forwarder Forwarder"] - Forwarder3_write["write"] Forwarder3_read["read"] + Forwarder3_write["write"] end end end subgraph FetchUnit["fetch FetchUnit"] - FetchUnit_Fetch_Stage2["Fetch_Stage2"] + FetchUnit_resume_from_exception["resume_from_exception"] 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_Stage1["Fetch_Stage1"] - FetchUnit_resume_from_exception["resume_from_exception"] - FetchUnit_resume_from_unsafe["resume_from_unsafe"] + FetchUnit_stall_exception["stall_exception"] + FetchUnit_Fetch_Stage2["Fetch_Stage2"] FetchUnit_Fetch_Stage0["Fetch_Stage0"] subgraph TaggedCounter["perf_fetch_utilization TaggedCounter"] TaggedCounter__incr["_incr"] @@ -215,9 +215,9 @@ HwCounter5__incr["_incr"] end subgraph Serializer["serializer Serializer"] + Serializer_clean["clean"] Serializer_write["write"] Serializer_read["read"] - Serializer_clean["clean"] end subgraph ConnectTrans["serializer_connector ConnectTrans"] ConnectTrans_ConnectTrans["ConnectTrans"] @@ -227,12 +227,12 @@ 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"] @@ -251,9 +251,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"] @@ -263,8 +263,8 @@ end end subgraph BasicFifo5["free_rf_fifo BasicFifo"] - BasicFifo5_write["write"] BasicFifo5_read["read"] + BasicFifo5_write["write"] end subgraph FRAT["FRAT FRAT"] FRAT_rename["rename"] @@ -274,11 +274,11 @@ RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] - RegisterFile_perf["perf"] RegisterFile_write["write"] + RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_read1["read1"] - RegisterFile_read2["read2"] + RegisterFile_perf["perf"] subgraph TaggedLatencyMeasurer["perf_rf_valid_time TaggedLatencyMeasurer"] TaggedLatencyMeasurer__start["_start"] TaggedLatencyMeasurer__stop["_stop"] @@ -286,8 +286,8 @@ HwExpHistogram1__add["_add"] end subgraph AsyncMemoryBank["slots AsyncMemoryBank"] - AsyncMemoryBank_read["read"] - AsyncMemoryBank_write["write"] + AsyncMemoryBank_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram2["perf_num_valid HwExpHistogram"] @@ -295,12 +295,12 @@ end end subgraph ReorderBuffer["ROB ReorderBuffer"] + ReorderBuffer_put["put"] ReorderBuffer_peek["peek"] - ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_retire["retire"] + ReorderBuffer_get_indices["get_indices"] ReorderBuffer_perf["perf"] - ReorderBuffer_put["put"] + ReorderBuffer_retire["retire"] subgraph FIFOLatencyMeasurer1["perf_rob_wait_time FIFOLatencyMeasurer"] FIFOLatencyMeasurer1__start["_start"] FIFOLatencyMeasurer1__stop["_stop"] @@ -317,12 +317,12 @@ end end subgraph ExceptionInformationRegister["exception_information_register ExceptionInformationRegister"] - ExceptionInformationRegister_clear["clear"] ExceptionInformationRegister_report["report"] + 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"] @@ -352,29 +352,29 @@ end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] RSFuncBlock_update["update"] - RSFuncBlock_insert["insert"] - RSFuncBlock_get_result["get_result"] RSFuncBlock_select["select"] + RSFuncBlock_get_result["get_result"] + RSFuncBlock_insert["insert"] subgraph RS["rs RS"] + RS_perf["perf"] RS_RS["RS"] RS_RS1["RS"] - RS_insert["insert"] - RS_RS2["RS"] RS_update["update"] + RS_RS2["RS"] RS_select["select"] + RS_insert["insert"] + RS_take["take"] RS_RS3["RS"] RS_RS4["RS"] - RS_perf["perf"] - RS_take["take"] 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_write["write"] - AsyncMemoryBank1_read["read"] + AsyncMemoryBank1_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank1_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram6["perf_num_full HwExpHistogram"] @@ -388,16 +388,16 @@ 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"] @@ -407,8 +407,8 @@ WakeupSelect1_WakeupSelect["WakeupSelect"] end subgraph JumpBranchFuncUnit["func_unit_2 JumpBranchFuncUnit"] - JumpBranchFuncUnit_accept["accept"] JumpBranchFuncUnit_issue["issue"] + JumpBranchFuncUnit_accept["accept"] subgraph FIFO4["fifo_branch_resolved FIFO"] FIFO4_write["write"] FIFO4_read["read"] @@ -434,8 +434,8 @@ ExceptionFuncUnit_accept["accept"] ExceptionFuncUnit_issue["issue"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -443,12 +443,12 @@ end subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_cond1"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] - PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_accept["accept"] PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_cond3"] - PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] PrivilegedFuncUnit_issue["issue"] - PrivilegedFuncUnit_accept["accept"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_cond0"] + PrivilegedFuncUnit_PrivilegedFuncUnit["PrivilegedFuncUnit"] + PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_cond2"] subgraph BasicFifo8["fetch_resume_fifo BasicFifo"] BasicFifo8_read["read"] BasicFifo8_write["write"] @@ -486,26 +486,26 @@ end end subgraph RSFuncBlock1["rs_block_1 RSFuncBlock"] - RSFuncBlock1_get_result["get_result"] - RSFuncBlock1_select["select"] RSFuncBlock1_insert["insert"] RSFuncBlock1_update["update"] + RSFuncBlock1_get_result["get_result"] + RSFuncBlock1_select["select"] subgraph FifoRS["rs FifoRS"] - FifoRS_select["select"] - FifoRS_FifoRS["FifoRS"] - FifoRS_update["update"] - FifoRS_insert["insert"] FifoRS_take["take"] + FifoRS_update["update"] + FifoRS_FifoRS["FifoRS"] + FifoRS_select["select"] FifoRS_perf["perf"] + FifoRS_insert["insert"] subgraph TaggedLatencyMeasurer2["perf_rs_wait_time TaggedLatencyMeasurer"] - TaggedLatencyMeasurer2__start["_start"] TaggedLatencyMeasurer2__stop["_stop"] + TaggedLatencyMeasurer2__start["_start"] subgraph HwExpHistogram7["histogram HwExpHistogram"] HwExpHistogram7__add["_add"] end subgraph AsyncMemoryBank2["slots AsyncMemoryBank"] - AsyncMemoryBank2_read["read"] - AsyncMemoryBank2_write["write"] + AsyncMemoryBank2_AsyncMemoryBank["AsyncMemoryBank"] + AsyncMemoryBank2_AsyncMemoryBank1["AsyncMemoryBank"] end end subgraph HwExpHistogram8["perf_num_full HwExpHistogram"] @@ -513,24 +513,24 @@ end end subgraph LSUDummy["func_unit_0 LSUDummy"] - LSUDummy_accept_cond0["accept_cond0"] + LSUDummy_accept["accept"] LSUDummy_LSUDummy["LSUDummy"] + LSUDummy_accept_cond0["accept_cond0"] LSUDummy_LSUDummy1["LSUDummy"] - LSUDummy_issue["issue"] - LSUDummy_accept["accept"] LSUDummy_accept_cond1["accept_cond1"] + LSUDummy_issue["issue"] LSUDummy_LSUDummy2["LSUDummy"] subgraph LSURequester["requester LSURequester"] - LSURequester_issue_cond0["issue_cond0"] - LSURequester_accept_cond0["accept_cond0"] - LSURequester_accept_cond1["accept_cond1"] LSURequester_issue["issue"] - LSURequester_issue_cond2["issue_cond2"] + LSURequester_accept_cond0["accept_cond0"] LSURequester_accept["accept"] LSURequester_issue_cond1["issue_cond1"] + LSURequester_accept_cond1["accept_cond1"] + LSURequester_issue_cond0["issue_cond0"] + LSURequester_issue_cond2["issue_cond2"] subgraph BasicFifo9["args_fifo BasicFifo"] - BasicFifo9_read["read"] BasicFifo9_write["write"] + BasicFifo9_read["read"] end end subgraph Forwarder6["requests Forwarder"] @@ -542,8 +542,8 @@ FIFO6_write["write"] end subgraph FIFO7["issued FIFO"] - FIFO7_write["write"] FIFO7_read["read"] + FIFO7_write["write"] end subgraph FIFO8["issued_noop FIFO"] FIFO8_read["read"] @@ -556,8 +556,8 @@ subgraph Collector2["collector Collector"] Collector2_method["method"] subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] Forwarder7_write["write"] + Forwarder7_read["read"] end subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] subgraph ConnectTrans10["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -567,10 +567,10 @@ end end subgraph CSRUnit["rs_block_2 CSRUnit"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_update["update"] CSRUnit_get_result["get_result"] CSRUnit_fetch_resume["fetch_resume"] + CSRUnit_CSRUnit["CSRUnit"] CSRUnit_CSRUnit1["CSRUnit"] CSRUnit_insert["insert"] CSRUnit_select["select"] @@ -626,17 +626,17 @@ end end subgraph AliasedCSR["mstatus AliasedCSR"] - AliasedCSR__fu_write["_fu_write"] AliasedCSR__fu_read["_fu_read"] + AliasedCSR__fu_write["_fu_write"] end subgraph AliasedCSR1["mstatush AliasedCSR"] - AliasedCSR1__fu_read["_fu_read"] AliasedCSR1__fu_write["_fu_write"] + AliasedCSR1__fu_read["_fu_read"] end subgraph CSRRegister6["mcause CSRRegister"] - CSRRegister6__internal_fu_read["_internal_fu_read"] CSRRegister6_write["write"] CSRRegister6__internal_fu_write["_internal_fu_write"] + CSRRegister6__internal_fu_read["_internal_fu_read"] subgraph MethodMap12["fu_write_map MethodMap"] MethodMap12_method["method"] end @@ -648,9 +648,9 @@ end end subgraph CSRRegister7["mtvec CSRRegister"] + CSRRegister7__internal_fu_write["_internal_fu_write"] CSRRegister7_read["read"] CSRRegister7__internal_fu_read["_internal_fu_read"] - CSRRegister7__internal_fu_write["_internal_fu_write"] subgraph MethodMap14["fu_write_map MethodMap"] MethodMap14_method["method"] end @@ -662,9 +662,9 @@ end end subgraph CSRRegister8["mepc CSRRegister"] - CSRRegister8_read["read"] CSRRegister8_write["write"] CSRRegister8__internal_fu_read["_internal_fu_read"] + CSRRegister8_read["read"] CSRRegister8__internal_fu_write["_internal_fu_write"] subgraph MethodMap16["fu_write_map MethodMap"] MethodMap16_method["method"] @@ -677,9 +677,9 @@ end end subgraph CSRRegister9["mtval CSRRegister"] - CSRRegister9__internal_fu_write["_internal_fu_write"] - CSRRegister9_write["write"] CSRRegister9__internal_fu_read["_internal_fu_read"] + CSRRegister9_write["write"] + CSRRegister9__internal_fu_write["_internal_fu_write"] subgraph MethodMap18["fu_write_map MethodMap"] MethodMap18_method["method"] end @@ -691,8 +691,8 @@ end end subgraph CSRRegister10["priv_mode CSRRegister"] - CSRRegister10_read["read"] CSRRegister10_write["write"] + CSRRegister10_read["read"] end subgraph CSRRegister11["mstatus_mie CSRRegister"] CSRRegister11__internal_fu_read["_internal_fu_read"] @@ -711,8 +711,8 @@ end subgraph CSRRegister12["mstatus_mpie CSRRegister"] CSRRegister12__internal_fu_write["_internal_fu_write"] - CSRRegister12__internal_fu_read["_internal_fu_read"] CSRRegister12_read["read"] + CSRRegister12__internal_fu_read["_internal_fu_read"] CSRRegister12_write["write"] subgraph MethodMap24["fu_write_map MethodMap"] MethodMap24_method["method"] @@ -725,10 +725,10 @@ end end subgraph CSRRegister13["mstatus_mpp CSRRegister"] + CSRRegister13__internal_fu_write["_internal_fu_write"] CSRRegister13_read["read"] CSRRegister13_write["write"] CSRRegister13__internal_fu_read["_internal_fu_read"] - CSRRegister13__internal_fu_write["_internal_fu_write"] subgraph MethodMap26["fu_write_map MethodMap"] MethodMap26_method["method"] end @@ -740,9 +740,9 @@ end end subgraph CSRRegister14["mstatus_mprv CSRRegister"] + CSRRegister14_write["write"] CSRRegister14__internal_fu_read["_internal_fu_read"] CSRRegister14__internal_fu_write["_internal_fu_write"] - CSRRegister14_write["write"] subgraph MethodMap28["fu_write_map MethodMap"] MethodMap28_method["method"] end @@ -771,17 +771,17 @@ subgraph DoubleCounterCSR["csr_cycle DoubleCounterCSR"] DoubleCounterCSR_increment["increment"] subgraph CSRRegister16["register_low CSRRegister"] - CSRRegister16_write["write"] CSRRegister16_read["read"] CSRRegister16__internal_fu_read["_internal_fu_read"] + CSRRegister16_write["write"] subgraph MethodMap33["fu_read_map MethodMap"] MethodMap33_method["method"] end end subgraph CSRRegister17["register_high CSRRegister"] - CSRRegister17_write["write"] - CSRRegister17__internal_fu_read["_internal_fu_read"] CSRRegister17_read["read"] + CSRRegister17__internal_fu_read["_internal_fu_read"] + CSRRegister17_write["write"] subgraph MethodMap35["fu_read_map MethodMap"] MethodMap35_method["method"] end @@ -790,8 +790,8 @@ subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] DoubleCounterCSR1_increment["increment"] subgraph CSRRegister18["register_low CSRRegister"] - CSRRegister18_write["write"] CSRRegister18_read["read"] + CSRRegister18_write["write"] CSRRegister18__internal_fu_read["_internal_fu_read"] subgraph MethodMap37["fu_read_map MethodMap"] MethodMap37_method["method"] @@ -799,8 +799,8 @@ end subgraph CSRRegister19["register_high CSRRegister"] CSRRegister19_write["write"] - CSRRegister19_read["read"] CSRRegister19__internal_fu_read["_internal_fu_read"] + CSRRegister19_read["read"] subgraph MethodMap39["fu_read_map MethodMap"] MethodMap39_method["method"] end @@ -808,16 +808,16 @@ end end subgraph InternalInterruptController["interrupt_controller InternalInterruptController"] - InternalInterruptController_interrupt_cause["interrupt_cause"] InternalInterruptController_InternalInterruptController["InternalInterruptController"] - InternalInterruptController_mret["mret"] - InternalInterruptController_entry["entry"] InternalInterruptController_InternalInterruptController1["InternalInterruptController"] + InternalInterruptController_interrupt_cause["interrupt_cause"] + InternalInterruptController_entry["entry"] + InternalInterruptController_mret["mret"] InternalInterruptController_InternalInterruptController2["InternalInterruptController"] subgraph CSRRegister20["mie CSRRegister"] + CSRRegister20__internal_fu_write["_internal_fu_write"] CSRRegister20__internal_fu_read["_internal_fu_read"] CSRRegister20_read["read"] - CSRRegister20__internal_fu_write["_internal_fu_write"] subgraph MethodMap40["fu_write_map MethodMap"] MethodMap40_method["method"] end @@ -829,11 +829,11 @@ end end subgraph CSRRegister21["mip CSRRegister"] - CSRRegister21__internal_fu_write["_internal_fu_write"] CSRRegister21_write["write"] CSRRegister21_read["read"] CSRRegister21__internal_fu_read["_internal_fu_read"] CSRRegister21_read_comb["read_comb"] + CSRRegister21__internal_fu_write["_internal_fu_write"] subgraph MethodMap42["fu_write_map MethodMap"] MethodMap42_method["method"] end @@ -846,16 +846,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"] + FIFO9_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -868,8 +868,8 @@ Renaming_Renaming["Renaming"] end subgraph FIFO10["reg_alloc_out_buf FIFO"] - FIFO10_read["read"] FIFO10_write["write"] + FIFO10_read["read"] end subgraph ROBAllocation["rob_alloc ROBAllocation"] ROBAllocation_ROBAllocation["ROBAllocation"] @@ -891,8 +891,8 @@ subgraph Collector3["FetchResumeKey_unifier Collector"] Collector3_method["method"] subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_write["write"] Forwarder8_read["read"] + Forwarder8_write["write"] end subgraph ManyToOneConnectTrans3["connect ManyToOneConnectTrans"] subgraph ConnectTrans11["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -908,28 +908,28 @@ ConnectTrans13_ConnectTrans["ConnectTrans"] end subgraph Retirement["retirement Retirement"] - Retirement_precommit["precommit"] - Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement["Retirement"] Retirement_Retirement1["Retirement"] - Retirement_Retirement2["Retirement"] Retirement_Retirement_cond1["Retirement_cond1"] - Retirement_core_state["core_state"] + Retirement_Retirement_cond0["Retirement_cond0"] + Retirement_precommit["precommit"] + Retirement_Retirement2["Retirement"] Retirement_Retirement3["Retirement"] + Retirement_core_state["core_state"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister22["register_low CSRRegister"] - CSRRegister22__internal_fu_read["_internal_fu_read"] CSRRegister22_write["write"] CSRRegister22_read["read"] + CSRRegister22__internal_fu_read["_internal_fu_read"] subgraph MethodMap45["fu_read_map MethodMap"] MethodMap45_method["method"] end end subgraph CSRRegister23["register_high CSRRegister"] - CSRRegister23__internal_fu_read["_internal_fu_read"] - CSRRegister23_write["write"] CSRRegister23_read["read"] + CSRRegister23_write["write"] + CSRRegister23__internal_fu_read["_internal_fu_read"] subgraph MethodMap47["fu_read_map MethodMap"] MethodMap47_method["method"] end @@ -939,55 +939,55 @@ HwCounter9__incr["_incr"] end subgraph FIFOLatencyMeasurer2["perf_trap_latency FIFOLatencyMeasurer"] - FIFOLatencyMeasurer2__stop["_stop"] FIFOLatencyMeasurer2__start["_start"] + FIFOLatencyMeasurer2__stop["_stop"] subgraph HwExpHistogram9["histogram HwExpHistogram"] HwExpHistogram9__add["_add"] end subgraph FIFO12["fifo FIFO"] - FIFO12_read["read"] FIFO12_write["write"] + FIFO12_read["read"] end end end end end subgraph TransactionManager["transaction_manager TransactionManager"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] - TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] - TransactionManager_accept_cond0_accept_cond0_ConnectTrans["accept_cond0_accept_cond0_ConnectTrans"] - TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_ROBAllocation_Renaming["ROBAllocation_Renaming"] - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_PrivilegedFuncUnit_cond1"] - TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit["PrivilegedFuncUnit_cond0_PrivilegedFuncUnit"] + TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2["PrivilegedFuncUnit_PrivilegedFuncUnit_cond2"] - TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1["PrivilegedFuncUnit_PrivilegedFuncUnit_cond1"] + TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0["PrivilegedFuncUnit_PrivilegedFuncUnit_cond0"] + TransactionManager_accept_cond1_ConnectTrans_accept_cond0["accept_cond1_ConnectTrans_accept_cond0"] + TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0["Fetch_Stage2_Fetch_Stage2_cond0"] - TransactionManager_accept_cond0_accept_cond1_ConnectTrans["accept_cond0_accept_cond1_ConnectTrans"] - TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_PrivilegedFuncUnit_cond3"] TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1["Fetch_Stage2_Fetch_Stage2_cond1"] - TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_ConnectTrans_accept_cond0_accept_cond0["ConnectTrans_accept_cond0_accept_cond0"] TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_ROBAllocation_Renaming["ROBAllocation_Renaming"] + TransactionManager_accept_cond1_ConnectTrans["accept_cond1_ConnectTrans"] + TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3["PrivilegedFuncUnit_PrivilegedFuncUnit_cond3"] end end Core_InitFreeRFFifo --> BasicFifo5_write -Retirement_Retirement1 --> BasicFifo5_write +Retirement_Retirement --> BasicFifo5_write +TransactionManager_Retirement_Retirement_cond1 --> BasicFifo5_write TransactionManager_Retirement_Retirement_cond0 --> BasicFifo5_write -TransactionManager_Retirement_cond1_Retirement --> BasicFifo5_write WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write FIFO4_read --> CoreFrontend_DiscardBranchVerify -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMasterAdapter_request_read -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Serializer_Serializer1 -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> BasicFifo_write -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> WishboneMaster_request -WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller -Serializer_Serializer --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller -BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller -WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller -Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller -SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Forwarder2_write -ICache_ICache1 <--> HwCounter4__incr +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMasterAdapter_request_read +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_Serializer1 +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request +WishboneMasterAdapter_get_read_response --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 +Serializer_Serializer --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 +BasicFifo_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 +WishboneMaster_result --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 +Forwarder_read --> SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 +SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller1 --> Forwarder2_write +ICache_ICache <--> HwCounter4__incr ArgumentsToResultsZipper_peek_arg --> ICache_MemRead BasicFifo3_peek --> ICache_MemRead ICache_MemRead <--> HwCounter1__incr @@ -995,9 +995,9 @@ ICache_MemRead --> Forwarder3_write ICache_MemRead <--> HwCounter2__incr ICache_MemRead --> SimpleCommonBusCacheRefiller_start_refill -SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache -Forwarder2_read --> ICache_ICache -ICache_ICache <--> HwCounter3__incr +SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache1 +Forwarder2_read --> ICache_ICache1 +ICache_ICache1 <--> HwCounter3__incr FetchUnit_Fetch_Stage0 <--> Semaphore_acquire FetchUnit_Fetch_Stage0 --> ICache_issue_req FetchUnit_Fetch_Stage0 <--> HwCounter__incr @@ -1032,43 +1032,43 @@ GenericCSRRegisters_GenericCSRRegisters --> CSRRegister18_write CSRRegister19_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister19_write +CSRRegister11_read --> InternalInterruptController_InternalInterruptController CSRRegister11_read --> InternalInterruptController_InternalInterruptController1 -CSRRegister11_read --> InternalInterruptController_InternalInterruptController2 +CSRRegister10_read --> InternalInterruptController_InternalInterruptController CSRRegister10_read --> InternalInterruptController_InternalInterruptController1 -CSRRegister10_read --> InternalInterruptController_InternalInterruptController2 CSRRegister10_read --> WakeupSelect3_WakeupSelect -CSRRegister10_read --> CSRUnit_CSRUnit -CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 +CSRRegister10_read --> CSRUnit_CSRUnit1 CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 -CSRRegister10_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit -CSRRegister20_read --> InternalInterruptController_InternalInterruptController1 -CSRRegister21_read --> InternalInterruptController_InternalInterruptController1 -CSRRegister21_read_comb --> InternalInterruptController_InternalInterruptController -InternalInterruptController_InternalInterruptController --> CSRRegister21_write -InternalInterruptController_InternalInterruptController2 --> CSRRegister11_write -InternalInterruptController_InternalInterruptController2 --> CSRRegister12_write -InternalInterruptController_InternalInterruptController2 --> CSRRegister13_write -InternalInterruptController_InternalInterruptController2 --> CSRRegister10_write -CSRRegister12_read --> InternalInterruptController_InternalInterruptController2 -CSRRegister13_read --> InternalInterruptController_InternalInterruptController2 -InternalInterruptController_InternalInterruptController2 --> CSRRegister14_write +CSRRegister20_read --> InternalInterruptController_InternalInterruptController +CSRRegister21_read --> InternalInterruptController_InternalInterruptController +CSRRegister21_read_comb --> InternalInterruptController_InternalInterruptController2 +InternalInterruptController_InternalInterruptController2 --> CSRRegister21_write +InternalInterruptController_InternalInterruptController1 --> CSRRegister11_write +InternalInterruptController_InternalInterruptController1 --> CSRRegister12_write +InternalInterruptController_InternalInterruptController1 --> CSRRegister13_write +InternalInterruptController_InternalInterruptController1 --> CSRRegister10_write +CSRRegister12_read --> InternalInterruptController_InternalInterruptController1 +CSRRegister13_read --> InternalInterruptController_InternalInterruptController1 +InternalInterruptController_InternalInterruptController1 --> CSRRegister14_write MethodProduct1_method --> RegAllocation_RegAllocation 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 -RSFuncBlock_select --> RSSelection_RSSelection -RS_select --> RSSelection_RSSelection -RSSelection_RSSelection --> FIFO11_write +FIFO10_read --> RSSelection_RSSelection +RSFuncBlock_select --> RSSelection_RSSelection1 +RS_select --> RSSelection_RSSelection1 RSSelection_RSSelection1 --> FIFO11_write RSSelection_RSSelection2 --> FIFO11_write -RSFuncBlock1_select --> RSSelection_RSSelection1 -FifoRS_select --> RSSelection_RSSelection1 -RSSelection_RSSelection2 <--> CSRUnit_select +RSSelection_RSSelection --> FIFO11_write +RSFuncBlock1_select --> RSSelection_RSSelection2 +FifoRS_select --> RSSelection_RSSelection2 +RSSelection_RSSelection <--> CSRUnit_select FIFO11_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion @@ -1076,11 +1076,11 @@ RSInsertion_RSInsertion --> RSFuncBlock_insert RSInsertion_RSInsertion --> RS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer1__start -RSInsertion_RSInsertion --> AsyncMemoryBank1_write +RSInsertion_RSInsertion --> AsyncMemoryBank1_AsyncMemoryBank RSInsertion_RSInsertion --> RSFuncBlock1_insert RSInsertion_RSInsertion --> FifoRS_insert RSInsertion_RSInsertion --> TaggedLatencyMeasurer2__start -RSInsertion_RSInsertion --> AsyncMemoryBank2_write +RSInsertion_RSInsertion --> AsyncMemoryBank2_AsyncMemoryBank RSInsertion_RSInsertion --> CSRUnit_insert BasicFifo6_read --> ConnectTrans1_ConnectTrans ConnectTrans1_ConnectTrans --> ExceptionInformationRegister_report @@ -1102,7 +1102,7 @@ ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done ResultAnnouncement_ResultAnnouncement --> RegisterFile_write ResultAnnouncement_ResultAnnouncement --> TaggedLatencyMeasurer__start -ResultAnnouncement_ResultAnnouncement --> AsyncMemoryBank_write +ResultAnnouncement_ResultAnnouncement --> AsyncMemoryBank_AsyncMemoryBank1 ResultAnnouncement_ResultAnnouncement --> MethodProduct_method ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update @@ -1110,7 +1110,7 @@ ResultAnnouncement_ResultAnnouncement --> FifoRS_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update RS_perf --> HwExpHistogram6__add -RS_RS1 --> WakeupSelect_WakeupSelect +RS_RS2 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -1121,11 +1121,11 @@ WakeupSelect2_WakeupSelect --> TaggedLatencyMeasurer1__stop WakeupSelect3_WakeupSelect --> TaggedLatencyMeasurer1__stop WakeupSelect4_WakeupSelect --> TaggedLatencyMeasurer1__stop -AsyncMemoryBank1_read --> WakeupSelect_WakeupSelect -AsyncMemoryBank1_read --> WakeupSelect1_WakeupSelect -AsyncMemoryBank1_read --> WakeupSelect2_WakeupSelect -AsyncMemoryBank1_read --> WakeupSelect3_WakeupSelect -AsyncMemoryBank1_read --> WakeupSelect4_WakeupSelect +AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect_WakeupSelect +AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect1_WakeupSelect +AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect2_WakeupSelect +AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect3_WakeupSelect +AsyncMemoryBank1_AsyncMemoryBank1 --> WakeupSelect4_WakeupSelect WakeupSelect_WakeupSelect --> HwExpHistogram5__add WakeupSelect1_WakeupSelect --> HwExpHistogram5__add WakeupSelect2_WakeupSelect --> HwExpHistogram5__add @@ -1134,22 +1134,22 @@ WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> TaggedCounter4__incr WakeupSelect_WakeupSelect --> FIFO2_write -RS_RS3 --> WakeupSelect1_WakeupSelect +RS_RS --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write -RS_RS2 --> WakeupSelect2_WakeupSelect +RS_RS3 --> 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_RS1 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> BasicFifo6_write ConnectTrans7_ConnectTrans --> BasicFifo6_write ConnectTrans9_ConnectTrans --> BasicFifo6_write ConnectTrans4_ConnectTrans --> BasicFifo6_write -TransactionManager_accept_cond0_accept_cond0_ConnectTrans --> BasicFifo6_write -TransactionManager_accept_cond0_accept_cond1_ConnectTrans --> BasicFifo6_write +TransactionManager_accept_cond1_ConnectTrans_accept_cond0 --> BasicFifo6_write +TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> BasicFifo6_write TransactionManager_accept_cond1_ConnectTrans --> BasicFifo6_write WakeupSelect3_WakeupSelect --> FIFO5_write RS_RS4 --> WakeupSelect4_WakeupSelect @@ -1175,129 +1175,129 @@ CSRRegister8_read --> ConnectTrans9_ConnectTrans ConnectTrans9_ConnectTrans --> BasicFifo8_write FifoRS_perf --> HwExpHistogram8__add -Forwarder6_read --> LSUDummy_LSUDummy +Forwarder6_read --> LSUDummy_LSUDummy1 Forwarder6_read --> TransactionManager_LSUDummy_issue_cond0 -Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 Forwarder6_read --> TransactionManager_LSUDummy_issue_cond2 -LSUDummy_LSUDummy --> FIFO6_write +Forwarder6_read --> TransactionManager_LSUDummy_issue_cond1 +LSUDummy_LSUDummy1 --> FIFO6_write WakeupSelect5_WakeupSelect --> FIFO6_write TransactionManager_LSUDummy_issue_cond0 --> FIFO6_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write TransactionManager_LSUDummy_issue_cond2 --> FIFO6_write -LSUDummy_LSUDummy --> FIFO8_write +TransactionManager_LSUDummy_issue_cond1 --> FIFO6_write +LSUDummy_LSUDummy1 --> FIFO8_write WakeupSelect5_WakeupSelect --> FIFO8_write TransactionManager_LSUDummy_issue_cond0 --> FIFO8_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write TransactionManager_LSUDummy_issue_cond2 --> FIFO8_write -Retirement_precommit --> LSUDummy_LSUDummy2 -Retirement_precommit --> CSRUnit_CSRUnit1 -Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 +TransactionManager_LSUDummy_issue_cond1 --> FIFO8_write +Retirement_precommit --> LSUDummy_LSUDummy +Retirement_precommit --> CSRUnit_CSRUnit Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 -Retirement_precommit --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit -ReorderBuffer_peek --> LSUDummy_LSUDummy2 -ReorderBuffer_peek --> CSRUnit_CSRUnit1 -ReorderBuffer_peek --> Retirement_Retirement +ReorderBuffer_peek --> LSUDummy_LSUDummy +ReorderBuffer_peek --> CSRUnit_CSRUnit ReorderBuffer_peek --> Retirement_Retirement1 -ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 +ReorderBuffer_peek --> Retirement_Retirement ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 +ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 -ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement -ReorderBuffer_peek --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit FifoRS_FifoRS --> WakeupSelect5_WakeupSelect FifoRS_take --> WakeupSelect5_WakeupSelect WakeupSelect5_WakeupSelect --> TaggedLatencyMeasurer2__stop -AsyncMemoryBank2_read --> WakeupSelect5_WakeupSelect +AsyncMemoryBank2_AsyncMemoryBank1 --> WakeupSelect5_WakeupSelect WakeupSelect5_WakeupSelect --> HwExpHistogram7__add WakeupSelect5_WakeupSelect --> LSUDummy_issue WakeupSelect5_WakeupSelect --> Forwarder6_write -MethodMap1_method --> CSRUnit_CSRUnit -CSRRegister__internal_fu_read --> CSRUnit_CSRUnit -MethodMap3_method --> CSRUnit_CSRUnit -CSRRegister1__internal_fu_read --> CSRUnit_CSRUnit -MethodMap5_method --> CSRUnit_CSRUnit -CSRRegister2__internal_fu_read --> CSRUnit_CSRUnit -MethodMap7_method --> CSRUnit_CSRUnit -CSRRegister3__internal_fu_read --> CSRUnit_CSRUnit -MethodMap9_method --> CSRUnit_CSRUnit -CSRRegister4__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter4_method -CSRUnit_CSRUnit --> MethodMap8_method -CSRUnit_CSRUnit --> CSRRegister4__internal_fu_write -MethodMap11_method --> CSRUnit_CSRUnit -CSRRegister5__internal_fu_read --> CSRUnit_CSRUnit -AliasedCSR__fu_read --> CSRUnit_CSRUnit -MethodMap23_method --> CSRUnit_CSRUnit -CSRRegister11__internal_fu_read --> CSRUnit_CSRUnit -MethodMap25_method --> CSRUnit_CSRUnit -CSRRegister12__internal_fu_read --> CSRUnit_CSRUnit -MethodMap27_method --> CSRUnit_CSRUnit -CSRRegister13__internal_fu_read --> CSRUnit_CSRUnit -MethodMap29_method --> CSRUnit_CSRUnit -CSRRegister14__internal_fu_read --> CSRUnit_CSRUnit -MethodMap31_method --> CSRUnit_CSRUnit -CSRRegister15__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> AliasedCSR__fu_write -CSRUnit_CSRUnit --> MethodFilter11_method -CSRUnit_CSRUnit --> MethodMap22_method -CSRUnit_CSRUnit --> CSRRegister11__internal_fu_write -CSRUnit_CSRUnit --> MethodFilter12_method -CSRUnit_CSRUnit --> MethodMap24_method -CSRUnit_CSRUnit --> CSRRegister12__internal_fu_write -CSRUnit_CSRUnit --> MethodFilter13_method -CSRUnit_CSRUnit --> MethodMap26_method -CSRUnit_CSRUnit --> CSRRegister13__internal_fu_write -CSRUnit_CSRUnit --> MethodFilter14_method -CSRUnit_CSRUnit --> MethodMap28_method -CSRUnit_CSRUnit --> CSRRegister14__internal_fu_write -CSRUnit_CSRUnit --> MethodFilter15_method -CSRUnit_CSRUnit --> MethodMap30_method -CSRUnit_CSRUnit --> CSRRegister15__internal_fu_write -AliasedCSR1__fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> AliasedCSR1__fu_write -MethodMap13_method --> CSRUnit_CSRUnit -CSRRegister6__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter6_method -CSRUnit_CSRUnit --> MethodMap12_method -CSRUnit_CSRUnit --> CSRRegister6__internal_fu_write -MethodMap15_method --> CSRUnit_CSRUnit -CSRRegister7__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter7_method -CSRUnit_CSRUnit --> MethodMap14_method -CSRUnit_CSRUnit --> CSRRegister7__internal_fu_write -MethodMap17_method --> CSRUnit_CSRUnit -CSRRegister8__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter8_method -CSRUnit_CSRUnit --> MethodMap16_method -CSRUnit_CSRUnit --> CSRRegister8__internal_fu_write -MethodMap19_method --> CSRUnit_CSRUnit -CSRRegister9__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter9_method -CSRUnit_CSRUnit --> MethodMap18_method -CSRUnit_CSRUnit --> CSRRegister9__internal_fu_write -MethodMap33_method --> CSRUnit_CSRUnit -CSRRegister16__internal_fu_read --> CSRUnit_CSRUnit -MethodMap35_method --> CSRUnit_CSRUnit -CSRRegister17__internal_fu_read --> CSRUnit_CSRUnit -MethodMap37_method --> CSRUnit_CSRUnit -CSRRegister18__internal_fu_read --> CSRUnit_CSRUnit -MethodMap39_method --> CSRUnit_CSRUnit -CSRRegister19__internal_fu_read --> CSRUnit_CSRUnit -MethodMap41_method --> CSRUnit_CSRUnit -CSRRegister20__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter20_method -CSRUnit_CSRUnit --> MethodMap40_method -CSRUnit_CSRUnit --> CSRRegister20__internal_fu_write -MethodMap43_method --> CSRUnit_CSRUnit -CSRRegister21__internal_fu_read --> CSRUnit_CSRUnit -CSRUnit_CSRUnit --> MethodFilter21_method -CSRUnit_CSRUnit --> MethodMap42_method -CSRUnit_CSRUnit --> CSRRegister21__internal_fu_write -MethodMap45_method --> CSRUnit_CSRUnit -CSRRegister22__internal_fu_read --> CSRUnit_CSRUnit -MethodMap47_method --> CSRUnit_CSRUnit -CSRRegister23__internal_fu_read --> CSRUnit_CSRUnit +MethodMap1_method --> CSRUnit_CSRUnit1 +CSRRegister__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap3_method --> CSRUnit_CSRUnit1 +CSRRegister1__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap5_method --> CSRUnit_CSRUnit1 +CSRRegister2__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap7_method --> CSRUnit_CSRUnit1 +CSRRegister3__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap9_method --> CSRUnit_CSRUnit1 +CSRRegister4__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter4_method +CSRUnit_CSRUnit1 --> MethodMap8_method +CSRUnit_CSRUnit1 --> CSRRegister4__internal_fu_write +MethodMap11_method --> CSRUnit_CSRUnit1 +CSRRegister5__internal_fu_read --> CSRUnit_CSRUnit1 +AliasedCSR__fu_read --> CSRUnit_CSRUnit1 +MethodMap23_method --> CSRUnit_CSRUnit1 +CSRRegister11__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap25_method --> CSRUnit_CSRUnit1 +CSRRegister12__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap27_method --> CSRUnit_CSRUnit1 +CSRRegister13__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap29_method --> CSRUnit_CSRUnit1 +CSRRegister14__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap31_method --> CSRUnit_CSRUnit1 +CSRRegister15__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> AliasedCSR__fu_write +CSRUnit_CSRUnit1 --> MethodFilter11_method +CSRUnit_CSRUnit1 --> MethodMap22_method +CSRUnit_CSRUnit1 --> CSRRegister11__internal_fu_write +CSRUnit_CSRUnit1 --> MethodFilter12_method +CSRUnit_CSRUnit1 --> MethodMap24_method +CSRUnit_CSRUnit1 --> CSRRegister12__internal_fu_write +CSRUnit_CSRUnit1 --> MethodFilter13_method +CSRUnit_CSRUnit1 --> MethodMap26_method +CSRUnit_CSRUnit1 --> CSRRegister13__internal_fu_write +CSRUnit_CSRUnit1 --> MethodFilter14_method +CSRUnit_CSRUnit1 --> MethodMap28_method +CSRUnit_CSRUnit1 --> CSRRegister14__internal_fu_write +CSRUnit_CSRUnit1 --> MethodFilter15_method +CSRUnit_CSRUnit1 --> MethodMap30_method +CSRUnit_CSRUnit1 --> CSRRegister15__internal_fu_write +AliasedCSR1__fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> AliasedCSR1__fu_write +MethodMap13_method --> CSRUnit_CSRUnit1 +CSRRegister6__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter6_method +CSRUnit_CSRUnit1 --> MethodMap12_method +CSRUnit_CSRUnit1 --> CSRRegister6__internal_fu_write +MethodMap15_method --> CSRUnit_CSRUnit1 +CSRRegister7__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter7_method +CSRUnit_CSRUnit1 --> MethodMap14_method +CSRUnit_CSRUnit1 --> CSRRegister7__internal_fu_write +MethodMap17_method --> CSRUnit_CSRUnit1 +CSRRegister8__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter8_method +CSRUnit_CSRUnit1 --> MethodMap16_method +CSRUnit_CSRUnit1 --> CSRRegister8__internal_fu_write +MethodMap19_method --> CSRUnit_CSRUnit1 +CSRRegister9__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter9_method +CSRUnit_CSRUnit1 --> MethodMap18_method +CSRUnit_CSRUnit1 --> CSRRegister9__internal_fu_write +MethodMap33_method --> CSRUnit_CSRUnit1 +CSRRegister16__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap35_method --> CSRUnit_CSRUnit1 +CSRRegister17__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap37_method --> CSRUnit_CSRUnit1 +CSRRegister18__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap39_method --> CSRUnit_CSRUnit1 +CSRRegister19__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap41_method --> CSRUnit_CSRUnit1 +CSRRegister20__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter20_method +CSRUnit_CSRUnit1 --> MethodMap40_method +CSRUnit_CSRUnit1 --> CSRRegister20__internal_fu_write +MethodMap43_method --> CSRUnit_CSRUnit1 +CSRRegister21__internal_fu_read --> CSRUnit_CSRUnit1 +CSRUnit_CSRUnit1 --> MethodFilter21_method +CSRUnit_CSRUnit1 --> MethodMap42_method +CSRUnit_CSRUnit1 --> CSRRegister21__internal_fu_write +MethodMap45_method --> CSRUnit_CSRUnit1 +CSRRegister22__internal_fu_read --> CSRUnit_CSRUnit1 +MethodMap47_method --> CSRUnit_CSRUnit1 +CSRRegister23__internal_fu_read --> CSRUnit_CSRUnit1 ConnectTrans2_ConnectTrans --> Forwarder4_write ConnectTrans3_ConnectTrans --> Forwarder4_write ConnectTrans4_ConnectTrans --> Forwarder4_write @@ -1308,160 +1308,152 @@ Collector2_method --> ConnectTrans3_ConnectTrans Forwarder7_read --> ConnectTrans3_ConnectTrans CSRUnit_get_result --> ConnectTrans4_ConnectTrans -ExceptionInformationRegister_get --> Retirement_Retirement +ExceptionInformationRegister_get --> Retirement_Retirement1 +ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond1 ExceptionInformationRegister_get --> TransactionManager_Retirement_Retirement_cond0 -ExceptionInformationRegister_get --> TransactionManager_Retirement_cond1_Retirement -Retirement_Retirement1 <--> ReorderBuffer_retire +Retirement_Retirement <--> ReorderBuffer_retire +TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire -TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire -Retirement_Retirement1 <--> FIFOLatencyMeasurer1__stop +Retirement_Retirement <--> FIFOLatencyMeasurer1__stop +TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer1__stop TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer1__stop -TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer1__stop -FIFO1_read --> Retirement_Retirement1 +FIFO1_read --> Retirement_Retirement +FIFO1_read --> TransactionManager_Retirement_Retirement_cond1 FIFO1_read --> TransactionManager_Retirement_Retirement_cond0 -FIFO1_read --> TransactionManager_Retirement_cond1_Retirement -Retirement_Retirement1 --> HwExpHistogram3__add +Retirement_Retirement --> HwExpHistogram3__add +TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram3__add TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram3__add -TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram3__add -CoreInstructionCounter_decrement --> Retirement_Retirement1 +CoreInstructionCounter_decrement --> Retirement_Retirement +CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 -CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement -RRAT_peek --> Retirement_Retirement1 -RRAT_peek --> TransactionManager_Retirement_cond1_Retirement -Retirement_Retirement1 --> RegisterFile_free +RRAT_peek --> Retirement_Retirement +RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 +Retirement_Retirement --> RegisterFile_free +TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free -TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free -Retirement_Retirement1 --> TaggedLatencyMeasurer__stop +Retirement_Retirement --> TaggedLatencyMeasurer__stop +TransactionManager_Retirement_Retirement_cond1 --> TaggedLatencyMeasurer__stop TransactionManager_Retirement_Retirement_cond0 --> TaggedLatencyMeasurer__stop -TransactionManager_Retirement_cond1_Retirement --> TaggedLatencyMeasurer__stop -AsyncMemoryBank_read --> Retirement_Retirement1 -AsyncMemoryBank_read --> TransactionManager_Retirement_Retirement_cond0 -AsyncMemoryBank_read --> TransactionManager_Retirement_cond1_Retirement -Retirement_Retirement1 --> HwExpHistogram1__add +AsyncMemoryBank_AsyncMemoryBank --> Retirement_Retirement +AsyncMemoryBank_AsyncMemoryBank --> TransactionManager_Retirement_Retirement_cond1 +AsyncMemoryBank_AsyncMemoryBank --> TransactionManager_Retirement_Retirement_cond0 +Retirement_Retirement --> HwExpHistogram1__add +TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add -TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add -Retirement_Retirement1 --> FRAT_rename +Retirement_Retirement --> FRAT_rename +TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename TransactionManager_ROBAllocation_Renaming --> FRAT_rename -TransactionManager_Retirement_cond1_Retirement --> FRAT_rename Retirement_Retirement3 <--> FIFOLatencyMeasurer2__stop FIFO12_read --> Retirement_Retirement3 Retirement_Retirement3 --> HwExpHistogram9__add CSRRegister7_read --> Retirement_Retirement3 Retirement_Retirement3 --> FetchUnit_resume_from_exception Retirement_Retirement3 <--> ExceptionInformationRegister_clear -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 --> TaggedCounter6__incr -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 --> TaggedCounter6__incr -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 --> TaggedCounter6__incr -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit --> TaggedCounter6__incr -CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 -CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 -CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 -CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> ICache_flush -TransactionManager_ROBAllocation_Renaming <--> ROBAllocation_ROBAllocation -Connect_read --> TransactionManager_ROBAllocation_Renaming -TransactionManager_ROBAllocation_Renaming --> ReorderBuffer_put -TransactionManager_ROBAllocation_Renaming <--> FIFOLatencyMeasurer1__start -TransactionManager_ROBAllocation_Renaming --> FIFO1_write -TransactionManager_ROBAllocation_Renaming --> FIFO10_write -TransactionManager_ROBAllocation_Renaming <--> Renaming_Renaming -FIFO9_read --> TransactionManager_ROBAllocation_Renaming -TransactionManager_ROBAllocation_Renaming --> Connect_write -TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 -TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy1 -TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy1 -TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy1 +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_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy2 +TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy2 +TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy2 TransactionManager_LSUDummy_issue_cond0 --> LSURequester_issue -TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue TransactionManager_LSUDummy_issue_cond2 --> LSURequester_issue +TransactionManager_LSUDummy_issue_cond1 --> LSURequester_issue TransactionManager_LSUDummy_issue_cond0 --> BasicFifo9_write -TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write TransactionManager_LSUDummy_issue_cond2 --> BasicFifo9_write +TransactionManager_LSUDummy_issue_cond1 --> BasicFifo9_write TransactionManager_LSUDummy_issue_cond0 --> FIFO7_write -TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write TransactionManager_LSUDummy_issue_cond2 --> FIFO7_write +TransactionManager_LSUDummy_issue_cond1 --> FIFO7_write TransactionManager_LSUDummy_issue_cond0 <--> LSURequester_issue_cond0 TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write -TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer3 +TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer 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_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 -TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> LSUDummy_accept_cond0 -TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond0 -LSURequester_accept --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -LSURequester_accept --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -BasicFifo9_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -BasicFifo9_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -FIFO7_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -FIFO7_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> LSURequester_accept_cond0 -WishboneMasterAdapter1_get_write_response --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -Serializer1_Serializer --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -BasicFifo1_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -BasicFifo1_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -WishboneMaster1_result --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -WishboneMaster1_result --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -Forwarder1_read --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -Forwarder1_read --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -TransactionManager_accept_cond0_accept_cond0_ConnectTrans <--> ConnectTrans10_ConnectTrans -TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> PrivilegedFuncUnit_PrivilegedFuncUnit +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 --> TaggedCounter6__incr +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 --> TaggedCounter6__incr +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 --> TaggedCounter6__incr +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 --> TaggedCounter6__incr +CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 +CSRRegister15_read --> TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond2 +TransactionManager_accept_cond1_ConnectTrans_accept_cond0 <--> LSURequester_accept_cond1 +WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +Serializer1_Serializer2 --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +BasicFifo1_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +BasicFifo1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +WishboneMaster1_result --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +WishboneMaster1_result --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +Forwarder1_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +Forwarder1_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +TransactionManager_accept_cond1_ConnectTrans_accept_cond0 <--> ConnectTrans10_ConnectTrans +TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> ConnectTrans10_ConnectTrans TransactionManager_accept_cond1_ConnectTrans <--> ConnectTrans10_ConnectTrans -TransactionManager_accept_cond0_accept_cond0_ConnectTrans --> Forwarder7_write -TransactionManager_accept_cond0_accept_cond1_ConnectTrans --> Forwarder7_write +TransactionManager_accept_cond1_ConnectTrans_accept_cond0 --> Forwarder7_write +TransactionManager_ConnectTrans_accept_cond0_accept_cond0 --> Forwarder7_write TransactionManager_accept_cond1_ConnectTrans --> Forwarder7_write -LSUDummy_accept --> TransactionManager_accept_cond0_accept_cond0_ConnectTrans -LSUDummy_accept --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans +LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +LSUDummy_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 LSUDummy_accept --> TransactionManager_accept_cond1_ConnectTrans -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2 -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> FetchUnit_Fetch_Stage2 -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> Semaphore_release -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 <--> Semaphore_release -Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 -Pipe_read --> TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> Predecoder_predecode -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> Predecoder_predecode -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> PredictionChecker_check -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> PredictionChecker_check -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter1__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter1__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter2__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter2__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 --> TaggedCounter3__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond0 --> TaggedCounter3__incr -TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 -TransactionManager_accept_cond0_accept_cond1_ConnectTrans <--> LSURequester_accept_cond1 -WishboneMasterAdapter1_get_read_response --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -Serializer1_Serializer1 --> TransactionManager_accept_cond0_accept_cond1_ConnectTrans -TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 -FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans -FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans -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_accept_cond0 <--> LSUDummy_accept_cond0 +TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSUDummy_accept_cond0 +LSURequester_accept --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +LSURequester_accept --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +BasicFifo9_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +BasicFifo9_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +FIFO7_read --> TransactionManager_accept_cond1_ConnectTrans_accept_cond0 +FIFO7_read --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement2 TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement2 -TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement2 +TransactionManager_Retirement_Retirement_cond1 <--> FIFOLatencyMeasurer2__start TransactionManager_Retirement_Retirement_cond0 <--> FIFOLatencyMeasurer2__start -TransactionManager_Retirement_cond1_Retirement <--> FIFOLatencyMeasurer2__start +TransactionManager_Retirement_Retirement_cond1 --> FIFO12_write TransactionManager_Retirement_Retirement_cond0 --> FIFO12_write -TransactionManager_Retirement_cond1_Retirement --> FIFO12_write +InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond1 InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_Retirement_cond0 -InternalInterruptController_interrupt_cause --> TransactionManager_Retirement_cond1_Retirement +TransactionManager_Retirement_Retirement_cond1 --> CSRRegister6_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister6_write -TransactionManager_Retirement_cond1_Retirement --> CSRRegister6_write +TransactionManager_Retirement_Retirement_cond1 --> CSRRegister8_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write -TransactionManager_Retirement_cond1_Retirement --> CSRRegister8_write +TransactionManager_Retirement_Retirement_cond1 --> CSRRegister9_write TransactionManager_Retirement_Retirement_cond0 --> CSRRegister9_write -TransactionManager_Retirement_cond1_Retirement --> CSRRegister9_write +TransactionManager_Retirement_Retirement_cond1 <--> InternalInterruptController_entry TransactionManager_Retirement_Retirement_cond0 <--> InternalInterruptController_entry -TransactionManager_Retirement_cond1_Retirement <--> InternalInterruptController_entry +TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 +TransactionManager_ConnectTrans_accept_cond0_accept_cond0 <--> LSURequester_accept_cond0 +WishboneMasterAdapter1_get_write_response --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +Serializer1_Serializer3 --> TransactionManager_ConnectTrans_accept_cond0_accept_cond0 +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 <--> InternalInterruptController_mret +TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond1 <--> ICache_flush +TransactionManager_PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond3 +TransactionManager_Fetch_Stage2_Fetch_Stage2_cond1 <--> FetchUnit_Fetch_Stage2_cond1 TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment @@ -1472,11 +1464,19 @@ 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_Serializer2 -TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 -TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> PrivilegedFuncUnit_PrivilegedFuncUnit_cond0 -TransactionManager_PrivilegedFuncUnit_cond0_PrivilegedFuncUnit <--> InternalInterruptController_mret +TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer1 +TransactionManager_ROBAllocation_Renaming <--> ROBAllocation_ROBAllocation +Connect_read --> TransactionManager_ROBAllocation_Renaming +TransactionManager_ROBAllocation_Renaming --> ReorderBuffer_put +TransactionManager_ROBAllocation_Renaming <--> FIFOLatencyMeasurer1__start +TransactionManager_ROBAllocation_Renaming --> FIFO1_write +TransactionManager_ROBAllocation_Renaming --> FIFO10_write +TransactionManager_ROBAllocation_Renaming <--> Renaming_Renaming +FIFO9_read --> TransactionManager_ROBAllocation_Renaming +TransactionManager_ROBAllocation_Renaming --> Connect_write +TransactionManager_accept_cond1_ConnectTrans <--> LSUDummy_accept_cond1 +FIFO6_read --> TransactionManager_accept_cond1_ConnectTrans +FIFO8_read --> TransactionManager_accept_cond1_ConnectTrans @@ -1487,7 +1487,7 @@

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/components/icache.html b/components/icache.html index 57dbfc35e..357f17b9e 100644 --- a/components/icache.html +++ b/components/icache.html @@ -131,7 +131,7 @@

Address mapping example

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.arch.html b/coreblocks.arch.html index 2a4542806..82a5a3f3a 100644 --- a/coreblocks.arch.html +++ b/coreblocks.arch.html @@ -92,7 +92,7 @@

Submodules
class coreblocks.arch.csr_address.CSRAddress
-

Bases: IntEnum

+

Bases: IntEnum

COREBLOCKS_TEST_CSR = 2047
@@ -2342,7 +2342,7 @@

Submodules
class coreblocks.arch.isa_consts.ExceptionCause
-

Bases: IntEnum

+

Bases: IntEnum

BREAKPOINT = 3
@@ -2423,7 +2423,7 @@

Submodules
class coreblocks.arch.isa_consts.FenceFm
-

Bases: IntEnum

+

Bases: IntEnum

NONE = 0
@@ -2444,7 +2444,7 @@

Submodules
class coreblocks.arch.isa_consts.FenceTarget
-

Bases: IntFlag

+

Bases: IntFlag

DEV_I = 8
@@ -2475,7 +2475,7 @@

Submodules
class coreblocks.arch.isa_consts.Funct12
-

Bases: IntEnum

+

Bases: IntEnum

CLZ = 1536
@@ -2556,7 +2556,7 @@

Submodules
class coreblocks.arch.isa_consts.Funct3
-

Bases: IntEnum

+

Bases: IntEnum

ADD = 0
@@ -2922,7 +2922,7 @@

Submodules
class coreblocks.arch.isa_consts.Funct7
-

Bases: IntEnum

+

Bases: IntEnum

ADD = 0
@@ -3175,7 +3175,7 @@

Submodules
class coreblocks.arch.isa_consts.Opcode
-

Bases: IntEnum

+

Bases: IntEnum

AUIPC = 5
@@ -3266,7 +3266,7 @@

Submodules
class coreblocks.arch.isa_consts.PrivilegeLevel
-

Bases: IntEnum

+

Bases: IntEnum

MACHINE = 3
@@ -3292,7 +3292,7 @@

Submodules
class coreblocks.arch.isa_consts.Registers
-

Bases: IntEnum

+

Bases: IntEnum

A0 = 10
@@ -3628,7 +3628,7 @@

Submodules
class coreblocks.arch.isa_consts.XlenEncoding
-

Bases: IntEnum

+

Bases: IntEnum

W128 = 3
@@ -3702,22 +3702,22 @@

Submodules
-static is_branch(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+static is_branch(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

-static is_jal(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+static is_jal(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
-static is_jalr(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+static is_jalr(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
-static valid(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+static valid(val: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

@@ -3923,7 +3923,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.backend.html b/coreblocks.backend.html index 461322b46..3d64a20be 100644 --- a/coreblocks.backend.html +++ b/coreblocks.backend.html @@ -165,7 +165,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.cache.html b/coreblocks.cache.html index dd3a43902..9be514b55 100644 --- a/coreblocks.cache.html +++ b/coreblocks.cache.html @@ -124,12 +124,12 @@

Submodules
-deserialize_addr(raw_addr: Value) dict[str, amaranth.hdl._ast.Value]
+deserialize_addr(raw_addr: Value) dict[str, amaranth.hdl._ast.Value]

-serialize_addr(addr: View) Value
+serialize_addr(addr: View) Value

@@ -241,7 +241,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.core_structs.html b/coreblocks.core_structs.html index 0a39d01d5..c87624e5a 100644 --- a/coreblocks.core_structs.html +++ b/coreblocks.core_structs.html @@ -157,7 +157,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.frontend.decoder.html b/coreblocks.frontend.decoder.html index 169ea8d48..c9f58b7a9 100644 --- a/coreblocks.frontend.decoder.html +++ b/coreblocks.frontend.decoder.html @@ -280,19 +280,19 @@

Submodules
-decompr_reg(rvc_reg: Value) Value
+decompr_reg(rvc_reg: Value) Value

-instr_mux(sel: Value, inputs: list[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]) tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]
+instr_mux(sel: Value, inputs: list[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]) tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]

-coreblocks.frontend.decoder.rvc.is_instr_compressed(instr: Value) Value
+coreblocks.frontend.decoder.rvc.is_instr_compressed(instr: Value) Value
@@ -313,7 +313,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.frontend.fetch.html b/coreblocks.frontend.fetch.html index a4173a3c9..56a7c7447 100644 --- a/coreblocks.frontend.fetch.html +++ b/coreblocks.frontend.fetch.html @@ -187,7 +187,7 @@

Submodules
-__init__(width: int, elem_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]) None
+__init__(width: int, elem_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]) None

@@ -210,7 +210,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.frontend.html b/coreblocks.frontend.html index b5c897c62..7cce13bb0 100644 --- a/coreblocks.frontend.html +++ b/coreblocks.frontend.html @@ -151,19 +151,19 @@

Submodules
-fb_addr(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+fb_addr(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

Returns the fetch block address of a given PC.

-fb_instr_idx(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value
+fb_instr_idx(pc: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable) Value

Returns the index of an instruction in a fetch block for a given instruction PC.

-pc_from_fb(fb_addr: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, fb_instr_idx: int | amaranth.hdl._ast.Value) Value
+pc_from_fb(fb_addr: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, fb_instr_idx: int | amaranth.hdl._ast.Value) Value

For a given fetch block address and an instruction index, returns the instruction’s PC.

@@ -187,7 +187,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.func_blocks.fu.html b/coreblocks.func_blocks.fu.html index ffdac250a..5d0ded568 100644 --- a/coreblocks.func_blocks.fu.html +++ b/coreblocks.func_blocks.fu.html @@ -246,7 +246,7 @@

Submodules
-coreblocks.func_blocks.fu.div_unit.get_input(arg: View) tuple[amaranth.hdl._ast.Value, amaranth.hdl._ast.Value]
+coreblocks.func_blocks.fu.div_unit.get_input(arg: View) tuple[amaranth.hdl._ast.Value, amaranth.hdl._ast.Value]

@@ -886,7 +886,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.func_blocks.fu.lsu.html b/coreblocks.func_blocks.fu.lsu.html index 02302ade8..31f588d0c 100644 --- a/coreblocks.func_blocks.fu.lsu.html +++ b/coreblocks.func_blocks.fu.lsu.html @@ -175,22 +175,22 @@

Submodules
-check_align(m: TModule, funct3: Value, addr: Value)
+check_align(m: TModule, funct3: Value, addr: Value)

-postprocess_load_data(m: ModuleLike, funct3: Value, raw_data: Value, addr: Value)
+postprocess_load_data(m: ModuleLike, funct3: Value, raw_data: Value, addr: Value)
-prepare_bytes_mask(m: ModuleLike, funct3: Value, addr: Value) Signal
+prepare_bytes_mask(m: ModuleLike, funct3: Value, addr: Value) Signal
-prepare_data_to_save(m: ModuleLike, funct3: Value, raw_data: Value, addr: Value)
+prepare_data_to_save(m: ModuleLike, funct3: Value, raw_data: Value, addr: Value)
@@ -224,7 +224,7 @@

Submodules
class coreblocks.func_blocks.fu.lsu.pma.PMALayout
-

Bases: StructLayout

+

Bases: StructLayout

__init__()
@@ -290,7 +290,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.func_blocks.fu.unsigned_multiplication.html b/coreblocks.func_blocks.fu.unsigned_multiplication.html index 23eda010b..9284ba574 100644 --- a/coreblocks.func_blocks.fu.unsigned_multiplication.html +++ b/coreblocks.func_blocks.fu.unsigned_multiplication.html @@ -260,7 +260,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.func_blocks.html b/coreblocks.func_blocks.html index b1338c28b..c88fe58fa 100644 --- a/coreblocks.func_blocks.html +++ b/coreblocks.func_blocks.html @@ -150,7 +150,7 @@

Subpackages

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.func_blocks.interface.html b/coreblocks.func_blocks.interface.html index 70abca79a..24e987b3a 100644 --- a/coreblocks.func_blocks.interface.html +++ b/coreblocks.func_blocks.interface.html @@ -164,7 +164,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.html b/coreblocks.html index d58c70df8..428341a1e 100644 --- a/coreblocks.html +++ b/coreblocks.html @@ -232,7 +232,7 @@

Submodules
class coreblocks.core.Core
-

Bases: Component

+

Bases: Component

__init__(*, gen_params: GenParams)
@@ -268,7 +268,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.params.html b/coreblocks.params.html index 5b4993466..e24bc8f59 100644 --- a/coreblocks.params.html +++ b/coreblocks.params.html @@ -208,7 +208,7 @@

SubmodulesInstructionFunct3Type

-__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -308,7 +308,7 @@

SubmodulesInstructionFunct3Type

-__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -413,7 +413,7 @@

SubmodulesRISCVInstr

-__init__(opcode: Opcode, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -473,7 +473,7 @@

Submodules
class coreblocks.params.instr.RISCVInstr
-

Bases: ABC, ValueCastable

+

Bases: ABC, ValueCastable

__init__(opcode: Opcode)
@@ -482,7 +482,7 @@

Submodules
as_value()
-

Convert self to a value-like object.

+

Convert self to a value-like object.

This method is called by the Amaranth language to convert self to a concrete Value. It will usually return a Value object, but it may also return another value-like object to delegate its functionality.

@@ -556,7 +556,7 @@

Submodules
Returns
-
A shape-like object.
+
A shape-like object.
Raises
@@ -579,7 +579,7 @@

SubmodulesInstructionFunct3Type, InstructionFunct7Type

-__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, funct7: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, funct7: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -668,7 +668,7 @@

SubmodulesInstructionFunct3Type

-__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, funct3: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs1: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, rs2: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -757,7 +757,7 @@

SubmodulesRISCVInstr

-__init__(opcode: Opcode, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+__init__(opcode: Opcode, rd: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, imm: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
@@ -832,7 +832,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.peripherals.html b/coreblocks.peripherals.html index eac6c3d85..94305f429 100644 --- a/coreblocks.peripherals.html +++ b/coreblocks.peripherals.html @@ -123,7 +123,7 @@

Submodules
class coreblocks.peripherals.axi_lite.AXILiteMaster
-

Bases: Component

+

Bases: Component

AXI-Lite master interface.

Parameters
@@ -209,7 +209,7 @@

Submodules
class coreblocks.peripherals.axi_lite.AXILiteSignature
-

Bases: Signature

+

Bases: Signature

AXI-Lite bus signature

Parameters
@@ -375,7 +375,7 @@

Submodules
class coreblocks.peripherals.wishbone.PipelinedWishboneMaster
-

Bases: Component

+

Bases: Component

Pipelined Wishbone bus master interface.

Parameters
@@ -423,7 +423,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneArbiter
-

Bases: Component

+

Bases: Component

Wishbone Arbiter.

Connects multiple masters to one slave. Bus is requested by asserting CYC signal and is granted to masters in a round robin manner.

@@ -536,7 +536,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneMaster
-

Bases: Component

+

Bases: Component

Wishbone bus master interface.

Parameters
@@ -605,7 +605,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneMemorySlave
-

Bases: Component

+

Bases: Component

Wishbone slave with memory Wishbone slave interface with addressable memory underneath.

@@ -641,7 +641,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneMuxer
-

Bases: Component

+

Bases: Component

Wishbone Muxer.

Connects one master to multiple slaves.

@@ -714,7 +714,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneSignature
-

Bases: Signature

+

Bases: Signature

__init__(wb_params: WishboneParameters)
@@ -746,7 +746,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.priv.csr.html b/coreblocks.priv.csr.html index 3b32ec7d3..726c4496f 100644 --- a/coreblocks.priv.csr.html +++ b/coreblocks.priv.csr.html @@ -255,7 +255,7 @@

Submodules
-__init__(csr_number: Optional[int], gen_params: GenParams, *, width: Optional[int] = None, ro_bits: int = 0, init: int | amaranth.lib.enum.Enum = 0, fu_write_priority: bool = True, fu_write_filtermap: Optional[Callable[[TModule, Value], tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]] = None, fu_read_map: Optional[Callable[[TModule, Value], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]] = None, src_loc: int | tuple[str, int] = 0)
+__init__(csr_number: Optional[int], gen_params: GenParams, *, width: Optional[int] = None, ro_bits: int = 0, init: int | amaranth.lib.enum.Enum = 0, fu_write_priority: bool = True, fu_write_filtermap: Optional[Callable[[TModule, Value], tuple[amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]] = None, fu_read_map: Optional[Callable[[TModule, Value], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]] = None, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -311,7 +311,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.priv.html b/coreblocks.priv.html index 231fa4de1..3aa772aee 100644 --- a/coreblocks.priv.html +++ b/coreblocks.priv.html @@ -124,7 +124,7 @@

Subpackages

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.priv.traps.html b/coreblocks.priv.traps.html index ee9d1172b..acd0f9b6e 100644 --- a/coreblocks.priv.traps.html +++ b/coreblocks.priv.traps.html @@ -109,7 +109,7 @@

Submodules
-coreblocks.priv.traps.exception.should_update_prioriy(m: TModule, current_cause: Value, new_cause: Value) Value
+coreblocks.priv.traps.exception.should_update_prioriy(m: TModule, current_cause: Value, new_cause: Value) Value

@@ -145,7 +145,7 @@

Submodules
class coreblocks.priv.traps.interrupt_controller.InternalInterruptController
-

Bases: Component

+

Bases: Component

Core Internal Interrupt Controller Compatible with RISC-V privileged specification. Operates on CSR registers xIE, xIP, and parts of xSTATUS. @@ -205,7 +205,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/coreblocks.scheduler.html b/coreblocks.scheduler.html index 2e19a2d51..7f22a7878 100644 --- a/coreblocks.scheduler.html +++ b/coreblocks.scheduler.html @@ -191,7 +191,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/current-graph.html b/current-graph.html index cbaa2115a..4b609c98d 100644 --- a/current-graph.html +++ b/current-graph.html @@ -91,26 +91,26 @@

Full transaction-method graph

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/development-environment.html b/development-environment.html index 7a9b9d06e..6cdd9b72a 100644 --- a/development-environment.html +++ b/development-environment.html @@ -209,7 +209,7 @@

tprof.py

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/genindex.html b/genindex.html index 55093656b..9b54ea98e 100644 --- a/genindex.html +++ b/genindex.html @@ -4803,7 +4803,7 @@

Z

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/home.html b/home.html index 52eb74b40..cd66abcb5 100644 --- a/home.html +++ b/home.html @@ -129,7 +129,7 @@

Documentation

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/index.html b/index.html index 783cdf72a..f2dafc2fd 100644 --- a/index.html +++ b/index.html @@ -229,7 +229,7 @@

Coreblocks

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/miscellany/exceptions-summary.html b/miscellany/exceptions-summary.html index 168ba0577..e8dab6a9e 100644 --- a/miscellany/exceptions-summary.html +++ b/miscellany/exceptions-summary.html @@ -271,7 +271,7 @@

Summary

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/modules-coreblocks.html b/modules-coreblocks.html index 5edb24830..84dc942f3 100644 --- a/modules-coreblocks.html +++ b/modules-coreblocks.html @@ -179,7 +179,7 @@

coreblocks

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/modules-transactron.html b/modules-transactron.html index 49ca8710a..a3e900f5d 100644 --- a/modules-transactron.html +++ b/modules-transactron.html @@ -162,7 +162,7 @@

transactron

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/problem-checklist.html b/problem-checklist.html index fdf87ec4d..1c43fb622 100644 --- a/problem-checklist.html +++ b/problem-checklist.html @@ -105,7 +105,7 @@

Problem checklist

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/py-modindex.html b/py-modindex.html index 1476a848d..6b3d97007 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -708,7 +708,7 @@

Python Module Index

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/scheduler/overview.html b/scheduler/overview.html index cf06d5f8a..4d8640f87 100644 --- a/scheduler/overview.html +++ b/scheduler/overview.html @@ -146,7 +146,7 @@

More detailed description of each block

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/search.html b/search.html index ff77b6640..a70baea60 100644 --- a/search.html +++ b/search.html @@ -101,7 +101,7 @@

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/searchindex.js b/searchindex.js index 5b295d06b..a3ea01237 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.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", "modules-transactron", "problem-checklist", "scheduler/overview", "shared-structs/implementation/rs-impl", "shared-structs/rs", "synthesis/synthesis", "transactions", "transactron", "transactron.core", "transactron.lib", "transactron.testing", "transactron.utils", "transactron.utils.amaranth_ext"], "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.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", "modules-transactron.rst", "problem-checklist.md", "scheduler/overview.md", "shared-structs/implementation/rs-impl.md", "shared-structs/rs.md", "synthesis/synthesis.md", "transactions.md", "transactron.rst", "transactron.core.rst", "transactron.lib.rst", "transactron.testing.rst", "transactron.utils.rst", "transactron.utils.amaranth_ext.rst"], "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.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", "transactron", "Problem checklist", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Core verification", "Documentation for Coreblocks transaction framework", "transactron package", "transactron.core package", "transactron.lib package", "transactron.testing package", "transactron.utils package", "transactron.utils.amaranth_ext package"], "terms": {"packag": [0, 24, 26, 28, 29], "subpackag": [0, 28, 29], "arch": [0, 4, 13, 14, 17, 22, 24, 28, 34], "submodul": [0, 12, 19, 28, 29, 34], "csr_address": [0, 4, 28], "modul": [0, 24, 28, 29, 34, 35], "isa": [0, 4, 10, 20, 28], "isa_const": [0, 4, 28], "optyp": [0, 4, 10, 13, 14, 17, 22, 28], "content": [0, 28, 29], "backend": [0, 4, 28, 38], "annouc": [0, 4, 28], "retir": [0, 4, 21, 28], "cach": [0, 4, 11, 17, 26, 28, 38, 40], "icach": [0, 4, 11, 28, 38], "ifac": [0, 4, 28, 38], "refil": [0, 3, 4, 28], "core_struct": [0, 4, 28], "rat": [0, 1, 4, 22, 27, 28], "rf": [0, 1, 4, 6, 27, 28, 32, 33], "rob": [0, 1, 4, 6, 21, 22, 27, 28, 31, 32, 33], "frontend": [0, 4, 28, 31, 38], "frontend_param": [0, 4, 28], "func_block": [0, 4, 22, 28], "param": [0, 4, 7, 13, 18, 28], "configur": [0, 4, 5, 18, 21, 22, 28, 34, 38], "fu_param": [0, 4, 28], "genparam": [0, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 20, 21, 22, 28], "icache_param": [0, 4, 28], "instr": [0, 4, 10, 28], "peripher": [0, 4, 28], "axi_lit": [0, 4, 28], "bus_adapt": [0, 4, 28], "wishbon": [0, 4, 28], "priv": [0, 4, 5, 12, 28], "schedul": [0, 4, 26, 27, 28, 29, 36, 38, 41], "wakeup_select": [0, 4, 28], "core": [0, 6, 9, 10, 11, 13, 15, 18, 20, 21, 22, 24, 26, 27, 28, 29, 36, 38, 40], "kei": [0, 20, 29, 36, 38, 40], "manag": [0, 11, 13, 24, 26, 29, 36, 38, 40], "method": [0, 3, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 29, 36, 38, 39, 40, 41], "sugar": [0, 29, 36, 41], "tmodul": [0, 14, 18, 20, 21, 29, 35, 36, 38], "transact": [0, 5, 10, 18, 20, 24, 26, 29, 32, 36, 38, 41], "transaction_bas": [0, 29, 36], "lib": [0, 11, 20, 29, 36, 37, 39, 40, 41], "adapt": [0, 18, 29, 35, 36, 39], "button": [0, 29, 36], "connector": [0, 29, 36], "depend": [0, 5, 11, 20, 26, 29, 35, 36, 41], "fifo": [0, 6, 27, 29, 35, 36, 37], "log": [0, 17, 18, 27, 29, 36, 40], "metric": [0, 29, 36, 40], "reqr": [0, 29, 36], "simultan": [0, 29, 35, 36, 37], "storag": [0, 29, 36], "transform": [0, 29, 36], "test": [0, 24, 26, 29, 30, 36, 37, 38, 40, 41], "function": [0, 5, 10, 13, 17, 20, 22, 27, 29, 30, 35, 36, 37, 38, 40], "gtkw_extens": [0, 29, 36], "infrastructur": [0, 29, 36], "input_gener": [0, 29, 36], "profil": [0, 24, 29], "testbenchio": [0, 29, 30, 36], "util": [0, 29, 30, 35, 36, 38], "assign": [0, 20, 21, 29, 30, 35, 36, 37], "data_repr": [0, 29, 36], "debug_sign": [0, 6, 29, 36, 37, 38, 39], "depcach": [0, 29, 36], "gen": [0, 10, 13, 15, 29, 36], "idgen": [0, 29, 36], "transactron_help": [0, 29, 36], "graph": [0, 24, 26, 29, 34, 37], "trace": [0, 24, 29, 39], "ha": [1, 7, 10, 11, 22, 24, 27, 30, 32, 35, 36, 37, 38, 41], "data": [1, 10, 11, 14, 18, 20, 21, 26, 33, 34, 36, 37, 38, 39, 40, 41], "forward": [1, 11, 18, 35, 37, 38], "from": [1, 6, 7, 9, 10, 11, 14, 18, 20, 21, 22, 24, 25, 27, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "tomasulo": 1, "announc": [1, 6], "bu": [1, 5, 14, 17, 18], "read": [1, 14, 18, 20, 24, 26, 30, 35, 37, 38, 40], "x0": [1, 5], "rf0": 1, "return": [1, 3, 9, 13, 14, 17, 18, 20, 21, 26, 27, 37, 38, 39, 40, 41], "0": [1, 5, 10, 13, 18, 20, 21, 22, 32, 33, 34, 36, 37, 38, 39, 41], "write": [1, 7, 10, 18, 20, 27, 33, 35, 37, 38], "i": [1, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "noop": 1, "separ": [1, 31, 36, 37, 38, 40], "r": [1, 5, 6, 22, 24, 27, 31, 32, 33, 34], "each": [1, 5, 13, 18, 20, 21, 24, 26, 27, 32, 33, 35, 36, 37, 38, 39, 40, 41], "fu": [1, 4, 5, 6, 12, 21, 32, 33, 38], "writeback": 1, "stage": [1, 11, 21], "save": [1, 5, 6, 21, 24, 27, 32, 33, 36, 38, 40], "after": [1, 3, 7, 9, 18, 21, 27, 31, 34, 35, 38], "get": [1, 5, 6, 10, 11, 13, 15, 22, 24, 26, 36, 37, 38, 39, 40, 41], "output": [1, 6, 7, 14, 18, 24, 27, 32, 33, 37, 38, 41], "commit": [1, 24, 27, 34], "updat": [1, 16, 20, 34, 38, 41], "The": [3, 6, 7, 11, 13, 17, 18, 24, 25, 26, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41], "should": [3, 5, 6, 7, 10, 11, 17, 18, 20, 21, 22, 24, 25, 27, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41], "expos": [3, 38, 40], "three": [3, 10, 27, 34, 37], "issue_req": [3, 7], "thi": [3, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 24, 27, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41], "issu": [3, 7, 13, 14, 15, 16, 22, 24, 35, 38], "an": [3, 6, 7, 9, 11, 14, 17, 18, 22, 24, 25, 27, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41], "lookup": [3, 7], "request": [3, 7, 13, 14, 15, 17, 18, 35, 36, 37, 38, 39, 41], "accept_resp": 3, "result": [3, 6, 7, 10, 13, 14, 15, 17, 18, 21, 27, 34, 35, 38, 40], "flush": [3, 7, 9, 21, 27], "entir": [3, 34, 35], "oper": [3, 5, 10, 13, 20, 21, 27, 35, 37, 38, 41], "under": [3, 35, 36, 37], "follow": [3, 11, 13, 17, 22, 24, 32, 34, 35, 38, 40], "ar": [3, 5, 6, 10, 11, 14, 17, 18, 20, 21, 24, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "alwai": [3, 10, 17, 20, 34, 35, 37, 38, 39, 41], "multipl": [3, 5, 13, 15, 18, 22, 35, 37, 38, 40], "4": [3, 5, 11, 13, 14, 38, 40], "byte": [3, 11, 17, 36, 38, 40], "risc": [3, 5, 10, 17, 21, 25, 34], "v": [3, 5, 10, 17, 21, 24, 25, 27, 32, 34, 38], "specif": [3, 5, 10, 18, 21, 24, 27, 34, 38], "requir": [3, 20, 24, 27, 34, 35, 36, 37], "align": [3, 11, 14, 40], "c": [3, 5, 11, 27, 34, 38], "extens": [3, 5, 11, 34, 41], "introduc": [3, 27, 35], "16": [3, 5, 21, 27, 37], "bit": [3, 5, 7, 10, 13, 15, 17, 18, 20, 21, 27, 32, 33, 35, 37, 38, 40, 41], "relax": [3, 35], "fetch": [3, 4, 5, 6, 7, 9, 10, 21, 27], "unit": [3, 6, 10, 11, 13, 14, 15, 18, 22, 24, 31, 34], "handl": [3, 11, 13, 21, 26, 35, 37], "case": [3, 5, 6, 14, 17, 18, 22, 27, 30, 35, 37, 38, 40, 41], "fulli": [3, 11, 14, 38], "pipelin": [3, 12, 13, 14, 18, 22, 27, 32, 38], "process": [3, 21, 24, 26, 34, 38, 39], "order": [3, 5, 11, 21, 22, 24, 25, 26, 34, 37, 38, 41], "As": [3, 27, 35, 38], "can": [3, 6, 11, 14, 18, 20, 21, 24, 25, 27, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41], "invok": [3, 6, 10, 11, 22, 27, 32, 39], "independ": [3, 35, 38], "accept_r": [3, 7], "If": [3, 10, 17, 18, 20, 21, 27, 30, 32, 35, 36, 37, 38, 40, 41], "space": [3, 27], "anoth": [3, 7, 17, 24, 35, 37, 38], "simpli": 3, "block": [3, 7, 9, 11, 15, 16, 18, 22, 26, 27, 35, 37, 38], "latenc": [3, 14, 27, 34, 38], "least": [3, 17, 37], "one": [3, 6, 7, 11, 13, 18, 21, 24, 27, 31, 32, 33, 35, 37, 38, 39, 40, 41], "cycl": [3, 5, 13, 15, 18, 20, 21, 24, 27, 31, 34, 35, 36, 37, 38, 39], "miss": [3, 27], "occur": [3, 7], "arbitrarili": 3, "long": [3, 33, 34, 38], "ensur": [3, 34], "ani": [3, 10, 17, 18, 22, 27, 30, 38, 39, 40, 41], "refetch": 3, "howev": [3, 17, 37, 38], "guarante": [3, 27], "have": [3, 6, 14, 17, 18, 24, 27, 30, 34, 35, 37, 38, 40, 41], "alreadi": [3, 6, 27, 38, 40, 41], "been": [3, 41], "still": [3, 27, 33, 37, 38], "wait": [3, 6, 18, 21, 24, 27, 32, 33, 37, 39], "accept": [3, 7, 11, 13, 14, 15, 16, 34, 37, 38, 40], "inform": [3, 17, 22, 24, 36, 38, 40], "regard": 3, "error": [3, 7, 11, 18, 37, 38, 40], "mean": [3, 22, 24, 33, 37, 38], "dure": [3, 14, 26, 31, 38, 39], "line": [3, 7, 17, 24, 26], "subsequ": [3, 38, 40], "access": [3, 5, 18, 20, 27, 35, 38, 39, 40], "trigger": [3, 20, 21, 38, 40], "which": [3, 6, 7, 10, 11, 13, 14, 18, 22, 24, 25, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "most": [3, 21, 27, 35, 37, 38], "like": [3, 10, 17, 27, 35, 37, 38], "For": [3, 5, 9, 17, 24, 32, 33, 35, 36, 38, 40, 41], "32": [3, 5, 13, 15, 18, 27, 35, 38], "128": [3, 5], "set": [3, 7, 10, 13, 14, 17, 20, 21, 22, 26, 32, 34, 37, 38, 40, 41], "size": [3, 11, 17, 18, 27, 35, 38, 40], "equal": [3, 21, 38, 41], "31": [3, 5], "15": [3, 5, 21], "14": [3, 5], "13": [3, 5], "12": [3, 5], "11": [3, 5, 24, 34], "10": [3, 5, 27], "09": 3, "08": 3, "07": 3, "06": [3, 39], "05": 3, "04": 3, "03": 3, "02": 3, "01": 3, "00": 3, "tag": [3, 18, 27, 32, 33, 38], "index": [3, 9, 36, 37, 38, 41], "offset": [3, 17], "decod": [4, 9, 11, 13, 22, 36, 40, 41], "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, 17, 19, 26, 30, 37, 39, 40], "jumpbranch": [4, 12, 38], "mul_unit": [4, 12], "shift_unit": [4, 12], "zbc": [4, 5, 12], "zb": [4, 5, 12], "interfac": [4, 7, 10, 12, 14, 15, 18, 21, 22, 26, 34, 35, 37, 38], "func_blocks_unifi": [4, 12], "func_protocol": [4, 12, 22], "csr": [4, 5, 10, 19, 21], "alias": [4, 19], "csr_instanc": [4, 19], "csr_regist": [4, 19], "trap": [4, 19], "instr_count": [4, 19], "interrupt_control": [4, 19], "class": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 35, 36, 37, 38, 39, 40, 41], "base": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 27, 36, 37, 38, 39, 40, 41], "compon": [4, 10, 17, 18, 21, 25, 37, 38], "__init__": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 35, 36, 37, 38, 39, 40, 41], "gen_param": [4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22], "wb_data": 4, "wishboneinterfac": [4, 18], "wb_instr": 4, "csraddress": [5, 20], "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, 24, 36, 37, 40], "fflag": 5, "1": [5, 10, 13, 15, 17, 20, 21, 22, 27, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "frm": 5, "2": [5, 13, 15, 18, 20, 34, 36, 37, 38, 40], "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, 38], "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, 27], "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, 20], "768": 5, "mstatush": [5, 20], "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, 18, 27, 37, 38], "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, 36], "valu": [5, 6, 7, 9, 10, 13, 14, 17, 18, 20, 21, 22, 26, 30, 32, 33, 36, 37, 38, 39, 40, 41], "mstatusfieldoffset": 5, "f": [5, 22, 24, 34, 39], "mbe": 5, "37": 5, "mpie": 5, "7": [5, 15], "mpp": 5, "mprv": 5, "mxr": 5, "19": 5, "sbe": 5, "36": 5, "sd": 5, "spie": 5, "5": [5, 13, 31, 38, 39], "spp": 5, "8": [5, 13, 15, 18, 37, 38], "sum": [5, 37, 38], "18": [5, 15], "sxl": 5, "34": 5, "tsr": 5, "22": 5, "tvm": 5, "20": 5, "tw": 5, "21": 5, "ub": 5, "6": [5, 27], "uxl": 5, "9": 5, "x": [5, 40], "intflag": [5, 13, 36], "enum": [5, 9, 10, 13, 17, 20, 37, 38, 39, 40, 41], "avail": [5, 18, 20, 22, 24, 25, 34, 38], "A": [5, 7, 17, 18, 34, 35, 36, 37, 38, 40], "atom": [5, 32, 35], "b": [5, 38], "manipul": 5, "compress": [5, 11], "instruct": [5, 6, 7, 9, 10, 11, 13, 17, 20, 21, 22, 26, 27, 31, 32, 34], "d": [5, 35, 37, 38, 40, 41], "doubl": [5, 20, 27], "precis": [5, 27, 34], "float": [5, 36, 38, 39, 40], "point": [5, 27, 30, 34], "64": [5, 18], "e": [5, 10, 24, 27, 30, 35, 38, 40, 41], "reduc": [5, 27, 37], "integ": [5, 13, 38, 39, 40], "singl": [5, 9, 10, 13, 15, 17, 20, 21, 22, 35, 37, 38, 40], "g": [5, 10, 24, 27, 30, 35, 38, 40, 41], "98366": 5, "gener": [5, 6, 7, 10, 11, 13, 14, 15, 18, 20, 22, 24, 25, 27, 30, 34, 36, 37, 38, 39, 40, 41], "contain": [5, 24, 34, 35, 37, 38, 40, 41], "all": [5, 14, 18, 21, 24, 26, 27, 30, 35, 36, 37, 38, 40, 41], "basic": [5, 11, 26, 34, 38], "full": [5, 17, 24, 26, 27, 34, 38], "j": 5, "1024": 5, "dynam": [5, 27, 38, 41], "languag": [5, 17, 35], "l": [5, 24], "decim": 5, "m": [5, 14, 18, 20, 21, 24, 27, 34, 35, 37, 38, 41], "divis": 5, "n": [5, 13, 15, 37, 38], "16384": 5, "user": [5, 27, 34, 38], "level": [5, 18, 21, 25, 27, 34, 35, 37, 38, 39, 40], "interrupt": [5, 21, 26], "p": [5, 24], "4096": 5, "pack": 5, "simd": 5, "q": 5, "quad": 5, "t": [5, 7, 10, 11, 14, 24, 27, 30, 32, 34, 35, 37, 38, 39, 40], "2048": 5, "memori": [5, 11, 14, 18, 27, 37, 38], "8192": 5, "vector": [5, 22, 26, 27, 37, 38], "xintmachinemod": 5, "8589934592": 5, "intern": [5, 21, 26, 35, 37, 38], "categor": 5, "machin": [5, 17], "mode": [5, 10, 24, 27], "privilieg": 5, "xintsupervisor": 5, "17179869184": 5, "supervisor": 5, "zam": 5, "2097152": 5, "misalign": 5, "zba": 5, "268435456": 5, "extend": [5, 30, 37, 41], "shift": [5, 12, 13, 38], "zbb": 5, "536870912": 5, "1073741824": 5, "carri": [5, 13, 34], "less": [5, 13, 41], "2147483648": 5, "zdinx": 5, "33554432": 5, "support": [5, 10, 14, 20, 22, 24, 26, 37, 38, 41], "regist": [5, 10, 20, 21, 22, 27, 31, 37, 38, 40], "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, 17, 38, 39, 40], "counter": [5, 7, 20, 21, 24, 38], "timer": [5, 20], "zicsr": 5, "32768": 5, "control": [5, 10, 11, 18, 21, 34, 36, 37, 38, 41], "statu": [5, 20, 39], "zifencei": 5, "65536": 5, "fenc": [5, 10], "zihintntl": 5, "262144": 5, "non": [5, 11, 32, 37, 38, 39], "tempor": 5, "local": [5, 21, 24], "hint": [5, 37], "zihintpaus": 5, "131072": 5, "send": [5, 6, 10, 11, 14, 18, 22], "paus": 5, "energi": 5, "zihpm": 5, "1048576": 5, "hardwar": [5, 26, 31, 35, 38], "perform": [5, 10, 11, 13, 15, 20, 22, 24, 34, 35, 37, 38, 40, 41], "zmmul": 5, "134217728": 5, "ztso": 5, "4294967296": 5, "total": 5, "store": [5, 6, 14, 21, 27, 32, 33, 37, 38, 40], "object": [5, 9, 10, 13, 14, 17, 18, 34, 35, 36, 38, 39, 40], "gather": 5, "numer": 5, "val": [5, 40], "correspond": [5, 32, 37, 41], "val_log": 5, "field": [5, 10, 14, 17, 20, 24, 32, 33, 35, 36, 37, 38, 39, 40], "provid": [5, 10, 13, 14, 17, 20, 21, 22, 34, 35, 38, 39, 40], "relev": [5, 36], "attribut": [5, 9, 10, 13, 14, 15, 17, 18, 20, 21, 36, 37, 38, 40, 41], "xlen": [5, 10, 13, 20, 40], "int": [5, 9, 10, 11, 13, 14, 15, 17, 18, 20, 36, 37, 38, 39, 40, 41], "nativ": 5, "width": [5, 11, 13, 15, 18, 20, 38, 40, 41], "reg_cnt": 5, "number": [5, 14, 15, 17, 18, 21, 24, 27, 34, 36, 37, 38, 39, 40, 41], "ilen": [5, 10], "maximum": [5, 34, 38], "length": [5, 17, 27, 37, 38, 39, 40], "csr_alen": [5, 10], "address": [5, 9, 10, 14, 17, 18, 20, 26, 27, 38], "form": [5, 10, 20, 27, 34, 37, 38], "bitwis": 5, "isa_str": 5, "str": [5, 7, 11, 18, 20, 36, 37, 38, 39, 40, 41], "paramet": [5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 35, 37, 38, 39, 40, 41], "string": [5, 38, 39], "identifi": [5, 10, 11, 32, 38], "pleas": [5, 24, 30, 35], "refer": [5, 36, 40], "gcc": 5, "": [5, 9, 11, 18, 27, 35, 36, 37, 38, 40, 41], "option": [5, 10, 13, 17, 18, 20, 24, 35, 36, 37, 38, 39, 40, 41], "detail": [5, 21, 26, 38], "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, 14, 17, 20, 36, 37, 38, 39, 40, 41], "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, 21], "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, 14, 17], "add": [5, 35, 37, 38, 40, 41], "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, 27], "hu": 5, "jalr": [5, 11], "max": [5, 34], "maxu": 5, "min": [5, 38], "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, 38], "w": [5, 27], "xnor": 5, "xor": 5, "funct7": [5, 10, 13, 17], "52": 5, "48": 5, "muldiv": 5, "sa": 5, "sfencevma": 5, "sl": 5, "instrtyp": [5, 10], "u": [5, 27, 34, 38, 40], "interruptcausenumb": 5, "mei": 5, "msi": 5, "mti": 5, "sei": 5, "ssi": 5, "sti": 5, "opcod": [5, 10, 17, 32, 33], "auipc": 5, "branch": [5, 11, 27, 34, 38], "24": 5, "jal": [5, 11], "27": 5, "25": 5, "load": [5, 14, 27, 38, 40], "load_fp": 5, "lui": 5, "misc_mem": 5, "op": 5, "op32": 5, "op_imm": 5, "op_imm_32": 5, "reserv": [5, 26, 27], "store_fp": 5, "system": [5, 34, 35, 40], "28": [5, 27], "privilegelevel": 5, "a0": 5, "a1": 5, "a2": 5, "a3": 5, "a4": 5, "a5": 5, "a6": 5, "a7": 5, "fp": [5, 36], "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, 35], "t2": [5, 35], "t3": 5, "t4": 5, "29": 5, "t5": 5, "30": [5, 27], "t6": 5, "tp": [5, 40], "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, 21, 32, 38, 41], "xlenencod": 5, "w128": 5, "w32": 5, "w64": 5, "cfityp": 5, "type": [5, 10, 11, 13, 17, 24, 37, 38, 39, 40], "flow": [5, 11, 38], "There": [5, 38], "main": [5, 24, 27, 31, 34], "invalid": [5, 33, 38], "call": [5, 7, 17, 20, 21, 22, 24, 30, 32, 35, 36, 37, 38, 39, 40, 41], "ret": 5, "just": [5, 24, 35, 38], "special": [5, 26, 38], "respect": [5, 20, 38], "thu": [5, 38], "encod": [5, 10, 17, 27, 36, 38, 40, 41], "wa": [5, 10, 11, 20, 21, 24, 27, 35, 36, 37, 38, 40], "chosen": [5, 27], "wai": [5, 7, 13, 18, 24, 27, 34, 35, 37, 38, 40, 41], "suffici": 5, "check": [5, 11, 14, 24, 27, 30, 32, 33, 34, 37, 40], "lowest": [5, 37], "two": [5, 7, 20, 27, 30, 34, 35, 37, 38, 39, 40], "third": [5, 37, 38], "about": [5, 11, 17, 24, 26, 36, 38, 40], "becaus": [5, 27, 35, 36, 37, 38], "tweak": 5, "helper": 5, "prefer": [5, 18, 35], "us": [5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 26, 27, 30, 34, 35, 37, 38, 39, 40, 41], "cfi": [5, 11], "static": [5, 17, 36, 37, 40, 41], "is_branch": 5, "amaranth": [5, 7, 9, 10, 11, 13, 17, 18, 20, 30, 34, 35, 36, 37, 38, 39, 40, 41], "hdl": [5, 7, 9, 10, 13, 17, 20, 36, 37, 38, 39, 40, 41], "_ast": [5, 7, 9, 10, 13, 17, 20, 37, 38, 39, 40, 41], "valuecast": [5, 9, 10, 17, 20, 37, 38, 39, 40, 41], "is_jal": 5, "is_jalr": 5, "valid": [5, 13, 18, 22, 32, 38, 40, 41], "do": [5, 10, 27, 30, 35, 37, 38, 41], "confus": 5, "address_gener": 5, "arithmet": 5, "bit_manipul": 5, "bit_rot": 5, "compar": [5, 26, 38], "csr_imm": 5, "csr_reg": 5, "div_rem": 5, "caus": [5, 17, 21, 27, 38, 40], "befor": [5, 14, 18, 21, 24, 30, 31, 35, 37, 38], "execut": [5, 6, 13, 18, 22, 24, 26, 31, 33, 35, 36, 37, 38], "logic": [5, 14, 27, 33, 34, 35], "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, 24, 36, 38, 40], "resultannounc": 6, "elaborat": [6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 21, 22, 35, 36, 37, 38, 39, 40], "simpl": [6, 7, 10, 14, 20, 22, 37, 38, 40, 41], "It": [6, 10, 11, 13, 14, 15, 17, 18, 20, 22, 24, 27, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41], "take": [6, 10, 18, 31, 32, 35, 37, 38, 39, 40], "its": [6, 10, 17, 20, 22, 27, 34, 35, 37, 38, 40, 41], "mark": [6, 26, 27, 36], "complet": [6, 18, 20, 27], "also": [6, 11, 17, 24, 34, 35, 38, 39], "sent": [6, 18, 39], "get_result": [6, 16, 38], "serial": [6, 11, 14, 38], "so": [6, 17, 18, 27, 34, 35, 36, 37, 38, 41], "we": [6, 7, 18, 27, 31, 32, 33, 34, 35, 38, 39], "more": [6, 20, 24, 26, 27, 38, 40, 41], "than": [6, 27, 38, 40, 41], "connect": [6, 10, 18, 20, 27, 35, 37, 38, 41], "manytooneconnecttran": [6, 38], "rob_mark_don": 6, "rs_updat": 6, "rf_write": 6, "instanc": [6, 7, 10, 11, 14, 17, 22, 34, 36, 37, 38, 40, 41], "next": [6, 7, 10, 11, 22, 27, 37, 41], "readi": [6, 7, 18, 20, 22, 26, 32, 36, 37, 38, 41], "assum": [6, 13, 27, 38, 40], "differ": [6, 13, 18, 24, 25, 27, 30, 34, 37, 38, 40, 41], "end": [6, 14, 27, 37, 38, 41], "without": [6, 22, 27, 37, 38, 40], "pass": [6, 24, 26, 34, 37, 38, 39, 40], "finish": [6, 18, 21, 38], "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, 17, 38], "replac": [7, 15, 17, 20, 32], "polici": 7, "pseudo": 7, "random": [7, 39], "scheme": 7, "everi": [7, 13, 18, 24, 34, 37, 38], "trash": 7, "select": [7, 10, 13, 16, 18, 22, 24, 38, 41], "keep": [7, 37], "global": [7, 27], "abstract": [7, 15, 17, 34, 38, 40], "awai": 7, "need": [7, 11, 17, 18, 24, 27, 32, 35, 37, 38], "refiller_start": 7, "whenev": [7, 17, 38], "refiller_accept": 7, "written": [7, 20, 33, 34, 38], "last": [7, 21, 22, 37, 38, 41], "when": [7, 14, 17, 18, 21, 24, 27, 30, 32, 33, 35, 37, 38, 40, 41], "either": [7, 17, 18, 21, 35, 37, 38, 39, 40, 41], "transfer": [7, 18, 37, 38], "over": [7, 20, 37, 38], "shouldn": [7, 34], "until": [7, 11, 27, 38], "start": [7, 13, 14, 18, 21, 27, 37, 38, 41], "layout": [7, 10, 11, 18, 22, 24, 30, 35, 37, 38, 39, 40], "icachelayout": 7, "icacheparamet": [7, 17], "cacherefillerinterfac": 7, "creat": [7, 15, 17, 18, 24, 34, 35, 37, 38, 39, 40, 41], "input": [7, 10, 13, 18, 20, 21, 27, 32, 33, 35, 37, 38, 41], "start_refil": 7, "accept_refil": 7, "deserialize_addr": 7, "raw_addr": 7, "dict": [7, 18, 35, 36, 37, 38, 39, 40, 41], "serialize_addr": 7, "addr": [7, 14, 18, 38], "view": [7, 13, 14, 37, 38, 39, 40, 41], "icachebypass": 7, "bus_mast": 7, "busmasterinterfac": [7, 9, 14, 18], "haselabor": [7, 16, 18, 36, 37, 38, 39, 41], "protocol": [7, 16, 18, 36, 37, 38], "whole": [7, 25, 27, 38], "given": [7, 9, 14, 17, 20, 24, 32, 35, 36, 37, 38, 39, 40, 41], "simplecommonbuscacherefil": 7, "frat": 8, "rrat": 8, "registerfil": 8, "reorderbuff": [8, 21], "corefrontend": 9, "consume_instr": 9, "consum": [9, 11], "resume_from_except": 9, "resum": 9, "pc": [9, 26], "resume_from_unsaf": 9, "unsaf": 9, "stall": [9, 18, 27], "instr_bu": 9, "frontendparam": 9, "fb_addr": 9, "fb_instr_idx": 9, "pc_from_fb": 9, "decodestag": 10, "instanti": [10, 37], "instrdecod": 10, "make": [10, 13, 24, 25, 27, 30, 34, 35, 36, 39], "actual": [10, 24, 26, 35], "combinatori": [10, 35], "manner": [10, 18], "get_raw": 10, "push_decod": 10, "raw": 10, "previou": [10, 11, 18, 27, 38], "step": [10, 11, 22, 24, 27, 34, 35], "fetchlayout": [10, 11], "describ": [10, 11, 14, 22, 27, 34, 36, 37, 38, 39], "decodelayout": [10, 22], "elementari": 10, "etc": [10, 35], "via": [10, 21, 35, 37], "signal": [10, 13, 14, 18, 20, 21, 26, 30, 36, 37, 38, 39, 40, 41], "out": [10, 13, 15, 18, 21, 25, 26, 36, 37, 38, 41], "funct3_v": 10, "seven": 10, "funct7_v": 10, "twelv": 10, "funct12_v": 10, "rd": [10, 17], "reg_cnt_log": 10, "rd_v": 10, "rs1": [10, 17], "hold": [10, 17, 18, 38], "first": [10, 13, 14, 20, 22, 27, 32, 33, 34, 35, 37, 38, 39, 40, 41], "rs1_v": 10, "rs2": [10, 17], "second": [10, 13, 20, 22, 32, 33, 34, 38, 41], "rs2_v": 10, "imm": [10, 17], "immedi": [10, 17, 18], "were": [10, 27, 35], "succ": 10, "successor": 10, "pred": 10, "predecessor": 10, "fm": 10, "sourc": [10, 20, 22, 24, 32, 36, 37, 38], "defin": [10, 14, 20, 35, 37, 38, 40, 41], "kind": [10, 13, 22, 38, 40], "illeg": [10, 17], "success": [10, 18, 39], "fit": 10, "constructor": [10, 35, 37, 40], "repres": [10, 20, 37, 38], "exist": [10, 35], "instr_type_overrid": 10, "specifi": [10, 18, 20, 33, 38, 40], "determin": [10, 11, 27, 34, 38, 40], "instrust": 10, "almost": 10, "correct": [10, 11, 14, 27, 32, 33, 34], "rd_zero": 10, "bool": [10, 14, 17, 20, 36, 37, 38, 39, 40, 41], "constant": 10, "other": [10, 17, 20, 24, 26, 35, 36, 37, 38, 41], "accordingli": 10, "default": [10, 18, 20, 24, 35, 36, 37, 38, 40, 41], "fals": [10, 13, 14, 24, 35, 36, 37, 38, 40, 41], "rs1_zero": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": [10, 18], "list": [10, 13, 17, 18, 24, 26, 30, 34, 36, 37, 38, 39, 40, 41], "tupl": [10, 11, 13, 18, 20, 22, 36, 37, 38, 39, 40, 41], "is_instr_compress": 10, "fetchunit": 11, "superscalar": 11, "respons": [11, 13, 14, 18, 22, 24, 37, 38, 39], "retriev": [11, 14, 38], "them": [11, 24, 27, 34, 35, 37, 38, 40], "work": [11, 22, 27, 30, 34, 35, 37, 38], "chunk": 11, "fetch_block_byt": 11, "relat": [11, 27, 37, 38, 40], "how": [11, 17, 20, 24, 27, 32, 34, 37, 38], "mani": [11, 17, 20, 24, 27, 34, 35, 36, 37, 38, 40], "onc": [11, 34, 35, 37, 38, 41], "vari": 11, "deal": 11, "expand": 11, "aren": [11, 27, 35, 38], "boundari": [11, 27], "cont": [11, 39], "predecod": 11, "analysi": [11, 26, 36], "jump": [11, 17, 27], "find": [11, 24, 27, 38], "target": [11, 34, 38], "Its": [11, 14, 31, 35], "role": [11, 35], "give": [11, 38, 40], "quick": 11, "feedback": 11, "potenti": [11, 31], "predictor": 11, "help": [11, 24, 27, 38], "redirect": 11, "promptli": 11, "predictioncheck": 11, "predict": 11, "checker": [11, 14], "look": [11, 27, 38], "taken": [11, 20, 22, 34, 37, 38], "mistak": [11, 30], "ones": [11, 35], "wrong": [11, 27], "element": [11, 27, 38], "dispatch": [11, 27, 31, 32, 33], "new": [11, 13, 14, 18, 21, 26, 27, 37, 38, 40, 41], "batch": 11, "onli": [11, 13, 17, 18, 20, 21, 27, 34, 35, 36, 37, 38, 39, 40], "temporari": [11, 20], "workaround": 11, "buffer": [11, 18, 27, 32, 38, 41], "rest": [11, 37], "becom": [11, 18], "elem_layout": 11, "structlayout": [11, 14, 37, 38, 39, 40], "collect": [11, 25, 34, 36, 37, 38, 39, 40, 41], "abc": [11, 17, 37, 38, 39, 40, 41], "iter": [11, 16, 17, 37, 38, 39, 40, 41], "shapelik": [11, 37, 38, 39, 40], "layoutlist": [11, 37, 38, 39, 40], "lsu": [12, 13], "dummylsu": [12, 13], "lsu_request": [12, 13], "pma": [12, 13], "unsigned_multipl": [12, 13], "common": [12, 13, 18, 37, 38, 40], "fast_recurs": [12, 13], "sequenc": [12, 13, 22, 37, 38, 40], "alucompon": 13, "functionalcomponentparam": [13, 14, 17], "zba_en": 13, "zbb_enabl": 13, "get_modul": [13, 14, 17], "funcunit": [13, 14, 16, 17], "get_optyp": [13, 14, 17], "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, 14, 18, 20, 25, 26, 27, 31, 38, 40, 41], "format": [13, 24, 34, 35, 36, 37, 38, 40, 41], "divunit": 13, "get_input": 13, "arg": [13, 18, 35, 36, 37, 38, 39, 40, 41], "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, 15], "mul_fn": 13, "mulfn": 13, "hot": [13, 27, 38, 41], "wire": 13, "recursive_mul": 13, "fastest": 13, "multipli": [13, 15], "costli": [13, 27], "term": 13, "resourc": [13, 21, 27, 34, 35, 37], "sequence_mul": 13, "dsp": [13, 15], "balanc": 13, "between": [13, 14, 24, 27, 35, 37, 38, 40, 41], "cost": [13, 26, 35], "shift_mul": 13, "cheapest": 13, "russian": [13, 15], "peasant": [13, 15], "algorithm": [13, 15, 38], "mulunit": 13, "unsign": [13, 15], "standard": [13, 21, 27, 34, 38, 41], "funcunitlayout": [13, 22], "comput": [13, 15, 17, 21, 27, 38, 40], "mul_typ": 13, "privilegedfn": 13, "classmethod": [13, 36, 37, 38, 40], "privilegedfuncunit": 13, "privilegedunitcompon": 13, "shiftfuncunit": 13, "shift_unit_fn": 13, "shiftunitfn": 13, "shiftunitcompon": 13, "clmultipli": 13, "product": [13, 38], "i1": [13, 15], "factor": 13, "i2": [13, 15], "reset": [13, 20, 26], "busi": 13, "while": [13, 37, 39], "progress": 13, "bit_width": [13, 20], "recursion_depth": 13, "depth": [13, 14, 18, 34, 38], "recurs": [13, 15, 34, 35, 36, 38, 40], "parallel": [13, 38], "power": [13, 40], "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, "lsucompon": 14, "lsudummi": 14, "veri": [14, 27, 35], "isn": [14, 34, 37], "compliant": [14, 34], "riscv": [14, 17, 34], "spec": [14, 21], "doesn": [14, 27, 30, 35, 38], "rang": [14, 37, 38, 39, 40, 41], "processor": [14, 25, 26, 31], "master": [14, 18, 34], "lsurequest": 14, "job": [14, 27], "resili": 14, "check_align": 14, "postprocess_load_data": 14, "modulelik": [14, 37, 38, 41], "raw_data": 14, "prepare_bytes_mask": 14, "prepare_data_to_sav": 14, "pmacheck": 14, "physic": [14, 22, 27], "mai": [14, 17, 24, 38, 39, 40], "part": [14, 17, 20, 21, 27, 31, 35, 37, 38], "combin": [14, 26, 30, 37, 38, 40], "circuit": [14, 34, 35, 37, 38, 40], "pmalayout": 14, "pmaregion": 14, "contigu": 14, "region": [14, 27], "includ": [14, 34, 35, 37, 38, 40, 41], "both": [14, 20, 32, 35, 37, 38, 40, 41], "begin": [14, 27, 41], "mmio": 14, "true": [14, 17, 18, 20, 35, 36, 37, 38, 39, 40, 41], "indic": [14, 27, 33, 37, 38, 41], "dspmulunit": 15, "clock": [15, 31, 34, 35, 36, 37, 38], "design": [15, 27, 35, 36], "synthesi": [15, 26, 37], "tool": [15, 24, 34, 36], "o": [15, 27, 35, 37], "same": [15, 17, 20, 24, 35, 37, 38, 40, 41], "mulbaseunsign": 15, "unsignedmulunitlayout": 15, "recursiveunsignedmul": 15, "see": [15, 21, 30, 34, 35, 38], "fast": 15, "within": [15, 24], "pipelinedunsignedmul": 15, "dsp_number": 15, "sequentialunsignedmul": 15, "sequenti": [15, 18], "classic": [15, 27], "shiftunsignedmul": 15, "cheap": 15, "multi": [15, 41], "funcblocksunifi": 16, "blockcomponentparam": [16, 17], "funcblock": [16, 17, 22], "insert": [16, 21, 22, 26, 27, 31, 32, 38], "coreconfigur": 17, "_coreconfigurationdataclass": 17, "kwarg": [17, 18, 36, 37, 38, 39, 40, 41], "self": [17, 35, 37, 39], "get_rs_entry_count": 17, "optypes_support": 17, "dependentcach": [17, 40], "cfg": 17, "addr_width": [17, 18], "word_width": 17, "word": [17, 41], "num_of_wai": 17, "num_of_sets_bit": 17, "line_bytes_log": 17, "disabl": [17, 36, 38, 39], "bypass": 17, "fetch_block_bytes_log": 17, "python": [17, 24, 35, 37, 38, 39, 40], "model": 17, "stefan": 17, "wallentowitz": 17, "http": [17, 34, 39], "github": [17, 25, 34, 39], "com": [17, 34, 39], "wallento": 17, "btypeinstr": 17, "instructionfunct3typ": 17, "posit": [17, 22, 32, 33, 40, 41], "where": [17, 18, 22, 24, 27, 32, 33, 35, 37, 38, 39, 40], "would": [17, 24, 27, 35, 38, 40], "map": [17, 20, 26, 27, 37, 38, 39, 40, 41], "sign": [17, 40], "whether": [17, 34, 37, 38, 41], "skip": 17, "exampl": [17, 20, 24, 26, 32, 35, 37, 38, 41], "signific": 17, "affect": [17, 34], "procedur": [17, 27], "extern": [17, 26, 34, 35, 37], "static_valu": 17, "ebreakinstr": 17, "itypeinstr": 17, "illegalinstr": 17, "riscvinstr": 17, "cat": [17, 34], "const": [17, 37, 38], "d1": [17, 37, 38], "jtypeinstr": 17, "as_valu": 17, "convert": [17, 40], "concret": [17, 38, 40], "usual": [17, 27, 35, 38], "deleg": 17, "must": [17, 18, 37, 38, 40], "idempot": 17, "twice": 17, "exactli": [17, 38], "code": [17, 24, 25, 27, 30, 34, 35, 36, 38, 40, 41], "recogn": 17, "cast": 17, "rais": [17, 27, 36, 38, 39, 40], "convers": [17, 35], "cannot": [17, 35, 37, 38, 39], "done": [17, 27, 34, 35, 37, 38, 39], "propag": 17, "caller": [17, 24, 35, 36, 37, 38], "directli": [17, 35, 37], "recommend": [17, 35], "shape": [17, 40], "itself": [17, 27, 40], "discov": 17, "castabl": [17, 40], "subclass": 17, "richer": 17, "represent": [17, 39, 40, 41], "shapecast": [17, 40], "condit": [17, 24, 35, 36, 37, 38], "rtypeinstr": 17, "instructionfunct7typ": 17, "stypeinstr": 17, "utypeinstr": 17, "axiliteinterfac": 18, "abstractinterfac": 18, "abstractsignatur": 18, "read_address": 18, "axilitereadaddressinterfac": 18, "read_data": 18, "axilitereaddatainterfac": 18, "write_address": 18, "axilitewriteaddressinterfac": 18, "write_data": 18, "axilitewritedatainterfac": 18, "write_respons": 18, "axilitewriteresponseinterfac": 18, "axilitemast": 18, "axi": 18, "lite": 18, "axil_param": 18, "axiliteparamet": 18, "ra_request": 18, "initi": [18, 26, 38, 39], "channel": 18, "being": [18, 24, 38, 40, 41], "ra_request_layout": 18, "argument": [18, 22, 24, 26, 33, 34, 37, 38, 39, 40, 41], "rd_respons": 18, "availab": 18, "state": [18, 21, 26, 27, 35, 37, 38, 39], "rd_response_layout": 18, "wa_request": 18, "wa_request_layout": 18, "wd_request": 18, "wd_request_layout": 18, "wr_respons": 18, "wr_response_layout": 18, "axil_mast": 18, "result_handl": 18, "start_request_transact": 18, "is_address_channel": 18, "state_machine_request": 18, "request_sign": 18, "data_width": 18, "axilitesignatur": 18, "signatur": 18, "patamet": 18, "axilitemasteradapt": 18, "place": [18, 27, 32, 34, 35, 37, 38], "expect": [18, 37], "busparametersinterfac": 18, "method_layout": 18, "commonbusmastermethodlayout": 18, "request_read": 18, "underli": [18, 38], "request_read_layout": 18, "request_writ": 18, "request_write_layout": 18, "get_read_respons": 18, "action": [18, 20, 37, 38, 40], "read_response_layout": 18, "get_write_respons": 18, "write_response_layout": 18, "gain": 18, "simplifi": 18, "interchang": 18, "buse": 18, "receiv": [18, 35, 37, 38], "previous": 18, "wishbonemasteradapt": 18, "wishbonemast": 18, "pipelinedwishbonemast": 18, "wb_param": 18, "wishboneparamet": 18, "max_req": 18, "limit": [18, 35, 38], "pend": [18, 21], "wb": 18, "request_layout": 18, "result_layout": 18, "requests_finish": 18, "generate_method_layout": 18, "wishbonearbit": 18, "arbit": 18, "slave": 18, "assert": [18, 38, 41], "cyc": 18, "grant": [18, 35, 36, 37, 38, 41], "round": [18, 37, 40, 41], "robin": [18, 37, 41], "num_slav": 18, "devic": 18, "slave_wb": 18, "intefac": 18, "num_mast": 18, "ack": 18, "adr": 18, "dat_r": 18, "dat_w": 18, "err": 18, "lock": [18, 24, 27, 35, 36, 38], "rst": 18, "rty": 18, "stb": 18, "name": [18, 24, 35, 36, 37, 38, 40, 41], "wb_master": 18, "wishbonemastermethodlayout": 18, "wishbonememoryslav": 18, "underneath": 18, "keyword": [18, 35, 37, 38, 39, 40], "thei": [18, 20, 24, 27, 31, 34, 35, 37, 38], "re": [18, 27, 30, 35, 37], "infer": [18, 37], "wishbonemux": 18, "muxer": 18, "multiplex": [18, 35], "ssel_tga": 18, "corespond": 18, "tga": 18, "note": [18, 20, 38], "stare": 18, "clear": [18, 32, 33, 38, 40], "delai": [18, 35], "deassert": [18, 41], "master_wb": 18, "singal": 18, "granular": [18, 38], "smallest": 18, "port": [18, 37, 38, 40, 41], "capabl": 18, "wishbonesignatur": 18, "path": [18, 37, 38], "src_loc_at": [18, 38], "aliasedcsr": 20, "csrregist": 20, "internalinterruptcontrol": [20, 21], "Will": 20, "soon": 20, "csr_number": 20, "virtual": [20, 24], "automat": [20, 24, 34, 40, 41], "csrunit": 20, "ro_bit": 20, "mask": [20, 38], "_fu_writ": 20, "those": [20, 27, 37], "ignor": 20, "some": [20, 27, 30, 35, 37, 38], "upper": [20, 38], "0b11": 20, "discard": 20, "init": [20, 34, 37, 38], "fu_write_prior": 20, "prioriti": [20, 21, 35, 37, 38, 41], "writeabl": 20, "deafult": 20, "fu_write_filtermap": 20, "valuelik": [20, 37, 38, 41], "filter": [20, 24, 38], "modifi": [20, 27, 38], "fu_read_map": 20, "src_loc": [20, 36, 37, 38, 40], "srcloc": [20, 36, 37, 38], "stack": [20, 37, 38, 40], "frame": [20, 37, 38], "deep": [20, 37, 38], "locat": [20, 24, 25, 31, 36, 37, 38, 40], "altern": [20, 35, 37, 38], "instead": [20, 27, 30, 35, 36, 37, 38, 39, 41], "add_field": 20, "bit_posit": 20, "add_read_only_field": 20, "doublecountercsr": 20, "group": [20, 38], "increment": [20, 21], "At": [20, 38], "overflow": [20, 38], "low_addr": 20, "high_addr": 20, "lower": [20, 40], "higher": 20, "synthetis": 20, "genericcsrregist": 20, "machinemodecsrregist": 20, "mstatus_fields_implement": 20, "behaviour": [20, 34, 38], "csrlistkei": 20, "bodi": [20, 35, 37, 38], "csr_val": 20, "els": [20, 27, 35, 37], "side": [20, 27, 32, 33], "effect": [20, 27, 32, 33, 37, 38], "_fu_read": 20, "current": [20, 21, 22, 27, 37], "read_comb": 20, "submit": 20, "combination": [20, 37], "allow": [20, 25, 27, 34, 35, 37, 38, 41], "callabl": [20, 36, 37, 38, 39, 40], "exceptioninformationregist": 21, "earliest": 21, "report": [21, 38], "exceptioncauseregist": 21, "rob_get_indic": 21, "fetch_stall_except": 21, "should_update_priorii": 21, "current_caus": 21, "new_caus": 21, "coreinstructioncount": 21, "count": [21, 24, 37, 38, 41], "leav": [21, 24], "decrement": 21, "compat": [21, 34, 38], "privileg": [21, 27], "xie": 21, "xip": 21, "xstatu": 21, "interrup": 21, "plain": [21, 35, 37, 38], "internal_report_level": 21, "In": [21, 22, 24, 25, 26, 33, 34, 35, 36, 37, 38, 40, 41], "custom_report": 21, "interrupt_custom_count": 21, "custom": [21, 38], "edg": [21, 37, 38], "coreconfigr": 21, "interrupt_custom_edge_trig_mask": 21, "interrupt_insert": 21, "entri": [21, 22, 27, 31, 32, 33, 38, 40], "chang": [21, 24, 32, 35, 38, 39, 40, 41], "handler": [21, 27, 39], "exit": [21, 34], "interrupt_caus": 21, "priorit": [21, 37], "prepar": [22, 24, 27, 36], "alloc": [22, 31, 32, 33], "renam": [22, 31], "stuck": 22, "get_instr": 22, "get_free_reg": 22, "rat_renam": 22, "rob_put": 22, "rf_read1": 22, "rf_read2": 22, "reservation_st": 22, "decoded_instr": 22, "id": [22, 32, 33, 36], "free": [22, 26, 27, 33, 38], "ratlayout": 22, "rat_rename_in": 22, "rat_rename_out": 22, "roblayout": 22, "data_layout": [22, 38, 40], "rflayout": 22, "rf_read_out": 22, "rf_read_in": 22, "wakeupselect": 22, "wakeup": [22, 33], "firstli": 22, "get_readi": 22, "binari": [22, 34, 41], "th": [22, 37, 38, 41], "row": [22, 24, 26], "take_row": 22, "rslayout": 22, "get_ready_list_out": 22, "take_out": 22, "push": [22, 38], "down": [22, 40], "below": [24, 38], "instal": [24, 34], "interpret": [24, 38, 40], "pip": [24, 34], "python3": [24, 34], "venv": [24, 34], "project": [24, 25, 27, 37], "directori": [24, 25, 34], "activ": [24, 34, 37, 38, 39, 41], "bin": [24, 34], "librari": [24, 26, 38], "pip3": [24, 34], "dev": [24, 34], "txt": [24, 34], "riscv64": 24, "elf": 24, "binutil": 24, "your": [24, 30], "favourit": 24, "On": [24, 38], "debian": 24, "distro": 24, "precommit": 24, "hook": [24, 36, 38], "pre": [24, 34], "run": [24, 34, 35, 36, 37, 38, 39, 41], "linter": 24, "ci": [24, 34], "intend": [24, 37, 41], "By": [24, 37, 38], "file": [24, 27, 34, 40], "test_transact": 24, "One": [24, 27, 35, 38, 41], "even": [24, 27, 35, 37, 38], "testschedul": 24, "Or": [24, 35], "test_singl": 24, "search": 24, "match": [24, 32, 33, 41], "queri": 24, "thank": 24, "uniqu": [24, 36, 38], "parameter": 24, "waveform": 24, "vcd": 24, "gtkw": [24, 40], "gtkwave": [24, 40], "__traces__": 24, "debug": [24, 38, 40], "driven": 24, "transactron": [24, 26, 35], "__profile__": 24, "analyz": 24, "verbos": [24, 34], "runner": 24, "print": [24, 38], "subcommand": 24, "filenam": 24, "reformat": 24, "black": 24, "check_format": 24, "verifi": [24, 34], "flake8": 24, "check_typ": 24, "pyright": 24, "confront": 24, "messag": [24, 38], "you": [24, 30, 32, 34, 37, 38, 41], "diff": 24, "displai": 24, "appli": [24, 27, 30, 36, 37, 39], "chose": 24, "visual": 24, "architectur": [24, 27, 34], "appropri": [24, 32, 38, 39], "prune": [24, 36], "remov": [24, 27, 38], "disconnect": 24, "node": 24, "elk": [24, 36], "eclips": 24, "kernel": [24, 27], "dot": [24, 36, 38], "graphviz": 24, "mermaid": [24, 36], "document": [24, 26], "sphinx": 24, "html": [24, 25], "build": [24, 34, 38], "present": [24, 27, 35, 38, 40], "readabl": [24, 38], "To": [24, 27, 34, 38, 40], "profile_fil": 24, "json": [24, 34, 40], "column": 24, "question": [24, 35], "togeth": [24, 35, 37], "differenti": 24, "ident": [24, 38], "declar": [24, 35, 38, 39], "further": [24, 38], "disambigu": 24, "show": 24, "could": [24, 35, 38], "forc": 24, "conflict": [24, 26, 36, 37], "produc": [24, 37], "tree": [24, 36, 38], "root": [24, 36], "invert": 24, "children": 24, "sort": [24, 38, 41], "regular": 24, "express": [24, 35, 38], "loc": 24, "coreblock": [25, 30, 34], "go": [25, 27, 30, 37], "microarchitectur": 25, "focu": 25, "flexibl": [25, 31, 41], "easili": [25, 37, 38], "experi": 25, "doc": 25, "descript": [25, 26, 34, 38, 40], "overview": [25, 26, 27], "high": [25, 38, 41], "found": [25, 34], "version": [25, 34], "page": [25, 27, 34], "api": [25, 26], "kuznia": [25, 34], "rdzeni": [25, 34], "io": [25, 34], "introduct": 26, "assumpt": [26, 27], "made": [26, 27, 35], "develop": [26, 38], "environ": 26, "up": [26, 33, 34, 38, 40], "script": [26, 34], "run_test": [26, 34], "py": [26, 34, 39], "lint": 26, "sh": 26, "core_graph": 26, "build_doc": 26, "tprof": 26, "framework": [26, 32], "usag": 26, "convent": 26, "definit": [26, 37], "advanc": 26, "concept": 26, "domain": [26, 30, 37], "nest": [26, 38], "schema": [26, 36, 38, 40], "structur": [26, 27, 32, 35, 36, 37, 38, 40], "proposit": [26, 27], "station": 26, "slot": [26, 38], "tabl": 26, "substitut": 26, "clean": [26, 38], "problem": [26, 27], "checklist": 26, "verif": 26, "manual": [26, 35, 41], "reproduct": 26, "benchmark": 26, "regress": 26, "summari": 26, "paper": 26, "old": 26, "softwar": [26, 38], "tlb": 26, "strategi": 26, "igpu": 26, "specul": 26, "gpu": 26, "effici": 26, "journal": 27, "articl": 27, "choic": 27, "primari": 27, "basi": 27, "improv": [27, 35], "pretti": 27, "1993": 27, "2001": 27, "much": [27, 38], "research": 27, "cpu": 27, "consid": [27, 35, 37, 38], "solv": 27, "try": [27, 30, 35], "due": [27, 37, 38], "characterist": 27, "easi": [27, 30, 35, 38], "our": [27, 31, 34], "decid": [27, 31, 35], "what": 27, "peopl": 27, "probabl": [27, 39], "lot": 27, "worth": 27, "walker": 27, "cragon": 27, "concurr": [27, 37], "ieee": 27, "vol": 27, "june": 27, "1995": 27, "moudgil": 27, "vassiliadi": 27, "micro": 27, "pp": 27, "58": 27, "67": 27, "februari": 27, "1996": 27, "These": [27, 34, 35], "survei": 27, "topic": 27, "cdc": 27, "6600": 27, "ibm360": 27, "stop": [27, 38], "crai": 27, "similar": [27, 34, 35, 37, 38, 41], "here": [27, 32], "bigger": [27, 38], "torng": 27, "martin": 27, "dai": 27, "probe": 27, "idea": [27, 35], "author": 27, "window": 27, "iw": 27, "didn": 27, "context": [27, 36, 37, 38, 40], "copi": [27, 36], "restor": [27, 36], "restart": [27, 41], "few": 27, "big": 27, "overhead": 27, "origin": [27, 36, 38], "unfeas": 27, "addition": [27, 38], "But": 27, "mayb": [27, 35], "possibl": [27, 34, 35, 38, 40], "cooper": 27, "smaller": 27, "interest": 27, "propos": 27, "nrp": 27, "No": [27, 38], "don": [27, 30, 32, 35, 37], "wast": 27, "rememb": [27, 35, 36], "left": [27, 35, 37, 38], "middl": [27, 31], "aamer": 27, "jaleel": 27, "bruce": 27, "jacob": 27, "cours": 27, "switch": [27, 32, 35, 37, 38, 41], "penalti": 27, "alpha": 27, "concentr": 27, "properti": [27, 34, 37], "short": [27, 38], "inlin": 27, "program": [27, 34, 35], "observ": [27, 38], "import": [27, 35], "enough": 27, "live": 27, "known": 27, "fly": 27, "swap": 27, "nop": 27, "reexecut": 27, "contrast": 27, "tendenc": 27, "longer": 27, "hard": [27, 38], "risk": [27, 35, 38], "linux": [27, 34], "purpos": [27, 37, 38], "addit": [27, 34, 35, 40], "hw": 27, "bore": 27, "treat": [27, 31], "mansur": 27, "samadzadeh": 27, "loai": 27, "garalnabi": 27, "checkpoint": 27, "repair": 27, "histori": 27, "reorder": 27, "futur": [27, 31, 32], "jaikrishnan": 27, "menon": 27, "marc": 27, "de": 27, "kruijf": 27, "karthikeyan": 27, "sankaralingam": 27, "2012": 27, "low": 27, "safe": [27, 35, 40], "rewritten": 27, "recompil": 27, "runtim": [27, 36, 38, 41], "subregion": 27, "small": 27, "overrid": 27, "barrier": 27, "warp": 27, "split": [27, 31, 38, 39], "prevent": 27, "ivan": 27, "tanas": 27, "isaac": 27, "gelado": 27, "jorda": 27, "eduard": 27, "ayguad": 27, "nacho": 27, "navarro": 27, "2017": 27, "analys": 27, "problemat": 27, "successfulli": 27, "kill": 27, "modif": 27, "fail": [27, 38], "repli": 27, "claim": 27, "operand": [27, 32, 33], "replai": 27, "queue": [27, 35, 38], "marker": 27, "jerom": 27, "hampton": 27, "2008": 27, "mention": 27, "alli": 27, "bailei": 27, "ab04": 27, "ag": 27, "younger": 27, "repeat": 27, "commun": [27, 32, 35], "canon": 27, "eventu": 27, "someth": [30, 35, 41], "puzzl": 30, "why": 30, "through": [30, 38], "sure": [30, 39], "yield": [30, 39], "notabl": 30, "settl": 30, "unexpect": 30, "ad": [30, 35, 37, 38, 39, 40, 41], "right": [30, 35, 37], "eq": [30, 35, 37, 41], "record": [30, 35, 37, 38, 39, 40, 41], "statement": [30, 35, 37, 39, 40], "loop": [30, 35, 37], "especi": 30, "simul": [30, 34, 36, 37, 38, 39], "hang": 30, "spot": 30, "yourself": [30, 35], "fix": 30, "task": [31, 37], "rss": 31, "phase": 31, "choos": [31, 34], "merg": [31, 38], "optim": [31, 38], "todo": 31, "want": [32, 34, 37, 39, 41], "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, 38], "releas": 32, "comparison": [32, 38], "null": [32, 33], "woken": 33, "src1": [33, 38], "src2": [33, 38], "inst_readi": 33, "sever": [34, 38], "besid": 34, "synthesis": 34, "ecp5": 34, "fpga": [34, 38], "realiti": 34, "cocotb": 34, "assembl": 34, "deliv": 34, "histor": 34, "dedic": [34, 38], "subpag": 34, "built": 34, "docker": 34, "publicli": 34, "subsect": 34, "recreat": 34, "command": [34, 39], "platform": [34, 35, 36], "amd64": 34, "synth": 34, "latest": [34, 38], "amaranthsynthecp5": 34, "dockerfil": 34, "complex": [34, 38], "although": 34, "educ": 34, "practic": 34, "frequenc": 34, "too": [34, 36], "met": [34, 37], "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, 38], "config": 34, "parse_benchmark_info": 34, "abov": [34, 35], "verilog": [34, 40], "yosi": 34, "nextpnr": 34, "bitstream": 34, "strength": 34, "modular": [34, 35], "littl": 34, "effort": 34, "gate": 34, "rout": 34, "prjtrelli": 34, "measur": [34, 38], "theori": 34, "increas": [34, 35, 38], "fmax": 34, "avoid": [34, 35], "pitfal": 34, "throughput": 34, "monitor": 34, "per": 34, "accuraci": 34, "insid": [34, 35, 37, 38], "embench": 34, "compil": [34, 35, 39], "gnu": 34, "toolchain": 34, "glibc": 34, "subset": 34, "exact": [34, 36], "veril": 34, "featur": [34, 35], "stub": 34, "host": 34, "mount": 34, "subdirectori": 34, "share": 34, "surviv": 34, "close": 34, "gen_verilog": 34, "run_benchmark": 34, "inspir": 35, "bluespec": 35, "wiki": 35, "entrieti": 35, "doe": [35, 41], "link": 35, "indirectli": [35, 37], "coordin": 35, "direct": [35, 36, 37, 38], "back": 35, "simplest": 35, "myth": 35, "def": [35, 37], "elabor": 35, "comb": [35, 37, 41], "sig1": 35, "expr1": 35, "sync": [35, 37], "sig2": 35, "expr2": 35, "arg_expr": 35, "analog": 35, "typic": [35, 37, 38], "myotherth": 35, "my_method": [35, 37], "input_layout": 35, "output_layout": 35, "def_method": [35, 37], "_": [35, 37], "other_method": 35, "ret_expr": 35, "techniqu": 35, "conveni": [35, 37, 38], "syntax": [35, 37, 41], "particular": 35, "unnam": 35, "around": 35, "sometim": 35, "might": [35, 36, 38], "best": 35, "ask": 35, "thing": [35, 38, 40], "doubt": 35, "noth": 35, "Such": [35, 38, 39], "adaptertran": [35, 38], "though": 35, "cleaner": 35, "suppos": 35, "foo": [35, 38], "bar": [35, 38], "cleanest": 35, "foo_expr": 35, "bar_expr": 35, "final": 35, "rec": 35, "layout2": 35, "foobar": 35, "baz": 35, "42": 35, "method2": [35, 38], "baz_expr": 35, "method3": 35, "expr": 35, "mechan": [35, 38], "certain": 35, "occas": 35, "facilit": 35, "connecttran": [35, 38], "testbench": [35, 38], "own": [35, 36, 37, 38], "variant": 35, "omit": [35, 37, 38], "unneed": 35, "av_comb": [35, 37], "top_comb": [35, 37, 41], "avoidedif": [35, 37], "guard": [35, 37, 38], "therefor": 35, "induc": 35, "often": 35, "belong": [35, 38], "move": [35, 38], "top": [35, 37, 40], "caveat": 35, "normal": [35, 38], "schedule_befor": [35, 37], "first_t_or_m": 35, "other_t_or_m": 35, "lift": 35, "first_m": 35, "other_t": 35, "situat": [35, 37], "mutual": [35, 37, 38], "exclus": [35, 37, 38, 41], "similarli": [35, 38], "add_conflict": [35, 37], "undefin": [35, 37, 38], "other_m": 35, "come": 35, "consider": 35, "parent": 35, "impli": 35, "amaranth_ext": [36, 40], "extract": 36, "IN": 36, "inout": 36, "owner": 36, "ownershipgraph": 36, "dump": 36, "liter": [36, 41], "dump_dot": 36, "indent": [36, 38, 40], "dump_elk": 36, "dump_mermaid": 36, "get_hier_nam": 36, "obj": 36, "hierarch": 36, "keyerror": [36, 38, 40], "yet": 36, "get_nam": 36, "insert_edg": 36, "fr": 36, "insert_nod": 36, "mermaid_direct": 36, "empti": [36, 38], "subgraph": 36, "remember_field": 36, "owner_id": 36, "methodsampl": 36, "transactions_and_method": 36, "profileinfo": 36, "cycleprofil": 36, "factori": [36, 38, 40], "analyze_method": 36, "runstatnod": 36, "analyze_transact": 36, "file_nam": [36, 40], "from_dict": [36, 38, 40], "kv": [36, 38, 40], "union": [36, 37, 38, 39, 40], "infer_miss": [36, 38, 40], "from_json": [36, 38, 40], "bytearrai": [36, 38, 40], "parse_float": [36, 38, 40], "parse_int": [36, 38, 40], "parse_const": [36, 38, 40], "kw": [36, 38, 40], "exclud": [36, 38, 40], "load_onli": [36, 38, 40], "dump_onli": [36, 38, 40], "partial": [36, 38, 40], "schemaf": [36, 38, 40], "to_dict": [36, 38, 40], "encode_json": [36, 38, 40], "to_json": [36, 38, 40], "skipkei": [36, 38, 40], "ensure_ascii": [36, 38, 40], "check_circular": [36, 38, 40], "allow_nan": [36, 38, 40], "sort_kei": [36, 38, 40], "profiledata": [36, 40], "individu": 36, "method_par": 36, "transactions_by_method": 36, "transaction_conflict": 36, "transaction_manag": [36, 37, 39], "transactionmanag": [36, 37, 39], "is_transact": 36, "profilesampl": 36, "transactionsampl": 36, "runstat": 36, "statist": 36, "did": 36, "info": [36, 38], "summar": 36, "stat": 36, "runnabl": [36, 37], "tracingenabl": 36, "tracingfrag": 36, "fragment": [36, 37], "lose": 36, "difficult": 36, "copyright": 36, "subfrag": 36, "_ir": [36, 40], "tracingfragmenttransform": 36, "fragmenttransform": 36, "on_frag": 36, "tracinginst": 36, "transactionmanagerkei": 37, "simplekei": [37, 38, 40], "transactioncompon": 37, "transactionmodul": 37, "transactroncompon": 37, "wrapper": [37, 38], "wrap": [37, 39], "abstractcompon": 37, "dependency_manag": [37, 39], "dependencymanag": [37, 38, 39, 40], "care": [37, 38], "never": 37, "cc_schedul": 37, "methodmap": [37, 38], "_dsl": 37, "eager_deterministic_cc_schedul": 37, "add_transact": 37, "_rec": [37, 38, 39, 40, 41], "signalbundl": [37, 38, 39, 40, 41], "print_info": 37, "cgr": 37, "porder": 37, "cc": 37, "method_map": 37, "visual_graph": 37, "dependencycontext": [37, 40], "transactionbas": 37, "serv": [37, 38], "simultena": 37, "behavior": [37, 38, 40], "data_out": [37, 38], "data_in": [37, 38], "methodstruct": [37, 38], "nonexclus": [37, 38], "assignarg": [37, 40], "single_cal": [37, 38], "variabl": [37, 41], "happen": 37, "whose": 37, "thrown": 37, "d0": 37, "validate_argu": [37, 38, 39], "combinationi": 37, "my_sum_method": 37, "arg1": 37, "arg2": 37, "layout_in": [37, 38], "layout_out": [37, 38], "construct": [37, 38], "blueprint": 37, "freshli": 37, "proxi": 37, "gr": 37, "transactiongraph": 37, "transactiongraphcc": 37, "priorityord": 37, "eager": 37, "subsystem": [37, 41], "fair": 37, "highest": [37, 41], "arbitr": [37, 41], "agent": [37, 41], "vertic": 37, "linear": 37, "consist": 37, "constraint": 37, "trivial_roundrobin_cc_schedul": 37, "mainli": 37, "decor": [37, 39], "eleg": 37, "dictionari": [37, 38], "lambda": 37, "equival": [37, 38, 41], "len": [37, 38, 41], "concaten": [37, 38], "parametr": 37, "my_filter_read_method": 37, "ready_list": 37, "head": [37, 38], "amount": [37, 39], "useless": 37, "multplex": 37, "unguard": 37, "synchron": [37, 38], "cond": [37, 38], "pattern": 37, "elif": 37, "fsm": 37, "ctrl_path": 37, "noreturn": 37, "regularli": 37, "explicit": 37, "implicit": 37, "aris": 37, "pair": [37, 38, 41], "transactioncontext": 37, "reason": 37, "transactionormethodbound": 37, "ctrlpath": 37, "def_count": 37, "classvar": 37, "def_ord": 37, "independent_list": 37, "forwardref": [37, 39, 40], "method_cal": 37, "defaultdict": 37, "method_us": 37, "owned_nam": 37, "peek": [37, 38], "relationbas": 37, "simultaneous_altern": 37, "simultaneous_list": 37, "adapterbas": [38, 39], "mock": [38, 39], "en": [38, 39], "with_validate_argu": 38, "clickin": 38, "click": 38, "interact": 38, "rise": 38, "btn": 38, "dat": 38, "clickout": 38, "led": 38, "revers": 38, "possibli": 38, "rev_layout": 38, "vice": 38, "versa": 38, "method1": 38, "fulfil": 38, "fifo_typ": 38, "syncfifo": 38, "fifotyp": 38, "conform": 38, "put_result": 38, "pipe": 38, "halfwai": 38, "locali": 38, "critic": 38, "cut": 38, "stableselectingnetwork": 38, "network": 38, "consecut": 38, "preserv": 38, "divid": 38, "conquer": 38, "properli": 38, "v1": 38, "v2": 38, "now": [38, 39], "log_2": 38, "dependencykei": [38, 40], "frozen": [38, 40], "lock_on_get": [38, 40], "get_depend": [38, 40], "empty_valid": [38, 40], "add_depend": [38, 40], "track": [38, 40], "across": [38, 40], "multpl": [38, 40], "listkei": [38, 40], "dependeci": [38, 40], "default_valu": [38, 40], "unifierkei": 38, "unifi": 38, "wish": 38, "basicfifo": 38, "front": 38, "delet": 38, "reiniti": 38, "semaphor": 38, "max_count": 38, "hardwarelogg": 38, "intuit": 38, "logger": 38, "anywher": 38, "natur": 38, "shall": 38, "evalu": [38, 39], "arbitrari": 38, "organ": 38, "namespac": 38, "hierarchi": 38, "period": 38, "bpu": 38, "bug": 38, "otherwis": [38, 41], "detect": 38, "termin": 38, "turn": 38, "warn": 38, "board": 38, "semant": 38, "server": 38, "pep": 38, "logkei": 38, "logrecord": 38, "logrecordinfo": [38, 40], "event": 38, "logger_nam": [38, 40], "format_str": [38, 40], "agnost": 38, "outsid": 38, "loglevel": 38, "templat": 38, "get_log_record": 38, "namespace_regexp": [38, 39], "minimum": 38, "regexp": 38, "get_trigger_bit": 38, "fifolatencymeasur": 38, "durat": 38, "exponenti": 38, "histogram": 38, "fully_qualified_nam": 38, "slots_numb": 38, "max_lat": 38, "qualifi": 38, "human": 38, "bucket": 38, "metrics_en": 38, "oldest": 38, "hardwaremetricsmanag": 38, "compos": 38, "get_metr": 38, "hwmetric": 38, "get_register_valu": 38, "metric_nam": 38, "reg_nam": 38, "hwcounter": 38, "width_bit": 38, "incr": 38, "hwexphistogram": 38, "distribut": 38, "sampl": 38, "inf": 38, "bucket_count": 38, "sample_width": 38, "registers_width": 38, "max_valu": 38, "abl": 38, "calcul": 38, "metricmodel": 38, "add_regist": 38, "reg": [38, 40], "hwmetricregist": 38, "inherit": 38, "hwmetricsenabledkei": 38, "theirs": 38, "compris": 38, "join": 38, "metricregistermodel": 38, "fundament": 38, "singular": 38, "among": 38, "reman": 38, "brief": 38, "taggedcount": 38, "neg": [38, 39, 40], "ok": 38, "tag_width": 38, "one_hot": 38, "taggedlatencymeasur": 38, "argumentstoresultszipp": 38, "zip": 38, "calle": 38, "asymmetri": 38, "correctli": 38, "rate": 38, "reach": [38, 41], "capac": 38, "topologi": 38, "peek_arg": 38, "write_arg": 38, "args_layout": 38, "write_result": 38, "results_layout": 38, "client": 38, "somethig": 38, "deseri": 38, "proper": 38, "serialize_in": 38, "serialized_req_method": 38, "serialize_out": 38, "serialized_resp_method": 38, "port_count": 38, "resist": 38, "nonblock": 38, "overlap": 38, "boolean": 38, "catch": 38, "negat": [38, 40], "influenc": 38, "cond1": 38, "cond2": 38, "asyncmemorybank": 38, "asynchron": 38, "read_req": 38, "elem_count": [38, 39], "contentaddressablememori": 38, "addres": 38, "cam": 38, "predefin": [38, 39], "fed": 38, "hit": 38, "nondestruct": 38, "address_layout": 38, "entries_numb": 38, "layoutlik": 38, "memorybank": 38, "read_resp": 38, "transpar": 38, "cattran": 38, "dst": 38, "collector": 38, "method_list": 38, "connectandmaptran": 38, "behav": 38, "i_fun": 38, "recorddict": 38, "o_fun": 38, "methodfilt": 38, "desir": 38, "use_condit": 38, "drawback": 38, "simultaneu": 38, "bidirect": 38, "i_transform": 38, "o_transform": 38, "unmodifi": 38, "methodproduct": 38, "methodtryproduct": 38, "tri": 38, "succeed": 38, "get_output": 39, "coreblockscommand": 39, "recordintdict": 39, "write_vcd_ext": 39, "engin": 39, "vcd_file": 39, "gtkw_file": 39, "pysimsimul": 39, "max_cycl": 39, "100000": 39, "add_transaction_modul": 39, "traces_fil": 39, "clk_period": 39, "1e": 39, "add_process": 39, "add_sync_process": 39, "passiv": 39, "add_clock": 39, "simpletestcircuit": 39, "_t_haselabor": 39, "dut": 39, "syncprocesswrapp": 39, "testcasewithsimul": 39, "add_all_mock": 39, "sim": 39, "frame_loc": 39, "add_class_mock": 39, "add_local_mock": 39, "configure_dependency_context": 39, "configure_log": 39, "configure_profil": 39, "configure_trac": 39, "fixture_initialize_testing_env": 39, "multi_settl": 39, "settle_count": 39, "random_wait": 39, "max_cycle_cnt": 39, "min_cycle_cnt": 39, "random_wait_geom": 39, "prob": 39, "till": 39, "reinitialize_fixtur": 39, "run_simul": 39, "tick": 39, "cycle_cnt": 39, "guard_nested_collect": 39, "_t_nested_collect": 39, "opnop": 39, "generate_based_on_layout": 39, "searchstrategi": 39, "generate_method_input": 39, "generate_nops_in_list": 39, "max_nop": 39, "generate_list": 39, "generate_process_input": 39, "generate_shrinkable_list": 39, "trick": 39, "hypothesiswork": 39, "hypothesi": 39, "blob": 39, "6867da71beae0e4ed004b54b92ef7c74d0722815": 39, "src": 39, "l143": 39, "insert_nop": 39, "draw": 39, "drawfn": 39, "lst": 39, "make_logging_process": 39, "on_error": 39, "parse_logging_level": 39, "pars": 39, "profiler_process": 39, "def_method_mock": 39, "tb_getter": 39, "sched_prio": 39, "method_handle_loop": 39, "invoc": 39, "defer": 39, "sinc": 39, "eagerli": 39, "kwdata": 39, "call_do": 39, "call_init": 39, "recordvaluedict": 39, "call_result": 39, "call_tri": 39, "method_argu": 39, "method_handl": 39, "extra_settle_count": 39, "method_return": 39, "set_en": 39, "set_input": 39, "wait_until_don": 39, "assigntyp": 40, "lh": 40, "rh": 40, "assignfield": 40, "lhs_strict": 40, "rhs_strict": 40, "mismatch": 40, "accord": 40, "explicitli": 40, "item": [40, 41], "subfield": 40, "valueerror": 40, "align_down_to_power_of_two": 40, "num": 40, "align_to_power_of_two": 40, "average_dict_of_list": 40, "bits_from_int": 40, "int_to_sign": 40, "u2": 40, "layout_subset": 40, "make_hash": 40, "signed_to_int": 40, "auto_debug_sign": 40, "arrai": 40, "cl": 40, "generatedlog": 40, "trigger_loc": 40, "signalhandl": 40, "fields_loc": 40, "generationinfo": 40, "variou": 40, "metrics_loc": 40, "metricinfo": 40, "metadata": 40, "metricloc": 40, "transaction_signals_loc": 40, "transactionsignalsloc": 40, "method_signals_loc": 40, "methodsignalsloc": 40, "profile_data": 40, "generate_verilog": 40, "top_nam": 40, "idgener": 40, "def_help": 40, "func": 40, "extend_layout": 40, "from_method_layout": 40, "get_caller_class_nam": 40, "get_src_loc": 40, "longest_common_prefix": 40, "seq": 40, "make_layout": 40, "method_def_help": 40, "mock_def_help": 40, "tb": 40, "silence_mustus": 40, "moduleconnector": 41, "anonym": 41, "multipriorityencod": 41, "priorityencod": 41, "input_width": 41, "outputs_count": 41, "indici": 41, "ascend": 41, "build_tre": 41, "in_sig": 41, "start_idx": 41, "prio_encod": 41, "cnt": 41, "one_hot_sing": 41, "idx": 41, "prio": 41, "create_simpl": 41, "hardcod": 41, "onehotswitch": 41, "style": 41, "benefit": 41, "sig": 41, "onehotcas": 41, "0b01": 41, "0b10": 41, "onehotswitchdynam": 41, "signifi": 41, "ringmultipriorityencod": 41, "circular": 41, "inclus": 41, "roundrobin": 41, "greater": 41, "enableinsert": 41, "count_leading_zero": 41, "count_trailing_zero": 41, "flatten_sign": 41, "flatten": 41, "mod_incr": 41, "mod": 41, "popcount": 41}, "objects": {"": [[4, 0, 0, "-", "coreblocks"], [36, 0, 0, "-", "transactron"]], "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"], [17, 0, 0, "-", "params"], [18, 0, 0, "-", "peripherals"], [19, 0, 0, "-", "priv"], [22, 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"], [16, 0, 0, "-", "interface"]], "coreblocks.func_blocks.fu": [[13, 0, 0, "-", "alu"], [13, 0, 0, "-", "div_unit"], [13, 0, 0, "-", "exception"], [13, 0, 0, "-", "jumpbranch"], [14, 0, 0, "-", "lsu"], [13, 0, 0, "-", "mul_unit"], [13, 0, 0, "-", "priv"], [13, 0, 0, "-", "shift_unit"], [15, 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.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": [[14, 0, 0, "-", "dummyLsu"], [14, 0, 0, "-", "lsu_requester"], [14, 0, 0, "-", "pma"]], "coreblocks.func_blocks.fu.lsu.dummyLsu": [[14, 1, 1, "", "LSUComponent"], [14, 1, 1, "", "LSUDummy"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUComponent": [[14, 3, 1, "", "__init__"], [14, 3, 1, "", "get_module"], [14, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUDummy": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.lsu_requester": [[14, 1, 1, "", "LSURequester"]], "coreblocks.func_blocks.fu.lsu.lsu_requester.LSURequester": [[14, 3, 1, "", "__init__"], [14, 3, 1, "", "check_align"], [14, 3, 1, "", "postprocess_load_data"], [14, 3, 1, "", "prepare_bytes_mask"], [14, 3, 1, "", "prepare_data_to_save"]], "coreblocks.func_blocks.fu.lsu.pma": [[14, 1, 1, "", "PMAChecker"], [14, 1, 1, "", "PMALayout"], [14, 1, 1, "", "PMARegion"]], "coreblocks.func_blocks.fu.lsu.pma.PMAChecker": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMALayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMARegion": [[14, 3, 1, "", "__init__"], [14, 2, 1, "", "end"], [14, 2, 1, "", "mmio"], [14, 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": [[15, 0, 0, "-", "common"], [15, 0, 0, "-", "fast_recursive"], [15, 0, 0, "-", "pipelined"], [15, 0, 0, "-", "sequence"], [15, 0, 0, "-", "shift"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common": [[15, 1, 1, "", "DSPMulUnit"], [15, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.DSPMulUnit": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive": [[15, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined": [[15, 1, 1, "", "PipelinedUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined.PipelinedUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence": [[15, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift": [[15, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[15, 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": [[16, 0, 0, "-", "func_blocks_unifier"], [16, 0, 0, "-", "func_protocols"]], "coreblocks.func_blocks.interface.func_blocks_unifier": [[16, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.func_blocks.interface.func_blocks_unifier.FuncBlocksUnifier": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface.func_protocols": [[16, 1, 1, "", "FuncBlock"], [16, 1, 1, "", "FuncUnit"]], "coreblocks.func_blocks.interface.func_protocols.FuncBlock": [[16, 2, 1, "", "get_result"], [16, 2, 1, "", "insert"], [16, 2, 1, "", "select"], [16, 2, 1, "", "update"]], "coreblocks.func_blocks.interface.func_protocols.FuncUnit": [[16, 2, 1, "", "accept"], [16, 2, 1, "", "issue"]], "coreblocks.params": [[17, 0, 0, "-", "configurations"], [17, 0, 0, "-", "fu_params"], [17, 0, 0, "-", "genparams"], [17, 0, 0, "-", "icache_params"], [17, 0, 0, "-", "instr"]], "coreblocks.params.configurations": [[17, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[17, 3, 1, "", "replace"]], "coreblocks.params.fu_params": [[17, 1, 1, "", "BlockComponentParams"], [17, 1, 1, "", "FunctionalComponentParams"], [17, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[17, 3, 1, "", "__init__"], [17, 3, 1, "", "get_module"], [17, 3, 1, "", "get_optypes"], [17, 3, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[17, 3, 1, "", "get_module"], [17, 3, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[17, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[17, 3, 1, "", "__init__"]], "coreblocks.params.icache_params": [[17, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[17, 3, 1, "", "__init__"]], "coreblocks.params.instr": [[17, 1, 1, "", "BTypeInstr"], [17, 1, 1, "", "EBreakInstr"], [17, 1, 1, "", "ITypeInstr"], [17, 1, 1, "", "IllegalInstr"], [17, 1, 1, "", "JTypeInstr"], [17, 1, 1, "", "RISCVInstr"], [17, 1, 1, "", "RTypeInstr"], [17, 1, 1, "", "STypeInstr"], [17, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.EBreakInstr": [[17, 3, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"], [17, 2, 1, "", "rs1"]], "coreblocks.params.instr.IllegalInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "illegal"]], "coreblocks.params.instr.JTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"]], "coreblocks.params.instr.RISCVInstr": [[17, 3, 1, "", "__init__"], [17, 3, 1, "", "as_value"], [17, 3, 1, "", "encode"], [17, 2, 1, "", "opcode"], [17, 3, 1, "", "shape"]], "coreblocks.params.instr.RTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "rd"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.STypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.UTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"]], "coreblocks.peripherals": [[18, 0, 0, "-", "axi_lite"], [18, 0, 0, "-", "bus_adapter"], [18, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.axi_lite": [[18, 1, 1, "", "AXILiteInterface"], [18, 1, 1, "", "AXILiteMaster"], [18, 1, 1, "", "AXILiteParameters"], [18, 1, 1, "", "AXILiteSignature"]], "coreblocks.peripherals.axi_lite.AXILiteInterface": [[18, 2, 1, "", "read_address"], [18, 2, 1, "", "read_data"], [18, 2, 1, "", "write_address"], [18, 2, 1, "", "write_data"], [18, 2, 1, "", "write_response"]], "coreblocks.peripherals.axi_lite.AXILiteMaster": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "axil_master"], [18, 3, 1, "", "result_handler"], [18, 3, 1, "", "start_request_transaction"], [18, 3, 1, "", "state_machine_request"]], "coreblocks.peripherals.axi_lite.AXILiteParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.axi_lite.AXILiteSignature": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter": [[18, 1, 1, "", "AXILiteMasterAdapter"], [18, 1, 1, "", "BusMasterInterface"], [18, 1, 1, "", "WishboneMasterAdapter"]], "coreblocks.peripherals.bus_adapter.AXILiteMasterAdapter": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter.BusMasterInterface": [[18, 2, 1, "", "get_read_response"], [18, 2, 1, "", "get_write_response"], [18, 2, 1, "", "params"], [18, 2, 1, "", "request_read"], [18, 2, 1, "", "request_write"]], "coreblocks.peripherals.bus_adapter.WishboneMasterAdapter": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone": [[18, 1, 1, "", "PipelinedWishboneMaster"], [18, 1, 1, "", "WishboneArbiter"], [18, 1, 1, "", "WishboneInterface"], [18, 1, 1, "", "WishboneMaster"], [18, 1, 1, "", "WishboneMasterMethodLayout"], [18, 1, 1, "", "WishboneMemorySlave"], [18, 1, 1, "", "WishboneMuxer"], [18, 1, 1, "", "WishboneParameters"], [18, 1, 1, "", "WishboneSignature"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "generate_method_layouts"], [18, 2, 1, "", "wb"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "masters"], [18, 2, 1, "", "slave_wb"]], "coreblocks.peripherals.wishbone.WishboneInterface": [[18, 2, 1, "", "ack"], [18, 2, 1, "", "adr"], [18, 2, 1, "", "cyc"], [18, 2, 1, "", "dat_r"], [18, 2, 1, "", "dat_w"], [18, 2, 1, "", "err"], [18, 2, 1, "", "lock"], [18, 2, 1, "", "rst"], [18, 2, 1, "", "rty"], [18, 2, 1, "", "sel"], [18, 2, 1, "", "stall"], [18, 2, 1, "", "stb"], [18, 2, 1, "", "we"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "wb_master"]], "coreblocks.peripherals.wishbone.WishboneMasterMethodLayout": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "bus"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "master_wb"], [18, 2, 1, "", "slaves"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneSignature": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "create"]], "coreblocks.priv": [[20, 0, 0, "-", "csr"], [21, 0, 0, "-", "traps"]], "coreblocks.priv.csr": [[20, 0, 0, "-", "aliased"], [20, 0, 0, "-", "csr_instances"], [20, 0, 0, "-", "csr_register"]], "coreblocks.priv.csr.aliased": [[20, 1, 1, "", "AliasedCSR"]], "coreblocks.priv.csr.aliased.AliasedCSR": [[20, 3, 1, "", "__init__"], [20, 3, 1, "", "add_field"], [20, 3, 1, "", "add_read_only_field"]], "coreblocks.priv.csr.csr_instances": [[20, 1, 1, "", "DoubleCounterCSR"], [20, 1, 1, "", "GenericCSRRegisters"], [20, 1, 1, "", "MachineModeCSRRegisters"]], "coreblocks.priv.csr.csr_instances.DoubleCounterCSR": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.GenericCSRRegisters": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.MachineModeCSRRegisters": [[20, 3, 1, "", "__init__"], [20, 3, 1, "", "mstatus_fields_implementation"]], "coreblocks.priv.csr.csr_register": [[20, 1, 1, "", "CSRRegister"]], "coreblocks.priv.csr.csr_register.CSRRegister": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.traps": [[21, 0, 0, "-", "exception"], [21, 0, 0, "-", "instr_counter"], [21, 0, 0, "-", "interrupt_controller"]], "coreblocks.priv.traps.exception": [[21, 1, 1, "", "ExceptionInformationRegister"], [21, 4, 1, "", "should_update_prioriy"]], "coreblocks.priv.traps.exception.ExceptionInformationRegister": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps.instr_counter": [[21, 1, 1, "", "CoreInstructionCounter"]], "coreblocks.priv.traps.instr_counter.CoreInstructionCounter": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps.interrupt_controller": [[21, 1, 1, "", "InternalInterruptController"]], "coreblocks.priv.traps.interrupt_controller.InternalInterruptController": [[21, 3, 1, "", "__init__"], [21, 2, 1, "", "custom_report"], [21, 2, 1, "", "internal_report_level"]], "coreblocks.scheduler": [[22, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[22, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[22, 3, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[22, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[22, 3, 1, "", "__init__"]], "transactron": [[37, 0, 0, "-", "core"], [36, 0, 0, "-", "graph"], [38, 0, 0, "-", "lib"], [36, 0, 0, "-", "profiler"], [39, 0, 0, "-", "testing"], [36, 0, 0, "-", "tracing"], [40, 0, 0, "-", "utils"]], "transactron.core": [[37, 0, 0, "-", "keys"], [37, 0, 0, "-", "manager"], [37, 0, 0, "-", "method"], [37, 0, 0, "-", "schedulers"], [37, 0, 0, "-", "sugar"], [37, 0, 0, "-", "tmodule"], [37, 0, 0, "-", "transaction"], [37, 0, 0, "-", "transaction_base"]], "transactron.core.keys": [[37, 1, 1, "", "TransactionManagerKey"]], "transactron.core.keys.TransactionManagerKey": [[37, 3, 1, "", "__init__"]], "transactron.core.manager": [[37, 1, 1, "", "TransactionComponent"], [37, 1, 1, "", "TransactionManager"], [37, 1, 1, "", "TransactionModule"]], "transactron.core.manager.TransactionComponent": [[37, 3, 1, "", "__init__"]], "transactron.core.manager.TransactionManager": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "add_transaction"], [37, 3, 1, "", "debug_signals"], [37, 3, 1, "", "print_info"], [37, 3, 1, "", "visual_graph"]], "transactron.core.manager.TransactionModule": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "context"]], "transactron.core.method": [[37, 1, 1, "", "Method"]], "transactron.core.method.Method": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "body"], [37, 3, 1, "", "debug_signals"], [37, 5, 1, "", "layout_in"], [37, 5, 1, "", "layout_out"], [37, 3, 1, "", "like"], [37, 3, 1, "", "proxy"]], "transactron.core.schedulers": [[37, 4, 1, "", "eager_deterministic_cc_scheduler"], [37, 4, 1, "", "trivial_roundrobin_cc_scheduler"]], "transactron.core.sugar": [[37, 4, 1, "", "def_method"], [37, 4, 1, "", "def_methods"]], "transactron.core.tmodule": [[37, 1, 1, "", "TModule"]], "transactron.core.tmodule.TModule": [[37, 3, 1, "", "AvoidedIf"], [37, 3, 1, "", "Case"], [37, 3, 1, "", "Default"], [37, 3, 1, "", "Elif"], [37, 3, 1, "", "Else"], [37, 3, 1, "", "FSM"], [37, 3, 1, "", "If"], [37, 3, 1, "", "State"], [37, 3, 1, "", "Switch"], [37, 3, 1, "", "__init__"], [37, 5, 1, "", "ctrl_path"], [37, 5, 1, "", "next"]], "transactron.core.transaction": [[37, 1, 1, "", "Transaction"]], "transactron.core.transaction.Transaction": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "body"], [37, 3, 1, "", "debug_signals"]], "transactron.core.transaction_base": [[37, 1, 1, "", "Priority"], [37, 1, 1, "", "TransactionBase"]], "transactron.core.transaction_base.Priority": [[37, 2, 1, "", "LEFT"], [37, 2, 1, "", "RIGHT"], [37, 2, 1, "", "UNDEFINED"]], "transactron.core.transaction_base.TransactionBase": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "add_conflict"], [37, 3, 1, "", "context"], [37, 2, 1, "", "ctrl_path"], [37, 2, 1, "", "def_counter"], [37, 2, 1, "", "def_order"], [37, 2, 1, "", "defined"], [37, 3, 1, "", "get"], [37, 2, 1, "", "independent_list"], [37, 2, 1, "", "method_calls"], [37, 2, 1, "", "method_uses"], [37, 2, 1, "", "name"], [37, 5, 1, "", "owned_name"], [37, 3, 1, "", "peek"], [37, 2, 1, "", "relations"], [37, 3, 1, "", "schedule_before"], [37, 3, 1, "", "simultaneous"], [37, 3, 1, "", "simultaneous_alternatives"], [37, 2, 1, "", "simultaneous_list"], [37, 2, 1, "", "src_loc"], [37, 2, 1, "", "stack"]], "transactron.graph": [[36, 1, 1, "", "Direction"], [36, 1, 1, "", "Owned"], [36, 1, 1, "", "OwnershipGraph"]], "transactron.graph.Direction": [[36, 2, 1, "", "IN"], [36, 2, 1, "", "INOUT"], [36, 2, 1, "", "NONE"], [36, 2, 1, "", "OUT"], [36, 3, 1, "", "__new__"]], "transactron.graph.Owned": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "name"], [36, 2, 1, "", "owner"]], "transactron.graph.OwnershipGraph": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "dump"], [36, 3, 1, "", "dump_dot"], [36, 3, 1, "", "dump_elk"], [36, 3, 1, "", "dump_mermaid"], [36, 3, 1, "", "get_hier_name"], [36, 3, 1, "", "get_name"], [36, 3, 1, "", "insert_edge"], [36, 3, 1, "", "insert_node"], [36, 2, 1, "", "mermaid_direction"], [36, 3, 1, "", "prune"], [36, 3, 1, "", "remember"], [36, 3, 1, "", "remember_field"]], "transactron.lib": [[38, 0, 0, "-", "adapters"], [38, 0, 0, "-", "buttons"], [38, 0, 0, "-", "connectors"], [38, 0, 0, "-", "dependencies"], [38, 0, 0, "-", "fifo"], [38, 0, 0, "-", "logging"], [38, 0, 0, "-", "metrics"], [38, 0, 0, "-", "reqres"], [38, 0, 0, "-", "simultaneous"], [38, 0, 0, "-", "storage"], [38, 0, 0, "-", "transformers"]], "transactron.lib.adapters": [[38, 1, 1, "", "Adapter"], [38, 1, 1, "", "AdapterBase"], [38, 1, 1, "", "AdapterTrans"]], "transactron.lib.adapters.Adapter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "set"]], "transactron.lib.adapters.AdapterBase": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "data_in"], [38, 2, 1, "", "data_out"], [38, 3, 1, "", "debug_signals"], [38, 2, 1, "", "done"], [38, 2, 1, "", "en"]], "transactron.lib.adapters.AdapterTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.buttons": [[38, 1, 1, "", "ClickIn"], [38, 1, 1, "", "ClickOut"]], "transactron.lib.buttons.ClickIn": [[38, 3, 1, "", "__init__"]], "transactron.lib.buttons.ClickOut": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors": [[38, 1, 1, "", "Connect"], [38, 1, 1, "", "ConnectTrans"], [38, 1, 1, "", "FIFO"], [38, 1, 1, "", "Forwarder"], [38, 1, 1, "", "ManyToOneConnectTrans"], [38, 1, 1, "", "Pipe"], [38, 1, 1, "", "StableSelectingNetwork"]], "transactron.lib.connectors.Connect": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.ConnectTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.FIFO": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.Forwarder": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.ManyToOneConnectTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.Pipe": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.StableSelectingNetwork": [[38, 3, 1, "", "__init__"]], "transactron.lib.dependencies": [[38, 1, 1, "", "DependencyKey"], [38, 1, 1, "", "DependencyManager"], [38, 1, 1, "", "ListKey"], [38, 1, 1, "", "SimpleKey"], [38, 1, 1, "", "UnifierKey"]], "transactron.lib.dependencies.DependencyKey": [[38, 2, 1, "", "cache"], [38, 3, 1, "", "combine"], [38, 2, 1, "", "empty_valid"], [38, 2, 1, "", "lock_on_get"]], "transactron.lib.dependencies.DependencyManager": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add_dependency"], [38, 3, 1, "", "get_dependency"]], "transactron.lib.dependencies.ListKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "empty_valid"]], "transactron.lib.dependencies.SimpleKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "default_value"]], "transactron.lib.dependencies.UnifierKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "unifier"]], "transactron.lib.fifo": [[38, 1, 1, "", "BasicFifo"], [38, 1, 1, "", "Semaphore"]], "transactron.lib.fifo.BasicFifo": [[38, 3, 1, "", "__init__"]], "transactron.lib.fifo.Semaphore": [[38, 3, 1, "", "__init__"]], "transactron.lib.logging": [[38, 1, 1, "", "HardwareLogger"], [38, 1, 1, "", "LogKey"], [38, 1, 1, "", "LogRecord"], [38, 1, 1, "", "LogRecordInfo"], [38, 4, 1, "", "get_log_records"], [38, 4, 1, "", "get_trigger_bit"]], "transactron.lib.logging.HardwareLogger": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "assertion"], [38, 3, 1, "", "debug"], [38, 3, 1, "", "error"], [38, 3, 1, "", "info"], [38, 3, 1, "", "log"], [38, 3, 1, "", "warning"]], "transactron.lib.logging.LogKey": [[38, 3, 1, "", "__init__"]], "transactron.lib.logging.LogRecord": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "fields"], [38, 2, 1, "", "trigger"]], "transactron.lib.logging.LogRecordInfo": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "format"], [38, 2, 1, "", "format_str"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "level"], [38, 2, 1, "", "location"], [38, 2, 1, "", "logger_name"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"]], "transactron.lib.metrics": [[38, 1, 1, "", "FIFOLatencyMeasurer"], [38, 1, 1, "", "HardwareMetricsManager"], [38, 1, 1, "", "HwCounter"], [38, 1, 1, "", "HwExpHistogram"], [38, 1, 1, "", "HwMetric"], [38, 1, 1, "", "HwMetricsEnabledKey"], [38, 1, 1, "", "MetricModel"], [38, 1, 1, "", "MetricRegisterModel"], [38, 1, 1, "", "TaggedCounter"], [38, 1, 1, "", "TaggedLatencyMeasurer"]], "transactron.lib.metrics.FIFOLatencyMeasurer": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "metrics_enabled"], [38, 3, 1, "", "start"], [38, 3, 1, "", "stop"]], "transactron.lib.metrics.HardwareMetricsManager": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "debug_signals"], [38, 3, 1, "", "get_metrics"], [38, 3, 1, "", "get_register_value"]], "transactron.lib.metrics.HwCounter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "incr"]], "transactron.lib.metrics.HwExpHistogram": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add"]], "transactron.lib.metrics.HwMetric": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add_registers"], [38, 3, 1, "", "metrics_enabled"]], "transactron.lib.metrics.HwMetricsEnabledKey": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "default_value"], [38, 2, 1, "", "empty_valid"], [38, 2, 1, "", "lock_on_get"]], "transactron.lib.metrics.MetricModel": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "description"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "fully_qualified_name"], [38, 2, 1, "", "regs"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"]], "transactron.lib.metrics.MetricRegisterModel": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "description"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "name"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"], [38, 2, 1, "", "width"]], "transactron.lib.metrics.TaggedCounter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "incr"]], "transactron.lib.metrics.TaggedLatencyMeasurer": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "metrics_enabled"], [38, 3, 1, "", "start"], [38, 3, 1, "", "stop"]], "transactron.lib.reqres": [[38, 1, 1, "", "ArgumentsToResultsZipper"], [38, 1, 1, "", "Serializer"]], "transactron.lib.reqres.ArgumentsToResultsZipper": [[38, 3, 1, "", "__init__"]], "transactron.lib.reqres.Serializer": [[38, 3, 1, "", "__init__"]], "transactron.lib.simultaneous": [[38, 4, 1, "", "condition"]], "transactron.lib.storage": [[38, 1, 1, "", "AsyncMemoryBank"], [38, 1, 1, "", "ContentAddressableMemory"], [38, 1, 1, "", "MemoryBank"]], "transactron.lib.storage.AsyncMemoryBank": [[38, 3, 1, "", "__init__"]], "transactron.lib.storage.ContentAddressableMemory": [[38, 3, 1, "", "__init__"]], "transactron.lib.storage.MemoryBank": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers": [[38, 1, 1, "", "CatTrans"], [38, 1, 1, "", "Collector"], [38, 1, 1, "", "ConnectAndMapTrans"], [38, 1, 1, "", "MethodFilter"], [38, 1, 1, "", "MethodMap"], [38, 1, 1, "", "MethodProduct"], [38, 1, 1, "", "MethodTryProduct"], [38, 1, 1, "", "Transformer"], [38, 1, 1, "", "Unifier"]], "transactron.lib.transformers.CatTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.Collector": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.ConnectAndMapTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodFilter": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodMap": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodProduct": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodTryProduct": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.Transformer": [[38, 2, 1, "", "method"], [38, 3, 1, "", "use"]], "transactron.lib.transformers.Unifier": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "method"]], "transactron.profiler": [[36, 1, 1, "", "MethodSamples"], [36, 1, 1, "", "Profile"], [36, 1, 1, "", "ProfileData"], [36, 1, 1, "", "ProfileInfo"], [36, 1, 1, "", "ProfileSamples"], [36, 1, 1, "", "RunStat"], [36, 1, 1, "", "RunStatNode"], [36, 1, 1, "", "TransactionSamples"]], "transactron.profiler.MethodSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "run"]], "transactron.profiler.Profile": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "analyze_methods"], [36, 3, 1, "", "analyze_transactions"], [36, 2, 1, "", "cycles"], [36, 3, 1, "", "decode"], [36, 3, 1, "", "encode"], [36, 3, 1, "", "from_dict"], [36, 3, 1, "", "from_json"], [36, 3, 1, "", "schema"], [36, 3, 1, "", "to_dict"], [36, 3, 1, "", "to_json"], [36, 2, 1, "", "transactions_and_methods"]], "transactron.profiler.ProfileData": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "make"], [36, 2, 1, "", "method_parents"], [36, 2, 1, "", "transaction_conflicts"], [36, 2, 1, "", "transactions_and_methods"], [36, 2, 1, "", "transactions_by_method"]], "transactron.profiler.ProfileInfo": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "from_dict"], [36, 3, 1, "", "from_json"], [36, 2, 1, "", "is_transaction"], [36, 2, 1, "", "name"], [36, 3, 1, "", "schema"], [36, 2, 1, "", "src_loc"], [36, 3, 1, "", "to_dict"], [36, 3, 1, "", "to_json"]], "transactron.profiler.ProfileSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "methods"], [36, 2, 1, "", "transactions"]], "transactron.profiler.RunStat": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "locked"], [36, 3, 1, "", "make"], [36, 2, 1, "", "name"], [36, 2, 1, "", "run"], [36, 2, 1, "", "src_loc"]], "transactron.profiler.RunStatNode": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "callers"], [36, 3, 1, "", "make"], [36, 2, 1, "", "stat"]], "transactron.profiler.TransactionSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "grant"], [36, 2, 1, "", "request"], [36, 2, 1, "", "runnable"]], "transactron.testing": [[39, 0, 0, "-", "functions"], [39, 0, 0, "-", "gtkw_extension"], [39, 0, 0, "-", "infrastructure"], [39, 0, 0, "-", "input_generation"], [39, 0, 0, "-", "logging"], [39, 0, 0, "-", "profiler"], [39, 0, 0, "-", "sugar"], [39, 0, 0, "-", "testbenchio"]], "transactron.testing.functions": [[39, 4, 1, "", "get_outputs"]], "transactron.testing.gtkw_extension": [[39, 4, 1, "", "write_vcd_ext"]], "transactron.testing.infrastructure": [[39, 1, 1, "", "CoreblocksCommand"], [39, 1, 1, "", "Now"], [39, 1, 1, "", "PysimSimulator"], [39, 1, 1, "", "SimpleTestCircuit"], [39, 1, 1, "", "SyncProcessWrapper"], [39, 1, 1, "", "TestCaseWithSimulator"], [39, 4, 1, "", "guard_nested_collection"]], "transactron.testing.infrastructure.PysimSimulator": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "add_process"], [39, 3, 1, "", "run"]], "transactron.testing.infrastructure.SimpleTestCircuit": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "debug_signals"]], "transactron.testing.infrastructure.SyncProcessWrapper": [[39, 3, 1, "", "__init__"]], "transactron.testing.infrastructure.TestCaseWithSimulator": [[39, 3, 1, "", "add_all_mocks"], [39, 3, 1, "", "add_class_mocks"], [39, 3, 1, "", "add_local_mocks"], [39, 3, 1, "", "configure_dependency_context"], [39, 3, 1, "", "configure_logging"], [39, 3, 1, "", "configure_profiles"], [39, 3, 1, "", "configure_traces"], [39, 2, 1, "", "dependency_manager"], [39, 3, 1, "", "fixture_initialize_testing_env"], [39, 3, 1, "", "multi_settle"], [39, 3, 1, "", "random_wait"], [39, 3, 1, "", "random_wait_geom"], [39, 3, 1, "", "reinitialize_fixtures"], [39, 3, 1, "", "run_simulation"], [39, 3, 1, "", "tick"]], "transactron.testing.input_generation": [[39, 1, 1, "", "OpNOP"], [39, 4, 1, "", "generate_based_on_layout"], [39, 4, 1, "", "generate_method_input"], [39, 4, 1, "", "generate_nops_in_list"], [39, 4, 1, "", "generate_process_input"], [39, 4, 1, "", "generate_shrinkable_list"], [39, 4, 1, "", "insert_nops"]], "transactron.testing.logging": [[39, 4, 1, "", "make_logging_process"], [39, 4, 1, "", "parse_logging_level"]], "transactron.testing.profiler": [[39, 4, 1, "", "profiler_process"]], "transactron.testing.sugar": [[39, 4, 1, "", "def_method_mock"]], "transactron.testing.testbenchio": [[39, 1, 1, "", "TestbenchIO"]], "transactron.testing.testbenchio.TestbenchIO": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "call"], [39, 3, 1, "", "call_do"], [39, 3, 1, "", "call_init"], [39, 3, 1, "", "call_result"], [39, 3, 1, "", "call_try"], [39, 3, 1, "", "debug_signals"], [39, 3, 1, "", "disable"], [39, 3, 1, "", "done"], [39, 3, 1, "", "enable"], [39, 3, 1, "", "get_outputs"], [39, 3, 1, "", "method_argument"], [39, 3, 1, "", "method_handle"], [39, 3, 1, "", "method_handle_loop"], [39, 3, 1, "", "method_return"], [39, 3, 1, "", "set_enable"], [39, 3, 1, "", "set_inputs"], [39, 3, 1, "", "wait_until_done"]], "transactron.tracing": [[36, 1, 1, "", "TracingEnabler"], [36, 1, 1, "", "TracingFragment"], [36, 1, 1, "", "TracingFragmentTransformer"], [36, 1, 1, "", "TracingInstance"]], "transactron.tracing.TracingFragment": [[36, 3, 1, "", "get"], [36, 3, 1, "", "prepare"], [36, 2, 1, "", "subfragments"]], "transactron.tracing.TracingFragmentTransformer": [[36, 3, 1, "", "on_fragment"]], "transactron.tracing.TracingInstance": [[36, 3, 1, "", "get"]], "transactron.utils": [[41, 0, 0, "-", "amaranth_ext"], [40, 0, 0, "-", "assign"], [40, 0, 0, "-", "data_repr"], [40, 0, 0, "-", "debug_signals"], [40, 0, 0, "-", "depcache"], [40, 0, 0, "-", "dependencies"], [40, 0, 0, "-", "gen"], [40, 0, 0, "-", "idgen"], [40, 0, 0, "-", "transactron_helpers"]], "transactron.utils.amaranth_ext": [[41, 0, 0, "-", "elaboratables"], [41, 0, 0, "-", "functions"]], "transactron.utils.amaranth_ext.elaboratables": [[41, 1, 1, "", "ModuleConnector"], [41, 1, 1, "", "MultiPriorityEncoder"], [41, 4, 1, "", "OneHotSwitch"], [41, 4, 1, "", "OneHotSwitchDynamic"], [41, 1, 1, "", "RingMultiPriorityEncoder"], [41, 1, 1, "", "RoundRobin"], [41, 1, 1, "", "Scheduler"]], "transactron.utils.amaranth_ext.elaboratables.ModuleConnector": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.elaboratables.MultiPriorityEncoder": [[41, 3, 1, "", "__init__"], [41, 3, 1, "", "build_tree"], [41, 3, 1, "", "create"], [41, 3, 1, "", "create_simple"]], "transactron.utils.amaranth_ext.elaboratables.RingMultiPriorityEncoder": [[41, 3, 1, "", "__init__"], [41, 3, 1, "", "create"], [41, 3, 1, "", "create_simple"]], "transactron.utils.amaranth_ext.elaboratables.RoundRobin": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.elaboratables.Scheduler": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.functions": [[41, 4, 1, "", "count_leading_zeros"], [41, 4, 1, "", "count_trailing_zeros"], [41, 4, 1, "", "flatten_signals"], [41, 4, 1, "", "mod_incr"], [41, 4, 1, "", "popcount"]], "transactron.utils.assign": [[40, 1, 1, "", "AssignType"], [40, 4, 1, "", "assign"]], "transactron.utils.assign.AssignType": [[40, 2, 1, "", "ALL"], [40, 2, 1, "", "COMMON"], [40, 2, 1, "", "LHS"], [40, 2, 1, "", "RHS"]], "transactron.utils.data_repr": [[40, 4, 1, "", "align_down_to_power_of_two"], [40, 4, 1, "", "align_to_power_of_two"], [40, 4, 1, "", "average_dict_of_lists"], [40, 4, 1, "", "bits_from_int"], [40, 4, 1, "", "data_layout"], [40, 4, 1, "", "int_to_signed"], [40, 4, 1, "", "layout_subset"], [40, 4, 1, "", "make_hashable"], [40, 4, 1, "", "neg"], [40, 4, 1, "", "signed_to_int"]], "transactron.utils.debug_signals": [[40, 4, 1, "", "auto_debug_signals"]], "transactron.utils.depcache": [[40, 1, 1, "", "DependentCache"]], "transactron.utils.depcache.DependentCache": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "get"]], "transactron.utils.dependencies": [[40, 1, 1, "", "DependencyContext"], [40, 1, 1, "", "DependencyKey"], [40, 1, 1, "", "DependencyManager"], [40, 1, 1, "", "ListKey"], [40, 1, 1, "", "SimpleKey"]], "transactron.utils.dependencies.DependencyContext": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "get"], [40, 2, 1, "", "stack"]], "transactron.utils.dependencies.DependencyKey": [[40, 2, 1, "", "cache"], [40, 3, 1, "", "combine"], [40, 2, 1, "", "empty_valid"], [40, 2, 1, "", "lock_on_get"]], "transactron.utils.dependencies.DependencyManager": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "add_dependency"], [40, 3, 1, "", "get_dependency"]], "transactron.utils.dependencies.ListKey": [[40, 3, 1, "", "combine"], [40, 2, 1, "", "empty_valid"]], "transactron.utils.dependencies.SimpleKey": [[40, 3, 1, "", "combine"], [40, 2, 1, "", "default_value"]], "transactron.utils.gen": [[40, 1, 1, "", "GeneratedLog"], [40, 1, 1, "", "GenerationInfo"], [40, 1, 1, "", "MetricLocation"], [40, 4, 1, "", "generate_verilog"]], "transactron.utils.gen.GeneratedLog": [[40, 3, 1, "", "__init__"], [40, 2, 1, "", "fields_location"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"], [40, 2, 1, "", "trigger_location"]], "transactron.utils.gen.GenerationInfo": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "decode"], [40, 3, 1, "", "encode"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 2, 1, "", "logs"], [40, 2, 1, "", "method_signals_location"], [40, 2, 1, "", "metrics_location"], [40, 2, 1, "", "profile_data"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"], [40, 2, 1, "", "transaction_signals_location"]], "transactron.utils.gen.MetricLocation": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 2, 1, "", "regs"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"]], "transactron.utils.idgen": [[40, 1, 1, "", "IdGenerator"]], "transactron.utils.idgen.IdGenerator": [[40, 3, 1, "", "__init__"]], "transactron.utils.transactron_helpers": [[40, 4, 1, "", "def_helper"], [40, 4, 1, "", "extend_layout"], [40, 4, 1, "", "from_method_layout"], [40, 4, 1, "", "get_caller_class_name"], [40, 4, 1, "", "get_src_loc"], [40, 4, 1, "", "longest_common_prefix"], [40, 4, 1, "", "make_layout"], [40, 4, 1, "", "method_def_helper"], [40, 4, 1, "", "mock_def_helper"], [40, 4, 1, "", "silence_mustuse"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property"}, "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"], "5": ["py", "property", "Python property"]}, "titleterms": {"api": 0, "coreblock": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 28, 35], "transactron": [0, 29, 36, 37, 38, 39, 40, 41], "list": 1, "assumpt": [1, 3], "made": 1, "dure": 1, "develop": [1, 24], "instruct": [3, 33], "cach": [3, 7], "interfac": [3, 16, 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, 36, 37, 38, 39, 40, 41], "subpackag": [4, 9, 12, 13, 19, 36, 40], "submodul": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 36, 37, 38, 39, 40, 41], "core": [4, 34, 37], "modul": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 41], "content": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 41], "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], "fu": [13, 14, 15], "alu": 13, "div_unit": 13, "except": [13, 21, 27], "jumpbranch": 13, "mul_unit": 13, "priv": [13, 19, 20, 21], "shift_unit": 13, "zbc": 13, "zb": 13, "lsu": 14, "dummylsu": 14, "lsu_request": 14, "pma": 14, "unsigned_multipl": 15, "common": 15, "fast_recurs": 15, "pipelin": 15, "sequenc": 15, "shift": 15, "func_blocks_unifi": 16, "func_protocol": 16, "param": 17, "configur": 17, "fu_param": 17, "genparam": 17, "icache_param": 17, "instr": 17, "peripher": 18, "axi_lit": 18, "bus_adapt": 18, "wishbon": 18, "csr": 20, "alias": 20, "csr_instanc": 20, "csr_regist": 20, "trap": 21, "instr_count": 21, "interrupt_control": 21, "schedul": [22, 31, 35, 37], "wakeup_select": 22, "full": 23, "transact": [23, 35, 37], "method": [23, 32, 33, 35, 37], "graph": [23, 36], "environ": 24, "set": 24, "up": 24, "us": [24, 32, 33], "script": 24, "run_test": 24, "py": 24, "lint": 24, "sh": 24, "core_graph": 24, "build_doc": 24, "tprof": 24, "introduct": [25, 27, 35], "document": [25, 35], "summari": 27, "paper": 27, "about": 27, "interrupt": 27, "handl": 27, "old": 27, "pc": 27, "out": 27, "order": [27, 35], "execut": [27, 34], "processor": 27, "In": 27, "line": 27, "softwar": 27, "manag": [27, 37], "tlb": 27, "hardwar": 27, "cost": 27, "analysi": 27, "process": 27, "strategi": 27, "igpu": 27, "support": 27, "specul": 27, "gpu": 27, "effici": 27, "other": 27, "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, 35], "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, 35], "vector": 33, "signal": [33, 35], "verif": 34, "synthesi": 34, "manual": 34, "reproduct": 34, "depend": [34, 38, 40], "benchmark": 34, "regress": 34, "test": [34, 39], "framework": 35, "basic": 35, "usag": 35, "argument": 35, "pass": 35, "convent": 35, "definit": 35, "return": 35, "valu": 35, "The": 35, "librari": 35, "advanc": 35, "concept": 35, "special": 35, "combin": 35, "domain": 35, "conflict": 35, "nest": 35, "profil": [36, 39], "trace": 36, "kei": 37, "sugar": [37, 39], "tmodul": 37, "transaction_bas": 37, "lib": 38, "adapt": 38, "button": 38, "connector": 38, "fifo": 38, "log": [38, 39], "metric": 38, "reqr": 38, "simultan": 38, "storag": 38, "transform": 38, "function": [39, 41], "gtkw_extens": 39, "infrastructur": 39, "input_gener": 39, "testbenchio": 39, "util": [40, 41], "assign": 40, "data_repr": 40, "debug_sign": 40, "depcach": 40, "gen": 40, "idgen": 40, "transactron_help": 40, "amaranth_ext": 41, "elaborat": 41}, "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.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", "modules-transactron", "problem-checklist", "scheduler/overview", "shared-structs/implementation/rs-impl", "shared-structs/rs", "synthesis/synthesis", "transactions", "transactron", "transactron.core", "transactron.lib", "transactron.testing", "transactron.utils", "transactron.utils.amaranth_ext"], "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.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", "modules-transactron.rst", "problem-checklist.md", "scheduler/overview.md", "shared-structs/implementation/rs-impl.md", "shared-structs/rs.md", "synthesis/synthesis.md", "transactions.md", "transactron.rst", "transactron.core.rst", "transactron.lib.rst", "transactron.testing.rst", "transactron.utils.rst", "transactron.utils.amaranth_ext.rst"], "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.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", "transactron", "Problem checklist", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Core verification", "Documentation for Coreblocks transaction framework", "transactron package", "transactron.core package", "transactron.lib package", "transactron.testing package", "transactron.utils package", "transactron.utils.amaranth_ext package"], "terms": {"packag": [0, 24, 26, 28, 29], "subpackag": [0, 28, 29], "arch": [0, 4, 13, 14, 17, 22, 24, 28, 34], "submodul": [0, 12, 19, 28, 29, 34], "csr_address": [0, 4, 28], "modul": [0, 24, 28, 29, 34, 35], "isa": [0, 4, 10, 20, 28], "isa_const": [0, 4, 28], "optyp": [0, 4, 10, 13, 14, 17, 22, 28], "content": [0, 28, 29], "backend": [0, 4, 28, 38], "annouc": [0, 4, 28], "retir": [0, 4, 21, 28], "cach": [0, 4, 11, 17, 26, 28, 38, 40], "icach": [0, 4, 11, 28, 38], "ifac": [0, 4, 28, 38], "refil": [0, 3, 4, 28], "core_struct": [0, 4, 28], "rat": [0, 1, 4, 22, 27, 28], "rf": [0, 1, 4, 6, 27, 28, 32, 33], "rob": [0, 1, 4, 6, 21, 22, 27, 28, 31, 32, 33], "frontend": [0, 4, 28, 31, 38], "frontend_param": [0, 4, 28], "func_block": [0, 4, 22, 28], "param": [0, 4, 7, 13, 18, 28], "configur": [0, 4, 5, 18, 21, 22, 28, 34, 38], "fu_param": [0, 4, 28], "genparam": [0, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 20, 21, 22, 28], "icache_param": [0, 4, 28], "instr": [0, 4, 10, 28], "peripher": [0, 4, 28], "axi_lit": [0, 4, 28], "bus_adapt": [0, 4, 28], "wishbon": [0, 4, 28], "priv": [0, 4, 5, 12, 28], "schedul": [0, 4, 26, 27, 28, 29, 36, 38, 41], "wakeup_select": [0, 4, 28], "core": [0, 6, 9, 10, 11, 13, 15, 18, 20, 21, 22, 24, 26, 27, 28, 29, 36, 38, 40], "kei": [0, 20, 29, 36, 38, 40], "manag": [0, 11, 13, 24, 26, 29, 36, 38, 40], "method": [0, 3, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 29, 36, 38, 39, 40, 41], "sugar": [0, 29, 36, 41], "tmodul": [0, 14, 18, 20, 21, 29, 35, 36, 38], "transact": [0, 5, 10, 18, 20, 24, 26, 29, 32, 36, 38, 41], "transaction_bas": [0, 29, 36], "lib": [0, 11, 20, 29, 36, 37, 39, 40, 41], "adapt": [0, 18, 29, 35, 36, 39], "button": [0, 29, 36], "connector": [0, 29, 36], "depend": [0, 5, 11, 20, 26, 29, 35, 36, 41], "fifo": [0, 6, 27, 29, 35, 36, 37], "log": [0, 17, 18, 27, 29, 36, 40], "metric": [0, 29, 36, 40], "reqr": [0, 29, 36], "simultan": [0, 29, 35, 36, 37], "storag": [0, 29, 36], "transform": [0, 29, 36], "test": [0, 24, 26, 29, 30, 36, 37, 38, 40, 41], "function": [0, 5, 10, 13, 17, 20, 22, 27, 29, 30, 35, 36, 37, 38, 40], "gtkw_extens": [0, 29, 36], "infrastructur": [0, 29, 36], "input_gener": [0, 29, 36], "profil": [0, 24, 29], "testbenchio": [0, 29, 30, 36], "util": [0, 29, 30, 35, 36, 38], "assign": [0, 20, 21, 29, 30, 35, 36, 37], "data_repr": [0, 29, 36], "debug_sign": [0, 6, 29, 36, 37, 38, 39], "depcach": [0, 29, 36], "gen": [0, 10, 13, 15, 29, 36], "idgen": [0, 29, 36], "transactron_help": [0, 29, 36], "graph": [0, 24, 26, 29, 34, 37], "trace": [0, 24, 29, 39], "ha": [1, 7, 10, 11, 22, 24, 27, 30, 32, 35, 36, 37, 38, 41], "data": [1, 10, 11, 14, 18, 20, 21, 26, 33, 34, 36, 37, 38, 39, 40, 41], "forward": [1, 11, 18, 35, 37, 38], "from": [1, 6, 7, 9, 10, 11, 14, 18, 20, 21, 22, 24, 25, 27, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "tomasulo": 1, "announc": [1, 6], "bu": [1, 5, 14, 17, 18], "read": [1, 14, 18, 20, 24, 26, 30, 35, 37, 38, 40], "x0": [1, 5], "rf0": 1, "return": [1, 3, 9, 13, 14, 17, 18, 20, 21, 26, 27, 37, 38, 39, 40, 41], "0": [1, 5, 10, 13, 18, 20, 21, 22, 32, 33, 34, 36, 37, 38, 39, 41], "write": [1, 7, 10, 18, 20, 27, 33, 35, 37, 38], "i": [1, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "noop": 1, "separ": [1, 31, 36, 37, 38, 40], "r": [1, 5, 6, 22, 24, 27, 31, 32, 33, 34], "each": [1, 5, 13, 18, 20, 21, 24, 26, 27, 32, 33, 35, 36, 37, 38, 39, 40, 41], "fu": [1, 4, 5, 6, 12, 21, 32, 33, 38], "writeback": 1, "stage": [1, 11, 21], "save": [1, 5, 6, 21, 24, 27, 32, 33, 36, 38, 40], "after": [1, 3, 7, 9, 18, 21, 27, 31, 34, 35, 38], "get": [1, 5, 6, 10, 11, 13, 15, 22, 24, 26, 36, 37, 38, 39, 40, 41], "output": [1, 6, 7, 14, 18, 24, 27, 32, 33, 37, 38, 41], "commit": [1, 24, 27, 34], "updat": [1, 16, 20, 34, 38, 41], "The": [3, 6, 7, 11, 13, 17, 18, 24, 25, 26, 27, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41], "should": [3, 5, 6, 7, 10, 11, 17, 18, 20, 21, 22, 24, 25, 27, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41], "expos": [3, 38, 40], "three": [3, 10, 27, 34, 37], "issue_req": [3, 7], "thi": [3, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 24, 27, 30, 32, 33, 34, 35, 36, 37, 38, 40, 41], "issu": [3, 7, 13, 14, 15, 16, 22, 24, 35, 38], "an": [3, 6, 7, 9, 11, 14, 17, 18, 22, 24, 25, 27, 30, 32, 34, 35, 36, 37, 38, 39, 40, 41], "lookup": [3, 7], "request": [3, 7, 13, 14, 15, 17, 18, 35, 36, 37, 38, 39, 41], "accept_resp": 3, "result": [3, 6, 7, 10, 13, 14, 15, 17, 18, 21, 27, 34, 35, 38, 40], "flush": [3, 7, 9, 21, 27], "entir": [3, 34, 35], "oper": [3, 5, 10, 13, 20, 21, 27, 35, 37, 38, 41], "under": [3, 35, 36, 37], "follow": [3, 11, 13, 17, 22, 24, 32, 34, 35, 38, 40], "ar": [3, 5, 6, 10, 11, 14, 17, 18, 20, 21, 24, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "alwai": [3, 10, 17, 20, 34, 35, 37, 38, 39, 41], "multipl": [3, 5, 13, 15, 18, 22, 35, 37, 38, 40], "4": [3, 5, 11, 13, 14, 38, 40], "byte": [3, 11, 17, 36, 38, 40], "risc": [3, 5, 10, 17, 21, 25, 34], "v": [3, 5, 10, 17, 21, 24, 25, 27, 32, 34, 38], "specif": [3, 5, 10, 18, 21, 24, 27, 34, 38], "requir": [3, 20, 24, 27, 34, 35, 36, 37], "align": [3, 11, 14, 40], "c": [3, 5, 11, 27, 34, 38], "extens": [3, 5, 11, 34, 41], "introduc": [3, 27, 35], "16": [3, 5, 21, 27, 37], "bit": [3, 5, 7, 10, 13, 15, 17, 18, 20, 21, 27, 32, 33, 35, 37, 38, 40, 41], "relax": [3, 35], "fetch": [3, 4, 5, 6, 7, 9, 10, 21, 27], "unit": [3, 6, 10, 11, 13, 14, 15, 18, 22, 24, 31, 34], "handl": [3, 11, 13, 21, 26, 35, 37], "case": [3, 5, 6, 14, 17, 18, 22, 27, 30, 35, 37, 38, 40, 41], "fulli": [3, 11, 14, 38], "pipelin": [3, 12, 13, 14, 18, 22, 27, 32, 38], "process": [3, 21, 24, 26, 34, 38, 39], "order": [3, 5, 11, 21, 22, 24, 25, 26, 34, 37, 38, 41], "As": [3, 27, 35, 38], "can": [3, 6, 11, 14, 18, 20, 21, 24, 25, 27, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41], "invok": [3, 6, 10, 11, 22, 27, 32, 39], "independ": [3, 35, 38], "accept_r": [3, 7], "If": [3, 10, 17, 18, 20, 21, 27, 30, 32, 35, 36, 37, 38, 40, 41], "space": [3, 27], "anoth": [3, 7, 17, 24, 35, 37, 38], "simpli": 3, "block": [3, 7, 9, 11, 15, 16, 18, 22, 26, 27, 35, 37, 38], "latenc": [3, 14, 27, 34, 38], "least": [3, 17, 37], "one": [3, 6, 7, 11, 13, 18, 21, 24, 27, 31, 32, 33, 35, 37, 38, 39, 40, 41], "cycl": [3, 5, 13, 15, 18, 20, 21, 24, 27, 31, 34, 35, 36, 37, 38, 39], "miss": [3, 27], "occur": [3, 7], "arbitrarili": 3, "long": [3, 33, 34, 38], "ensur": [3, 34], "ani": [3, 10, 17, 18, 22, 27, 30, 38, 39, 40, 41], "refetch": 3, "howev": [3, 17, 37, 38], "guarante": [3, 27], "have": [3, 6, 14, 17, 18, 24, 27, 30, 34, 35, 37, 38, 40, 41], "alreadi": [3, 6, 27, 38, 40, 41], "been": [3, 41], "still": [3, 27, 33, 37, 38], "wait": [3, 6, 18, 21, 24, 27, 32, 33, 37, 39], "accept": [3, 7, 11, 13, 14, 15, 16, 34, 37, 38, 40], "inform": [3, 17, 22, 24, 36, 38, 40], "regard": 3, "error": [3, 7, 11, 18, 37, 38, 40], "mean": [3, 22, 24, 33, 37, 38], "dure": [3, 14, 26, 31, 38, 39], "line": [3, 7, 17, 24, 26], "subsequ": [3, 38, 40], "access": [3, 5, 18, 20, 27, 35, 38, 39, 40], "trigger": [3, 20, 21, 38, 40], "which": [3, 6, 7, 10, 11, 13, 14, 18, 22, 24, 25, 27, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "most": [3, 21, 27, 35, 37, 38], "like": [3, 10, 17, 27, 35, 37, 38], "For": [3, 5, 9, 17, 24, 32, 33, 35, 36, 38, 40, 41], "32": [3, 5, 13, 15, 18, 27, 35, 38], "128": [3, 5], "set": [3, 7, 10, 13, 14, 17, 20, 21, 22, 26, 32, 34, 37, 38, 40, 41], "size": [3, 11, 17, 18, 27, 35, 38, 40], "equal": [3, 21, 38, 41], "31": [3, 5], "15": [3, 5, 21], "14": [3, 5], "13": [3, 5], "12": [3, 5], "11": [3, 5, 24, 34], "10": [3, 5, 27], "09": 3, "08": 3, "07": 3, "06": [3, 39], "05": 3, "04": 3, "03": 3, "02": 3, "01": 3, "00": 3, "tag": [3, 18, 27, 32, 33, 38], "index": [3, 9, 36, 37, 38, 41], "offset": [3, 17], "decod": [4, 9, 11, 13, 22, 36, 40, 41], "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, 17, 19, 26, 30, 37, 39, 40], "jumpbranch": [4, 12, 38], "mul_unit": [4, 12], "shift_unit": [4, 12], "zbc": [4, 5, 12], "zb": [4, 5, 12], "interfac": [4, 7, 10, 12, 14, 15, 18, 21, 22, 26, 34, 35, 37, 38], "func_blocks_unifi": [4, 12], "func_protocol": [4, 12, 22], "csr": [4, 5, 10, 19, 21], "alias": [4, 19], "csr_instanc": [4, 19], "csr_regist": [4, 19], "trap": [4, 19], "instr_count": [4, 19], "interrupt_control": [4, 19], "class": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 35, 36, 37, 38, 39, 40, 41], "base": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 27, 36, 37, 38, 39, 40, 41], "compon": [4, 10, 17, 18, 21, 25, 37, 38], "__init__": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 35, 36, 37, 38, 39, 40, 41], "gen_param": [4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22], "wb_data": 4, "wishboneinterfac": [4, 18], "wb_instr": 4, "csraddress": [5, 20], "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, 24, 36, 37, 40], "fflag": 5, "1": [5, 10, 13, 15, 17, 20, 21, 22, 27, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], "frm": 5, "2": [5, 13, 15, 18, 20, 34, 36, 37, 38, 40], "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, 38], "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, 27], "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, 20], "768": 5, "mstatush": [5, 20], "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, 18, 27, 37, 38], "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, 36], "valu": [5, 6, 7, 9, 10, 13, 14, 17, 18, 20, 21, 22, 26, 30, 32, 33, 36, 37, 38, 39, 40, 41], "mstatusfieldoffset": 5, "f": [5, 22, 24, 34, 39], "mbe": 5, "37": 5, "mpie": 5, "7": [5, 15], "mpp": 5, "mprv": 5, "mxr": 5, "19": 5, "sbe": 5, "36": 5, "sd": 5, "spie": 5, "5": [5, 13, 31, 38, 39], "spp": 5, "8": [5, 13, 15, 18, 37, 38], "sum": [5, 37, 38], "18": [5, 15], "sxl": 5, "34": 5, "tsr": 5, "22": 5, "tvm": 5, "20": 5, "tw": 5, "21": 5, "ub": 5, "6": [5, 27], "uxl": 5, "9": 5, "x": [5, 40], "intflag": [5, 13, 36], "enum": [5, 9, 10, 13, 17, 20, 37, 38, 39, 40, 41], "avail": [5, 18, 20, 22, 24, 25, 34, 38], "A": [5, 7, 17, 18, 34, 35, 36, 37, 38, 40], "atom": [5, 32, 35], "b": [5, 38], "manipul": 5, "compress": [5, 11], "instruct": [5, 6, 7, 9, 10, 11, 13, 17, 20, 21, 22, 26, 27, 31, 32, 34], "d": [5, 35, 37, 38, 40, 41], "doubl": [5, 20, 27], "precis": [5, 27, 34], "float": [5, 36, 38, 39, 40], "point": [5, 27, 30, 34], "64": [5, 18], "e": [5, 10, 24, 27, 30, 35, 38, 40, 41], "reduc": [5, 27, 37], "integ": [5, 13, 38, 39, 40], "singl": [5, 9, 10, 13, 15, 17, 20, 21, 22, 35, 37, 38, 40], "g": [5, 10, 24, 27, 30, 35, 38, 40, 41], "98366": 5, "gener": [5, 6, 7, 10, 11, 13, 14, 15, 18, 20, 22, 24, 25, 27, 30, 34, 36, 37, 38, 39, 40, 41], "contain": [5, 24, 34, 35, 37, 38, 40, 41], "all": [5, 14, 18, 21, 24, 26, 27, 30, 35, 36, 37, 38, 40, 41], "basic": [5, 11, 26, 34, 38], "full": [5, 17, 24, 26, 27, 34, 38], "j": 5, "1024": 5, "dynam": [5, 27, 38, 41], "languag": [5, 17, 35], "l": [5, 24], "decim": 5, "m": [5, 14, 18, 20, 21, 24, 27, 34, 35, 37, 38, 41], "divis": 5, "n": [5, 13, 15, 37, 38], "16384": 5, "user": [5, 27, 34, 38], "level": [5, 18, 21, 25, 27, 34, 35, 37, 38, 39, 40], "interrupt": [5, 21, 26], "p": [5, 24], "4096": 5, "pack": 5, "simd": 5, "q": 5, "quad": 5, "t": [5, 7, 10, 11, 14, 24, 27, 30, 32, 34, 35, 37, 38, 39, 40], "2048": 5, "memori": [5, 11, 14, 18, 27, 37, 38], "8192": 5, "vector": [5, 22, 26, 27, 37, 38], "xintmachinemod": 5, "8589934592": 5, "intern": [5, 21, 26, 35, 37, 38], "categor": 5, "machin": [5, 17], "mode": [5, 10, 24, 27], "privilieg": 5, "xintsupervisor": 5, "17179869184": 5, "supervisor": 5, "zam": 5, "2097152": 5, "misalign": 5, "zba": 5, "268435456": 5, "extend": [5, 30, 37, 41], "shift": [5, 12, 13, 38], "zbb": 5, "536870912": 5, "1073741824": 5, "carri": [5, 13, 34], "less": [5, 13, 41], "2147483648": 5, "zdinx": 5, "33554432": 5, "support": [5, 10, 14, 20, 22, 24, 26, 37, 38, 41], "regist": [5, 10, 20, 21, 22, 27, 31, 37, 38, 40], "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, 17, 38, 39, 40], "counter": [5, 7, 20, 21, 24, 38], "timer": [5, 20], "zicsr": 5, "32768": 5, "control": [5, 10, 11, 18, 21, 34, 36, 37, 38, 41], "statu": [5, 20, 39], "zifencei": 5, "65536": 5, "fenc": [5, 10], "zihintntl": 5, "262144": 5, "non": [5, 11, 32, 37, 38, 39], "tempor": 5, "local": [5, 21, 24], "hint": [5, 37], "zihintpaus": 5, "131072": 5, "send": [5, 6, 10, 11, 14, 18, 22], "paus": 5, "energi": 5, "zihpm": 5, "1048576": 5, "hardwar": [5, 26, 31, 35, 38], "perform": [5, 10, 11, 13, 15, 20, 22, 24, 34, 35, 37, 38, 40, 41], "zmmul": 5, "134217728": 5, "ztso": 5, "4294967296": 5, "total": 5, "store": [5, 6, 14, 21, 27, 32, 33, 37, 38, 40], "object": [5, 9, 10, 13, 14, 17, 18, 34, 35, 36, 38, 39, 40], "gather": 5, "numer": 5, "val": [5, 40], "correspond": [5, 32, 37, 38, 41], "val_log": 5, "field": [5, 10, 14, 17, 20, 24, 32, 33, 35, 36, 37, 38, 39, 40], "provid": [5, 10, 13, 14, 17, 20, 21, 22, 34, 35, 38, 39, 40], "relev": [5, 36], "attribut": [5, 9, 10, 13, 14, 15, 17, 18, 20, 21, 36, 37, 38, 40, 41], "xlen": [5, 10, 13, 20, 40], "int": [5, 9, 10, 11, 13, 14, 15, 17, 18, 20, 36, 37, 38, 39, 40, 41], "nativ": 5, "width": [5, 11, 13, 15, 18, 20, 38, 40, 41], "reg_cnt": 5, "number": [5, 14, 15, 17, 18, 21, 24, 27, 34, 36, 37, 38, 39, 40, 41], "ilen": [5, 10], "maximum": [5, 34, 38], "length": [5, 17, 27, 37, 38, 39, 40], "csr_alen": [5, 10], "address": [5, 9, 10, 14, 17, 18, 20, 26, 27, 38], "form": [5, 10, 20, 27, 34, 37, 38], "bitwis": 5, "isa_str": 5, "str": [5, 7, 11, 18, 20, 36, 37, 38, 39, 40, 41], "paramet": [5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 35, 37, 38, 39, 40, 41], "string": [5, 38, 39], "identifi": [5, 10, 11, 32, 38], "pleas": [5, 24, 30, 35], "refer": [5, 36, 40], "gcc": 5, "": [5, 9, 11, 18, 27, 35, 36, 37, 38, 40, 41], "option": [5, 10, 13, 17, 18, 20, 24, 35, 36, 37, 38, 39, 40, 41], "detail": [5, 21, 26, 38], "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, 14, 17, 20, 36, 37, 38, 39, 40, 41], "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, 21], "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, 14, 17], "add": [5, 35, 37, 38, 40, 41], "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, 27], "hu": 5, "jalr": [5, 11], "max": [5, 34], "maxu": 5, "min": [5, 38], "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, 38], "w": [5, 27], "xnor": 5, "xor": 5, "funct7": [5, 10, 13, 17], "52": 5, "48": 5, "muldiv": 5, "sa": 5, "sfencevma": 5, "sl": 5, "instrtyp": [5, 10], "u": [5, 27, 34, 38, 40], "interruptcausenumb": 5, "mei": 5, "msi": 5, "mti": 5, "sei": 5, "ssi": 5, "sti": 5, "opcod": [5, 10, 17, 32, 33], "auipc": 5, "branch": [5, 11, 27, 34, 38], "24": 5, "jal": [5, 11], "27": 5, "25": 5, "load": [5, 14, 27, 38, 40], "load_fp": 5, "lui": 5, "misc_mem": 5, "op": 5, "op32": 5, "op_imm": 5, "op_imm_32": 5, "reserv": [5, 26, 27], "store_fp": 5, "system": [5, 34, 35, 40], "28": [5, 27], "privilegelevel": 5, "a0": 5, "a1": 5, "a2": 5, "a3": 5, "a4": 5, "a5": 5, "a6": 5, "a7": 5, "fp": [5, 36], "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, 35], "t2": [5, 35], "t3": 5, "t4": 5, "29": 5, "t5": 5, "30": [5, 27], "t6": 5, "tp": [5, 40], "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, 21, 32, 38, 41], "xlenencod": 5, "w128": 5, "w32": 5, "w64": 5, "cfityp": 5, "type": [5, 10, 11, 13, 17, 24, 37, 38, 39, 40], "flow": [5, 11, 38], "There": [5, 38], "main": [5, 24, 27, 31, 34], "invalid": [5, 33, 38], "call": [5, 7, 17, 20, 21, 22, 24, 30, 32, 35, 36, 37, 38, 39, 40, 41], "ret": 5, "just": [5, 24, 35, 38], "special": [5, 26, 38], "respect": [5, 20, 38], "thu": [5, 38], "encod": [5, 10, 17, 27, 36, 38, 40, 41], "wa": [5, 10, 11, 20, 21, 24, 27, 35, 36, 37, 38, 40], "chosen": [5, 27], "wai": [5, 7, 13, 18, 24, 27, 34, 35, 37, 38, 40, 41], "suffici": 5, "check": [5, 11, 14, 24, 27, 30, 32, 33, 34, 37, 40], "lowest": [5, 37], "two": [5, 7, 20, 27, 30, 34, 35, 37, 38, 39, 40], "third": [5, 37, 38], "about": [5, 11, 17, 24, 26, 36, 38, 40], "becaus": [5, 27, 35, 36, 37, 38], "tweak": 5, "helper": 5, "prefer": [5, 18, 35], "us": [5, 6, 7, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 26, 27, 30, 34, 35, 37, 38, 39, 40, 41], "cfi": [5, 11], "static": [5, 17, 36, 37, 40, 41], "is_branch": 5, "amaranth": [5, 7, 9, 10, 11, 13, 17, 18, 20, 30, 34, 35, 36, 37, 38, 39, 40, 41], "hdl": [5, 7, 9, 10, 13, 17, 20, 36, 37, 38, 39, 40, 41], "_ast": [5, 7, 9, 10, 13, 17, 20, 37, 38, 39, 40, 41], "valuecast": [5, 9, 10, 17, 20, 37, 38, 39, 40, 41], "is_jal": 5, "is_jalr": 5, "valid": [5, 13, 18, 22, 32, 38, 40, 41], "do": [5, 10, 27, 30, 35, 37, 38, 41], "confus": 5, "address_gener": 5, "arithmet": 5, "bit_manipul": 5, "bit_rot": 5, "compar": [5, 26, 38], "csr_imm": 5, "csr_reg": 5, "div_rem": 5, "caus": [5, 17, 21, 27, 38, 40], "befor": [5, 14, 18, 21, 24, 30, 31, 35, 37, 38], "execut": [5, 6, 13, 18, 22, 24, 26, 31, 33, 35, 36, 37, 38], "logic": [5, 14, 27, 33, 34, 35], "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, 24, 36, 38, 40], "resultannounc": 6, "elaborat": [6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 21, 22, 35, 36, 37, 38, 39, 40], "simpl": [6, 7, 10, 14, 20, 22, 37, 38, 40, 41], "It": [6, 10, 11, 13, 14, 15, 17, 18, 20, 22, 24, 27, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41], "take": [6, 10, 18, 31, 32, 35, 37, 38, 39, 40], "its": [6, 10, 17, 20, 22, 27, 34, 35, 37, 38, 40, 41], "mark": [6, 26, 27, 36], "complet": [6, 18, 20, 27], "also": [6, 11, 17, 24, 34, 35, 38, 39], "sent": [6, 18, 39], "get_result": [6, 16, 38], "serial": [6, 11, 14, 38], "so": [6, 17, 18, 27, 34, 35, 36, 37, 38, 41], "we": [6, 7, 18, 27, 31, 32, 33, 34, 35, 38, 39], "more": [6, 20, 24, 26, 27, 38, 40, 41], "than": [6, 27, 38, 40, 41], "connect": [6, 10, 18, 20, 27, 35, 37, 38, 41], "manytooneconnecttran": [6, 38], "rob_mark_don": 6, "rs_updat": 6, "rf_write": 6, "instanc": [6, 7, 10, 11, 14, 17, 22, 34, 36, 37, 38, 40, 41], "next": [6, 7, 10, 11, 22, 27, 37, 41], "readi": [6, 7, 18, 20, 22, 26, 32, 36, 37, 38, 41], "assum": [6, 13, 27, 38, 40], "differ": [6, 13, 18, 24, 25, 27, 30, 34, 37, 38, 40, 41], "end": [6, 14, 27, 37, 38, 41], "without": [6, 22, 27, 37, 38, 40], "pass": [6, 24, 26, 34, 37, 38, 39, 40], "finish": [6, 18, 21, 38], "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, 17, 38], "replac": [7, 15, 17, 20, 32], "polici": 7, "pseudo": 7, "random": [7, 39], "scheme": 7, "everi": [7, 13, 18, 24, 34, 37, 38], "trash": 7, "select": [7, 10, 13, 16, 18, 22, 24, 38, 41], "keep": [7, 37], "global": [7, 27], "abstract": [7, 15, 17, 34, 38, 40], "awai": 7, "need": [7, 11, 17, 18, 24, 27, 32, 35, 37, 38], "refiller_start": 7, "whenev": [7, 17, 38], "refiller_accept": 7, "written": [7, 20, 33, 34, 38], "last": [7, 21, 22, 37, 38, 41], "when": [7, 14, 17, 18, 21, 24, 27, 30, 32, 33, 35, 37, 38, 40, 41], "either": [7, 17, 18, 21, 35, 37, 38, 39, 40, 41], "transfer": [7, 18, 37, 38], "over": [7, 20, 37, 38], "shouldn": [7, 34], "until": [7, 11, 27, 38], "start": [7, 13, 14, 18, 21, 27, 37, 38, 41], "layout": [7, 10, 11, 18, 22, 24, 30, 35, 37, 38, 39, 40], "icachelayout": 7, "icacheparamet": [7, 17], "cacherefillerinterfac": 7, "creat": [7, 15, 17, 18, 24, 34, 35, 37, 38, 39, 40, 41], "input": [7, 10, 13, 18, 20, 21, 27, 32, 33, 35, 37, 38, 41], "start_refil": 7, "accept_refil": 7, "deserialize_addr": 7, "raw_addr": 7, "dict": [7, 18, 35, 36, 37, 38, 39, 40, 41], "serialize_addr": 7, "addr": [7, 14, 18, 38], "view": [7, 13, 14, 37, 38, 39, 40, 41], "icachebypass": 7, "bus_mast": 7, "busmasterinterfac": [7, 9, 14, 18], "haselabor": [7, 16, 18, 36, 37, 38, 39, 41], "protocol": [7, 16, 18, 36, 37, 38], "whole": [7, 25, 27, 38], "given": [7, 9, 14, 17, 20, 24, 32, 35, 36, 37, 38, 39, 40, 41], "simplecommonbuscacherefil": 7, "frat": 8, "rrat": 8, "registerfil": 8, "reorderbuff": [8, 21], "corefrontend": 9, "consume_instr": 9, "consum": [9, 11], "resume_from_except": 9, "resum": 9, "pc": [9, 26], "resume_from_unsaf": 9, "unsaf": 9, "stall": [9, 18, 27], "instr_bu": 9, "frontendparam": 9, "fb_addr": 9, "fb_instr_idx": 9, "pc_from_fb": 9, "decodestag": 10, "instanti": [10, 37], "instrdecod": 10, "make": [10, 13, 24, 25, 27, 30, 34, 35, 36, 39], "actual": [10, 24, 26, 35], "combinatori": [10, 35], "manner": [10, 18], "get_raw": 10, "push_decod": 10, "raw": 10, "previou": [10, 11, 18, 27, 38], "step": [10, 11, 22, 24, 27, 34, 35], "fetchlayout": [10, 11], "describ": [10, 11, 14, 22, 27, 34, 36, 37, 38, 39], "decodelayout": [10, 22], "elementari": 10, "etc": [10, 35], "via": [10, 21, 35, 37, 38], "signal": [10, 13, 14, 18, 20, 21, 26, 30, 36, 37, 38, 39, 40, 41], "out": [10, 13, 15, 18, 21, 25, 26, 36, 37, 38, 41], "funct3_v": 10, "seven": 10, "funct7_v": 10, "twelv": 10, "funct12_v": 10, "rd": [10, 17], "reg_cnt_log": 10, "rd_v": 10, "rs1": [10, 17], "hold": [10, 17, 18, 38], "first": [10, 13, 14, 20, 22, 27, 32, 33, 34, 35, 37, 38, 39, 40, 41], "rs1_v": 10, "rs2": [10, 17], "second": [10, 13, 20, 22, 32, 33, 34, 38, 41], "rs2_v": 10, "imm": [10, 17], "immedi": [10, 17, 18], "were": [10, 27, 35], "succ": 10, "successor": 10, "pred": 10, "predecessor": 10, "fm": 10, "sourc": [10, 20, 22, 24, 32, 36, 37, 38], "defin": [10, 14, 20, 35, 37, 38, 40, 41], "kind": [10, 13, 22, 38, 40], "illeg": [10, 17], "success": [10, 18, 39], "fit": 10, "constructor": [10, 35, 37, 40], "repres": [10, 20, 37, 38], "exist": [10, 35], "instr_type_overrid": 10, "specifi": [10, 18, 20, 33, 38, 40], "determin": [10, 11, 27, 34, 38, 40], "instrust": 10, "almost": 10, "correct": [10, 11, 14, 27, 32, 33, 34], "rd_zero": 10, "bool": [10, 14, 17, 20, 36, 37, 38, 39, 40, 41], "constant": 10, "other": [10, 17, 20, 24, 26, 35, 36, 37, 38, 41], "accordingli": 10, "default": [10, 18, 20, 24, 35, 36, 37, 38, 40, 41], "fals": [10, 13, 14, 24, 35, 36, 37, 38, 40, 41], "rs1_zero": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": [10, 18], "list": [10, 13, 17, 18, 24, 26, 30, 34, 36, 37, 38, 39, 40, 41], "tupl": [10, 11, 13, 18, 20, 22, 36, 37, 38, 39, 40, 41], "is_instr_compress": 10, "fetchunit": 11, "superscalar": 11, "respons": [11, 13, 14, 18, 22, 24, 37, 38, 39], "retriev": [11, 14, 38], "them": [11, 24, 27, 34, 35, 37, 38, 40], "work": [11, 22, 27, 30, 34, 35, 37, 38], "chunk": 11, "fetch_block_byt": 11, "relat": [11, 27, 37, 38, 40], "how": [11, 17, 20, 24, 27, 32, 34, 37, 38], "mani": [11, 17, 20, 24, 27, 34, 35, 36, 37, 38, 40], "onc": [11, 34, 35, 37, 38, 41], "vari": 11, "deal": 11, "expand": 11, "aren": [11, 27, 35, 38], "boundari": [11, 27], "cont": [11, 39], "predecod": 11, "analysi": [11, 26, 36], "jump": [11, 17, 27], "find": [11, 24, 27, 38], "target": [11, 34, 38], "Its": [11, 14, 31, 35], "role": [11, 35], "give": [11, 38, 40], "quick": 11, "feedback": 11, "potenti": [11, 31], "predictor": 11, "help": [11, 24, 27, 38], "redirect": 11, "promptli": 11, "predictioncheck": 11, "predict": 11, "checker": [11, 14], "look": [11, 27, 38], "taken": [11, 20, 22, 34, 37, 38], "mistak": [11, 30], "ones": [11, 35], "wrong": [11, 27], "element": [11, 27, 38], "dispatch": [11, 27, 31, 32, 33], "new": [11, 13, 14, 18, 21, 26, 27, 37, 38, 40, 41], "batch": 11, "onli": [11, 13, 17, 18, 20, 21, 27, 34, 35, 36, 37, 38, 39, 40], "temporari": [11, 20], "workaround": 11, "buffer": [11, 18, 27, 32, 38, 41], "rest": [11, 37], "becom": [11, 18], "elem_layout": 11, "structlayout": [11, 14, 37, 38, 39, 40], "collect": [11, 25, 34, 36, 37, 38, 39, 40, 41], "abc": [11, 17, 37, 38, 39, 40, 41], "iter": [11, 16, 17, 37, 38, 39, 40, 41], "shapelik": [11, 37, 38, 39, 40], "layoutlist": [11, 37, 38, 39, 40], "lsu": [12, 13], "dummylsu": [12, 13], "lsu_request": [12, 13], "pma": [12, 13], "unsigned_multipl": [12, 13], "common": [12, 13, 18, 37, 38, 40], "fast_recurs": [12, 13], "sequenc": [12, 13, 22, 37, 38, 40], "alucompon": 13, "functionalcomponentparam": [13, 14, 17], "zba_en": 13, "zbb_enabl": 13, "get_modul": [13, 14, 17], "funcunit": [13, 14, 16, 17], "get_optyp": [13, 14, 17], "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, 14, 18, 20, 25, 26, 27, 31, 38, 40, 41], "format": [13, 24, 34, 35, 36, 37, 38, 40, 41], "divunit": 13, "get_input": 13, "arg": [13, 18, 35, 36, 37, 38, 39, 40, 41], "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, 15], "mul_fn": 13, "mulfn": 13, "hot": [13, 27, 38, 41], "wire": 13, "recursive_mul": 13, "fastest": 13, "multipli": [13, 15], "costli": [13, 27], "term": 13, "resourc": [13, 21, 27, 34, 35, 37], "sequence_mul": 13, "dsp": [13, 15], "balanc": 13, "between": [13, 14, 24, 27, 35, 37, 38, 40, 41], "cost": [13, 26, 35], "shift_mul": 13, "cheapest": 13, "russian": [13, 15], "peasant": [13, 15], "algorithm": [13, 15, 38], "mulunit": 13, "unsign": [13, 15], "standard": [13, 21, 27, 34, 38, 41], "funcunitlayout": [13, 22], "comput": [13, 15, 17, 21, 27, 38, 40], "mul_typ": 13, "privilegedfn": 13, "classmethod": [13, 36, 37, 38, 40], "privilegedfuncunit": 13, "privilegedunitcompon": 13, "shiftfuncunit": 13, "shift_unit_fn": 13, "shiftunitfn": 13, "shiftunitcompon": 13, "clmultipli": 13, "product": [13, 38], "i1": [13, 15], "factor": 13, "i2": [13, 15], "reset": [13, 20, 26], "busi": 13, "while": [13, 37, 39], "progress": 13, "bit_width": [13, 20], "recursion_depth": 13, "depth": [13, 14, 18, 34, 38], "recurs": [13, 15, 34, 35, 36, 38, 40], "parallel": [13, 38], "power": [13, 40], "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, "lsucompon": 14, "lsudummi": 14, "veri": [14, 27, 35], "isn": [14, 34, 37], "compliant": [14, 34], "riscv": [14, 17, 34], "spec": [14, 21], "doesn": [14, 27, 30, 35, 38], "rang": [14, 37, 38, 39, 40, 41], "processor": [14, 25, 26, 31], "master": [14, 18, 34], "lsurequest": 14, "job": [14, 27], "resili": 14, "check_align": 14, "postprocess_load_data": 14, "modulelik": [14, 37, 38, 41], "raw_data": 14, "prepare_bytes_mask": 14, "prepare_data_to_sav": 14, "pmacheck": 14, "physic": [14, 22, 27], "mai": [14, 17, 24, 38, 39, 40], "part": [14, 17, 20, 21, 27, 31, 35, 37, 38], "combin": [14, 26, 30, 37, 38, 40], "circuit": [14, 34, 35, 37, 38, 40], "pmalayout": 14, "pmaregion": 14, "contigu": 14, "region": [14, 27], "includ": [14, 34, 35, 37, 38, 40, 41], "both": [14, 20, 32, 35, 37, 38, 40, 41], "begin": [14, 27, 41], "mmio": 14, "true": [14, 17, 18, 20, 35, 36, 37, 38, 39, 40, 41], "indic": [14, 27, 33, 37, 38, 41], "dspmulunit": 15, "clock": [15, 31, 34, 35, 36, 37, 38], "design": [15, 27, 35, 36], "synthesi": [15, 26, 37], "tool": [15, 24, 34, 36], "o": [15, 27, 35, 37], "same": [15, 17, 20, 24, 35, 37, 38, 40, 41], "mulbaseunsign": 15, "unsignedmulunitlayout": 15, "recursiveunsignedmul": 15, "see": [15, 21, 30, 34, 35, 38], "fast": 15, "within": [15, 24], "pipelinedunsignedmul": 15, "dsp_number": 15, "sequentialunsignedmul": 15, "sequenti": [15, 18], "classic": [15, 27], "shiftunsignedmul": 15, "cheap": 15, "multi": [15, 41], "funcblocksunifi": 16, "blockcomponentparam": [16, 17], "funcblock": [16, 17, 22], "insert": [16, 21, 22, 26, 27, 31, 32, 38], "coreconfigur": 17, "_coreconfigurationdataclass": 17, "kwarg": [17, 18, 36, 37, 38, 39, 40, 41], "self": [17, 35, 37, 39], "get_rs_entry_count": 17, "optypes_support": 17, "dependentcach": [17, 40], "cfg": 17, "addr_width": [17, 18], "word_width": 17, "word": [17, 41], "num_of_wai": 17, "num_of_sets_bit": 17, "line_bytes_log": 17, "disabl": [17, 36, 38, 39], "bypass": 17, "fetch_block_bytes_log": 17, "python": [17, 24, 35, 37, 38, 39, 40], "model": 17, "stefan": 17, "wallentowitz": 17, "http": [17, 34, 39], "github": [17, 25, 34, 39], "com": [17, 34, 39], "wallento": 17, "btypeinstr": 17, "instructionfunct3typ": 17, "posit": [17, 22, 32, 33, 40, 41], "where": [17, 18, 22, 24, 27, 32, 33, 35, 37, 38, 39, 40], "would": [17, 24, 27, 35, 38, 40], "map": [17, 20, 26, 27, 37, 38, 39, 40, 41], "sign": [17, 40], "whether": [17, 34, 37, 38, 41], "skip": 17, "exampl": [17, 20, 24, 26, 32, 35, 37, 38, 41], "signific": 17, "affect": [17, 34], "procedur": [17, 27], "extern": [17, 26, 34, 35, 37], "static_valu": 17, "ebreakinstr": 17, "itypeinstr": 17, "illegalinstr": 17, "riscvinstr": 17, "cat": [17, 34], "const": [17, 37, 38], "d1": [17, 37, 38], "jtypeinstr": 17, "as_valu": 17, "convert": [17, 40], "concret": [17, 38, 40], "usual": [17, 27, 35, 38], "deleg": 17, "must": [17, 18, 37, 38, 40], "idempot": 17, "twice": 17, "exactli": [17, 38], "code": [17, 24, 25, 27, 30, 34, 35, 36, 38, 40, 41], "recogn": 17, "cast": 17, "rais": [17, 27, 36, 38, 39, 40], "convers": [17, 35], "cannot": [17, 35, 37, 38, 39], "done": [17, 27, 34, 35, 37, 38, 39], "propag": 17, "caller": [17, 24, 35, 36, 37, 38], "directli": [17, 35, 37], "recommend": [17, 35], "shape": [17, 40], "itself": [17, 27, 40], "discov": 17, "castabl": [17, 40], "subclass": 17, "richer": 17, "represent": [17, 39, 40, 41], "shapecast": [17, 40], "condit": [17, 24, 35, 36, 37, 38], "rtypeinstr": 17, "instructionfunct7typ": 17, "stypeinstr": 17, "utypeinstr": 17, "axiliteinterfac": 18, "abstractinterfac": 18, "abstractsignatur": 18, "read_address": 18, "axilitereadaddressinterfac": 18, "read_data": 18, "axilitereaddatainterfac": 18, "write_address": 18, "axilitewriteaddressinterfac": 18, "write_data": 18, "axilitewritedatainterfac": 18, "write_respons": 18, "axilitewriteresponseinterfac": 18, "axilitemast": 18, "axi": 18, "lite": 18, "axil_param": 18, "axiliteparamet": 18, "ra_request": 18, "initi": [18, 26, 38, 39], "channel": 18, "being": [18, 24, 38, 40, 41], "ra_request_layout": 18, "argument": [18, 22, 24, 26, 33, 34, 37, 38, 39, 40, 41], "rd_respons": 18, "availab": 18, "state": [18, 21, 26, 27, 35, 37, 38, 39], "rd_response_layout": 18, "wa_request": 18, "wa_request_layout": 18, "wd_request": 18, "wd_request_layout": 18, "wr_respons": 18, "wr_response_layout": 18, "axil_mast": 18, "result_handl": 18, "start_request_transact": 18, "is_address_channel": 18, "state_machine_request": 18, "request_sign": 18, "data_width": 18, "axilitesignatur": 18, "signatur": 18, "patamet": 18, "axilitemasteradapt": 18, "place": [18, 27, 32, 34, 35, 37, 38], "expect": [18, 37], "busparametersinterfac": 18, "method_layout": 18, "commonbusmastermethodlayout": 18, "request_read": 18, "underli": [18, 38], "request_read_layout": 18, "request_writ": 18, "request_write_layout": 18, "get_read_respons": 18, "action": [18, 20, 37, 38, 40], "read_response_layout": 18, "get_write_respons": 18, "write_response_layout": 18, "gain": 18, "simplifi": 18, "interchang": 18, "buse": 18, "receiv": [18, 35, 37, 38], "previous": 18, "wishbonemasteradapt": 18, "wishbonemast": 18, "pipelinedwishbonemast": 18, "wb_param": 18, "wishboneparamet": 18, "max_req": 18, "limit": [18, 35, 38], "pend": [18, 21], "wb": 18, "request_layout": 18, "result_layout": 18, "requests_finish": 18, "generate_method_layout": 18, "wishbonearbit": 18, "arbit": 18, "slave": 18, "assert": [18, 38, 41], "cyc": 18, "grant": [18, 35, 36, 37, 38, 41], "round": [18, 37, 40, 41], "robin": [18, 37, 41], "num_slav": 18, "devic": 18, "slave_wb": 18, "intefac": 18, "num_mast": 18, "ack": 18, "adr": 18, "dat_r": 18, "dat_w": 18, "err": 18, "lock": [18, 24, 27, 35, 36, 38], "rst": 18, "rty": 18, "stb": 18, "name": [18, 24, 35, 36, 37, 38, 40, 41], "wb_master": 18, "wishbonemastermethodlayout": 18, "wishbonememoryslav": 18, "underneath": 18, "keyword": [18, 35, 37, 38, 39, 40], "thei": [18, 20, 24, 27, 31, 34, 35, 37, 38], "re": [18, 27, 30, 35, 37], "infer": [18, 37], "wishbonemux": 18, "muxer": 18, "multiplex": [18, 35], "ssel_tga": 18, "corespond": 18, "tga": 18, "note": [18, 20, 38], "stare": 18, "clear": [18, 32, 33, 38, 40], "delai": [18, 35], "deassert": [18, 41], "master_wb": 18, "singal": 18, "granular": [18, 38], "smallest": 18, "port": [18, 37, 38, 40, 41], "capabl": 18, "wishbonesignatur": 18, "path": [18, 37, 38], "src_loc_at": [18, 38], "aliasedcsr": 20, "csrregist": 20, "internalinterruptcontrol": [20, 21], "Will": 20, "soon": 20, "csr_number": 20, "virtual": [20, 24], "automat": [20, 24, 34, 40, 41], "csrunit": 20, "ro_bit": 20, "mask": [20, 38], "_fu_writ": 20, "those": [20, 27, 37], "ignor": 20, "some": [20, 27, 30, 35, 37, 38], "upper": [20, 38], "0b11": 20, "discard": 20, "init": [20, 34, 37, 38], "fu_write_prior": 20, "prioriti": [20, 21, 35, 37, 38, 41], "writeabl": 20, "deafult": 20, "fu_write_filtermap": 20, "valuelik": [20, 37, 38, 41], "filter": [20, 24, 38], "modifi": [20, 27, 38], "fu_read_map": 20, "src_loc": [20, 36, 37, 38, 40], "srcloc": [20, 36, 37, 38], "stack": [20, 37, 38, 40], "frame": [20, 37, 38], "deep": [20, 37, 38], "locat": [20, 24, 25, 31, 36, 37, 38, 40], "altern": [20, 35, 37, 38], "instead": [20, 27, 30, 35, 36, 37, 38, 39, 41], "add_field": 20, "bit_posit": 20, "add_read_only_field": 20, "doublecountercsr": 20, "group": [20, 38], "increment": [20, 21], "At": [20, 38], "overflow": [20, 38], "low_addr": 20, "high_addr": 20, "lower": [20, 40], "higher": 20, "synthetis": 20, "genericcsrregist": 20, "machinemodecsrregist": 20, "mstatus_fields_implement": 20, "behaviour": [20, 34, 38], "csrlistkei": 20, "bodi": [20, 35, 37, 38], "csr_val": 20, "els": [20, 27, 35, 37], "side": [20, 27, 32, 33], "effect": [20, 27, 32, 33, 37, 38], "_fu_read": 20, "current": [20, 21, 22, 27, 37], "read_comb": 20, "submit": 20, "combination": [20, 37], "allow": [20, 25, 27, 34, 35, 37, 38, 41], "callabl": [20, 36, 37, 38, 39, 40], "exceptioninformationregist": 21, "earliest": 21, "report": [21, 38], "exceptioncauseregist": 21, "rob_get_indic": 21, "fetch_stall_except": 21, "should_update_priorii": 21, "current_caus": 21, "new_caus": 21, "coreinstructioncount": 21, "count": [21, 24, 37, 38, 41], "leav": [21, 24], "decrement": 21, "compat": [21, 34, 38], "privileg": [21, 27], "xie": 21, "xip": 21, "xstatu": 21, "interrup": 21, "plain": [21, 35, 37, 38], "internal_report_level": 21, "In": [21, 22, 24, 25, 26, 33, 34, 35, 36, 37, 38, 40, 41], "custom_report": 21, "interrupt_custom_count": 21, "custom": [21, 38], "edg": [21, 37, 38], "coreconfigr": 21, "interrupt_custom_edge_trig_mask": 21, "interrupt_insert": 21, "entri": [21, 22, 27, 31, 32, 33, 38, 40], "chang": [21, 24, 32, 35, 38, 39, 40, 41], "handler": [21, 27, 39], "exit": [21, 34], "interrupt_caus": 21, "priorit": [21, 37], "prepar": [22, 24, 27, 36], "alloc": [22, 31, 32, 33], "renam": [22, 31], "stuck": 22, "get_instr": 22, "get_free_reg": 22, "rat_renam": 22, "rob_put": 22, "rf_read1": 22, "rf_read2": 22, "reservation_st": 22, "decoded_instr": 22, "id": [22, 32, 33, 36], "free": [22, 26, 27, 33, 38], "ratlayout": 22, "rat_rename_in": 22, "rat_rename_out": 22, "roblayout": 22, "data_layout": [22, 38, 40], "rflayout": 22, "rf_read_out": 22, "rf_read_in": 22, "wakeupselect": 22, "wakeup": [22, 33], "firstli": 22, "get_readi": 22, "binari": [22, 34, 41], "th": [22, 37, 38, 41], "row": [22, 24, 26], "take_row": 22, "rslayout": 22, "get_ready_list_out": 22, "take_out": 22, "push": [22, 38], "down": [22, 40], "below": [24, 38], "instal": [24, 34], "interpret": [24, 38, 40], "pip": [24, 34], "python3": [24, 34], "venv": [24, 34], "project": [24, 25, 27, 37], "directori": [24, 25, 34], "activ": [24, 34, 37, 38, 39, 41], "bin": [24, 34], "librari": [24, 26, 38], "pip3": [24, 34], "dev": [24, 34], "txt": [24, 34], "riscv64": 24, "elf": 24, "binutil": 24, "your": [24, 30], "favourit": 24, "On": [24, 38], "debian": 24, "distro": 24, "precommit": 24, "hook": [24, 36, 38], "pre": [24, 34], "run": [24, 34, 35, 36, 37, 38, 39, 41], "linter": 24, "ci": [24, 34], "intend": [24, 37, 41], "By": [24, 37, 38], "file": [24, 27, 34, 40], "test_transact": 24, "One": [24, 27, 35, 38, 41], "even": [24, 27, 35, 37, 38], "testschedul": 24, "Or": [24, 35], "test_singl": 24, "search": 24, "match": [24, 32, 33, 41], "queri": 24, "thank": 24, "uniqu": [24, 36, 38], "parameter": 24, "waveform": 24, "vcd": 24, "gtkw": [24, 40], "gtkwave": [24, 40], "__traces__": 24, "debug": [24, 38, 40], "driven": 24, "transactron": [24, 26, 35], "__profile__": 24, "analyz": 24, "verbos": [24, 34], "runner": 24, "print": [24, 38], "subcommand": 24, "filenam": 24, "reformat": 24, "black": 24, "check_format": 24, "verifi": [24, 34], "flake8": 24, "check_typ": 24, "pyright": 24, "confront": 24, "messag": [24, 38], "you": [24, 30, 32, 34, 37, 38, 41], "diff": 24, "displai": 24, "appli": [24, 27, 30, 36, 37, 39], "chose": 24, "visual": 24, "architectur": [24, 27, 34], "appropri": [24, 32, 38, 39], "prune": [24, 36], "remov": [24, 27, 38], "disconnect": 24, "node": 24, "elk": [24, 36], "eclips": 24, "kernel": [24, 27], "dot": [24, 36, 38], "graphviz": 24, "mermaid": [24, 36], "document": [24, 26], "sphinx": 24, "html": [24, 25], "build": [24, 34, 38], "present": [24, 27, 35, 38, 40], "readabl": [24, 38], "To": [24, 27, 34, 38, 40], "profile_fil": 24, "json": [24, 34, 40], "column": 24, "question": [24, 35], "togeth": [24, 35, 37], "differenti": 24, "ident": [24, 38], "declar": [24, 35, 38, 39], "further": [24, 38], "disambigu": 24, "show": 24, "could": [24, 35, 38], "forc": 24, "conflict": [24, 26, 36, 37], "produc": [24, 37], "tree": [24, 36, 38], "root": [24, 36], "invert": 24, "children": 24, "sort": [24, 38, 41], "regular": 24, "express": [24, 35, 38], "loc": 24, "coreblock": [25, 30, 34], "go": [25, 27, 30, 37], "microarchitectur": 25, "focu": 25, "flexibl": [25, 31, 41], "easili": [25, 37, 38], "experi": 25, "doc": 25, "descript": [25, 26, 34, 38, 40], "overview": [25, 26, 27], "high": [25, 38, 41], "found": [25, 34], "version": [25, 34], "page": [25, 27, 34], "api": [25, 26], "kuznia": [25, 34], "rdzeni": [25, 34], "io": [25, 34], "introduct": 26, "assumpt": [26, 27], "made": [26, 27, 35], "develop": [26, 38], "environ": 26, "up": [26, 33, 34, 38, 40], "script": [26, 34], "run_test": [26, 34], "py": [26, 34, 39], "lint": 26, "sh": 26, "core_graph": 26, "build_doc": 26, "tprof": 26, "framework": [26, 32], "usag": 26, "convent": 26, "definit": [26, 37], "advanc": 26, "concept": 26, "domain": [26, 30, 37], "nest": [26, 38], "schema": [26, 36, 38, 40], "structur": [26, 27, 32, 35, 36, 37, 38, 40], "proposit": [26, 27], "station": 26, "slot": [26, 38], "tabl": 26, "substitut": 26, "clean": [26, 38], "problem": [26, 27], "checklist": 26, "verif": 26, "manual": [26, 35, 41], "reproduct": 26, "benchmark": 26, "regress": 26, "summari": 26, "paper": 26, "old": 26, "softwar": [26, 38], "tlb": 26, "strategi": 26, "igpu": 26, "specul": 26, "gpu": 26, "effici": 26, "journal": 27, "articl": 27, "choic": 27, "primari": 27, "basi": 27, "improv": [27, 35], "pretti": 27, "1993": 27, "2001": 27, "much": [27, 38], "research": 27, "cpu": 27, "consid": [27, 35, 37, 38], "solv": 27, "try": [27, 30, 35], "due": [27, 37, 38], "characterist": 27, "easi": [27, 30, 35, 38], "our": [27, 31, 34], "decid": [27, 31, 35], "what": 27, "peopl": 27, "probabl": [27, 39], "lot": 27, "worth": 27, "walker": 27, "cragon": 27, "concurr": [27, 37], "ieee": 27, "vol": 27, "june": 27, "1995": 27, "moudgil": 27, "vassiliadi": 27, "micro": 27, "pp": 27, "58": 27, "67": 27, "februari": 27, "1996": 27, "These": [27, 34, 35], "survei": 27, "topic": 27, "cdc": 27, "6600": 27, "ibm360": 27, "stop": [27, 38], "crai": 27, "similar": [27, 34, 35, 37, 38, 41], "here": [27, 32], "bigger": [27, 38], "torng": 27, "martin": 27, "dai": 27, "probe": 27, "idea": [27, 35], "author": 27, "window": 27, "iw": 27, "didn": 27, "context": [27, 36, 37, 38, 40], "copi": [27, 36], "restor": [27, 36], "restart": [27, 41], "few": 27, "big": 27, "overhead": 27, "origin": [27, 36, 38], "unfeas": 27, "addition": [27, 38], "But": 27, "mayb": [27, 35], "possibl": [27, 34, 35, 38, 40], "cooper": 27, "smaller": 27, "interest": 27, "propos": 27, "nrp": 27, "No": [27, 38], "don": [27, 30, 32, 35, 37], "wast": 27, "rememb": [27, 35, 36], "left": [27, 35, 37, 38], "middl": [27, 31], "aamer": 27, "jaleel": 27, "bruce": 27, "jacob": 27, "cours": 27, "switch": [27, 32, 35, 37, 38, 41], "penalti": 27, "alpha": 27, "concentr": 27, "properti": [27, 34, 37], "short": [27, 38], "inlin": 27, "program": [27, 34, 35], "observ": [27, 38], "import": [27, 35], "enough": 27, "live": 27, "known": 27, "fly": 27, "swap": 27, "nop": 27, "reexecut": 27, "contrast": 27, "tendenc": 27, "longer": 27, "hard": [27, 38], "risk": [27, 35, 38], "linux": [27, 34], "purpos": [27, 37, 38], "addit": [27, 34, 35, 40], "hw": 27, "bore": 27, "treat": [27, 31], "mansur": 27, "samadzadeh": 27, "loai": 27, "garalnabi": 27, "checkpoint": 27, "repair": 27, "histori": 27, "reorder": 27, "futur": [27, 31, 32], "jaikrishnan": 27, "menon": 27, "marc": 27, "de": 27, "kruijf": 27, "karthikeyan": 27, "sankaralingam": 27, "2012": 27, "low": 27, "safe": [27, 35, 40], "rewritten": 27, "recompil": 27, "runtim": [27, 36, 38, 41], "subregion": 27, "small": 27, "overrid": 27, "barrier": 27, "warp": 27, "split": [27, 31, 38, 39], "prevent": 27, "ivan": 27, "tanas": 27, "isaac": 27, "gelado": 27, "jorda": 27, "eduard": 27, "ayguad": 27, "nacho": 27, "navarro": 27, "2017": 27, "analys": 27, "problemat": 27, "successfulli": 27, "kill": 27, "modif": 27, "fail": [27, 38], "repli": 27, "claim": 27, "operand": [27, 32, 33], "replai": 27, "queue": [27, 35, 38], "marker": 27, "jerom": 27, "hampton": 27, "2008": 27, "mention": 27, "alli": 27, "bailei": 27, "ab04": 27, "ag": 27, "younger": 27, "repeat": 27, "commun": [27, 32, 35], "canon": 27, "eventu": 27, "someth": [30, 35, 41], "puzzl": 30, "why": 30, "through": [30, 38], "sure": [30, 39], "yield": [30, 39], "notabl": 30, "settl": 30, "unexpect": 30, "ad": [30, 35, 37, 38, 39, 40, 41], "right": [30, 35, 37], "eq": [30, 35, 37, 41], "record": [30, 35, 37, 38, 39, 40, 41], "statement": [30, 35, 37, 39, 40], "loop": [30, 35, 37], "especi": 30, "simul": [30, 34, 36, 37, 38, 39], "hang": 30, "spot": 30, "yourself": [30, 35], "fix": 30, "task": [31, 37], "rss": 31, "phase": 31, "choos": [31, 34], "merg": [31, 38], "optim": [31, 38], "todo": 31, "want": [32, 34, 37, 39, 41], "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, 38], "releas": 32, "comparison": [32, 38], "null": [32, 33], "woken": 33, "src1": [33, 38], "src2": [33, 38], "inst_readi": 33, "sever": [34, 38], "besid": 34, "synthesis": 34, "ecp5": 34, "fpga": [34, 38], "realiti": 34, "cocotb": 34, "assembl": 34, "deliv": 34, "histor": 34, "dedic": [34, 38], "subpag": 34, "built": 34, "docker": 34, "publicli": 34, "subsect": 34, "recreat": 34, "command": [34, 39], "platform": [34, 35, 36], "amd64": 34, "synth": 34, "latest": [34, 38], "amaranthsynthecp5": 34, "dockerfil": 34, "complex": [34, 38], "although": 34, "educ": 34, "practic": 34, "frequenc": 34, "too": [34, 36], "met": [34, 37], "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, 38], "config": 34, "parse_benchmark_info": 34, "abov": [34, 35], "verilog": [34, 40], "yosi": 34, "nextpnr": 34, "bitstream": 34, "strength": 34, "modular": [34, 35], "littl": 34, "effort": 34, "gate": 34, "rout": 34, "prjtrelli": 34, "measur": [34, 38], "theori": 34, "increas": [34, 35, 38], "fmax": 34, "avoid": [34, 35], "pitfal": 34, "throughput": 34, "monitor": 34, "per": 34, "accuraci": 34, "insid": [34, 35, 37, 38], "embench": 34, "compil": [34, 35, 39], "gnu": 34, "toolchain": 34, "glibc": 34, "subset": 34, "exact": [34, 36], "veril": 34, "featur": [34, 35], "stub": 34, "host": 34, "mount": 34, "subdirectori": 34, "share": 34, "surviv": 34, "close": 34, "gen_verilog": 34, "run_benchmark": 34, "inspir": 35, "bluespec": 35, "wiki": 35, "entrieti": 35, "doe": [35, 41], "link": 35, "indirectli": [35, 37], "coordin": 35, "direct": [35, 36, 37, 38], "back": 35, "simplest": 35, "myth": 35, "def": [35, 37], "elabor": 35, "comb": [35, 37, 41], "sig1": 35, "expr1": 35, "sync": [35, 37], "sig2": 35, "expr2": 35, "arg_expr": 35, "analog": 35, "typic": [35, 37, 38], "myotherth": 35, "my_method": [35, 37], "input_layout": 35, "output_layout": 35, "def_method": [35, 37], "_": [35, 37], "other_method": 35, "ret_expr": 35, "techniqu": 35, "conveni": [35, 37, 38], "syntax": [35, 37, 41], "particular": 35, "unnam": 35, "around": 35, "sometim": 35, "might": [35, 36, 38], "best": 35, "ask": 35, "thing": [35, 38, 40], "doubt": 35, "noth": 35, "Such": [35, 38, 39], "adaptertran": [35, 38], "though": 35, "cleaner": 35, "suppos": 35, "foo": [35, 38], "bar": [35, 38], "cleanest": 35, "foo_expr": 35, "bar_expr": 35, "final": 35, "rec": 35, "layout2": 35, "foobar": 35, "baz": 35, "42": 35, "method2": [35, 38], "baz_expr": 35, "method3": 35, "expr": 35, "mechan": [35, 38], "certain": 35, "occas": 35, "facilit": 35, "connecttran": [35, 38], "testbench": [35, 38], "own": [35, 36, 37, 38], "variant": 35, "omit": [35, 37, 38], "unneed": 35, "av_comb": [35, 37], "top_comb": [35, 37, 41], "avoidedif": [35, 37], "guard": [35, 37, 38], "therefor": 35, "induc": 35, "often": 35, "belong": [35, 38], "move": [35, 38], "top": [35, 37, 40], "caveat": 35, "normal": [35, 38], "schedule_befor": [35, 37], "first_t_or_m": 35, "other_t_or_m": 35, "lift": 35, "first_m": 35, "other_t": 35, "situat": [35, 37], "mutual": [35, 37, 38], "exclus": [35, 37, 38, 41], "similarli": [35, 38], "add_conflict": [35, 37], "undefin": [35, 37, 38], "other_m": 35, "come": 35, "consider": 35, "parent": 35, "impli": 35, "amaranth_ext": [36, 40], "extract": 36, "IN": 36, "inout": 36, "owner": 36, "ownershipgraph": 36, "dump": 36, "liter": [36, 41], "dump_dot": 36, "indent": [36, 38, 40], "dump_elk": 36, "dump_mermaid": 36, "get_hier_nam": 36, "obj": 36, "hierarch": 36, "keyerror": [36, 38, 40], "yet": 36, "get_nam": 36, "insert_edg": 36, "fr": 36, "insert_nod": 36, "mermaid_direct": 36, "empti": [36, 38], "subgraph": 36, "remember_field": 36, "owner_id": 36, "methodsampl": 36, "transactions_and_method": 36, "profileinfo": 36, "cycleprofil": 36, "factori": [36, 38, 40], "analyze_method": 36, "runstatnod": 36, "analyze_transact": 36, "file_nam": [36, 40], "from_dict": [36, 38, 40], "kv": [36, 38, 40], "union": [36, 37, 38, 39, 40], "infer_miss": [36, 38, 40], "from_json": [36, 38, 40], "bytearrai": [36, 38, 40], "parse_float": [36, 38, 40], "parse_int": [36, 38, 40], "parse_const": [36, 38, 40], "kw": [36, 38, 40], "exclud": [36, 38, 40], "load_onli": [36, 38, 40], "dump_onli": [36, 38, 40], "partial": [36, 38, 40], "schemaf": [36, 38, 40], "to_dict": [36, 38, 40], "encode_json": [36, 38, 40], "to_json": [36, 38, 40], "skipkei": [36, 38, 40], "ensure_ascii": [36, 38, 40], "check_circular": [36, 38, 40], "allow_nan": [36, 38, 40], "sort_kei": [36, 38, 40], "profiledata": [36, 40], "individu": 36, "method_par": 36, "transactions_by_method": 36, "transaction_conflict": 36, "transaction_manag": [36, 37, 39], "transactionmanag": [36, 37, 39], "is_transact": 36, "profilesampl": 36, "transactionsampl": 36, "runstat": 36, "statist": 36, "did": 36, "info": [36, 38], "summar": 36, "stat": 36, "runnabl": [36, 37], "tracingenabl": 36, "tracingfrag": 36, "fragment": [36, 37], "lose": 36, "difficult": 36, "copyright": 36, "subfrag": 36, "_ir": [36, 40], "tracingfragmenttransform": 36, "fragmenttransform": 36, "on_frag": 36, "tracinginst": 36, "transactionmanagerkei": 37, "simplekei": [37, 38, 40], "transactioncompon": 37, "transactionmodul": 37, "transactroncompon": 37, "wrapper": [37, 38], "wrap": [37, 39], "abstractcompon": 37, "dependency_manag": [37, 39], "dependencymanag": [37, 38, 39, 40], "care": [37, 38], "never": 37, "cc_schedul": 37, "methodmap": [37, 38], "_dsl": 37, "eager_deterministic_cc_schedul": 37, "add_transact": 37, "_rec": [37, 38, 39, 40, 41], "signalbundl": [37, 38, 39, 40, 41], "print_info": 37, "cgr": 37, "porder": 37, "cc": 37, "method_map": 37, "visual_graph": 37, "dependencycontext": [37, 40], "transactionbas": 37, "serv": [37, 38], "simultena": 37, "behavior": [37, 38, 40], "data_out": [37, 38], "data_in": [37, 38], "methodstruct": [37, 38], "nonexclus": [37, 38], "assignarg": [37, 40], "single_cal": [37, 38], "variabl": [37, 41], "happen": 37, "whose": 37, "thrown": 37, "d0": 37, "validate_argu": [37, 38, 39], "combinationi": 37, "my_sum_method": 37, "arg1": 37, "arg2": 37, "layout_in": [37, 38], "layout_out": [37, 38], "construct": [37, 38], "blueprint": 37, "freshli": 37, "proxi": 37, "gr": 37, "transactiongraph": 37, "transactiongraphcc": 37, "priorityord": 37, "eager": 37, "subsystem": [37, 41], "fair": 37, "highest": [37, 41], "arbitr": [37, 41], "agent": [37, 41], "vertic": 37, "linear": 37, "consist": 37, "constraint": 37, "trivial_roundrobin_cc_schedul": 37, "mainli": 37, "decor": [37, 39], "eleg": 37, "dictionari": [37, 38], "lambda": 37, "equival": [37, 38, 41], "len": [37, 38, 41], "concaten": [37, 38], "parametr": 37, "my_filter_read_method": 37, "ready_list": 37, "head": [37, 38], "amount": [37, 39], "useless": 37, "multplex": 37, "unguard": 37, "synchron": [37, 38], "cond": [37, 38], "pattern": 37, "elif": 37, "fsm": 37, "ctrl_path": 37, "noreturn": 37, "regularli": 37, "explicit": 37, "implicit": 37, "aris": 37, "pair": [37, 38, 41], "transactioncontext": 37, "reason": 37, "transactionormethodbound": 37, "ctrlpath": 37, "def_count": 37, "classvar": 37, "def_ord": 37, "independent_list": 37, "forwardref": [37, 39, 40], "method_cal": 37, "defaultdict": 37, "method_us": 37, "owned_nam": 37, "peek": [37, 38], "relationbas": 37, "simultaneous_altern": 37, "simultaneous_list": 37, "adapterbas": [38, 39], "mock": [38, 39], "en": [38, 39], "with_validate_argu": 38, "clickin": 38, "click": 38, "interact": 38, "rise": 38, "btn": 38, "dat": 38, "clickout": 38, "led": 38, "revers": 38, "possibli": 38, "rev_layout": 38, "vice": 38, "versa": 38, "method1": 38, "fulfil": 38, "fifo_typ": 38, "syncfifo": 38, "fifotyp": 38, "conform": 38, "put_result": 38, "pipe": 38, "halfwai": 38, "locali": 38, "critic": 38, "cut": 38, "stableselectingnetwork": 38, "network": 38, "consecut": 38, "preserv": 38, "divid": 38, "conquer": 38, "properli": 38, "v1": 38, "v2": 38, "now": [38, 39], "log_2": 38, "dependencykei": [38, 40], "frozen": [38, 40], "lock_on_get": [38, 40], "get_depend": [38, 40], "empty_valid": [38, 40], "add_depend": [38, 40], "track": [38, 40], "across": [38, 40], "multpl": [38, 40], "listkei": [38, 40], "dependeci": [38, 40], "default_valu": [38, 40], "unifierkei": 38, "unifi": 38, "wish": 38, "basicfifo": 38, "front": 38, "delet": 38, "reiniti": 38, "semaphor": 38, "max_count": 38, "hardwarelogg": 38, "intuit": 38, "logger": 38, "anywher": 38, "natur": 38, "shall": 38, "evalu": [38, 39], "arbitrari": 38, "organ": 38, "namespac": 38, "hierarchi": 38, "period": 38, "bpu": 38, "bug": 38, "otherwis": [38, 41], "detect": 38, "termin": 38, "turn": 38, "warn": 38, "board": 38, "semant": 38, "server": 38, "pep": 38, "logkei": 38, "logrecord": 38, "logrecordinfo": [38, 40], "event": 38, "logger_nam": [38, 40], "format_str": [38, 40], "agnost": 38, "outsid": 38, "loglevel": 38, "templat": 38, "get_log_record": 38, "namespace_regexp": [38, 39], "minimum": 38, "regexp": 38, "get_trigger_bit": 38, "fifolatencymeasur": 38, "durat": 38, "exponenti": 38, "histogram": 38, "fully_qualified_nam": 38, "slots_numb": 38, "max_lat": 38, "qualifi": 38, "human": 38, "bucket": 38, "metrics_en": 38, "oldest": 38, "hardwaremetricsmanag": 38, "compos": 38, "get_metr": 38, "hwmetric": 38, "get_register_valu": 38, "metric_nam": 38, "reg_nam": 38, "hwcounter": 38, "width_bit": 38, "incr": 38, "hwexphistogram": 38, "distribut": 38, "sampl": 38, "inf": 38, "bucket_count": 38, "sample_width": 38, "registers_width": 38, "max_valu": 38, "abl": 38, "calcul": 38, "metricmodel": 38, "add_regist": 38, "reg": [38, 40], "hwmetricregist": 38, "inherit": 38, "hwmetricsenabledkei": 38, "theirs": 38, "compris": 38, "join": 38, "metricregistermodel": 38, "fundament": 38, "singular": 38, "among": 38, "reman": 38, "brief": 38, "taggedcount": 38, "neg": [38, 39, 40], "ok": 38, "tag_width": 38, "one_hot": 38, "taggedlatencymeasur": 38, "argumentstoresultszipp": 38, "zip": 38, "calle": 38, "asymmetri": 38, "correctli": 38, "rate": 38, "reach": [38, 41], "capac": 38, "topologi": 38, "peek_arg": 38, "write_arg": 38, "args_layout": 38, "write_result": 38, "results_layout": 38, "client": 38, "somethig": 38, "deseri": 38, "proper": 38, "serialize_in": 38, "serialized_req_method": 38, "serialize_out": 38, "serialized_resp_method": 38, "port_count": 38, "resist": 38, "nonblock": 38, "overlap": 38, "boolean": 38, "catch": 38, "negat": [38, 40], "influenc": 38, "cond1": 38, "cond2": 38, "asyncmemorybank": 38, "asynchron": 38, "elem_count": [38, 39], "read_port": 38, "write_port": 38, "contentaddressablememori": 38, "addres": 38, "cam": 38, "predefin": [38, 39], "fed": 38, "hit": 38, "nondestruct": 38, "address_layout": 38, "entries_numb": 38, "layoutlik": 38, "memorybank": 38, "read_req": 38, "read_resp": 38, "unavail": 38, "transpar": 38, "cattran": 38, "dst": 38, "collector": 38, "method_list": 38, "connectandmaptran": 38, "behav": 38, "i_fun": 38, "recorddict": 38, "o_fun": 38, "methodfilt": 38, "desir": 38, "use_condit": 38, "drawback": 38, "simultaneu": 38, "bidirect": 38, "i_transform": 38, "o_transform": 38, "unmodifi": 38, "methodproduct": 38, "methodtryproduct": 38, "tri": 38, "succeed": 38, "get_output": 39, "coreblockscommand": 39, "recordintdict": 39, "write_vcd_ext": 39, "engin": 39, "vcd_file": 39, "gtkw_file": 39, "pysimsimul": 39, "max_cycl": 39, "100000": 39, "add_transaction_modul": 39, "traces_fil": 39, "clk_period": 39, "1e": 39, "add_process": 39, "add_sync_process": 39, "passiv": 39, "add_clock": 39, "simpletestcircuit": 39, "_t_haselabor": 39, "dut": 39, "syncprocesswrapp": 39, "testcasewithsimul": 39, "add_all_mock": 39, "sim": 39, "frame_loc": 39, "add_class_mock": 39, "add_local_mock": 39, "configure_dependency_context": 39, "configure_log": 39, "configure_profil": 39, "configure_trac": 39, "fixture_initialize_testing_env": 39, "multi_settl": 39, "settle_count": 39, "random_wait": 39, "max_cycle_cnt": 39, "min_cycle_cnt": 39, "random_wait_geom": 39, "prob": 39, "till": 39, "reinitialize_fixtur": 39, "run_simul": 39, "tick": 39, "cycle_cnt": 39, "guard_nested_collect": 39, "_t_nested_collect": 39, "opnop": 39, "generate_based_on_layout": 39, "searchstrategi": 39, "generate_method_input": 39, "generate_nops_in_list": 39, "max_nop": 39, "generate_list": 39, "generate_process_input": 39, "generate_shrinkable_list": 39, "trick": 39, "hypothesiswork": 39, "hypothesi": 39, "blob": 39, "6867da71beae0e4ed004b54b92ef7c74d0722815": 39, "src": 39, "l143": 39, "insert_nop": 39, "draw": 39, "drawfn": 39, "lst": 39, "make_logging_process": 39, "on_error": 39, "parse_logging_level": 39, "pars": 39, "profiler_process": 39, "def_method_mock": 39, "tb_getter": 39, "sched_prio": 39, "method_handle_loop": 39, "invoc": 39, "defer": 39, "sinc": 39, "eagerli": 39, "kwdata": 39, "call_do": 39, "call_init": 39, "recordvaluedict": 39, "call_result": 39, "call_tri": 39, "method_argu": 39, "method_handl": 39, "extra_settle_count": 39, "method_return": 39, "set_en": 39, "set_input": 39, "wait_until_don": 39, "assigntyp": 40, "lh": 40, "rh": 40, "assignfield": 40, "lhs_strict": 40, "rhs_strict": 40, "mismatch": 40, "accord": 40, "explicitli": 40, "item": [40, 41], "subfield": 40, "valueerror": 40, "align_down_to_power_of_two": 40, "num": 40, "align_to_power_of_two": 40, "average_dict_of_list": 40, "bits_from_int": 40, "int_to_sign": 40, "u2": 40, "layout_subset": 40, "make_hash": 40, "signed_to_int": 40, "auto_debug_sign": 40, "arrai": 40, "cl": 40, "generatedlog": 40, "trigger_loc": 40, "signalhandl": 40, "fields_loc": 40, "generationinfo": 40, "variou": 40, "metrics_loc": 40, "metricinfo": 40, "metadata": 40, "metricloc": 40, "transaction_signals_loc": 40, "transactionsignalsloc": 40, "method_signals_loc": 40, "methodsignalsloc": 40, "profile_data": 40, "generate_verilog": 40, "top_nam": 40, "idgener": 40, "def_help": 40, "func": 40, "extend_layout": 40, "from_method_layout": 40, "get_caller_class_nam": 40, "get_src_loc": 40, "longest_common_prefix": 40, "seq": 40, "make_layout": 40, "method_def_help": 40, "mock_def_help": 40, "tb": 40, "silence_mustus": 40, "moduleconnector": 41, "anonym": 41, "multipriorityencod": 41, "priorityencod": 41, "input_width": 41, "outputs_count": 41, "indici": 41, "ascend": 41, "build_tre": 41, "in_sig": 41, "start_idx": 41, "prio_encod": 41, "cnt": 41, "one_hot_sing": 41, "idx": 41, "prio": 41, "create_simpl": 41, "hardcod": 41, "onehotswitch": 41, "style": 41, "benefit": 41, "sig": 41, "onehotcas": 41, "0b01": 41, "0b10": 41, "onehotswitchdynam": 41, "signifi": 41, "ringmultipriorityencod": 41, "circular": 41, "inclus": 41, "roundrobin": 41, "greater": 41, "enableinsert": 41, "count_leading_zero": 41, "count_trailing_zero": 41, "flatten_sign": 41, "flatten": 41, "mod_incr": 41, "mod": 41, "popcount": 41}, "objects": {"": [[4, 0, 0, "-", "coreblocks"], [36, 0, 0, "-", "transactron"]], "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"], [17, 0, 0, "-", "params"], [18, 0, 0, "-", "peripherals"], [19, 0, 0, "-", "priv"], [22, 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"], [16, 0, 0, "-", "interface"]], "coreblocks.func_blocks.fu": [[13, 0, 0, "-", "alu"], [13, 0, 0, "-", "div_unit"], [13, 0, 0, "-", "exception"], [13, 0, 0, "-", "jumpbranch"], [14, 0, 0, "-", "lsu"], [13, 0, 0, "-", "mul_unit"], [13, 0, 0, "-", "priv"], [13, 0, 0, "-", "shift_unit"], [15, 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.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": [[14, 0, 0, "-", "dummyLsu"], [14, 0, 0, "-", "lsu_requester"], [14, 0, 0, "-", "pma"]], "coreblocks.func_blocks.fu.lsu.dummyLsu": [[14, 1, 1, "", "LSUComponent"], [14, 1, 1, "", "LSUDummy"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUComponent": [[14, 3, 1, "", "__init__"], [14, 3, 1, "", "get_module"], [14, 3, 1, "", "get_optypes"]], "coreblocks.func_blocks.fu.lsu.dummyLsu.LSUDummy": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.lsu_requester": [[14, 1, 1, "", "LSURequester"]], "coreblocks.func_blocks.fu.lsu.lsu_requester.LSURequester": [[14, 3, 1, "", "__init__"], [14, 3, 1, "", "check_align"], [14, 3, 1, "", "postprocess_load_data"], [14, 3, 1, "", "prepare_bytes_mask"], [14, 3, 1, "", "prepare_data_to_save"]], "coreblocks.func_blocks.fu.lsu.pma": [[14, 1, 1, "", "PMAChecker"], [14, 1, 1, "", "PMALayout"], [14, 1, 1, "", "PMARegion"]], "coreblocks.func_blocks.fu.lsu.pma.PMAChecker": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMALayout": [[14, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.lsu.pma.PMARegion": [[14, 3, 1, "", "__init__"], [14, 2, 1, "", "end"], [14, 2, 1, "", "mmio"], [14, 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": [[15, 0, 0, "-", "common"], [15, 0, 0, "-", "fast_recursive"], [15, 0, 0, "-", "pipelined"], [15, 0, 0, "-", "sequence"], [15, 0, 0, "-", "shift"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common": [[15, 1, 1, "", "DSPMulUnit"], [15, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.DSPMulUnit": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive": [[15, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined": [[15, 1, 1, "", "PipelinedUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.pipelined.PipelinedUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence": [[15, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[15, 3, 1, "", "__init__"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift": [[15, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.func_blocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[15, 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": [[16, 0, 0, "-", "func_blocks_unifier"], [16, 0, 0, "-", "func_protocols"]], "coreblocks.func_blocks.interface.func_blocks_unifier": [[16, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.func_blocks.interface.func_blocks_unifier.FuncBlocksUnifier": [[16, 3, 1, "", "__init__"]], "coreblocks.func_blocks.interface.func_protocols": [[16, 1, 1, "", "FuncBlock"], [16, 1, 1, "", "FuncUnit"]], "coreblocks.func_blocks.interface.func_protocols.FuncBlock": [[16, 2, 1, "", "get_result"], [16, 2, 1, "", "insert"], [16, 2, 1, "", "select"], [16, 2, 1, "", "update"]], "coreblocks.func_blocks.interface.func_protocols.FuncUnit": [[16, 2, 1, "", "accept"], [16, 2, 1, "", "issue"]], "coreblocks.params": [[17, 0, 0, "-", "configurations"], [17, 0, 0, "-", "fu_params"], [17, 0, 0, "-", "genparams"], [17, 0, 0, "-", "icache_params"], [17, 0, 0, "-", "instr"]], "coreblocks.params.configurations": [[17, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[17, 3, 1, "", "replace"]], "coreblocks.params.fu_params": [[17, 1, 1, "", "BlockComponentParams"], [17, 1, 1, "", "FunctionalComponentParams"], [17, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[17, 3, 1, "", "__init__"], [17, 3, 1, "", "get_module"], [17, 3, 1, "", "get_optypes"], [17, 3, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[17, 3, 1, "", "get_module"], [17, 3, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[17, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[17, 3, 1, "", "__init__"]], "coreblocks.params.icache_params": [[17, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[17, 3, 1, "", "__init__"]], "coreblocks.params.instr": [[17, 1, 1, "", "BTypeInstr"], [17, 1, 1, "", "EBreakInstr"], [17, 1, 1, "", "ITypeInstr"], [17, 1, 1, "", "IllegalInstr"], [17, 1, 1, "", "JTypeInstr"], [17, 1, 1, "", "RISCVInstr"], [17, 1, 1, "", "RTypeInstr"], [17, 1, 1, "", "STypeInstr"], [17, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.EBreakInstr": [[17, 3, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"], [17, 2, 1, "", "rs1"]], "coreblocks.params.instr.IllegalInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "illegal"]], "coreblocks.params.instr.JTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"]], "coreblocks.params.instr.RISCVInstr": [[17, 3, 1, "", "__init__"], [17, 3, 1, "", "as_value"], [17, 3, 1, "", "encode"], [17, 2, 1, "", "opcode"], [17, 3, 1, "", "shape"]], "coreblocks.params.instr.RTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "rd"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.STypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rs1"], [17, 2, 1, "", "rs2"]], "coreblocks.params.instr.UTypeInstr": [[17, 3, 1, "", "__init__"], [17, 2, 1, "", "imm"], [17, 2, 1, "", "rd"]], "coreblocks.peripherals": [[18, 0, 0, "-", "axi_lite"], [18, 0, 0, "-", "bus_adapter"], [18, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.axi_lite": [[18, 1, 1, "", "AXILiteInterface"], [18, 1, 1, "", "AXILiteMaster"], [18, 1, 1, "", "AXILiteParameters"], [18, 1, 1, "", "AXILiteSignature"]], "coreblocks.peripherals.axi_lite.AXILiteInterface": [[18, 2, 1, "", "read_address"], [18, 2, 1, "", "read_data"], [18, 2, 1, "", "write_address"], [18, 2, 1, "", "write_data"], [18, 2, 1, "", "write_response"]], "coreblocks.peripherals.axi_lite.AXILiteMaster": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "axil_master"], [18, 3, 1, "", "result_handler"], [18, 3, 1, "", "start_request_transaction"], [18, 3, 1, "", "state_machine_request"]], "coreblocks.peripherals.axi_lite.AXILiteParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.axi_lite.AXILiteSignature": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter": [[18, 1, 1, "", "AXILiteMasterAdapter"], [18, 1, 1, "", "BusMasterInterface"], [18, 1, 1, "", "WishboneMasterAdapter"]], "coreblocks.peripherals.bus_adapter.AXILiteMasterAdapter": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.bus_adapter.BusMasterInterface": [[18, 2, 1, "", "get_read_response"], [18, 2, 1, "", "get_write_response"], [18, 2, 1, "", "params"], [18, 2, 1, "", "request_read"], [18, 2, 1, "", "request_write"]], "coreblocks.peripherals.bus_adapter.WishboneMasterAdapter": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone": [[18, 1, 1, "", "PipelinedWishboneMaster"], [18, 1, 1, "", "WishboneArbiter"], [18, 1, 1, "", "WishboneInterface"], [18, 1, 1, "", "WishboneMaster"], [18, 1, 1, "", "WishboneMasterMethodLayout"], [18, 1, 1, "", "WishboneMemorySlave"], [18, 1, 1, "", "WishboneMuxer"], [18, 1, 1, "", "WishboneParameters"], [18, 1, 1, "", "WishboneSignature"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "generate_method_layouts"], [18, 2, 1, "", "wb"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "masters"], [18, 2, 1, "", "slave_wb"]], "coreblocks.peripherals.wishbone.WishboneInterface": [[18, 2, 1, "", "ack"], [18, 2, 1, "", "adr"], [18, 2, 1, "", "cyc"], [18, 2, 1, "", "dat_r"], [18, 2, 1, "", "dat_w"], [18, 2, 1, "", "err"], [18, 2, 1, "", "lock"], [18, 2, 1, "", "rst"], [18, 2, 1, "", "rty"], [18, 2, 1, "", "sel"], [18, 2, 1, "", "stall"], [18, 2, 1, "", "stb"], [18, 2, 1, "", "we"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "wb_master"]], "coreblocks.peripherals.wishbone.WishboneMasterMethodLayout": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "bus"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[18, 3, 1, "", "__init__"], [18, 2, 1, "", "master_wb"], [18, 2, 1, "", "slaves"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[18, 3, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneSignature": [[18, 3, 1, "", "__init__"], [18, 3, 1, "", "create"]], "coreblocks.priv": [[20, 0, 0, "-", "csr"], [21, 0, 0, "-", "traps"]], "coreblocks.priv.csr": [[20, 0, 0, "-", "aliased"], [20, 0, 0, "-", "csr_instances"], [20, 0, 0, "-", "csr_register"]], "coreblocks.priv.csr.aliased": [[20, 1, 1, "", "AliasedCSR"]], "coreblocks.priv.csr.aliased.AliasedCSR": [[20, 3, 1, "", "__init__"], [20, 3, 1, "", "add_field"], [20, 3, 1, "", "add_read_only_field"]], "coreblocks.priv.csr.csr_instances": [[20, 1, 1, "", "DoubleCounterCSR"], [20, 1, 1, "", "GenericCSRRegisters"], [20, 1, 1, "", "MachineModeCSRRegisters"]], "coreblocks.priv.csr.csr_instances.DoubleCounterCSR": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.GenericCSRRegisters": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.csr.csr_instances.MachineModeCSRRegisters": [[20, 3, 1, "", "__init__"], [20, 3, 1, "", "mstatus_fields_implementation"]], "coreblocks.priv.csr.csr_register": [[20, 1, 1, "", "CSRRegister"]], "coreblocks.priv.csr.csr_register.CSRRegister": [[20, 3, 1, "", "__init__"]], "coreblocks.priv.traps": [[21, 0, 0, "-", "exception"], [21, 0, 0, "-", "instr_counter"], [21, 0, 0, "-", "interrupt_controller"]], "coreblocks.priv.traps.exception": [[21, 1, 1, "", "ExceptionInformationRegister"], [21, 4, 1, "", "should_update_prioriy"]], "coreblocks.priv.traps.exception.ExceptionInformationRegister": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps.instr_counter": [[21, 1, 1, "", "CoreInstructionCounter"]], "coreblocks.priv.traps.instr_counter.CoreInstructionCounter": [[21, 3, 1, "", "__init__"]], "coreblocks.priv.traps.interrupt_controller": [[21, 1, 1, "", "InternalInterruptController"]], "coreblocks.priv.traps.interrupt_controller.InternalInterruptController": [[21, 3, 1, "", "__init__"], [21, 2, 1, "", "custom_report"], [21, 2, 1, "", "internal_report_level"]], "coreblocks.scheduler": [[22, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[22, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[22, 3, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[22, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[22, 3, 1, "", "__init__"]], "transactron": [[37, 0, 0, "-", "core"], [36, 0, 0, "-", "graph"], [38, 0, 0, "-", "lib"], [36, 0, 0, "-", "profiler"], [39, 0, 0, "-", "testing"], [36, 0, 0, "-", "tracing"], [40, 0, 0, "-", "utils"]], "transactron.core": [[37, 0, 0, "-", "keys"], [37, 0, 0, "-", "manager"], [37, 0, 0, "-", "method"], [37, 0, 0, "-", "schedulers"], [37, 0, 0, "-", "sugar"], [37, 0, 0, "-", "tmodule"], [37, 0, 0, "-", "transaction"], [37, 0, 0, "-", "transaction_base"]], "transactron.core.keys": [[37, 1, 1, "", "TransactionManagerKey"]], "transactron.core.keys.TransactionManagerKey": [[37, 3, 1, "", "__init__"]], "transactron.core.manager": [[37, 1, 1, "", "TransactionComponent"], [37, 1, 1, "", "TransactionManager"], [37, 1, 1, "", "TransactionModule"]], "transactron.core.manager.TransactionComponent": [[37, 3, 1, "", "__init__"]], "transactron.core.manager.TransactionManager": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "add_transaction"], [37, 3, 1, "", "debug_signals"], [37, 3, 1, "", "print_info"], [37, 3, 1, "", "visual_graph"]], "transactron.core.manager.TransactionModule": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "context"]], "transactron.core.method": [[37, 1, 1, "", "Method"]], "transactron.core.method.Method": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "body"], [37, 3, 1, "", "debug_signals"], [37, 5, 1, "", "layout_in"], [37, 5, 1, "", "layout_out"], [37, 3, 1, "", "like"], [37, 3, 1, "", "proxy"]], "transactron.core.schedulers": [[37, 4, 1, "", "eager_deterministic_cc_scheduler"], [37, 4, 1, "", "trivial_roundrobin_cc_scheduler"]], "transactron.core.sugar": [[37, 4, 1, "", "def_method"], [37, 4, 1, "", "def_methods"]], "transactron.core.tmodule": [[37, 1, 1, "", "TModule"]], "transactron.core.tmodule.TModule": [[37, 3, 1, "", "AvoidedIf"], [37, 3, 1, "", "Case"], [37, 3, 1, "", "Default"], [37, 3, 1, "", "Elif"], [37, 3, 1, "", "Else"], [37, 3, 1, "", "FSM"], [37, 3, 1, "", "If"], [37, 3, 1, "", "State"], [37, 3, 1, "", "Switch"], [37, 3, 1, "", "__init__"], [37, 5, 1, "", "ctrl_path"], [37, 5, 1, "", "next"]], "transactron.core.transaction": [[37, 1, 1, "", "Transaction"]], "transactron.core.transaction.Transaction": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "body"], [37, 3, 1, "", "debug_signals"]], "transactron.core.transaction_base": [[37, 1, 1, "", "Priority"], [37, 1, 1, "", "TransactionBase"]], "transactron.core.transaction_base.Priority": [[37, 2, 1, "", "LEFT"], [37, 2, 1, "", "RIGHT"], [37, 2, 1, "", "UNDEFINED"]], "transactron.core.transaction_base.TransactionBase": [[37, 3, 1, "", "__init__"], [37, 3, 1, "", "add_conflict"], [37, 3, 1, "", "context"], [37, 2, 1, "", "ctrl_path"], [37, 2, 1, "", "def_counter"], [37, 2, 1, "", "def_order"], [37, 2, 1, "", "defined"], [37, 3, 1, "", "get"], [37, 2, 1, "", "independent_list"], [37, 2, 1, "", "method_calls"], [37, 2, 1, "", "method_uses"], [37, 2, 1, "", "name"], [37, 5, 1, "", "owned_name"], [37, 3, 1, "", "peek"], [37, 2, 1, "", "relations"], [37, 3, 1, "", "schedule_before"], [37, 3, 1, "", "simultaneous"], [37, 3, 1, "", "simultaneous_alternatives"], [37, 2, 1, "", "simultaneous_list"], [37, 2, 1, "", "src_loc"], [37, 2, 1, "", "stack"]], "transactron.graph": [[36, 1, 1, "", "Direction"], [36, 1, 1, "", "Owned"], [36, 1, 1, "", "OwnershipGraph"]], "transactron.graph.Direction": [[36, 2, 1, "", "IN"], [36, 2, 1, "", "INOUT"], [36, 2, 1, "", "NONE"], [36, 2, 1, "", "OUT"], [36, 3, 1, "", "__new__"]], "transactron.graph.Owned": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "name"], [36, 2, 1, "", "owner"]], "transactron.graph.OwnershipGraph": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "dump"], [36, 3, 1, "", "dump_dot"], [36, 3, 1, "", "dump_elk"], [36, 3, 1, "", "dump_mermaid"], [36, 3, 1, "", "get_hier_name"], [36, 3, 1, "", "get_name"], [36, 3, 1, "", "insert_edge"], [36, 3, 1, "", "insert_node"], [36, 2, 1, "", "mermaid_direction"], [36, 3, 1, "", "prune"], [36, 3, 1, "", "remember"], [36, 3, 1, "", "remember_field"]], "transactron.lib": [[38, 0, 0, "-", "adapters"], [38, 0, 0, "-", "buttons"], [38, 0, 0, "-", "connectors"], [38, 0, 0, "-", "dependencies"], [38, 0, 0, "-", "fifo"], [38, 0, 0, "-", "logging"], [38, 0, 0, "-", "metrics"], [38, 0, 0, "-", "reqres"], [38, 0, 0, "-", "simultaneous"], [38, 0, 0, "-", "storage"], [38, 0, 0, "-", "transformers"]], "transactron.lib.adapters": [[38, 1, 1, "", "Adapter"], [38, 1, 1, "", "AdapterBase"], [38, 1, 1, "", "AdapterTrans"]], "transactron.lib.adapters.Adapter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "set"]], "transactron.lib.adapters.AdapterBase": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "data_in"], [38, 2, 1, "", "data_out"], [38, 3, 1, "", "debug_signals"], [38, 2, 1, "", "done"], [38, 2, 1, "", "en"]], "transactron.lib.adapters.AdapterTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.buttons": [[38, 1, 1, "", "ClickIn"], [38, 1, 1, "", "ClickOut"]], "transactron.lib.buttons.ClickIn": [[38, 3, 1, "", "__init__"]], "transactron.lib.buttons.ClickOut": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors": [[38, 1, 1, "", "Connect"], [38, 1, 1, "", "ConnectTrans"], [38, 1, 1, "", "FIFO"], [38, 1, 1, "", "Forwarder"], [38, 1, 1, "", "ManyToOneConnectTrans"], [38, 1, 1, "", "Pipe"], [38, 1, 1, "", "StableSelectingNetwork"]], "transactron.lib.connectors.Connect": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.ConnectTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.FIFO": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.Forwarder": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.ManyToOneConnectTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.Pipe": [[38, 3, 1, "", "__init__"]], "transactron.lib.connectors.StableSelectingNetwork": [[38, 3, 1, "", "__init__"]], "transactron.lib.dependencies": [[38, 1, 1, "", "DependencyKey"], [38, 1, 1, "", "DependencyManager"], [38, 1, 1, "", "ListKey"], [38, 1, 1, "", "SimpleKey"], [38, 1, 1, "", "UnifierKey"]], "transactron.lib.dependencies.DependencyKey": [[38, 2, 1, "", "cache"], [38, 3, 1, "", "combine"], [38, 2, 1, "", "empty_valid"], [38, 2, 1, "", "lock_on_get"]], "transactron.lib.dependencies.DependencyManager": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add_dependency"], [38, 3, 1, "", "get_dependency"]], "transactron.lib.dependencies.ListKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "empty_valid"]], "transactron.lib.dependencies.SimpleKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "default_value"]], "transactron.lib.dependencies.UnifierKey": [[38, 3, 1, "", "combine"], [38, 2, 1, "", "unifier"]], "transactron.lib.fifo": [[38, 1, 1, "", "BasicFifo"], [38, 1, 1, "", "Semaphore"]], "transactron.lib.fifo.BasicFifo": [[38, 3, 1, "", "__init__"]], "transactron.lib.fifo.Semaphore": [[38, 3, 1, "", "__init__"]], "transactron.lib.logging": [[38, 1, 1, "", "HardwareLogger"], [38, 1, 1, "", "LogKey"], [38, 1, 1, "", "LogRecord"], [38, 1, 1, "", "LogRecordInfo"], [38, 4, 1, "", "get_log_records"], [38, 4, 1, "", "get_trigger_bit"]], "transactron.lib.logging.HardwareLogger": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "assertion"], [38, 3, 1, "", "debug"], [38, 3, 1, "", "error"], [38, 3, 1, "", "info"], [38, 3, 1, "", "log"], [38, 3, 1, "", "warning"]], "transactron.lib.logging.LogKey": [[38, 3, 1, "", "__init__"]], "transactron.lib.logging.LogRecord": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "fields"], [38, 2, 1, "", "trigger"]], "transactron.lib.logging.LogRecordInfo": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "format"], [38, 2, 1, "", "format_str"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "level"], [38, 2, 1, "", "location"], [38, 2, 1, "", "logger_name"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"]], "transactron.lib.metrics": [[38, 1, 1, "", "FIFOLatencyMeasurer"], [38, 1, 1, "", "HardwareMetricsManager"], [38, 1, 1, "", "HwCounter"], [38, 1, 1, "", "HwExpHistogram"], [38, 1, 1, "", "HwMetric"], [38, 1, 1, "", "HwMetricsEnabledKey"], [38, 1, 1, "", "MetricModel"], [38, 1, 1, "", "MetricRegisterModel"], [38, 1, 1, "", "TaggedCounter"], [38, 1, 1, "", "TaggedLatencyMeasurer"]], "transactron.lib.metrics.FIFOLatencyMeasurer": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "metrics_enabled"], [38, 3, 1, "", "start"], [38, 3, 1, "", "stop"]], "transactron.lib.metrics.HardwareMetricsManager": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "debug_signals"], [38, 3, 1, "", "get_metrics"], [38, 3, 1, "", "get_register_value"]], "transactron.lib.metrics.HwCounter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "incr"]], "transactron.lib.metrics.HwExpHistogram": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add"]], "transactron.lib.metrics.HwMetric": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "add_registers"], [38, 3, 1, "", "metrics_enabled"]], "transactron.lib.metrics.HwMetricsEnabledKey": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "default_value"], [38, 2, 1, "", "empty_valid"], [38, 2, 1, "", "lock_on_get"]], "transactron.lib.metrics.MetricModel": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "description"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "fully_qualified_name"], [38, 2, 1, "", "regs"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"]], "transactron.lib.metrics.MetricRegisterModel": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "description"], [38, 3, 1, "", "from_dict"], [38, 3, 1, "", "from_json"], [38, 2, 1, "", "name"], [38, 3, 1, "", "schema"], [38, 3, 1, "", "to_dict"], [38, 3, 1, "", "to_json"], [38, 2, 1, "", "width"]], "transactron.lib.metrics.TaggedCounter": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "incr"]], "transactron.lib.metrics.TaggedLatencyMeasurer": [[38, 3, 1, "", "__init__"], [38, 3, 1, "", "metrics_enabled"], [38, 3, 1, "", "start"], [38, 3, 1, "", "stop"]], "transactron.lib.reqres": [[38, 1, 1, "", "ArgumentsToResultsZipper"], [38, 1, 1, "", "Serializer"]], "transactron.lib.reqres.ArgumentsToResultsZipper": [[38, 3, 1, "", "__init__"]], "transactron.lib.reqres.Serializer": [[38, 3, 1, "", "__init__"]], "transactron.lib.simultaneous": [[38, 4, 1, "", "condition"]], "transactron.lib.storage": [[38, 1, 1, "", "AsyncMemoryBank"], [38, 1, 1, "", "ContentAddressableMemory"], [38, 1, 1, "", "MemoryBank"]], "transactron.lib.storage.AsyncMemoryBank": [[38, 3, 1, "", "__init__"]], "transactron.lib.storage.ContentAddressableMemory": [[38, 3, 1, "", "__init__"]], "transactron.lib.storage.MemoryBank": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers": [[38, 1, 1, "", "CatTrans"], [38, 1, 1, "", "Collector"], [38, 1, 1, "", "ConnectAndMapTrans"], [38, 1, 1, "", "MethodFilter"], [38, 1, 1, "", "MethodMap"], [38, 1, 1, "", "MethodProduct"], [38, 1, 1, "", "MethodTryProduct"], [38, 1, 1, "", "Transformer"], [38, 1, 1, "", "Unifier"]], "transactron.lib.transformers.CatTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.Collector": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.ConnectAndMapTrans": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodFilter": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodMap": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodProduct": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.MethodTryProduct": [[38, 3, 1, "", "__init__"]], "transactron.lib.transformers.Transformer": [[38, 2, 1, "", "method"], [38, 3, 1, "", "use"]], "transactron.lib.transformers.Unifier": [[38, 3, 1, "", "__init__"], [38, 2, 1, "", "method"]], "transactron.profiler": [[36, 1, 1, "", "MethodSamples"], [36, 1, 1, "", "Profile"], [36, 1, 1, "", "ProfileData"], [36, 1, 1, "", "ProfileInfo"], [36, 1, 1, "", "ProfileSamples"], [36, 1, 1, "", "RunStat"], [36, 1, 1, "", "RunStatNode"], [36, 1, 1, "", "TransactionSamples"]], "transactron.profiler.MethodSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "run"]], "transactron.profiler.Profile": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "analyze_methods"], [36, 3, 1, "", "analyze_transactions"], [36, 2, 1, "", "cycles"], [36, 3, 1, "", "decode"], [36, 3, 1, "", "encode"], [36, 3, 1, "", "from_dict"], [36, 3, 1, "", "from_json"], [36, 3, 1, "", "schema"], [36, 3, 1, "", "to_dict"], [36, 3, 1, "", "to_json"], [36, 2, 1, "", "transactions_and_methods"]], "transactron.profiler.ProfileData": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "make"], [36, 2, 1, "", "method_parents"], [36, 2, 1, "", "transaction_conflicts"], [36, 2, 1, "", "transactions_and_methods"], [36, 2, 1, "", "transactions_by_method"]], "transactron.profiler.ProfileInfo": [[36, 3, 1, "", "__init__"], [36, 3, 1, "", "from_dict"], [36, 3, 1, "", "from_json"], [36, 2, 1, "", "is_transaction"], [36, 2, 1, "", "name"], [36, 3, 1, "", "schema"], [36, 2, 1, "", "src_loc"], [36, 3, 1, "", "to_dict"], [36, 3, 1, "", "to_json"]], "transactron.profiler.ProfileSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "methods"], [36, 2, 1, "", "transactions"]], "transactron.profiler.RunStat": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "locked"], [36, 3, 1, "", "make"], [36, 2, 1, "", "name"], [36, 2, 1, "", "run"], [36, 2, 1, "", "src_loc"]], "transactron.profiler.RunStatNode": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "callers"], [36, 3, 1, "", "make"], [36, 2, 1, "", "stat"]], "transactron.profiler.TransactionSamples": [[36, 3, 1, "", "__init__"], [36, 2, 1, "", "grant"], [36, 2, 1, "", "request"], [36, 2, 1, "", "runnable"]], "transactron.testing": [[39, 0, 0, "-", "functions"], [39, 0, 0, "-", "gtkw_extension"], [39, 0, 0, "-", "infrastructure"], [39, 0, 0, "-", "input_generation"], [39, 0, 0, "-", "logging"], [39, 0, 0, "-", "profiler"], [39, 0, 0, "-", "sugar"], [39, 0, 0, "-", "testbenchio"]], "transactron.testing.functions": [[39, 4, 1, "", "get_outputs"]], "transactron.testing.gtkw_extension": [[39, 4, 1, "", "write_vcd_ext"]], "transactron.testing.infrastructure": [[39, 1, 1, "", "CoreblocksCommand"], [39, 1, 1, "", "Now"], [39, 1, 1, "", "PysimSimulator"], [39, 1, 1, "", "SimpleTestCircuit"], [39, 1, 1, "", "SyncProcessWrapper"], [39, 1, 1, "", "TestCaseWithSimulator"], [39, 4, 1, "", "guard_nested_collection"]], "transactron.testing.infrastructure.PysimSimulator": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "add_process"], [39, 3, 1, "", "run"]], "transactron.testing.infrastructure.SimpleTestCircuit": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "debug_signals"]], "transactron.testing.infrastructure.SyncProcessWrapper": [[39, 3, 1, "", "__init__"]], "transactron.testing.infrastructure.TestCaseWithSimulator": [[39, 3, 1, "", "add_all_mocks"], [39, 3, 1, "", "add_class_mocks"], [39, 3, 1, "", "add_local_mocks"], [39, 3, 1, "", "configure_dependency_context"], [39, 3, 1, "", "configure_logging"], [39, 3, 1, "", "configure_profiles"], [39, 3, 1, "", "configure_traces"], [39, 2, 1, "", "dependency_manager"], [39, 3, 1, "", "fixture_initialize_testing_env"], [39, 3, 1, "", "multi_settle"], [39, 3, 1, "", "random_wait"], [39, 3, 1, "", "random_wait_geom"], [39, 3, 1, "", "reinitialize_fixtures"], [39, 3, 1, "", "run_simulation"], [39, 3, 1, "", "tick"]], "transactron.testing.input_generation": [[39, 1, 1, "", "OpNOP"], [39, 4, 1, "", "generate_based_on_layout"], [39, 4, 1, "", "generate_method_input"], [39, 4, 1, "", "generate_nops_in_list"], [39, 4, 1, "", "generate_process_input"], [39, 4, 1, "", "generate_shrinkable_list"], [39, 4, 1, "", "insert_nops"]], "transactron.testing.logging": [[39, 4, 1, "", "make_logging_process"], [39, 4, 1, "", "parse_logging_level"]], "transactron.testing.profiler": [[39, 4, 1, "", "profiler_process"]], "transactron.testing.sugar": [[39, 4, 1, "", "def_method_mock"]], "transactron.testing.testbenchio": [[39, 1, 1, "", "TestbenchIO"]], "transactron.testing.testbenchio.TestbenchIO": [[39, 3, 1, "", "__init__"], [39, 3, 1, "", "call"], [39, 3, 1, "", "call_do"], [39, 3, 1, "", "call_init"], [39, 3, 1, "", "call_result"], [39, 3, 1, "", "call_try"], [39, 3, 1, "", "debug_signals"], [39, 3, 1, "", "disable"], [39, 3, 1, "", "done"], [39, 3, 1, "", "enable"], [39, 3, 1, "", "get_outputs"], [39, 3, 1, "", "method_argument"], [39, 3, 1, "", "method_handle"], [39, 3, 1, "", "method_handle_loop"], [39, 3, 1, "", "method_return"], [39, 3, 1, "", "set_enable"], [39, 3, 1, "", "set_inputs"], [39, 3, 1, "", "wait_until_done"]], "transactron.tracing": [[36, 1, 1, "", "TracingEnabler"], [36, 1, 1, "", "TracingFragment"], [36, 1, 1, "", "TracingFragmentTransformer"], [36, 1, 1, "", "TracingInstance"]], "transactron.tracing.TracingFragment": [[36, 3, 1, "", "get"], [36, 3, 1, "", "prepare"], [36, 2, 1, "", "subfragments"]], "transactron.tracing.TracingFragmentTransformer": [[36, 3, 1, "", "on_fragment"]], "transactron.tracing.TracingInstance": [[36, 3, 1, "", "get"]], "transactron.utils": [[41, 0, 0, "-", "amaranth_ext"], [40, 0, 0, "-", "assign"], [40, 0, 0, "-", "data_repr"], [40, 0, 0, "-", "debug_signals"], [40, 0, 0, "-", "depcache"], [40, 0, 0, "-", "dependencies"], [40, 0, 0, "-", "gen"], [40, 0, 0, "-", "idgen"], [40, 0, 0, "-", "transactron_helpers"]], "transactron.utils.amaranth_ext": [[41, 0, 0, "-", "elaboratables"], [41, 0, 0, "-", "functions"]], "transactron.utils.amaranth_ext.elaboratables": [[41, 1, 1, "", "ModuleConnector"], [41, 1, 1, "", "MultiPriorityEncoder"], [41, 4, 1, "", "OneHotSwitch"], [41, 4, 1, "", "OneHotSwitchDynamic"], [41, 1, 1, "", "RingMultiPriorityEncoder"], [41, 1, 1, "", "RoundRobin"], [41, 1, 1, "", "Scheduler"]], "transactron.utils.amaranth_ext.elaboratables.ModuleConnector": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.elaboratables.MultiPriorityEncoder": [[41, 3, 1, "", "__init__"], [41, 3, 1, "", "build_tree"], [41, 3, 1, "", "create"], [41, 3, 1, "", "create_simple"]], "transactron.utils.amaranth_ext.elaboratables.RingMultiPriorityEncoder": [[41, 3, 1, "", "__init__"], [41, 3, 1, "", "create"], [41, 3, 1, "", "create_simple"]], "transactron.utils.amaranth_ext.elaboratables.RoundRobin": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.elaboratables.Scheduler": [[41, 3, 1, "", "__init__"]], "transactron.utils.amaranth_ext.functions": [[41, 4, 1, "", "count_leading_zeros"], [41, 4, 1, "", "count_trailing_zeros"], [41, 4, 1, "", "flatten_signals"], [41, 4, 1, "", "mod_incr"], [41, 4, 1, "", "popcount"]], "transactron.utils.assign": [[40, 1, 1, "", "AssignType"], [40, 4, 1, "", "assign"]], "transactron.utils.assign.AssignType": [[40, 2, 1, "", "ALL"], [40, 2, 1, "", "COMMON"], [40, 2, 1, "", "LHS"], [40, 2, 1, "", "RHS"]], "transactron.utils.data_repr": [[40, 4, 1, "", "align_down_to_power_of_two"], [40, 4, 1, "", "align_to_power_of_two"], [40, 4, 1, "", "average_dict_of_lists"], [40, 4, 1, "", "bits_from_int"], [40, 4, 1, "", "data_layout"], [40, 4, 1, "", "int_to_signed"], [40, 4, 1, "", "layout_subset"], [40, 4, 1, "", "make_hashable"], [40, 4, 1, "", "neg"], [40, 4, 1, "", "signed_to_int"]], "transactron.utils.debug_signals": [[40, 4, 1, "", "auto_debug_signals"]], "transactron.utils.depcache": [[40, 1, 1, "", "DependentCache"]], "transactron.utils.depcache.DependentCache": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "get"]], "transactron.utils.dependencies": [[40, 1, 1, "", "DependencyContext"], [40, 1, 1, "", "DependencyKey"], [40, 1, 1, "", "DependencyManager"], [40, 1, 1, "", "ListKey"], [40, 1, 1, "", "SimpleKey"]], "transactron.utils.dependencies.DependencyContext": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "get"], [40, 2, 1, "", "stack"]], "transactron.utils.dependencies.DependencyKey": [[40, 2, 1, "", "cache"], [40, 3, 1, "", "combine"], [40, 2, 1, "", "empty_valid"], [40, 2, 1, "", "lock_on_get"]], "transactron.utils.dependencies.DependencyManager": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "add_dependency"], [40, 3, 1, "", "get_dependency"]], "transactron.utils.dependencies.ListKey": [[40, 3, 1, "", "combine"], [40, 2, 1, "", "empty_valid"]], "transactron.utils.dependencies.SimpleKey": [[40, 3, 1, "", "combine"], [40, 2, 1, "", "default_value"]], "transactron.utils.gen": [[40, 1, 1, "", "GeneratedLog"], [40, 1, 1, "", "GenerationInfo"], [40, 1, 1, "", "MetricLocation"], [40, 4, 1, "", "generate_verilog"]], "transactron.utils.gen.GeneratedLog": [[40, 3, 1, "", "__init__"], [40, 2, 1, "", "fields_location"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"], [40, 2, 1, "", "trigger_location"]], "transactron.utils.gen.GenerationInfo": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "decode"], [40, 3, 1, "", "encode"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 2, 1, "", "logs"], [40, 2, 1, "", "method_signals_location"], [40, 2, 1, "", "metrics_location"], [40, 2, 1, "", "profile_data"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"], [40, 2, 1, "", "transaction_signals_location"]], "transactron.utils.gen.MetricLocation": [[40, 3, 1, "", "__init__"], [40, 3, 1, "", "from_dict"], [40, 3, 1, "", "from_json"], [40, 2, 1, "", "regs"], [40, 3, 1, "", "schema"], [40, 3, 1, "", "to_dict"], [40, 3, 1, "", "to_json"]], "transactron.utils.idgen": [[40, 1, 1, "", "IdGenerator"]], "transactron.utils.idgen.IdGenerator": [[40, 3, 1, "", "__init__"]], "transactron.utils.transactron_helpers": [[40, 4, 1, "", "def_helper"], [40, 4, 1, "", "extend_layout"], [40, 4, 1, "", "from_method_layout"], [40, 4, 1, "", "get_caller_class_name"], [40, 4, 1, "", "get_src_loc"], [40, 4, 1, "", "longest_common_prefix"], [40, 4, 1, "", "make_layout"], [40, 4, 1, "", "method_def_helper"], [40, 4, 1, "", "mock_def_helper"], [40, 4, 1, "", "silence_mustuse"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property"}, "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"], "5": ["py", "property", "Python property"]}, "titleterms": {"api": 0, "coreblock": [0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 28, 35], "transactron": [0, 29, 36, 37, 38, 39, 40, 41], "list": 1, "assumpt": [1, 3], "made": 1, "dure": 1, "develop": [1, 24], "instruct": [3, 33], "cach": [3, 7], "interfac": [3, 16, 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, 36, 37, 38, 39, 40, 41], "subpackag": [4, 9, 12, 13, 19, 36, 40], "submodul": [4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 36, 37, 38, 39, 40, 41], "core": [4, 34, 37], "modul": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 41], "content": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 36, 37, 38, 39, 40, 41], "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], "fu": [13, 14, 15], "alu": 13, "div_unit": 13, "except": [13, 21, 27], "jumpbranch": 13, "mul_unit": 13, "priv": [13, 19, 20, 21], "shift_unit": 13, "zbc": 13, "zb": 13, "lsu": 14, "dummylsu": 14, "lsu_request": 14, "pma": 14, "unsigned_multipl": 15, "common": 15, "fast_recurs": 15, "pipelin": 15, "sequenc": 15, "shift": 15, "func_blocks_unifi": 16, "func_protocol": 16, "param": 17, "configur": 17, "fu_param": 17, "genparam": 17, "icache_param": 17, "instr": 17, "peripher": 18, "axi_lit": 18, "bus_adapt": 18, "wishbon": 18, "csr": 20, "alias": 20, "csr_instanc": 20, "csr_regist": 20, "trap": 21, "instr_count": 21, "interrupt_control": 21, "schedul": [22, 31, 35, 37], "wakeup_select": 22, "full": 23, "transact": [23, 35, 37], "method": [23, 32, 33, 35, 37], "graph": [23, 36], "environ": 24, "set": 24, "up": 24, "us": [24, 32, 33], "script": 24, "run_test": 24, "py": 24, "lint": 24, "sh": 24, "core_graph": 24, "build_doc": 24, "tprof": 24, "introduct": [25, 27, 35], "document": [25, 35], "summari": 27, "paper": 27, "about": 27, "interrupt": 27, "handl": 27, "old": 27, "pc": 27, "out": 27, "order": [27, 35], "execut": [27, 34], "processor": 27, "In": 27, "line": 27, "softwar": 27, "manag": [27, 37], "tlb": 27, "hardwar": 27, "cost": 27, "analysi": 27, "process": 27, "strategi": 27, "igpu": 27, "support": 27, "specul": 27, "gpu": 27, "effici": 27, "other": 27, "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, 35], "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, 35], "vector": 33, "signal": [33, 35], "verif": 34, "synthesi": 34, "manual": 34, "reproduct": 34, "depend": [34, 38, 40], "benchmark": 34, "regress": 34, "test": [34, 39], "framework": 35, "basic": 35, "usag": 35, "argument": 35, "pass": 35, "convent": 35, "definit": 35, "return": 35, "valu": 35, "The": 35, "librari": 35, "advanc": 35, "concept": 35, "special": 35, "combin": 35, "domain": 35, "conflict": 35, "nest": 35, "profil": [36, 39], "trace": 36, "kei": 37, "sugar": [37, 39], "tmodul": 37, "transaction_bas": 37, "lib": 38, "adapt": 38, "button": 38, "connector": 38, "fifo": 38, "log": [38, 39], "metric": 38, "reqr": 38, "simultan": 38, "storag": 38, "transform": 38, "function": [39, 41], "gtkw_extens": 39, "infrastructur": 39, "input_gener": 39, "testbenchio": 39, "util": [40, 41], "assign": 40, "data_repr": 40, "debug_sign": 40, "depcach": 40, "gen": 40, "idgen": 40, "transactron_help": 40, "amaranth_ext": 41, "elaborat": 41}, "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 f324843c1..8de4b69a3 100644 --- a/shared-structs/implementation/rs-impl.html +++ b/shared-structs/implementation/rs-impl.html @@ -252,7 +252,7 @@

Read and clean row

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/shared-structs/rs.html b/shared-structs/rs.html index 408d2bcb2..33a001df2 100644 --- a/shared-structs/rs.html +++ b/shared-structs/rs.html @@ -222,7 +222,7 @@

External interface signals

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/synthesis/synthesis.html b/synthesis/synthesis.html index 29c89ce2e..b5761c4e9 100644 --- a/synthesis/synthesis.html +++ b/synthesis/synthesis.html @@ -266,7 +266,7 @@

Regression tests manual execution

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactions.html b/transactions.html index e252927e8..1580a4978 100644 --- a/transactions.html +++ b/transactions.html @@ -409,7 +409,7 @@

Transaction and method nesting

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.core.html b/transactron.core.html index 6d0448fe2..e7c11143d 100644 --- a/transactron.core.html +++ b/transactron.core.html @@ -106,7 +106,7 @@

Submodules
class transactron.core.manager.TransactionComponent
-

Bases: TransactionModule, Component

+

Bases: TransactionModule, Component

Top-level component for Transactron projects.

The TransactronComponent is a wrapper on Component classes, which adds Transactron support for the wrapped class. The use @@ -156,7 +156,7 @@

Submodules
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

@@ -252,7 +252,7 @@

Submodules
-__init__(*, name: Optional[str] = None, i: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), o: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), nonexclusive: bool = False, combiner: Optional[Callable[[Module, Sequence[View[StructLayout]], Value], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg]]] = None, single_caller: bool = False, src_loc: int | tuple[str, int] = 0)
+__init__(*, name: Optional[str] = None, i: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), o: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), nonexclusive: bool = False, combiner: Optional[Callable[[Module, Sequence[View[StructLayout]], Value], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg]]] = None, single_caller: bool = False, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -338,7 +338,7 @@

Submodules
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

@@ -598,7 +598,7 @@

Submodules
-AvoidedIf(cond: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+AvoidedIf(cond: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)

@@ -628,7 +628,7 @@

Submodules
-If(cond: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+If(cond: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)

@@ -638,7 +638,7 @@

Submodules
-Switch(test: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+Switch(test: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)

@@ -747,7 +747,7 @@

Submodules
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

@@ -845,7 +845,7 @@

Submodules
-method_calls: defaultdict[Method, list[tuple[transactron.core.tmodule.CtrlPath, 'View[StructLayout]', amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]]
+method_calls: defaultdict[Method, list[tuple[transactron.core.tmodule.CtrlPath, 'View[StructLayout]', amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable]]]

@@ -960,7 +960,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.html b/transactron.html index bbcc901e4..3bf9e8a78 100644 --- a/transactron.html +++ b/transactron.html @@ -752,7 +752,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.lib.html b/transactron.lib.html index 8741f5984..785cbf199 100644 --- a/transactron.lib.html +++ b/transactron.lib.html @@ -136,10 +136,10 @@

Submodules
class transactron.lib.adapters.AdapterBase
-

Bases: Component

+

Bases: Component

-__init__(iface: Method, layout_in: StructLayout, layout_out: StructLayout)
+__init__(iface: Method, layout_in: StructLayout, layout_out: StructLayout)
@@ -154,7 +154,7 @@

Submodules
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

@@ -236,7 +236,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], src_loc: int | tuple[str, int] = 0)
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], src_loc: int | tuple[str, int] = 0)
Parameters
@@ -275,7 +275,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], *, src_loc: int | tuple[str, int] = 0)
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], *, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -318,7 +318,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), rev_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), *, src_loc: int | tuple[str, int] = 0)
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), rev_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']] = (), *, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -432,7 +432,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], *, src_loc: int | tuple[str, int] = 0)
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], *, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -503,7 +503,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']])
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']])
Parameters
@@ -537,7 +537,7 @@

Submodules
-__init__(n: int, layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']])
+__init__(n: int, layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']])

@@ -737,7 +737,7 @@

Submodules
-__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], depth: int, *, src_loc: int | tuple[str, int] = 0) None
+__init__(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], depth: int, *, src_loc: int | tuple[str, int] = 0) None
Parameters
@@ -822,7 +822,7 @@

Submodules
-assertion(m: ModuleLike, value: Value, format: str = '', *args, src_loc_at: int = 0, **kwargs)
+assertion(m: ModuleLike, value: Value, format: str = '', *args, src_loc_at: int = 0, **kwargs)

Define an assertion.

This function might help find some hardware bugs which might otherwise be hard to detect. If value is false, it will terminate the simulation or @@ -833,14 +833,14 @@

Submodules
-debug(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)
+debug(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)

Log a message with severity ‘DEBUG’.

See HardwareLogger.log function for more details.

-error(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)
+error(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)

Log a message with severity ‘ERROR’.

This severity level has special semantics. If a log with this serverity level is triggered, the simulation will be terminated.

@@ -849,14 +849,14 @@

Submodules
-info(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)
+info(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)

Log a message with severity ‘INFO’.

See HardwareLogger.log function for more details.

-log(m: ModuleLike, level: int, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, src_loc_at: int = 0)
+log(m: ModuleLike, level: int, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, src_loc_at: int = 0)

Registers a hardware log record with the given severity.

Parameters
@@ -880,7 +880,7 @@

Submodules
-warning(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)
+warning(m: ModuleLike, trigger: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, format: str, *args, **kwargs)

Log a message with severity ‘WARNING’.

See HardwareLogger.log function for more details.

@@ -1029,7 +1029,7 @@

Submodules
-transactron.lib.logging.get_trigger_bit(level: int, namespace_regexp: str = '.*') Value
+transactron.lib.logging.get_trigger_bit(level: int, namespace_regexp: str = '.*') Value

Get a trigger bit for logs of the given severity level and in the specified namespace.

The signal returned by this function is high whenever the trigger signal @@ -1134,7 +1134,7 @@

Submodules
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

Returns tree-like SignalBundle composed of all metric registers.

@@ -1236,7 +1236,7 @@

Submodules
-add(m: TModule, sample: Value)
+add(m: TModule, sample: Value)

Adds a new sample to the histogram.

Should be called in the body of either a transaction or a method.

@@ -1568,7 +1568,7 @@

Submodules
-start(m: TModule, *, slot: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+start(m: TModule, *, slot: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)

Registers the start of an event for a given slot tag.

Should be called in the body of either a transaction or a method.

@@ -1585,7 +1585,7 @@

Submodules
-stop(m: TModule, *, slot: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)
+stop(m: TModule, *, slot: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable)

Registers the end of the event for a given slot tag.

Should be called in the body of either a transaction or a method.

@@ -1645,7 +1645,7 @@

Submodules
-__init__(args_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], results_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], src_loc: int | tuple[str, int] = 0)
+__init__(args_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], results_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], src_loc: int | tuple[str, int] = 0)
Parameters
@@ -1764,24 +1764,28 @@

Submodulesclass transactron.lib.storage.AsyncMemoryBank

Bases: Elaboratable

AsyncMemoryBank module.

-

Provides a transactional interface to asynchronous Amaranth Memory with one -read and one write port. It supports optionally writing with given granularity.

+

Provides a transactional interface to asynchronous Amaranth Memory with arbitrary number of +read and write ports. It supports optionally writing with given granularity.

Attributes
-
read: Method

The read method. Accepts an addr from which data should be read. +

reads: list[Method]

The read methods, one for each read port. Accepts an addr from which data should be read. The read response method. Return data_layout View which was saved on addr given by last -read_req method call.

+write method call.

-
write: Method

The write method. Accepts addr where data should be saved, data in form of data_layout +

writes: list[Method]

The write methods, one for each write port. Accepts write address addr, data in form of data_layout and optionally mask if granularity is not None. 1 in mask means that appropriate part should be written.

+
read: Method

The only method from reads, if the memory has a single read port.

+
+
write: Method

The only method from writes, if the memory has a single write port.

+
-__init__(*, data_layout: list[tuple[str, 'ShapeLike | LayoutList']], elem_count: int, granularity: Optional[int] = None, src_loc: int | tuple[str, int] = 0)
+__init__(*, data_layout: list[tuple[str, 'ShapeLike | LayoutList']], elem_count: int, granularity: Optional[int] = None, read_ports: int = 1, write_ports: int = 1, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -1792,6 +1796,10 @@

Submodules
-__init__(address_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], data_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], entries_number: int)
+__init__(address_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], data_layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], entries_number: int)
Parameters
@@ -1856,26 +1864,36 @@

Submodulesclass transactron.lib.storage.MemoryBank

Bases: Elaboratable

MemoryBank module.

-

Provides a transactional interface to synchronous Amaranth Memory with one -read and one write port. It supports optionally writing with given granularity.

+

Provides a transactional interface to synchronous Amaranth Memory with arbitrary +number of read and write ports. It supports optionally writing with given granularity.

Attributes
-
read_req: Method

The read request method. Accepts an addr from which data should be read. -Only ready if there is there is a place to buffer response.

+
read_reqs: list[Method]

The read request methods, one for each read port. Accepts an addr from which data should be read. +Only ready if there is there is a place to buffer response. After calling read_reqs[i], the result +will be available via the method read_resps[i].

-
read_resp: Method

The read response method. Return data_layout View which was saved on addr given by last -read_req method call. Only ready after read_req call.

+
read_resps: list[Method]

The read response methods, one for each read port. Return data_layout View which was saved on addr given +by last corresponding read_reqs method call. Only ready after corresponding read_reqs call.

-
write: Method

The write method. Accepts addr where data should be saved, data in form of data_layout +

writes: list[Method]

The write methods, one for each write port. Accepts write address addr, data in form of data_layout and optionally mask if granularity is not None. 1 in mask means that appropriate part should be written.

+
read_req: Method

The only method from read_reqs, if the memory has a single read port. If it has more ports, this method +is unavailable and read_reqs should be used instead.

+
+
read_resp: Method

The only method from read_resps, if the memory has a single read port. If it has more ports, this method +is unavailable and read_resps should be used instead.

+
+
write: Method

The only method from writes, if the memory has a single write port. If it has more ports, this method +is unavailable and writes should be used instead.

+
-__init__(*, data_layout: list[tuple[str, 'ShapeLike | LayoutList']], elem_count: int, granularity: Optional[int] = None, transparent: bool = False, src_loc: int | tuple[str, int] = 0)
+__init__(*, data_layout: list[tuple[str, 'ShapeLike | LayoutList']], elem_count: int, granularity: Optional[int] = None, transparent: bool = False, read_ports: int = 1, write_ports: int = 1, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -1890,6 +1908,10 @@

Submodules
-__init__(method1: Method, method2: Method, *, i_fun: Optional[Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]] = None, o_fun: Optional[Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]] = None, src_loc: int | tuple[str, int] = 0)
+__init__(method1: Method, method2: Method, *, i_fun: Optional[Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]] = None, o_fun: Optional[Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]] = None, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -2021,7 +2043,7 @@

Submodules
-__init__(target: Method, condition: Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable], default: Optional[Union[Value, int, Enum, ValueCastable, Mapping[str, RecordDict]]] = None, *, use_condition: bool = False, src_loc: int | tuple[str, int] = 0)
+__init__(target: Method, condition: Callable[[TModule, View[StructLayout]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable], default: Optional[Union[Value, int, Enum, ValueCastable, Mapping[str, RecordDict]]] = None, *, use_condition: bool = False, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -2066,7 +2088,7 @@

Submodules
-__init__(target: Method, *, i_transform: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, 'View[StructLayout]'], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, o_transform: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, 'View[StructLayout]'], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, src_loc: int | tuple[str, int] = 0)
+__init__(target: Method, *, i_transform: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, 'View[StructLayout]'], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, o_transform: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, 'View[StructLayout]'], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, src_loc: int | tuple[str, int] = 0)
Parameters
@@ -2096,7 +2118,7 @@

SubmodulesElaboratable, Unifier

-__init__(targets: list[transactron.core.method.Method], combiner: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, list['View[StructLayout]']], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, *, src_loc: int | tuple[str, int] = 0)
+__init__(targets: list[transactron.core.method.Method], combiner: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, list['View[StructLayout]']], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, *, src_loc: int | tuple[str, int] = 0)

Method product.

Takes arbitrary, non-zero number of target methods, and constructs a method which calls all of the target methods using the same @@ -2135,7 +2157,7 @@

SubmodulesElaboratable, Unifier

-__init__(targets: list[transactron.core.method.Method], combiner: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, list[tuple[amaranth.hdl._ast.Value, 'View[StructLayout]']]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, *, src_loc: int | tuple[str, int] = 0)
+__init__(targets: list[transactron.core.method.Method], combiner: Optional[tuple[amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']], collections.abc.Callable[[transactron.core.tmodule.TModule, list[tuple[amaranth.hdl._ast.Value, 'View[StructLayout]']]], amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, *, src_loc: int | tuple[str, int] = 0)

Method product with optional calling.

Takes arbitrary, non-zero number of target methods, and constructs a method which tries to call all of the target methods using the same @@ -2238,7 +2260,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.testing.html b/transactron.testing.html index d63da4618..38b6b697c 100644 --- a/transactron.testing.html +++ b/transactron.testing.html @@ -91,7 +91,7 @@

Submodules

transactron.testing.functions module

-transactron.testing.functions.get_outputs(field: View) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Union[int, RecordIntDict]]]
+transactron.testing.functions.get_outputs(field: View) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Union[int, RecordIntDict]]]
@@ -120,7 +120,7 @@

Submodules
class transactron.testing.infrastructure.PysimSimulator
-

Bases: Simulator

+

Bases: Simulator

__init__(module: HasElaborate, max_cycles: float = 100000.0, add_transaction_module=True, traces_file=None, clk_period=1e-06)
@@ -128,7 +128,7 @@

Submodules
-add_process(f: Callable[[], Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, T]])
+add_process(f: Callable[[], Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, T]])

@@ -269,12 +269,12 @@

Submodules
-transactron.testing.input_generation.generate_based_on_layout(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]) SearchStrategy[Mapping[str, Union[int, RecordIntDict]]]
+transactron.testing.input_generation.generate_based_on_layout(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]) SearchStrategy[Mapping[str, Union[int, RecordIntDict]]]

-transactron.testing.input_generation.generate_method_input(args: list[tuple[str, amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]]]) Union[int, ForwardRef('RecordIntDict')]]]]
+transactron.testing.input_generation.generate_method_input(args: list[tuple[str, amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]]]) Union[int, ForwardRef('RecordIntDict')]]]]
@@ -284,7 +284,7 @@

Submodules
-transactron.testing.input_generation.generate_process_input(elem_count: int, max_nops: int, layouts: list[tuple[str, amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]]]) OpNOP]]
+transactron.testing.input_generation.generate_process_input(elem_count: int, max_nops: int, layouts: list[tuple[str, amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]]]) OpNOP]]

@@ -329,7 +329,7 @@

Submodules

transactron.testing.sugar module

-transactron.testing.sugar.def_method_mock(tb_getter: Union[Callable[[], TestbenchIO], Callable[[Any], TestbenchIO]], sched_prio: int = 0, **kwargs) Callable[[Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]]], Callable[[], Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]]]
+transactron.testing.sugar.def_method_mock(tb_getter: Union[Callable[[], TestbenchIO], Callable[[Any], TestbenchIO]], sched_prio: int = 0, **kwargs) Callable[[Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]]], Callable[[], Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]]]

Decorator function to create method mock handlers. It should be applied on a function which describes functionality which we want to invoke on method call. Such function will be wrapped by method_handle_loop and called on each @@ -368,87 +368,87 @@

Submodules
-call(data: Mapping[str, Union[int, RecordIntDict]] = {}, /, **kwdata: int | collections.abc.Mapping[str, Union[int, RecordIntDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Any]]
+call(data: Mapping[str, Union[int, RecordIntDict]] = {}, /, **kwdata: int | collections.abc.Mapping[str, Union[int, RecordIntDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Any]]

-call_do() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Union[int, RecordIntDict]]]
+call_do() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Union[int, RecordIntDict]]]
-call_init(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}, /, **kwdata: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, Union[amaranth.hdl._ast.Value, int, enum.Enum, amaranth.hdl._ast.ValueCastable, RecordValueDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+call_init(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}, /, **kwdata: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, Union[amaranth.hdl._ast.Value, int, enum.Enum, amaranth.hdl._ast.ValueCastable, RecordValueDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-call_result() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
+call_result() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
-call_try(data: Mapping[str, Union[int, RecordIntDict]] = {}, /, **kwdata: int | collections.abc.Mapping[str, Union[int, RecordIntDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
+call_try(data: Mapping[str, Union[int, RecordIntDict]] = {}, /, **kwdata: int | collections.abc.Mapping[str, Union[int, RecordIntDict]]) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
-debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+debug_signals() amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
-disable() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+disable() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-done() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, int]
+done() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, int]
-enable() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+enable() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-get_outputs() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Any]]
+get_outputs() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Mapping[str, Any]]
-method_argument() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
+method_argument() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, Optional[Mapping[str, Any]]]
-method_handle(function: Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]], *, enable: Optional[Callable[[], bool]] = None, validate_arguments: Optional[Callable[[...], bool]] = None, extra_settle_count: int = 0) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+method_handle(function: Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]], *, enable: Optional[Callable[[], bool]] = None, validate_arguments: Optional[Callable[[...], bool]] = None, extra_settle_count: int = 0) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-method_handle_loop(function: Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]], *, enable: Optional[Callable[[], bool]] = None, validate_arguments: Optional[Callable[[...], bool]] = None, extra_settle_count: int = 0) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+method_handle_loop(function: Callable[[...], Optional[Mapping[str, Union[int, RecordIntDict]]]], *, enable: Optional[Callable[[], bool]] = None, validate_arguments: Optional[Callable[[...], bool]] = None, extra_settle_count: int = 0) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-method_return(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+method_return(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-set_enable(en) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+set_enable(en) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-set_inputs(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+set_inputs(data: Mapping[str, Union[Value, int, Enum, ValueCastable, RecordValueDict]] = {}) Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
-wait_until_done() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]
+wait_until_done() Generator[Optional[Union[Command, Value, Statement, CoreblocksCommand]], Any, None]

@@ -471,7 +471,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.utils.amaranth_ext.html b/transactron.utils.amaranth_ext.html index afad04211..adbc48e4b 100644 --- a/transactron.utils.amaranth_ext.html +++ b/transactron.utils.amaranth_ext.html @@ -151,7 +151,7 @@

Submodules
-static create(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, outputs_count: int = 1, name: Optional[str] = None) list[tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]]
+static create(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, outputs_count: int = 1, name: Optional[str] = None) list[tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]]

Syntax sugar for creating MultiPriorityEncoder

This static method allows to use MultiPriorityEncoder in a more functional way. Instead of creating the instance manually, connecting all the signals and @@ -193,7 +193,7 @@

Submodules
-static create_simple(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, name: Optional[str] = None) tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]
+static create_simple(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, name: Optional[str] = None) tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]

Syntax sugar for creating MultiPriorityEncoder

This is the same as create function, but with outputs_count hardcoded to 1.

@@ -202,7 +202,7 @@

Submodules
-transactron.utils.amaranth_ext.elaboratables.OneHotSwitch(m: ModuleLike, test: Value)
+transactron.utils.amaranth_ext.elaboratables.OneHotSwitch(m: ModuleLike, test: Value)

One-hot switch.

This function allows one-hot matching in the style similar to the standard Amaranth Switch. This allows to get the performance benefit of using @@ -232,9 +232,9 @@

Submodules
-transactron.utils.amaranth_ext.elaboratables.OneHotSwitchDynamic(m: ModuleLike, test: Value, *, default: Literal[True]) Iterable[Optional[int]]
+transactron.utils.amaranth_ext.elaboratables.OneHotSwitchDynamic(m: ModuleLike, test: Value, *, default: Literal[True]) Iterable[Optional[int]]
-transactron.utils.amaranth_ext.elaboratables.OneHotSwitchDynamic(m: ModuleLike, test: Value, *, default: Literal[False] = False) Iterable[int]
+transactron.utils.amaranth_ext.elaboratables.OneHotSwitchDynamic(m: ModuleLike, test: Value, *, default: Literal[False] = False) Iterable[int]

Dynamic one-hot switch.

This function allows simple one-hot matching on signals which can have variable bit widths.

@@ -300,7 +300,7 @@

Submodules
-static create(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, first: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, last: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, outputs_count: int = 1, name: Optional[str] = None) list[tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]]
+static create(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, first: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, last: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, outputs_count: int = 1, name: Optional[str] = None) list[tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]]

Syntax sugar for creating RingMultiPriorityEncoder

This static method allows to use RingMultiPriorityEncoder in a more functional way. Instead of creating the instance manually, connecting all the signals and @@ -348,7 +348,7 @@

Submodules
-static create_simple(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, first: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, last: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, name: Optional[str] = None) tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]
+static create_simple(m: Module, input_width: int, input: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, first: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, last: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable, name: Optional[str] = None) tuple[amaranth.hdl._ast.Signal, amaranth.hdl._ast.Signal]

Syntax sugar for creating RingMultiPriorityEncoder

This is the same as create function, but with outputs_count hardcoded to 1.

@@ -436,29 +436,29 @@

Submodules

transactron.utils.amaranth_ext.functions module

-transactron.utils.amaranth_ext.functions.count_leading_zeros(s: Value) Value
+transactron.utils.amaranth_ext.functions.count_leading_zeros(s: Value) Value
-transactron.utils.amaranth_ext.functions.count_trailing_zeros(s: Value) Value
+transactron.utils.amaranth_ext.functions.count_trailing_zeros(s: Value) Value
-transactron.utils.amaranth_ext.functions.flatten_signals(signals: amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]) Iterable[Signal]
+transactron.utils.amaranth_ext.functions.flatten_signals(signals: amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]) Iterable[Signal]

Flattens input data, which can be either a signal, a record, a list (or a dict) of SignalBundle items.

-transactron.utils.amaranth_ext.functions.mod_incr(sig: Value, mod: int) Value
+transactron.utils.amaranth_ext.functions.mod_incr(sig: Value, mod: int) Value

Perform (sig+1) % mod operation.

-transactron.utils.amaranth_ext.functions.popcount(s: Value)
+transactron.utils.amaranth_ext.functions.popcount(s: Value)
@@ -478,7 +478,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.

diff --git a/transactron.utils.html b/transactron.utils.html index 92f7e505c..32b84b2e1 100644 --- a/transactron.utils.html +++ b/transactron.utils.html @@ -131,7 +131,7 @@

Submodules
-transactron.utils.assign.assign(lhs: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg], rhs: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg], *, fields: transactron.utils.assign.AssignType | collections.abc.Iterable[str | int] | collections.abc.Mapping[str | int, AssignFields] = AssignType.RHS, lhs_strict=False, rhs_strict=False) Iterable[Assign]
+transactron.utils.assign.assign(lhs: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg], rhs: amaranth.hdl._ast.Value | int | enum.Enum | amaranth.hdl._ast.ValueCastable | collections.abc.Mapping[str, AssignArg] | collections.abc.Mapping[int, AssignArg] | collections.abc.Sequence[AssignArg], *, fields: transactron.utils.assign.AssignType | collections.abc.Iterable[str | int] | collections.abc.Mapping[str | int, AssignFields] = AssignType.RHS, lhs_strict=False, rhs_strict=False) Iterable[Assign]

Safe structured assignment.

This function recursively generates assignment statements for field-containing structures. This includes: @@ -250,7 +250,7 @@

Submodules
-transactron.utils.data_repr.data_layout(val: amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum]) amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]
+transactron.utils.data_repr.data_layout(val: amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum]) amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, 'ShapeLike | LayoutList']]

@@ -277,7 +277,7 @@

Submodules
-transactron.utils.data_repr.layout_subset(layout: StructLayout, *, fields: set[str]) StructLayout
+transactron.utils.data_repr.layout_subset(layout: StructLayout, *, fields: set[str]) StructLayout

@@ -334,7 +334,7 @@

Submodules

transactron.utils.debug_signals module

-transactron.utils.debug_signals.auto_debug_signals(thing) amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]
+transactron.utils.debug_signals.auto_debug_signals(thing) amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl._ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]

Automatic debug signal generation.

Exposes class attributes with debug signals (Amaranth Signals, Records, Arrays and Elaboratables, Methods, classes @@ -735,7 +735,7 @@

Submodules
-transactron.utils.gen.generate_verilog(elaboratable: Elaboratable, ports: Optional[list[amaranth.hdl._ast.Value]] = None, top_name: str = 'top') tuple[str, transactron.utils.gen.GenerationInfo]
+transactron.utils.gen.generate_verilog(elaboratable: Elaboratable, ports: Optional[list[amaranth.hdl._ast.Value]] = None, top_name: str = 'top') tuple[str, transactron.utils.gen.GenerationInfo]

@@ -762,12 +762,12 @@

Submodules
-transactron.utils.transactron_helpers.extend_layout(layout: StructLayout, *fields: tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]) StructLayout
+transactron.utils.transactron_helpers.extend_layout(layout: StructLayout, *fields: tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]) StructLayout

-transactron.utils.transactron_helpers.from_method_layout(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]]) StructLayout
+transactron.utils.transactron_helpers.from_method_layout(layout: amaranth.lib.data.StructLayout | collections.abc.Iterable[tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]]) StructLayout
@@ -787,7 +787,7 @@

Submodules
-transactron.utils.transactron_helpers.make_layout(*fields: tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]) StructLayout
+transactron.utils.transactron_helpers.make_layout(*fields: tuple[str, amaranth.hdl._ast.Shape | amaranth.hdl._ast.ShapeCastable | int | range | type[enum.Enum] | list[tuple[str, ForwardRef('ShapeLike | LayoutList')]]]) StructLayout

@@ -823,7 +823,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 07:48 2024-10-15. + Last updated on 19:36 2024-11-01.