Full transaction-method graph

flowchart TB subgraph TransactionModule["TransactionModule"] subgraph TestElaboratable["elaboratable TestElaboratable"] subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_request["request"] WishboneMaster_result["result"] subgraph Forwarder["result Forwarder"] Forwarder_read["read"] Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] WishboneMaster1_result["result"] WishboneMaster1_request["request"] WishboneMaster1_WishboneMaster["WishboneMaster"] subgraph Forwarder1["result Forwarder"] Forwarder1_read["read"] Forwarder1_write["write"] end end subgraph FIFO["fifo_fetch FIFO"] FIFO_read["read"] FIFO_write["write"] end subgraph BasicFifo["free_rf_fifo BasicFifo"] BasicFifo_write["write"] BasicFifo_read["read"] end subgraph SimpleWBCacheRefiller["icache_refiller SimpleWBCacheRefiller"] SimpleWBCacheRefiller_SimpleWBCacheRefiller["SimpleWBCacheRefiller"] SimpleWBCacheRefiller_start_refill["start_refill"] SimpleWBCacheRefiller_accept_refill["accept_refill"] subgraph Forwarder2["address_fwd Forwarder"] Forwarder2_write["write"] Forwarder2_read["read"] end end subgraph ICache["icache ICache"] ICache_accept_res["accept_res"] ICache_issue_req["issue_req"] ICache_ICache["ICache"] ICache_ICache1["ICache"] ICache_ICache2["ICache"] subgraph FIFO1["req_fifo FIFO"] FIFO1_read["read"] FIFO1_write["write"] end subgraph Forwarder3["res_fwd Forwarder"] Forwarder3_write["write"] Forwarder3_read["read"] end end subgraph Fetch["fetch Fetch"] Fetch_Fetch["Fetch"] Fetch_verify_branch["verify_branch"] Fetch_Fetch1["Fetch"] subgraph BasicFifo1["fetch_target_queue BasicFifo"] BasicFifo1_write["write"] BasicFifo1_read["read"] end end subgraph FRAT["FRAT FRAT"] FRAT_rename["rename"] end subgraph RRAT["RRAT RRAT"] RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] RegisterFile_read1["read1"] RegisterFile_free["free"] RegisterFile_read2["read2"] RegisterFile_write["write"] end subgraph ReorderBuffer["ROB ReorderBuffer"] ReorderBuffer_mark_done["mark_done"] ReorderBuffer_peek["peek"] ReorderBuffer_get_indices["get_indices"] ReorderBuffer_put["put"] ReorderBuffer_retire["retire"] end subgraph ExceptionCauseRegister["exception_cause_register ExceptionCauseRegister"] ExceptionCauseRegister_report["report"] ExceptionCauseRegister_get["get"] end subgraph FuncBlocksUnifier["func_blocks_unifier FuncBlocksUnifier"] subgraph Collector["result_collector Collector"] Collector_method["method"] subgraph Forwarder4["forwarder Forwarder"] Forwarder4_read["read"] Forwarder4_write["write"] end subgraph ManyToOneConnectTrans["connect ManyToOneConnectTrans"] subgraph ConnectTrans["ManyToOneConnectTrans_input_0 ConnectTrans"] ConnectTrans_ConnectTrans["ConnectTrans"] end subgraph ConnectTrans1["ManyToOneConnectTrans_input_1 ConnectTrans"] ConnectTrans1_ConnectTrans["ConnectTrans"] end end end subgraph MethodProduct["update_combiner MethodProduct"] MethodProduct_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] RSFuncBlock_update["update"] RSFuncBlock_select["select"] RSFuncBlock_get_result["get_result"] RSFuncBlock_insert["insert"] subgraph RS["rs RS"] RS_update["update"] RS_RS["RS"] RS_RS1["RS"] RS_take["take"] RS_insert["insert"] RS_select["select"] RS_RS2["RS"] RS_RS3["RS"] end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] subgraph FIFO2["fifo FIFO"] FIFO2_read["read"] FIFO2_write["write"] end end subgraph WakeupSelect["wakeup_select_0 WakeupSelect"] WakeupSelect_WakeupSelect["WakeupSelect"] end subgraph ShiftFuncUnit["func_unit_1 ShiftFuncUnit"] ShiftFuncUnit_issue["issue"] ShiftFuncUnit_accept["accept"] subgraph FIFO3["fifo FIFO"] FIFO3_read["read"] FIFO3_write["write"] end end subgraph WakeupSelect1["wakeup_select_1 WakeupSelect"] WakeupSelect1_WakeupSelect["WakeupSelect"] end subgraph JumpBranchFuncUnit["func_unit_2 JumpBranchFuncUnit"] JumpBranchFuncUnit_branch_result["branch_result"] JumpBranchFuncUnit_accept["accept"] JumpBranchFuncUnit_issue["issue"] subgraph FIFO4["fifo_res FIFO"] FIFO4_write["write"] FIFO4_read["read"] end subgraph FIFO5["fifo_branch FIFO"] FIFO5_read["read"] FIFO5_write["write"] end end subgraph WakeupSelect2["wakeup_select_2 WakeupSelect"] WakeupSelect2_WakeupSelect["WakeupSelect"] end subgraph ExceptionFuncUnit["func_unit_3 ExceptionFuncUnit"] ExceptionFuncUnit_issue["issue"] ExceptionFuncUnit_accept["accept"] subgraph FIFO6["fifo FIFO"] FIFO6_write["write"] FIFO6_read["read"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] WakeupSelect3_WakeupSelect["WakeupSelect"] end subgraph Collector1["collector Collector"] Collector1_method["method"] subgraph Forwarder5["forwarder Forwarder"] Forwarder5_write["write"] Forwarder5_read["read"] end subgraph ManyToOneConnectTrans1["connect ManyToOneConnectTrans"] subgraph ConnectTrans2["ManyToOneConnectTrans_input_0 ConnectTrans"] ConnectTrans2_ConnectTrans["ConnectTrans"] end subgraph ConnectTrans3["ManyToOneConnectTrans_input_1 ConnectTrans"] ConnectTrans3_ConnectTrans["ConnectTrans"] end subgraph ConnectTrans4["ManyToOneConnectTrans_input_2 ConnectTrans"] ConnectTrans4_ConnectTrans["ConnectTrans"] end subgraph ConnectTrans5["ManyToOneConnectTrans_input_3 ConnectTrans"] ConnectTrans5_ConnectTrans["ConnectTrans"] end end end end subgraph LSUDummy["rs_block_1 LSUDummy"] LSUDummy_update["update"] LSUDummy_get_result["get_result"] LSUDummy_insert["insert"] LSUDummy_LSUDummy["LSUDummy"] LSUDummy_precommit["precommit"] LSUDummy_select["select"] LSUDummy_LSUDummy1["LSUDummy"] LSUDummy_LSUDummy2["LSUDummy"] subgraph Forwarder6["forwarder Forwarder"] Forwarder6_write["write"] Forwarder6_read["read"] end subgraph LSURequesterWB["requester LSURequesterWB"] LSURequesterWB_accept["accept"] LSURequesterWB_issue["issue"] end end end subgraph ResultAnnouncement["announcement ResultAnnouncement"] ResultAnnouncement_ResultAnnouncement["ResultAnnouncement"] end subgraph GenericCSRRegisters["csr_generic GenericCSRRegisters"] GenericCSRRegisters_GenericCSRRegisters["GenericCSRRegisters"] subgraph DoubleCounterCSR["csr_cycle DoubleCounterCSR"] DoubleCounterCSR_increment["increment"] subgraph CSRRegister["register_low CSRRegister"] CSRRegister_read["read"] CSRRegister_write["write"] end subgraph CSRRegister1["register_high CSRRegister"] CSRRegister1_read["read"] CSRRegister1_write["write"] end end subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] DoubleCounterCSR1_increment["increment"] subgraph CSRRegister2["register_low CSRRegister"] CSRRegister2_write["write"] CSRRegister2_read["read"] end subgraph CSRRegister3["register_high CSRRegister"] CSRRegister3_write["write"] CSRRegister3_read["read"] end end subgraph CSRRegister4["mcause CSRRegister"] CSRRegister4_write["write"] end end subgraph FIFO7["fifo_decode FIFO"] FIFO7_write["write"] FIFO7_read["read"] end subgraph Decode["decode Decode"] Decode_Decode["Decode"] end subgraph Scheduler["scheduler Scheduler"] subgraph FIFO8["alloc_rename_buf FIFO"] FIFO8_write["write"] FIFO8_read["read"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] end subgraph FIFO9["rename_out_buf FIFO"] FIFO9_read["read"] FIFO9_write["write"] end subgraph Renaming["renaming Renaming"] Renaming_Renaming["Renaming"] end subgraph FIFO10["reg_alloc_out_buf FIFO"] FIFO10_write["write"] FIFO10_read["read"] end subgraph ROBAllocation["rob_alloc ROBAllocation"] ROBAllocation_ROBAllocation["ROBAllocation"] end subgraph FIFO11["rs_select_out_buf FIFO"] FIFO11_read["read"] FIFO11_write["write"] end subgraph RSSelection["rs_selector RSSelection"] RSSelection_RSSelection["RSSelection"] RSSelection_RSSelection1["RSSelection"] RSSelection_RSSelection2["RSSelection"] subgraph Forwarder7["forwarder Forwarder"] Forwarder7_write["write"] Forwarder7_read["read"] end end subgraph RSInsertion["rs_insertion RSInsertion"] RSInsertion_RSInsertion["RSInsertion"] end end subgraph ConnectTrans6["verify_branch ConnectTrans"] ConnectTrans6_ConnectTrans["ConnectTrans"] end subgraph Retirement["retirement Retirement"] Retirement_Retirement["Retirement"] Retirement_Retirement1["Retirement"] Retirement_Retirement2["Retirement"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister5["register_low CSRRegister"] CSRRegister5_write["write"] CSRRegister5_read["read"] end subgraph CSRRegister6["register_high CSRRegister"] CSRRegister6_read["read"] CSRRegister6_write["write"] end end subgraph Forwarder8["frat_fix Forwarder"] Forwarder8_write["write"] Forwarder8_read["read"] end end end subgraph TestbenchIO["io_in TestbenchIO"] subgraph AdapterTrans["adapter AdapterTrans"] AdapterTrans_AdapterTrans_write["AdapterTrans_write"] end end subgraph TestbenchIO1["rf_write TestbenchIO"] subgraph AdapterTrans1["adapter AdapterTrans"] AdapterTrans1_AdapterTrans_write["AdapterTrans_write"] end end end end Core_InitFreeRFFifo --> BasicFifo_write Retirement_Retirement --> BasicFifo_write WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write Forwarder2_read --> SimpleWBCacheRefiller_SimpleWBCacheRefiller SimpleWBCacheRefiller_SimpleWBCacheRefiller --> WishboneMaster_request ICache_ICache1 --> Forwarder3_write ICache_ICache2 --> SimpleWBCacheRefiller_start_refill ICache_ICache2 --> Forwarder2_write ICache_ICache --> Forwarder2_write SimpleWBCacheRefiller_accept_refill --> ICache_ICache WishboneMaster_result --> ICache_ICache Forwarder_read --> ICache_ICache Fetch_Fetch1 --> ICache_issue_req Fetch_Fetch1 --> FIFO1_write Fetch_Fetch1 --> BasicFifo1_write BasicFifo1_read --> Fetch_Fetch ICache_accept_res --> Fetch_Fetch FIFO1_read --> Fetch_Fetch Forwarder3_read --> Fetch_Fetch Fetch_Fetch --> FIFO_write AdapterTrans_AdapterTrans_write --> FIFO_write FIFO_read --> Decode_Decode Decode_Decode --> FIFO7_write FIFO7_read --> RegAllocation_RegAllocation BasicFifo_read --> RegAllocation_RegAllocation RegAllocation_RegAllocation --> FIFO8_write FIFO8_read --> Renaming_Renaming Renaming_Renaming --> FRAT_rename Retirement_Retirement2 --> FRAT_rename Renaming_Renaming --> FIFO9_write FIFO9_read --> ROBAllocation_ROBAllocation ROBAllocation_ROBAllocation --> ReorderBuffer_put ROBAllocation_ROBAllocation --> FIFO10_write FIFO10_read --> RSSelection_RSSelection1 RSSelection_RSSelection1 --> Forwarder7_write Forwarder7_read --> RSSelection_RSSelection Forwarder7_read --> RSSelection_RSSelection2 RSFuncBlock_select --> RSSelection_RSSelection RS_select --> RSSelection_RSSelection RSSelection_RSSelection --> FIFO11_write RSSelection_RSSelection2 --> FIFO11_write RSSelection_RSSelection2 <--> LSUDummy_select FIFO11_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion RSInsertion_RSInsertion --> RSFuncBlock_insert RSInsertion_RSInsertion --> RS_insert RSInsertion_RSInsertion --> LSUDummy_insert JumpBranchFuncUnit_branch_result --> ConnectTrans6_ConnectTrans FIFO5_read --> ConnectTrans6_ConnectTrans ConnectTrans6_ConnectTrans --> Fetch_verify_branch Collector_method --> ResultAnnouncement_ResultAnnouncement Forwarder4_read --> ResultAnnouncement_ResultAnnouncement ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done ResultAnnouncement_ResultAnnouncement --> RegisterFile_write AdapterTrans1_AdapterTrans_write --> RegisterFile_write ResultAnnouncement_ResultAnnouncement --> MethodProduct_method ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> LSUDummy_update RS_RS1 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect RS_take --> WakeupSelect3_WakeupSelect WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> FIFO2_write RS_RS --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write RS_RS3 --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect --> ExceptionCauseRegister_report WakeupSelect3_WakeupSelect --> ExceptionCauseRegister_report ConnectTrans1_ConnectTrans --> ExceptionCauseRegister_report ReorderBuffer_get_indices --> WakeupSelect2_WakeupSelect ReorderBuffer_get_indices --> WakeupSelect3_WakeupSelect ReorderBuffer_get_indices --> ConnectTrans1_ConnectTrans WakeupSelect2_WakeupSelect --> FIFO4_write WakeupSelect2_WakeupSelect --> FIFO5_write RS_RS2 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> FIFO6_write ConnectTrans2_ConnectTrans --> Forwarder5_write ConnectTrans3_ConnectTrans --> Forwarder5_write ConnectTrans4_ConnectTrans --> Forwarder5_write ConnectTrans5_ConnectTrans --> Forwarder5_write AluFuncUnit_accept --> ConnectTrans2_ConnectTrans FIFO2_read --> ConnectTrans2_ConnectTrans ShiftFuncUnit_accept --> ConnectTrans3_ConnectTrans FIFO3_read --> ConnectTrans3_ConnectTrans JumpBranchFuncUnit_accept --> ConnectTrans4_ConnectTrans FIFO4_read --> ConnectTrans4_ConnectTrans ExceptionFuncUnit_accept --> ConnectTrans5_ConnectTrans FIFO6_read --> ConnectTrans5_ConnectTrans LSUDummy_LSUDummy --> LSURequesterWB_issue LSUDummy_LSUDummy --> WishboneMaster1_request LSUDummy_LSUDummy --> Forwarder6_write LSUDummy_LSUDummy1 --> Forwarder6_write LSUDummy_LSUDummy2 --> Forwarder6_write LSURequesterWB_accept --> LSUDummy_LSUDummy2 WishboneMaster1_result --> LSUDummy_LSUDummy2 Forwarder1_read --> LSUDummy_LSUDummy2 ConnectTrans_ConnectTrans --> Forwarder4_write ConnectTrans1_ConnectTrans --> Forwarder4_write RSFuncBlock_get_result --> ConnectTrans_ConnectTrans Collector1_method --> ConnectTrans_ConnectTrans Forwarder5_read --> ConnectTrans_ConnectTrans LSUDummy_get_result --> ConnectTrans1_ConnectTrans Forwarder6_read --> ConnectTrans1_ConnectTrans ReorderBuffer_peek --> Retirement_Retirement1 Retirement_Retirement1 --> LSUDummy_precommit ReorderBuffer_retire --> Retirement_Retirement ExceptionCauseRegister_get --> Retirement_Retirement Retirement_Retirement --> CSRRegister4_write Retirement_Retirement --> RRAT_commit Retirement_Retirement <--> DoubleCounterCSR2_increment CSRRegister5_read --> Retirement_Retirement Retirement_Retirement --> CSRRegister5_write CSRRegister6_read --> Retirement_Retirement Retirement_Retirement --> CSRRegister6_write Retirement_Retirement --> Forwarder8_write Retirement_Retirement --> RegisterFile_free Forwarder8_read --> Retirement_Retirement2 GenericCSRRegisters_GenericCSRRegisters <--> DoubleCounterCSR_increment CSRRegister_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister_write CSRRegister1_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister1_write GenericCSRRegisters_GenericCSRRegisters <--> DoubleCounterCSR1_increment CSRRegister2_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister2_write CSRRegister3_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister3_write