From d4bf6442b1ddb847957b46fd976036c6a113277d Mon Sep 17 00:00:00 2001 From: tilk Date: Wed, 13 Mar 2024 09:58:24 +0000 Subject: [PATCH] Migration to amaranth.lib.wiring (#609) --- .doctrees/api.doctree | Bin 21036 -> 21036 bytes .doctrees/auto_graph.doctree | Bin 44183 -> 44183 bytes .doctrees/coreblocks.doctree | Bin 11236 -> 11308 bytes .doctrees/coreblocks.peripherals.doctree | Bin 170832 -> 219996 bytes .doctrees/current-graph.doctree | Bin 45404 -> 45404 bytes .doctrees/environment.pickle | Bin 447745 -> 455691 bytes _sources/auto_graph.rst.txt | 314 ++++++++++---------- api.html | 2 +- assumptions.html | 2 +- auto_graph.html | 316 ++++++++++----------- components/icache.html | 2 +- coreblocks.cache.html | 2 +- coreblocks.frontend.html | 2 +- coreblocks.fu.html | 2 +- coreblocks.fu.unsigned_multiplication.html | 2 +- coreblocks.html | 4 +- coreblocks.lsu.html | 2 +- coreblocks.params.html | 2 +- coreblocks.peripherals.html | 264 +++++++++++++---- coreblocks.scheduler.html | 2 +- coreblocks.stages.html | 2 +- coreblocks.structs_common.html | 2 +- coreblocks.utils.html | 2 +- current-graph.html | 316 ++++++++++----------- development-environment.html | 2 +- genindex.html | 82 +++++- home.html | 2 +- index.html | 2 +- miscellany/exceptions-summary.html | 2 +- modules-coreblocks.html | 2 +- modules-transactron.html | 2 +- objects.inv | Bin 10614 -> 10785 bytes problem-checklist.html | 2 +- py-modindex.html | 2 +- scheduler/overview.html | 2 +- search.html | 2 +- searchindex.js | 2 +- shared-structs/implementation/rs-impl.html | 2 +- shared-structs/rs.html | 2 +- synthesis/synthesis.html | 2 +- transactions.html | 2 +- transactron.html | 2 +- transactron.lib.html | 2 +- transactron.testing.html | 2 +- transactron.utils.amaranth_ext.html | 2 +- transactron.utils.html | 2 +- 46 files changed, 783 insertions(+), 579 deletions(-) diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree index 3750a2e9d991faa8f0f6ffe1cfc3dbda7ebf717b..99f236510f0b0dfb3aa44ce250540d1c4b401610 100644 GIT binary patch delta 507 zcmZXQ%Sr<=6ozTB2x{%U)`g2w!RxduJ5xsRNwlVE?1W~LAtwP{x#=>9ka>jSstcj7 z;lh<$-#~l>M{CQVyZm1c|Cf{5G&7rKp5MCFijs%}!b%F>RsNH#EfWXO=91uKa6jW@ADHBG?h5hjA#WdB5GP~}ziiM@>dqqYE zHtN+5%vvBq5}WN*4+9;Wdg{>;RfKj#B#ijgZO{A* f``|aSX2U0ZukYQv3Z^6UVALLD91T+jC!&4N8I_2R zj9O0^L8T};paMWy3T=sm#B^-bwq;30ZdBF!ri;+OQdJ;CPBMuZ6-FIe1|fM4r5Hd) z2%|=A!JKnMWiaL-ON`oF?pj#&N94D}Bb5mfSe&h1M(tWFA%F?eZ_$bCTGI@0Ky)o? z>g%5GC4FU!LV_{UUtwLJ_m1>a)X+Dfr@gS*-&y7_kW)M~%C#rC#A!)XBW#qXNCba@ z3l!^=Fi bbD-&(@2UF#K>ZT8HdaOSe%P3O#&P`{Kkd9_ diff --git a/.doctrees/auto_graph.doctree b/.doctrees/auto_graph.doctree index 294def7a230770f87e7006f08d035e8a7294c6f9..f1d8703e6525fcfabd87f6a0844ebd0840479e43 100644 GIT binary patch delta 2626 zcmaJ>drVu`8Q1j-`+|*4;$VWoIJPmi=O+*_$&3vP4UGtakWw%WZm82FyffN3OF~c| zu#Vw?e`yJM6!O^8N7g`&7HM6yMbo58Q>uE=)GphUq}{T0iR*%@ArM@_kHIveM>NXOEAAjfJ=fh=z0}+Sx|`!q6*{*D{!-;7&?^{jY1W`J{LZPUQq{pG6jl76)`!BI|eEFy~xQRC~;F-eR6vWM|QWhp++ zzP7X^?kjz0QyF4zF%@cC61fe#bE@!X)d=pYBxEipPlEdzJ;%AMvGbgwyahbYD?ogw z7$4`E`0V9t2O-MW@z}|=Z9L}B-;V~Z6H2WD_wx7PO1_B-#0TnZa$Ng{0Q+?ncu<&$ z2Av57I^K6(AtOK4`55R9Nzkv?L95TjqoOu0j`Pjw#{>u(%?Zg;n2cszudgE4j6V~i zIbcCwNfs`bl;b<}+xR^e4@%6K4`pJ9#e&!yzp%D;rymPyjN%EDE_*AR8R#5HkoMw z8f@FZ;!#~Mnm3y;pkNVv>I)v9e}To!<{Ox)=Xd2;J&SO?iCnM$wh;BxN<3U|nIT6t^iaRaKi7vL7xd>9d<6jKkZ{=@PsC5hNm6^m_4+`*7 zJG~21)U_KEm9_sB9|h^rm*TBpF$Z1gFwtY1OIsQg!?4qkpoKEY^v)=Qwh-Te#t;ir z$V5g$asht5%ZvCiF?`($%hF8O-Ps%-+Pgp88}1tluKVA-GvS18R~|mutA&3q6Suqd zkay?e?nyPK_Icsjw*&KMG7;+zU~)7IU+wiS=XL$Rysl1~SB=H)rxEQbQ*ukKjX>o>yMuS93Rnzyel*?0TZj0ZpOH;9Yuc3%-b@71DJDM$H$5exlV zI0mF>8`vl)Wf7R=o<}1$Rb{AgZy<*$#a9D*I%)<>=;$A$bMpM)8zS6)$;oS6DTi2J z-a`8xDa4xxHc(0N18sC^Ys5+CZINO+9*t=5x5zi}i%1Eg2Qu(c#DLWY9gK(69{i_( zn##jYu9)a>1(_X|F?ew}2klM;wv5Pm`^C|E?0O{!!(|GxWh7UCcaEy?hxI&x9DC)L zB213u;_stcx(QjBoD-pKOhqn^{YFTY92&2sqjP#Kemh=_#c?nGGcF;%?+Y2G41tLt z{WN$yQ7Gn{kM$DHde*3sLoo0zL;J0 z%Q5&6;;0U#c&ahZ~`(3(`3!`@O>FhXz_fFXnJ*%eg>T3MzLLqgSX__l|hrU(G ShOLk@g!qh}e0kw=#(x3F*4c~z delta 2162 zcmZuxX;4#F6rT4I0$Ip{pzI`uAOQj)tN{yQF^VmVD=jEyK#(F!u(rTxB~?f20E+pj z5kW<9YHMB4JFU~H+n=_7tlLeYkyxtUgr8Iu-avSu&O^0E=gm!Ur3BrS1nAGHu(V#F1?uYt{IYo7@7;V@IJPi{FE`)IfMj<1-9oNH4dD5ZqBp$Ox ztij{$5-g95L3pGRk0KgjT_?wxh*+94j)kbmVB}U7n_~=k7%j&NDx+euINN!plzbPH z#~?%Z9-?(K@LX${!bf#IESAR_UNzYeYsC4I9CAALtO$4GGjN=KVa8OnQaSFBV~Np- zOGYz}CRpGymZLhsh?jJ~naY%eWK1Ls;&7q~dlMC?GG~*!i8mRlB;vR!*BuxLb8-fD zCmZ>I+GsKAl1(t@M$(`Llv@=ueVMRgj7!1yUZL zSr9jM&E`TIJ}>ljskM;nk^zqkt8ls4h*6tAP8SDbeo+o=MKbgi=U{fR9h-{|!R4^R zGA9q?c472v_5e8Nw4%$Ng&Fo*+@8ZF9g2!v8J^o)Fgo`azB$|HYS1v(z}v=G$}lwV z0)}Z!?l}yU$WdQ1i<~d{K!j7JQ9Kw^>f%QwsB9V$msuHnTP{TGZjfVkc?%}X*FycN z7#Ax977j0~SVeI&^b7JaxnMa@#NmzwZG7hWOVrr1@G34Y@|{__$a`k-7F=EC!w)T{ zSK+Xd{3TBqd|BxW{(hwm8I=Zdxw4BzN0l(`&MJSDROyBKs_x_aYTlFf+<5)d@H-3hNH8|8&cVRGVEoxs0CkT7 zdz!4c*e}QFS`}P%N?z7C>AhGK-K%k%+El9>aeTiV6-_$4Ts@z$;7ap!tZ0trJ)Z7Y zVxl>~yH_!0a;5oQ7G-T}SldFFG?cf+(seDr4)N>RHa(MyJ8iS+THu_HYi&WWJ4+cE znAYj^f2XIK#yCC*MkN^T(V(p-4i2i< z^k~SDo@*j}(p!WSPdFxej>x0AXZ|LEnHZz7$^GU zIWFo(tD!;9AVc8hCC`l+2pddf(*&0^vTQI?#QCt=*|538m~^D}1W(PS$oxO38hdtg zv>ctFsS!WS^^-#cP0e3|tJDwu!!ce9cP&0-Dj;5r>FINj6Vb>H2J^>EGtf zv3_3zbffw7vh(RB=i~M$f#+ZdvdgBJ2DChVu(-flaR(Hyj3EG u(QvY#um+N~wvub*<$(62B$g!Nux7HOxX5O4DQ!}$DwW2tYV%*|=llRc;%bEe delta 207 zcmZ1z@g$tJfpzLl?TxJO1sHcv{wh$z>{MDjIY8I~L~q_LD9gyWX7Wv;JQU%H!t0nB zB_}(Gi-A?ei#sxMbBAXZXC&q4r8<>PekCfygTybMd|x7lQG0TNum%%QcA}Wo-Yh56i1c- diff --git a/.doctrees/coreblocks.peripherals.doctree b/.doctrees/coreblocks.peripherals.doctree index 70b859ab259e0d323f5c2f794918c89e295c83cb..0aec6e3f5c4f766ec691cae6219eebc73615587e 100644 GIT binary patch literal 219996 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 XCsRt^5GJ!xeyl=%Z{Q+w1D5|kJwxo; literal 170832 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 T_qQxS&~7*e(wO>F_eK8#_TKIs delta 2139 zcmZuxdrVVT7|*@5g+3?+ihxjPDJ@o7D6Jrrr}9)$Dk{DZP%Offhp_m7OhMgDox$24 za}y)tdrRCz&vY?y%BC^SZ0cSvo6l&Rx@^uRW{+%(JLk5rY4*px=bYd7`@Y}zefK-} z#$Eo#U4H1H2m`H3j2CC(2ayeR;x;@J>%D;@Tn(4viZ}r(wVFN}Lpo zl~C>t!h4b`bce`LYYZX_15-I9cZ8x`o)34BjT)pRLaO30PnN_2YO|$Clo{b%Foj%{ z1#^g3-nx*K(B2hm1EOVAWETFt~5A8#<`7*@v$?&YzpKn+gBu0)k)I*S;sF$>VJ zrX6iw32w&4qd!iG*0@HTdPR=hxI~sQQldhLI^NAglwd%MPLA6;19s~s3dVv^DalUA z<8VSh9|QVGtkoMv4cf%bJZ>5dBV9gdG@+o}L2{DL1Yl`$I#TJgGdT^9$EU+uFUQx( zCRCWMuvlzfa|N!OO;}HlB8v$}%_*q0^kIC81#u|~d}qrfOH;n(=q4Gd)@&*oj3H|} z#-^E=-k?^5dsYjEa$~8c0avmW#FHlT@i*HF1b&#k7+dY5{5f{UH=%oilsvE}@W{&; zwFPE8AM5>$#sERP!V!*GM+q5pEDVCBFaw_#+K^t9N%uimUYLr2A{+jkY(sNV8q7sf z0pC|>qzMS~grTAW7>h@n^tgyM$$+-v1#p&{pe+nUPN^D~iX9j(mO)YK!0D0_h)NE7 z>$7mYG!ND(!rTp)1>s3)3;rmZh&RiYpr(wa9EGd7GOV4_4DHl!SZ6|}hT{7v2Ek-q zCPVbJPZ3it=&Q=*xIZn46qI)aV4_pQ=zA)0<1!^Y@@$P9higa=5-kP`U)Xnk+sz7z2%qShZ}Hx|$yF7#dK6Z*f4iPmPzFC&A-Z zK+~Ls86G)uTp`{DC0lTRh29To=vjptifwCdMCt)KuCCBwealqNhMBEnaJwZ=V5~l% zL~U!3{~W?u$;{SyJT9+P;nd0q&W6{EbZDZ)aO;2~*r4ev-gkepG4*ebDaIQl~?svFFRJ~= z3phO76pH)}?bNldM~lln3UX_Mj2GLr7E2x~vSRRAPcW*plqBKRlOn|Lmmp?KD1LSu zac7?dx7?w`yydF^aJ_{%x^paQdyP2LE5VlD3Eo}_Io}(=p~(}4JKG9r&P|>Sp?SVF zgty9&=8C`tkB7mueD*K1Za31?h>?0#dt;E|^|k%qJ#9I)SgC!hH(QA6TN%F9t3f^z zsckP(1etJK_xFHtqw-h+vZ(=aU^=th^^RDt2kPmi^l=Szm@$}k;!*%F5ZH@`LLmJX} H_^I?CyBY>? diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 3c8ce594cf1faa447b0ed0953a08d81037cc86fd..5a9e0babe08c2f9f5310e328d481431e4f9d7d2d 100644 GIT binary patch literal 455691 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 literal 447745 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 z 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

%$3NR@Wh$2nyE5F{sM;r6D0bfMjM~ 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

d>xP&OzIkwxB*6RbAnJ*Fn4=Hc0-z8`q!5D=Nva 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 a^fJoiw%~;DPvaDUwEv%wt25FW$^Adi(9Sgg diff --git a/_sources/auto_graph.rst.txt b/_sources/auto_graph.rst.txt index c2ec50b71..d75831106 100644 --- a/_sources/auto_graph.rst.txt +++ b/_sources/auto_graph.rst.txt @@ -7,40 +7,40 @@ Core_InitFreeRFFifo["InitFreeRFFifo"] Core_DiscardBranchVerify["DiscardBranchVerify"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_result["result"] + WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_request["request"] subgraph Forwarder["result Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] - WishboneMaster1_WishboneMaster["WishboneMaster"] WishboneMaster1_result["result"] WishboneMaster1_request["request"] + WishboneMaster1_WishboneMaster["WishboneMaster"] subgraph Forwarder1["result Forwarder"] Forwarder1_read["read"] Forwarder1_write["write"] 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"] subgraph BasicFifo["pending_requests BasicFifo"] - BasicFifo_write["write"] BasicFifo_read["read"] + BasicFifo_write["write"] end end end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] WishboneMasterAdapter1_get_read_response["get_read_response"] WishboneMasterAdapter1_request_read["request_read"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_write["request_write"] + WishboneMasterAdapter1_get_write_response["get_write_response"] subgraph Serializer1["bus_serializer Serializer"] Serializer1_Serializer["Serializer"] Serializer1_Serializer1["Serializer"] @@ -67,23 +67,23 @@ MethodProduct_method["method"] end subgraph BasicFifo2["free_rf_fifo BasicFifo"] - BasicFifo2_read["read"] BasicFifo2_write["write"] + BasicFifo2_read["read"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] + SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_start_refill["start_refill"] - SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] subgraph Forwarder2["address_fwd Forwarder"] - Forwarder2_read["read"] Forwarder2_write["write"] + Forwarder2_read["read"] end end subgraph ICache["icache ICache"] + ICache_accept_res["accept_res"] ICache_ICache["ICache"] ICache_ICache1["ICache"] ICache_ICache2["ICache"] - ICache_accept_res["accept_res"] ICache_ICache3["ICache"] ICache_issue_req["issue_req"] subgraph HwCounter["perf_loads HwCounter"] @@ -117,29 +117,29 @@ FIFO2_write["write"] end subgraph Forwarder3["res_fwd Forwarder"] - Forwarder3_write["write"] Forwarder3_read["read"] + Forwarder3_write["write"] end end subgraph FRAT["FRAT FRAT"] FRAT_rename["rename"] end subgraph RRAT["RRAT RRAT"] - RRAT_commit["commit"] RRAT_peek["peek"] + RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] RegisterFile_read1["read1"] + RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_write["write"] - RegisterFile_read2["read2"] end subgraph ReorderBuffer["ROB ReorderBuffer"] ReorderBuffer_put["put"] - ReorderBuffer_retire["retire"] + ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] ReorderBuffer_peek["peek"] - ReorderBuffer_get_indices["get_indices"] + ReorderBuffer_retire["retire"] subgraph LatencyMeasurer1["perf_rob_wait_time LatencyMeasurer"] LatencyMeasurer1__start["_start"] LatencyMeasurer1__stop["_stop"] @@ -154,18 +154,18 @@ end subgraph Fetch["fetch Fetch"] Fetch_Fetch["Fetch"] - Fetch_resume["resume"] - Fetch_Fetch1["Fetch"] Fetch_stall_exception["stall_exception"] + Fetch_Fetch1["Fetch"] + Fetch_resume["resume"] subgraph BasicFifo3["fetch_target_queue BasicFifo"] BasicFifo3_write["write"] BasicFifo3_read["read"] end end subgraph ExceptionCauseRegister["exception_cause_register ExceptionCauseRegister"] + ExceptionCauseRegister_report["report"] ExceptionCauseRegister_clear["clear"] ExceptionCauseRegister_get["get"] - ExceptionCauseRegister_report["report"] subgraph BasicFifo4["fu_report_fifo BasicFifo"] BasicFifo4_read["read"] BasicFifo4_write["write"] @@ -178,8 +178,8 @@ subgraph Collector["result_collector Collector"] Collector_method["method"] subgraph Forwarder4["forwarder Forwarder"] - Forwarder4_read["read"] Forwarder4_write["write"] + Forwarder4_read["read"] end subgraph ManyToOneConnectTrans["connect ManyToOneConnectTrans"] subgraph ConnectTrans1["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -197,24 +197,24 @@ MethodProduct1_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] - RSFuncBlock_update["update"] + RSFuncBlock_select["select"] RSFuncBlock_insert["insert"] + RSFuncBlock_update["update"] RSFuncBlock_get_result["get_result"] - RSFuncBlock_select["select"] subgraph RS["rs RS"] - RS_select["select"] - RS_update["update"] RS_RS["RS"] RS_RS1["RS"] - RS_RS2["RS"] + RS_select["select"] RS_insert["insert"] - RS_RS3["RS"] RS_take["take"] + RS_RS2["RS"] + RS_RS3["RS"] + RS_update["update"] RS_RS4["RS"] end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph FIFO4["fifo FIFO"] FIFO4_write["write"] FIFO4_read["read"] @@ -224,22 +224,22 @@ WakeupSelect_WakeupSelect["WakeupSelect"] end subgraph ShiftFuncUnit["func_unit_1 ShiftFuncUnit"] - ShiftFuncUnit_issue["issue"] ShiftFuncUnit_accept["accept"] + ShiftFuncUnit_issue["issue"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect1["wakeup_select_1 WakeupSelect"] WakeupSelect1_WakeupSelect["WakeupSelect"] end subgraph JumpBranchFuncUnit["func_unit_2 JumpBranchFuncUnit"] - JumpBranchFuncUnit_issue["issue"] JumpBranchFuncUnit_accept["accept"] + JumpBranchFuncUnit_issue["issue"] subgraph FIFO6["fifo_branch_resolved FIFO"] - FIFO6_read["read"] FIFO6_write["write"] + FIFO6_read["read"] end subgraph HwCounter5["perf_jumps HwCounter"] HwCounter5__incr["_incr"] @@ -251,8 +251,8 @@ HwCounter7__incr["_incr"] end subgraph FIFO7["fifo_res FIFO"] - FIFO7_read["read"] FIFO7_write["write"] + FIFO7_read["read"] end end subgraph WakeupSelect2["wakeup_select_2 WakeupSelect"] @@ -270,8 +270,8 @@ WakeupSelect3_WakeupSelect["WakeupSelect"] end subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] - PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_precommit["precommit"] + PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_accept["accept"] subgraph BasicFifo5["fetch_resume_fifo BasicFifo"] BasicFifo5_read["read"] @@ -307,48 +307,48 @@ end end subgraph LSUDummy["rs_block_1 LSUDummy"] + LSUDummy_insert["insert"] LSUDummy_LSUDummy["LSUDummy"] - LSUDummy_update["update"] - LSUDummy_precommit["precommit"] LSUDummy_LSUDummy1["LSUDummy"] + LSUDummy_LSUDummy2["LSUDummy"] + LSUDummy_update["update"] LSUDummy_select["select"] - LSUDummy_insert["insert"] + LSUDummy_precommit["precommit"] LSUDummy_get_result["get_result"] - LSUDummy_LSUDummy2["LSUDummy"] subgraph Forwarder6["forwarder Forwarder"] - Forwarder6_read["read"] Forwarder6_write["write"] + Forwarder6_read["read"] end subgraph LSURequester["requester LSURequester"] - LSURequester_issue_cond0["issue_cond0"] LSURequester_issue_cond2["issue_cond2"] - LSURequester_issue_cond1["issue_cond1"] - LSURequester_accept_cond0["accept_cond0"] LSURequester_accept["accept"] LSURequester_issue["issue"] LSURequester_accept_cond1["accept_cond1"] + LSURequester_accept_cond0["accept_cond0"] + LSURequester_issue_cond1["issue_cond1"] + LSURequester_issue_cond0["issue_cond0"] end end subgraph CSRUnit["rs_block_2 CSRUnit"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_insert["insert"] CSRUnit_fetch_resume["fetch_resume"] - CSRUnit_precommit["precommit"] + CSRUnit_get_result["get_result"] CSRUnit_select["select"] CSRUnit_update["update"] - CSRUnit_get_result["get_result"] + CSRUnit_precommit["precommit"] + CSRUnit_CSRUnit["CSRUnit"] end subgraph MethodTryProduct["InstructionPrecommitKey_unifier MethodTryProduct"] + MethodTryProduct_method["method"] MethodTryProduct_MethodTryProduct["MethodTryProduct"] MethodTryProduct_MethodTryProduct1["MethodTryProduct"] MethodTryProduct_MethodTryProduct2["MethodTryProduct"] - MethodTryProduct_method["method"] end subgraph Collector2["FetchResumeKey_unifier Collector"] Collector2_method["method"] subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] Forwarder7_write["write"] + Forwarder7_read["read"] end subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] subgraph ConnectTrans9["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -364,41 +364,41 @@ ResultAnnouncement_ResultAnnouncement["ResultAnnouncement"] end subgraph InterruptController["interrupt_controller InterruptController"] - InterruptController_mret["mret"] InterruptController_report_interrupt["report_interrupt"] InterruptController_entry["entry"] + InterruptController_mret["mret"] end subgraph GenericCSRRegisters["csr_generic GenericCSRRegisters"] GenericCSRRegisters_GenericCSRRegisters["GenericCSRRegisters"] subgraph MachineModeCSRRegisters["m_mode MachineModeCSRRegisters"] subgraph CSRRegister["mcause CSRRegister"] - CSRRegister_write["write"] CSRRegister__fu_read["_fu_read"] CSRRegister__fu_write["_fu_write"] + CSRRegister_write["write"] end subgraph CSRRegister1["mtvec CSRRegister"] - CSRRegister1__fu_read["_fu_read"] CSRRegister1__fu_write["_fu_write"] CSRRegister1_read["read"] + CSRRegister1__fu_read["_fu_read"] end subgraph CSRRegister2["mepc CSRRegister"] - CSRRegister2_read["read"] - CSRRegister2_write["write"] CSRRegister2__fu_write["_fu_write"] CSRRegister2__fu_read["_fu_read"] + CSRRegister2_read["read"] + CSRRegister2_write["write"] end end subgraph DoubleCounterCSR["csr_cycle DoubleCounterCSR"] DoubleCounterCSR_increment["increment"] subgraph CSRRegister3["register_low CSRRegister"] - CSRRegister3_read["read"] CSRRegister3__fu_read["_fu_read"] CSRRegister3_write["write"] + CSRRegister3_read["read"] end subgraph CSRRegister4["register_high CSRRegister"] CSRRegister4__fu_read["_fu_read"] - CSRRegister4_read["read"] CSRRegister4_write["write"] + CSRRegister4_read["read"] end end subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] @@ -409,9 +409,9 @@ CSRRegister5_write["write"] end subgraph CSRRegister6["register_high CSRRegister"] - CSRRegister6_write["write"] - CSRRegister6__fu_read["_fu_read"] CSRRegister6_read["read"] + CSRRegister6__fu_read["_fu_read"] + CSRRegister6_write["write"] end end end @@ -427,15 +427,15 @@ end subgraph Scheduler["scheduler Scheduler"] subgraph FIFO10["alloc_rename_buf FIFO"] - FIFO10_read["read"] FIFO10_write["write"] + FIFO10_read["read"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] end subgraph FIFO11["rename_out_buf FIFO"] - FIFO11_write["write"] FIFO11_read["read"] + FIFO11_write["write"] end subgraph Renaming["renaming Renaming"] Renaming_Renaming["Renaming"] @@ -448,8 +448,8 @@ ROBAllocation_ROBAllocation["ROBAllocation"] end subgraph FIFO13["rs_select_out_buf FIFO"] - FIFO13_read["read"] FIFO13_write["write"] + FIFO13_read["read"] end subgraph RSSelection["rs_selector RSSelection"] RSSelection_RSSelection["RSSelection"] @@ -457,8 +457,8 @@ RSSelection_RSSelection2["RSSelection"] RSSelection_RSSelection3["RSSelection"] subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_read["read"] Forwarder8_write["write"] + Forwarder8_read["read"] end end subgraph RSInsertion["rs_insertion RSInsertion"] @@ -470,24 +470,24 @@ end subgraph Retirement["retirement Retirement"] Retirement_Retirement["Retirement"] - Retirement_Retirement_cond1["Retirement_cond1"] Retirement_Retirement1["Retirement"] + Retirement_Retirement_cond1["Retirement_cond1"] + Retirement_core_state["core_state"] Retirement_Retirement2["Retirement"] Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement3["Retirement"] - Retirement_core_state["core_state"] Retirement_Retirement4["Retirement"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister7["register_low CSRRegister"] + CSRRegister7_write["write"] CSRRegister7_read["read"] CSRRegister7__fu_read["_fu_read"] - CSRRegister7_write["write"] end subgraph CSRRegister8["register_high CSRRegister"] - CSRRegister8__fu_read["_fu_read"] CSRRegister8_read["read"] CSRRegister8_write["write"] + CSRRegister8__fu_read["_fu_read"] end end subgraph HwCounter9["perf_instr_ret HwCounter"] @@ -507,19 +507,19 @@ end end subgraph TransactionManager["transactionManager TransactionManager"] - TransactionManager_LSUDummy_accept_cond1["LSUDummy_accept_cond1"] - TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] + TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] TransactionManager_LSUDummy_accept_cond0["LSUDummy_accept_cond0"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] - TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] + TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_LSUDummy_accept_cond1["LSUDummy_accept_cond1"] + TransactionManager_Retirement_cond0_Retirement["Retirement_cond0_Retirement"] end end Core_InitFreeRFFifo --> BasicFifo2_write - Retirement_Retirement2 --> BasicFifo2_write - TransactionManager_Retirement_Retirement_cond1 --> BasicFifo2_write - TransactionManager_Retirement_Retirement_cond0 --> BasicFifo2_write + Retirement_Retirement --> BasicFifo2_write + TransactionManager_Retirement_cond0_Retirement --> BasicFifo2_write + TransactionManager_Retirement_cond1_Retirement --> BasicFifo2_write FIFO6_read --> Core_DiscardBranchVerify WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write @@ -528,20 +528,20 @@ SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_Serializer1 SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request - ICache_ICache2 <--> HwCounter4__incr - ICache_ICache3 <--> HwCounter3__incr - ICache_ICache3 <--> HwCounter2__incr - ICache_ICache3 <--> HwCounter1__incr - ICache_ICache3 --> Forwarder3_write - ICache_ICache1 --> SimpleCommonBusCacheRefiller_start_refill - ICache_ICache1 --> Forwarder2_write + ICache_ICache1 <--> HwCounter4__incr + ICache_ICache2 <--> HwCounter3__incr + ICache_ICache2 <--> HwCounter2__incr + ICache_ICache2 <--> HwCounter1__incr + ICache_ICache2 --> Forwarder3_write + ICache_ICache --> SimpleCommonBusCacheRefiller_start_refill ICache_ICache --> Forwarder2_write - SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache - WishboneMasterAdapter_get_read_response --> ICache_ICache - Serializer_Serializer --> ICache_ICache - BasicFifo_read --> ICache_ICache - WishboneMaster_result --> ICache_ICache - Forwarder_read --> ICache_ICache + ICache_ICache3 --> Forwarder2_write + SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache3 + WishboneMasterAdapter_get_read_response --> ICache_ICache3 + Serializer_Serializer --> ICache_ICache3 + BasicFifo_read --> ICache_ICache3 + WishboneMaster_result --> ICache_ICache3 + Forwarder_read --> ICache_ICache3 Fetch_Fetch --> ICache_issue_req Fetch_Fetch <--> HwCounter__incr Fetch_Fetch <--> LatencyMeasurer__start @@ -571,26 +571,26 @@ RegAllocation_RegAllocation --> FIFO10_write FIFO10_read --> Renaming_Renaming Renaming_Renaming --> FRAT_rename - Retirement_Retirement2 --> FRAT_rename - TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename + Retirement_Retirement --> FRAT_rename + TransactionManager_Retirement_cond1_Retirement --> FRAT_rename Renaming_Renaming --> FIFO11_write FIFO11_read --> ROBAllocation_ROBAllocation ROBAllocation_ROBAllocation --> ReorderBuffer_put ROBAllocation_ROBAllocation <--> LatencyMeasurer1__start ROBAllocation_ROBAllocation --> FIFO3_write ROBAllocation_ROBAllocation --> FIFO12_write - FIFO12_read --> RSSelection_RSSelection2 - RSSelection_RSSelection2 --> Forwarder8_write - Forwarder8_read --> RSSelection_RSSelection - Forwarder8_read --> RSSelection_RSSelection3 + FIFO12_read --> RSSelection_RSSelection + RSSelection_RSSelection --> Forwarder8_write Forwarder8_read --> RSSelection_RSSelection1 - RSFuncBlock_select --> RSSelection_RSSelection - RS_select --> RSSelection_RSSelection - RSSelection_RSSelection --> FIFO13_write - RSSelection_RSSelection3 --> FIFO13_write + Forwarder8_read --> RSSelection_RSSelection3 + Forwarder8_read --> RSSelection_RSSelection2 + RSFuncBlock_select --> RSSelection_RSSelection1 + RS_select --> RSSelection_RSSelection1 RSSelection_RSSelection1 --> FIFO13_write + RSSelection_RSSelection3 --> FIFO13_write + RSSelection_RSSelection2 --> FIFO13_write RSSelection_RSSelection3 <--> LSUDummy_select - RSSelection_RSSelection1 <--> CSRUnit_select + RSSelection_RSSelection2 <--> CSRUnit_select FIFO13_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion @@ -606,7 +606,7 @@ Collector2_method --> ConnectTrans11_ConnectTrans Forwarder7_read --> ConnectTrans11_ConnectTrans ConnectTrans11_ConnectTrans --> Fetch_resume - Retirement_Retirement3 --> Fetch_resume + Retirement_Retirement2 --> Fetch_resume Collector_method --> ResultAnnouncement_ResultAnnouncement Forwarder4_read --> ResultAnnouncement_ResultAnnouncement ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done @@ -616,7 +616,7 @@ ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> LSUDummy_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update - RS_RS2 --> WakeupSelect_WakeupSelect + RS_RS1 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -624,10 +624,10 @@ RS_take --> WakeupSelect4_WakeupSelect WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> FIFO4_write - RS_RS --> WakeupSelect1_WakeupSelect + RS_RS2 --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO5_write - RS_RS1 --> WakeupSelect2_WakeupSelect + RS_RS3 --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect <--> HwCounter5__incr WakeupSelect2_WakeupSelect <--> HwCounter6__incr @@ -639,7 +639,7 @@ ConnectTrans3_ConnectTrans --> BasicFifo4_write WakeupSelect2_WakeupSelect --> FIFO7_write WakeupSelect2_WakeupSelect --> FIFO6_write - RS_RS3 --> WakeupSelect3_WakeupSelect + RS_RS --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> FIFO8_write RS_RS4 --> WakeupSelect4_WakeupSelect @@ -664,8 +664,8 @@ TransactionManager_LSUDummy_accept_cond1 --> Forwarder6_write TransactionManager_LSUDummy_issue_cond0 --> Forwarder6_write TransactionManager_LSUDummy_accept_cond0 --> Forwarder6_write - TransactionManager_LSUDummy_issue_cond1 --> Forwarder6_write TransactionManager_LSUDummy_issue_cond2 --> Forwarder6_write + TransactionManager_LSUDummy_issue_cond1 --> Forwarder6_write CSRRegister__fu_read --> CSRUnit_CSRUnit CSRUnit_CSRUnit --> CSRRegister__fu_write CSRRegister1__fu_read --> CSRUnit_CSRUnit @@ -687,45 +687,45 @@ LSUDummy_get_result --> ConnectTrans2_ConnectTrans Forwarder6_read --> ConnectTrans2_ConnectTrans CSRUnit_get_result --> ConnectTrans3_ConnectTrans - MethodTryProduct_MethodTryProduct --> PrivilegedFuncUnit_precommit - MethodTryProduct_MethodTryProduct <--> InterruptController_mret - MethodTryProduct_MethodTryProduct1 --> LSUDummy_precommit - MethodTryProduct_MethodTryProduct2 --> CSRUnit_precommit + MethodTryProduct_MethodTryProduct2 --> PrivilegedFuncUnit_precommit + MethodTryProduct_MethodTryProduct2 <--> InterruptController_mret + MethodTryProduct_MethodTryProduct --> LSUDummy_precommit + MethodTryProduct_MethodTryProduct1 --> CSRUnit_precommit ConnectTrans9_ConnectTrans --> Forwarder7_write ConnectTrans10_ConnectTrans --> Forwarder7_write BasicFifo5_read --> ConnectTrans9_ConnectTrans CSRUnit_fetch_resume --> ConnectTrans10_ConnectTrans - ReorderBuffer_peek --> Retirement_Retirement + ReorderBuffer_peek --> Retirement_Retirement4 ReorderBuffer_peek --> Retirement_Retirement1 - ReorderBuffer_peek --> Retirement_Retirement2 - ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 - ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement --> MethodTryProduct_method + ReorderBuffer_peek --> Retirement_Retirement + ReorderBuffer_peek --> TransactionManager_Retirement_cond0_Retirement + ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement + Retirement_Retirement4 --> MethodTryProduct_method ExceptionCauseRegister_get --> Retirement_Retirement1 - ExceptionCauseRegister_get --> TransactionManager_Retirement_Retirement_cond1 - ExceptionCauseRegister_get --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement2 <--> ReorderBuffer_retire - TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire - TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire - Retirement_Retirement2 <--> LatencyMeasurer1__stop - TransactionManager_Retirement_Retirement_cond1 <--> LatencyMeasurer1__stop - TransactionManager_Retirement_Retirement_cond0 <--> LatencyMeasurer1__stop - FIFO3_read --> Retirement_Retirement2 - FIFO3_read --> TransactionManager_Retirement_Retirement_cond1 - FIFO3_read --> TransactionManager_Retirement_Retirement_cond0 - Retirement_Retirement2 --> HwExpHistogram1__add - TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add - TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add - CoreInstructionCounter_decrement --> Retirement_Retirement2 - CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 - CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 - RRAT_peek --> Retirement_Retirement2 - RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 - Retirement_Retirement2 --> RegisterFile_free - TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free - TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free - CSRRegister1_read --> Retirement_Retirement3 - Retirement_Retirement3 <--> ExceptionCauseRegister_clear + ExceptionCauseRegister_get --> TransactionManager_Retirement_cond0_Retirement + ExceptionCauseRegister_get --> TransactionManager_Retirement_cond1_Retirement + Retirement_Retirement <--> ReorderBuffer_retire + TransactionManager_Retirement_cond0_Retirement <--> ReorderBuffer_retire + TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire + Retirement_Retirement <--> LatencyMeasurer1__stop + TransactionManager_Retirement_cond0_Retirement <--> LatencyMeasurer1__stop + TransactionManager_Retirement_cond1_Retirement <--> LatencyMeasurer1__stop + FIFO3_read --> Retirement_Retirement + FIFO3_read --> TransactionManager_Retirement_cond0_Retirement + FIFO3_read --> TransactionManager_Retirement_cond1_Retirement + Retirement_Retirement --> HwExpHistogram1__add + TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram1__add + TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add + CoreInstructionCounter_decrement --> Retirement_Retirement + CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond0_Retirement + CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement + RRAT_peek --> Retirement_Retirement + RRAT_peek --> TransactionManager_Retirement_cond1_Retirement + Retirement_Retirement --> RegisterFile_free + TransactionManager_Retirement_cond0_Retirement --> RegisterFile_free + TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free + CSRRegister1_read --> Retirement_Retirement2 + Retirement_Retirement2 <--> ExceptionCauseRegister_clear GenericCSRRegisters_GenericCSRRegisters <--> DoubleCounterCSR_increment CSRRegister3_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister3_write @@ -737,22 +737,29 @@ CSRRegister6_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister6_write AdapterTrans1_AdapterTrans_report_interrupt <--> InterruptController_report_interrupt - TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement4 - TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement4 - TransactionManager_Retirement_Retirement_cond1 --> CSRRegister_write - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister_write - TransactionManager_Retirement_Retirement_cond1 --> CSRRegister2_write - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister2_write - TransactionManager_Retirement_Retirement_cond1 <--> InterruptController_entry - TransactionManager_Retirement_Retirement_cond0 <--> InterruptController_entry - TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 + TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement_cond0 + TransactionManager_Retirement_cond0_Retirement --> RRAT_commit + TransactionManager_Retirement_cond0_Retirement <--> DoubleCounterCSR2_increment + CSRRegister7_read --> TransactionManager_Retirement_cond0_Retirement + TransactionManager_Retirement_cond0_Retirement --> CSRRegister7_write + CSRRegister8_read --> TransactionManager_Retirement_cond0_Retirement + TransactionManager_Retirement_cond0_Retirement --> CSRRegister8_write + TransactionManager_Retirement_cond0_Retirement <--> HwCounter9__incr + TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement3 + TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement3 + TransactionManager_Retirement_cond0_Retirement --> CSRRegister_write + TransactionManager_Retirement_cond1_Retirement --> CSRRegister_write + TransactionManager_Retirement_cond0_Retirement --> CSRRegister2_write + TransactionManager_Retirement_cond1_Retirement --> CSRRegister2_write + TransactionManager_Retirement_cond0_Retirement <--> InterruptController_entry + TransactionManager_Retirement_cond1_Retirement <--> InterruptController_entry TransactionManager_LSUDummy_accept_cond1 <--> LSUDummy_LSUDummy1 TransactionManager_LSUDummy_accept_cond0 <--> LSUDummy_LSUDummy1 LSURequester_accept --> TransactionManager_LSUDummy_accept_cond1 LSURequester_accept --> TransactionManager_LSUDummy_accept_cond0 TransactionManager_LSUDummy_accept_cond1 <--> LSURequester_accept_cond1 WishboneMasterAdapter1_get_read_response --> TransactionManager_LSUDummy_accept_cond1 - Serializer1_Serializer3 --> TransactionManager_LSUDummy_accept_cond1 + Serializer1_Serializer --> TransactionManager_LSUDummy_accept_cond1 BasicFifo1_read --> TransactionManager_LSUDummy_accept_cond1 BasicFifo1_read --> TransactionManager_LSUDummy_accept_cond0 WishboneMaster1_result --> TransactionManager_LSUDummy_accept_cond1 @@ -760,30 +767,23 @@ Forwarder1_read --> TransactionManager_LSUDummy_accept_cond1 Forwarder1_read --> TransactionManager_LSUDummy_accept_cond0 TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy - TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy + TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy 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 <--> LSURequester_issue_cond0 TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write - TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer1 + TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer2 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_LSUDummy_accept_cond0 <--> LSURequester_accept_cond0 WishboneMasterAdapter1_get_write_response --> TransactionManager_LSUDummy_accept_cond0 - Serializer1_Serializer2 --> TransactionManager_LSUDummy_accept_cond0 - TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit - TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment - CSRRegister7_read --> TransactionManager_Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister7_write - CSRRegister8_read --> TransactionManager_Retirement_Retirement_cond0 - TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write - TransactionManager_Retirement_Retirement_cond0 <--> HwCounter9__incr + Serializer1_Serializer3 --> TransactionManager_LSUDummy_accept_cond0 + TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read - TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer - TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 + TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer1 + TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 diff --git a/api.html b/api.html index fbb9295eb..b563ca069 100644 --- a/api.html +++ b/api.html @@ -282,7 +282,7 @@

transactron

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/assumptions.html b/assumptions.html index 22864825f..c488796fe 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 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/auto_graph.html b/auto_graph.html index 5545689e9..aa0de148d 100644 --- a/auto_graph.html +++ b/auto_graph.html @@ -86,40 +86,40 @@ Core_InitFreeRFFifo["InitFreeRFFifo"] Core_DiscardBranchVerify["DiscardBranchVerify"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_result["result"] + WishboneMaster_WishboneMaster["WishboneMaster"] WishboneMaster_request["request"] subgraph Forwarder["result Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph WishboneMaster1["wb_master_data WishboneMaster"] - WishboneMaster1_WishboneMaster["WishboneMaster"] WishboneMaster1_result["result"] WishboneMaster1_request["request"] + WishboneMaster1_WishboneMaster["WishboneMaster"] subgraph Forwarder1["result Forwarder"] Forwarder1_read["read"] Forwarder1_write["write"] 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"] subgraph BasicFifo["pending_requests BasicFifo"] - BasicFifo_write["write"] BasicFifo_read["read"] + BasicFifo_write["write"] end end end subgraph WishboneMasterAdapter1["bus_master_data_adapter WishboneMasterAdapter"] WishboneMasterAdapter1_get_read_response["get_read_response"] WishboneMasterAdapter1_request_read["request_read"] - WishboneMasterAdapter1_get_write_response["get_write_response"] WishboneMasterAdapter1_request_write["request_write"] + WishboneMasterAdapter1_get_write_response["get_write_response"] subgraph Serializer1["bus_serializer Serializer"] Serializer1_Serializer["Serializer"] Serializer1_Serializer1["Serializer"] @@ -146,23 +146,23 @@ MethodProduct_method["method"] end subgraph BasicFifo2["free_rf_fifo BasicFifo"] - BasicFifo2_read["read"] BasicFifo2_write["write"] + BasicFifo2_read["read"] end subgraph SimpleCommonBusCacheRefiller["icache_refiller SimpleCommonBusCacheRefiller"] + SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller["SimpleCommonBusCacheRefiller"] SimpleCommonBusCacheRefiller_start_refill["start_refill"] - SimpleCommonBusCacheRefiller_accept_refill["accept_refill"] subgraph Forwarder2["address_fwd Forwarder"] - Forwarder2_read["read"] Forwarder2_write["write"] + Forwarder2_read["read"] end end subgraph ICache["icache ICache"] + ICache_accept_res["accept_res"] ICache_ICache["ICache"] ICache_ICache1["ICache"] ICache_ICache2["ICache"] - ICache_accept_res["accept_res"] ICache_ICache3["ICache"] ICache_issue_req["issue_req"] subgraph HwCounter["perf_loads HwCounter"] @@ -196,29 +196,29 @@ FIFO2_write["write"] end subgraph Forwarder3["res_fwd Forwarder"] - Forwarder3_write["write"] Forwarder3_read["read"] + Forwarder3_write["write"] end end subgraph FRAT["FRAT FRAT"] FRAT_rename["rename"] end subgraph RRAT["RRAT RRAT"] - RRAT_commit["commit"] RRAT_peek["peek"] + RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] RegisterFile_read1["read1"] + RegisterFile_read2["read2"] RegisterFile_free["free"] RegisterFile_write["write"] - RegisterFile_read2["read2"] end subgraph ReorderBuffer["ROB ReorderBuffer"] ReorderBuffer_put["put"] - ReorderBuffer_retire["retire"] + ReorderBuffer_get_indices["get_indices"] ReorderBuffer_mark_done["mark_done"] ReorderBuffer_peek["peek"] - ReorderBuffer_get_indices["get_indices"] + ReorderBuffer_retire["retire"] subgraph LatencyMeasurer1["perf_rob_wait_time LatencyMeasurer"] LatencyMeasurer1__start["_start"] LatencyMeasurer1__stop["_stop"] @@ -233,18 +233,18 @@ end subgraph Fetch["fetch Fetch"] Fetch_Fetch["Fetch"] - Fetch_resume["resume"] - Fetch_Fetch1["Fetch"] Fetch_stall_exception["stall_exception"] + Fetch_Fetch1["Fetch"] + Fetch_resume["resume"] subgraph BasicFifo3["fetch_target_queue BasicFifo"] BasicFifo3_write["write"] BasicFifo3_read["read"] end end subgraph ExceptionCauseRegister["exception_cause_register ExceptionCauseRegister"] + ExceptionCauseRegister_report["report"] ExceptionCauseRegister_clear["clear"] ExceptionCauseRegister_get["get"] - ExceptionCauseRegister_report["report"] subgraph BasicFifo4["fu_report_fifo BasicFifo"] BasicFifo4_read["read"] BasicFifo4_write["write"] @@ -257,8 +257,8 @@ subgraph Collector["result_collector Collector"] Collector_method["method"] subgraph Forwarder4["forwarder Forwarder"] - Forwarder4_read["read"] Forwarder4_write["write"] + Forwarder4_read["read"] end subgraph ManyToOneConnectTrans["connect ManyToOneConnectTrans"] subgraph ConnectTrans1["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -276,24 +276,24 @@ MethodProduct1_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] - RSFuncBlock_update["update"] + RSFuncBlock_select["select"] RSFuncBlock_insert["insert"] + RSFuncBlock_update["update"] RSFuncBlock_get_result["get_result"] - RSFuncBlock_select["select"] subgraph RS["rs RS"] - RS_select["select"] - RS_update["update"] RS_RS["RS"] RS_RS1["RS"] - RS_RS2["RS"] + RS_select["select"] RS_insert["insert"] - RS_RS3["RS"] RS_take["take"] + RS_RS2["RS"] + RS_RS3["RS"] + RS_update["update"] RS_RS4["RS"] end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph FIFO4["fifo FIFO"] FIFO4_write["write"] FIFO4_read["read"] @@ -303,22 +303,22 @@ WakeupSelect_WakeupSelect["WakeupSelect"] end subgraph ShiftFuncUnit["func_unit_1 ShiftFuncUnit"] - ShiftFuncUnit_issue["issue"] ShiftFuncUnit_accept["accept"] + ShiftFuncUnit_issue["issue"] subgraph FIFO5["fifo FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect1["wakeup_select_1 WakeupSelect"] WakeupSelect1_WakeupSelect["WakeupSelect"] end subgraph JumpBranchFuncUnit["func_unit_2 JumpBranchFuncUnit"] - JumpBranchFuncUnit_issue["issue"] JumpBranchFuncUnit_accept["accept"] + JumpBranchFuncUnit_issue["issue"] subgraph FIFO6["fifo_branch_resolved FIFO"] - FIFO6_read["read"] FIFO6_write["write"] + FIFO6_read["read"] end subgraph HwCounter5["perf_jumps HwCounter"] HwCounter5__incr["_incr"] @@ -330,8 +330,8 @@ HwCounter7__incr["_incr"] end subgraph FIFO7["fifo_res FIFO"] - FIFO7_read["read"] FIFO7_write["write"] + FIFO7_read["read"] end end subgraph WakeupSelect2["wakeup_select_2 WakeupSelect"] @@ -349,8 +349,8 @@ WakeupSelect3_WakeupSelect["WakeupSelect"] end subgraph PrivilegedFuncUnit["func_unit_4 PrivilegedFuncUnit"] - PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_precommit["precommit"] + PrivilegedFuncUnit_issue["issue"] PrivilegedFuncUnit_accept["accept"] subgraph BasicFifo5["fetch_resume_fifo BasicFifo"] BasicFifo5_read["read"] @@ -386,48 +386,48 @@ end end subgraph LSUDummy["rs_block_1 LSUDummy"] + LSUDummy_insert["insert"] LSUDummy_LSUDummy["LSUDummy"] - LSUDummy_update["update"] - LSUDummy_precommit["precommit"] LSUDummy_LSUDummy1["LSUDummy"] + LSUDummy_LSUDummy2["LSUDummy"] + LSUDummy_update["update"] LSUDummy_select["select"] - LSUDummy_insert["insert"] + LSUDummy_precommit["precommit"] LSUDummy_get_result["get_result"] - LSUDummy_LSUDummy2["LSUDummy"] subgraph Forwarder6["forwarder Forwarder"] - Forwarder6_read["read"] Forwarder6_write["write"] + Forwarder6_read["read"] end subgraph LSURequester["requester LSURequester"] - LSURequester_issue_cond0["issue_cond0"] LSURequester_issue_cond2["issue_cond2"] - LSURequester_issue_cond1["issue_cond1"] - LSURequester_accept_cond0["accept_cond0"] LSURequester_accept["accept"] LSURequester_issue["issue"] LSURequester_accept_cond1["accept_cond1"] + LSURequester_accept_cond0["accept_cond0"] + LSURequester_issue_cond1["issue_cond1"] + LSURequester_issue_cond0["issue_cond0"] end end subgraph CSRUnit["rs_block_2 CSRUnit"] - CSRUnit_CSRUnit["CSRUnit"] CSRUnit_insert["insert"] CSRUnit_fetch_resume["fetch_resume"] - CSRUnit_precommit["precommit"] + CSRUnit_get_result["get_result"] CSRUnit_select["select"] CSRUnit_update["update"] - CSRUnit_get_result["get_result"] + CSRUnit_precommit["precommit"] + CSRUnit_CSRUnit["CSRUnit"] end subgraph MethodTryProduct["InstructionPrecommitKey_unifier MethodTryProduct"] + MethodTryProduct_method["method"] MethodTryProduct_MethodTryProduct["MethodTryProduct"] MethodTryProduct_MethodTryProduct1["MethodTryProduct"] MethodTryProduct_MethodTryProduct2["MethodTryProduct"] - MethodTryProduct_method["method"] end subgraph Collector2["FetchResumeKey_unifier Collector"] Collector2_method["method"] subgraph Forwarder7["forwarder Forwarder"] - Forwarder7_read["read"] Forwarder7_write["write"] + Forwarder7_read["read"] end subgraph ManyToOneConnectTrans2["connect ManyToOneConnectTrans"] subgraph ConnectTrans9["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -443,41 +443,41 @@ ResultAnnouncement_ResultAnnouncement["ResultAnnouncement"] end subgraph InterruptController["interrupt_controller InterruptController"] - InterruptController_mret["mret"] InterruptController_report_interrupt["report_interrupt"] InterruptController_entry["entry"] + InterruptController_mret["mret"] end subgraph GenericCSRRegisters["csr_generic GenericCSRRegisters"] GenericCSRRegisters_GenericCSRRegisters["GenericCSRRegisters"] subgraph MachineModeCSRRegisters["m_mode MachineModeCSRRegisters"] subgraph CSRRegister["mcause CSRRegister"] - CSRRegister_write["write"] CSRRegister__fu_read["_fu_read"] CSRRegister__fu_write["_fu_write"] + CSRRegister_write["write"] end subgraph CSRRegister1["mtvec CSRRegister"] - CSRRegister1__fu_read["_fu_read"] CSRRegister1__fu_write["_fu_write"] CSRRegister1_read["read"] + CSRRegister1__fu_read["_fu_read"] end subgraph CSRRegister2["mepc CSRRegister"] - CSRRegister2_read["read"] - CSRRegister2_write["write"] CSRRegister2__fu_write["_fu_write"] CSRRegister2__fu_read["_fu_read"] + CSRRegister2_read["read"] + CSRRegister2_write["write"] end end subgraph DoubleCounterCSR["csr_cycle DoubleCounterCSR"] DoubleCounterCSR_increment["increment"] subgraph CSRRegister3["register_low CSRRegister"] - CSRRegister3_read["read"] CSRRegister3__fu_read["_fu_read"] CSRRegister3_write["write"] + CSRRegister3_read["read"] end subgraph CSRRegister4["register_high CSRRegister"] CSRRegister4__fu_read["_fu_read"] - CSRRegister4_read["read"] CSRRegister4_write["write"] + CSRRegister4_read["read"] end end subgraph DoubleCounterCSR1["csr_time DoubleCounterCSR"] @@ -488,9 +488,9 @@ CSRRegister5_write["write"] end subgraph CSRRegister6["register_high CSRRegister"] - CSRRegister6_write["write"] - CSRRegister6__fu_read["_fu_read"] CSRRegister6_read["read"] + CSRRegister6__fu_read["_fu_read"] + CSRRegister6_write["write"] end end end @@ -506,15 +506,15 @@ end subgraph Scheduler["scheduler Scheduler"] subgraph FIFO10["alloc_rename_buf FIFO"] - FIFO10_read["read"] FIFO10_write["write"] + FIFO10_read["read"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] end subgraph FIFO11["rename_out_buf FIFO"] - FIFO11_write["write"] FIFO11_read["read"] + FIFO11_write["write"] end subgraph Renaming["renaming Renaming"] Renaming_Renaming["Renaming"] @@ -527,8 +527,8 @@ ROBAllocation_ROBAllocation["ROBAllocation"] end subgraph FIFO13["rs_select_out_buf FIFO"] - FIFO13_read["read"] FIFO13_write["write"] + FIFO13_read["read"] end subgraph RSSelection["rs_selector RSSelection"] RSSelection_RSSelection["RSSelection"] @@ -536,8 +536,8 @@ RSSelection_RSSelection2["RSSelection"] RSSelection_RSSelection3["RSSelection"] subgraph Forwarder8["forwarder Forwarder"] - Forwarder8_read["read"] Forwarder8_write["write"] + Forwarder8_read["read"] end end subgraph RSInsertion["rs_insertion RSInsertion"] @@ -549,24 +549,24 @@ end subgraph Retirement["retirement Retirement"] Retirement_Retirement["Retirement"] - Retirement_Retirement_cond1["Retirement_cond1"] Retirement_Retirement1["Retirement"] + Retirement_Retirement_cond1["Retirement_cond1"] + Retirement_core_state["core_state"] Retirement_Retirement2["Retirement"] Retirement_Retirement_cond0["Retirement_cond0"] Retirement_Retirement3["Retirement"] - Retirement_core_state["core_state"] Retirement_Retirement4["Retirement"] subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister7["register_low CSRRegister"] + CSRRegister7_write["write"] CSRRegister7_read["read"] CSRRegister7__fu_read["_fu_read"] - CSRRegister7_write["write"] end subgraph CSRRegister8["register_high CSRRegister"] - CSRRegister8__fu_read["_fu_read"] CSRRegister8_read["read"] CSRRegister8_write["write"] + CSRRegister8__fu_read["_fu_read"] end end subgraph HwCounter9["perf_instr_ret HwCounter"] @@ -586,19 +586,19 @@ end end subgraph TransactionManager["transactionManager TransactionManager"] - TransactionManager_LSUDummy_accept_cond1["LSUDummy_accept_cond1"] - TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] + TransactionManager_Retirement_cond1_Retirement["Retirement_cond1_Retirement"] + TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] TransactionManager_LSUDummy_accept_cond0["LSUDummy_accept_cond0"] - TransactionManager_Retirement_Retirement_cond0["Retirement_Retirement_cond0"] - TransactionManager_Retirement_Retirement_cond1["Retirement_Retirement_cond1"] + TransactionManager_LSUDummy_issue_cond2["LSUDummy_issue_cond2"] TransactionManager_LSUDummy_issue_cond1["LSUDummy_issue_cond1"] - TransactionManager_LSUDummy_issue_cond0["LSUDummy_issue_cond0"] + TransactionManager_LSUDummy_accept_cond1["LSUDummy_accept_cond1"] + TransactionManager_Retirement_cond0_Retirement["Retirement_cond0_Retirement"] end end Core_InitFreeRFFifo --> BasicFifo2_write -Retirement_Retirement2 --> BasicFifo2_write -TransactionManager_Retirement_Retirement_cond1 --> BasicFifo2_write -TransactionManager_Retirement_Retirement_cond0 --> BasicFifo2_write +Retirement_Retirement --> BasicFifo2_write +TransactionManager_Retirement_cond0_Retirement --> BasicFifo2_write +TransactionManager_Retirement_cond1_Retirement --> BasicFifo2_write FIFO6_read --> Core_DiscardBranchVerify WishboneMaster_WishboneMaster --> Forwarder_write WishboneMaster1_WishboneMaster --> Forwarder1_write @@ -607,20 +607,20 @@ SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> Serializer_Serializer1 SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> BasicFifo_write SimpleCommonBusCacheRefiller_SimpleCommonBusCacheRefiller --> WishboneMaster_request -ICache_ICache2 <--> HwCounter4__incr -ICache_ICache3 <--> HwCounter3__incr -ICache_ICache3 <--> HwCounter2__incr -ICache_ICache3 <--> HwCounter1__incr -ICache_ICache3 --> Forwarder3_write -ICache_ICache1 --> SimpleCommonBusCacheRefiller_start_refill -ICache_ICache1 --> Forwarder2_write +ICache_ICache1 <--> HwCounter4__incr +ICache_ICache2 <--> HwCounter3__incr +ICache_ICache2 <--> HwCounter2__incr +ICache_ICache2 <--> HwCounter1__incr +ICache_ICache2 --> Forwarder3_write +ICache_ICache --> SimpleCommonBusCacheRefiller_start_refill ICache_ICache --> Forwarder2_write -SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache -WishboneMasterAdapter_get_read_response --> ICache_ICache -Serializer_Serializer --> ICache_ICache -BasicFifo_read --> ICache_ICache -WishboneMaster_result --> ICache_ICache -Forwarder_read --> ICache_ICache +ICache_ICache3 --> Forwarder2_write +SimpleCommonBusCacheRefiller_accept_refill --> ICache_ICache3 +WishboneMasterAdapter_get_read_response --> ICache_ICache3 +Serializer_Serializer --> ICache_ICache3 +BasicFifo_read --> ICache_ICache3 +WishboneMaster_result --> ICache_ICache3 +Forwarder_read --> ICache_ICache3 Fetch_Fetch --> ICache_issue_req Fetch_Fetch <--> HwCounter__incr Fetch_Fetch <--> LatencyMeasurer__start @@ -650,26 +650,26 @@ RegAllocation_RegAllocation --> FIFO10_write FIFO10_read --> Renaming_Renaming Renaming_Renaming --> FRAT_rename -Retirement_Retirement2 --> FRAT_rename -TransactionManager_Retirement_Retirement_cond1 --> FRAT_rename +Retirement_Retirement --> FRAT_rename +TransactionManager_Retirement_cond1_Retirement --> FRAT_rename Renaming_Renaming --> FIFO11_write FIFO11_read --> ROBAllocation_ROBAllocation ROBAllocation_ROBAllocation --> ReorderBuffer_put ROBAllocation_ROBAllocation <--> LatencyMeasurer1__start ROBAllocation_ROBAllocation --> FIFO3_write ROBAllocation_ROBAllocation --> FIFO12_write -FIFO12_read --> RSSelection_RSSelection2 -RSSelection_RSSelection2 --> Forwarder8_write -Forwarder8_read --> RSSelection_RSSelection -Forwarder8_read --> RSSelection_RSSelection3 +FIFO12_read --> RSSelection_RSSelection +RSSelection_RSSelection --> Forwarder8_write Forwarder8_read --> RSSelection_RSSelection1 -RSFuncBlock_select --> RSSelection_RSSelection -RS_select --> RSSelection_RSSelection -RSSelection_RSSelection --> FIFO13_write -RSSelection_RSSelection3 --> FIFO13_write +Forwarder8_read --> RSSelection_RSSelection3 +Forwarder8_read --> RSSelection_RSSelection2 +RSFuncBlock_select --> RSSelection_RSSelection1 +RS_select --> RSSelection_RSSelection1 RSSelection_RSSelection1 --> FIFO13_write +RSSelection_RSSelection3 --> FIFO13_write +RSSelection_RSSelection2 --> FIFO13_write RSSelection_RSSelection3 <--> LSUDummy_select -RSSelection_RSSelection1 <--> CSRUnit_select +RSSelection_RSSelection2 <--> CSRUnit_select FIFO13_read --> RSInsertion_RSInsertion RegisterFile_read1 --> RSInsertion_RSInsertion RegisterFile_read2 --> RSInsertion_RSInsertion @@ -685,7 +685,7 @@ Collector2_method --> ConnectTrans11_ConnectTrans Forwarder7_read --> ConnectTrans11_ConnectTrans ConnectTrans11_ConnectTrans --> Fetch_resume -Retirement_Retirement3 --> Fetch_resume +Retirement_Retirement2 --> Fetch_resume Collector_method --> ResultAnnouncement_ResultAnnouncement Forwarder4_read --> ResultAnnouncement_ResultAnnouncement ResultAnnouncement_ResultAnnouncement --> ReorderBuffer_mark_done @@ -695,7 +695,7 @@ ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> LSUDummy_update ResultAnnouncement_ResultAnnouncement --> CSRUnit_update -RS_RS2 --> WakeupSelect_WakeupSelect +RS_RS1 --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect_WakeupSelect RS_take --> WakeupSelect1_WakeupSelect RS_take --> WakeupSelect2_WakeupSelect @@ -703,10 +703,10 @@ RS_take --> WakeupSelect4_WakeupSelect WakeupSelect_WakeupSelect --> AluFuncUnit_issue WakeupSelect_WakeupSelect --> FIFO4_write -RS_RS --> WakeupSelect1_WakeupSelect +RS_RS2 --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO5_write -RS_RS1 --> WakeupSelect2_WakeupSelect +RS_RS3 --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect <--> HwCounter5__incr WakeupSelect2_WakeupSelect <--> HwCounter6__incr @@ -718,7 +718,7 @@ ConnectTrans3_ConnectTrans --> BasicFifo4_write WakeupSelect2_WakeupSelect --> FIFO7_write WakeupSelect2_WakeupSelect --> FIFO6_write -RS_RS3 --> WakeupSelect3_WakeupSelect +RS_RS --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> FIFO8_write RS_RS4 --> WakeupSelect4_WakeupSelect @@ -743,8 +743,8 @@ TransactionManager_LSUDummy_accept_cond1 --> Forwarder6_write TransactionManager_LSUDummy_issue_cond0 --> Forwarder6_write TransactionManager_LSUDummy_accept_cond0 --> Forwarder6_write -TransactionManager_LSUDummy_issue_cond1 --> Forwarder6_write TransactionManager_LSUDummy_issue_cond2 --> Forwarder6_write +TransactionManager_LSUDummy_issue_cond1 --> Forwarder6_write CSRRegister__fu_read --> CSRUnit_CSRUnit CSRUnit_CSRUnit --> CSRRegister__fu_write CSRRegister1__fu_read --> CSRUnit_CSRUnit @@ -766,45 +766,45 @@ LSUDummy_get_result --> ConnectTrans2_ConnectTrans Forwarder6_read --> ConnectTrans2_ConnectTrans CSRUnit_get_result --> ConnectTrans3_ConnectTrans -MethodTryProduct_MethodTryProduct --> PrivilegedFuncUnit_precommit -MethodTryProduct_MethodTryProduct <--> InterruptController_mret -MethodTryProduct_MethodTryProduct1 --> LSUDummy_precommit -MethodTryProduct_MethodTryProduct2 --> CSRUnit_precommit +MethodTryProduct_MethodTryProduct2 --> PrivilegedFuncUnit_precommit +MethodTryProduct_MethodTryProduct2 <--> InterruptController_mret +MethodTryProduct_MethodTryProduct --> LSUDummy_precommit +MethodTryProduct_MethodTryProduct1 --> CSRUnit_precommit ConnectTrans9_ConnectTrans --> Forwarder7_write ConnectTrans10_ConnectTrans --> Forwarder7_write BasicFifo5_read --> ConnectTrans9_ConnectTrans CSRUnit_fetch_resume --> ConnectTrans10_ConnectTrans -ReorderBuffer_peek --> Retirement_Retirement +ReorderBuffer_peek --> Retirement_Retirement4 ReorderBuffer_peek --> Retirement_Retirement1 -ReorderBuffer_peek --> Retirement_Retirement2 -ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond1 -ReorderBuffer_peek --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement --> MethodTryProduct_method +ReorderBuffer_peek --> Retirement_Retirement +ReorderBuffer_peek --> TransactionManager_Retirement_cond0_Retirement +ReorderBuffer_peek --> TransactionManager_Retirement_cond1_Retirement +Retirement_Retirement4 --> MethodTryProduct_method ExceptionCauseRegister_get --> Retirement_Retirement1 -ExceptionCauseRegister_get --> TransactionManager_Retirement_Retirement_cond1 -ExceptionCauseRegister_get --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement2 <--> ReorderBuffer_retire -TransactionManager_Retirement_Retirement_cond1 <--> ReorderBuffer_retire -TransactionManager_Retirement_Retirement_cond0 <--> ReorderBuffer_retire -Retirement_Retirement2 <--> LatencyMeasurer1__stop -TransactionManager_Retirement_Retirement_cond1 <--> LatencyMeasurer1__stop -TransactionManager_Retirement_Retirement_cond0 <--> LatencyMeasurer1__stop -FIFO3_read --> Retirement_Retirement2 -FIFO3_read --> TransactionManager_Retirement_Retirement_cond1 -FIFO3_read --> TransactionManager_Retirement_Retirement_cond0 -Retirement_Retirement2 --> HwExpHistogram1__add -TransactionManager_Retirement_Retirement_cond1 --> HwExpHistogram1__add -TransactionManager_Retirement_Retirement_cond0 --> HwExpHistogram1__add -CoreInstructionCounter_decrement --> Retirement_Retirement2 -CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond1 -CoreInstructionCounter_decrement --> TransactionManager_Retirement_Retirement_cond0 -RRAT_peek --> Retirement_Retirement2 -RRAT_peek --> TransactionManager_Retirement_Retirement_cond1 -Retirement_Retirement2 --> RegisterFile_free -TransactionManager_Retirement_Retirement_cond1 --> RegisterFile_free -TransactionManager_Retirement_Retirement_cond0 --> RegisterFile_free -CSRRegister1_read --> Retirement_Retirement3 -Retirement_Retirement3 <--> ExceptionCauseRegister_clear +ExceptionCauseRegister_get --> TransactionManager_Retirement_cond0_Retirement +ExceptionCauseRegister_get --> TransactionManager_Retirement_cond1_Retirement +Retirement_Retirement <--> ReorderBuffer_retire +TransactionManager_Retirement_cond0_Retirement <--> ReorderBuffer_retire +TransactionManager_Retirement_cond1_Retirement <--> ReorderBuffer_retire +Retirement_Retirement <--> LatencyMeasurer1__stop +TransactionManager_Retirement_cond0_Retirement <--> LatencyMeasurer1__stop +TransactionManager_Retirement_cond1_Retirement <--> LatencyMeasurer1__stop +FIFO3_read --> Retirement_Retirement +FIFO3_read --> TransactionManager_Retirement_cond0_Retirement +FIFO3_read --> TransactionManager_Retirement_cond1_Retirement +Retirement_Retirement --> HwExpHistogram1__add +TransactionManager_Retirement_cond0_Retirement --> HwExpHistogram1__add +TransactionManager_Retirement_cond1_Retirement --> HwExpHistogram1__add +CoreInstructionCounter_decrement --> Retirement_Retirement +CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond0_Retirement +CoreInstructionCounter_decrement --> TransactionManager_Retirement_cond1_Retirement +RRAT_peek --> Retirement_Retirement +RRAT_peek --> TransactionManager_Retirement_cond1_Retirement +Retirement_Retirement --> RegisterFile_free +TransactionManager_Retirement_cond0_Retirement --> RegisterFile_free +TransactionManager_Retirement_cond1_Retirement --> RegisterFile_free +CSRRegister1_read --> Retirement_Retirement2 +Retirement_Retirement2 <--> ExceptionCauseRegister_clear GenericCSRRegisters_GenericCSRRegisters <--> DoubleCounterCSR_increment CSRRegister3_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister3_write @@ -816,22 +816,29 @@ CSRRegister6_read --> GenericCSRRegisters_GenericCSRRegisters GenericCSRRegisters_GenericCSRRegisters --> CSRRegister6_write AdapterTrans1_AdapterTrans_report_interrupt <--> InterruptController_report_interrupt -TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement4 -TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement4 -TransactionManager_Retirement_Retirement_cond1 --> CSRRegister_write -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister_write -TransactionManager_Retirement_Retirement_cond1 --> CSRRegister2_write -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister2_write -TransactionManager_Retirement_Retirement_cond1 <--> InterruptController_entry -TransactionManager_Retirement_Retirement_cond0 <--> InterruptController_entry -TransactionManager_Retirement_Retirement_cond1 <--> Retirement_Retirement_cond1 +TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement_cond0 +TransactionManager_Retirement_cond0_Retirement --> RRAT_commit +TransactionManager_Retirement_cond0_Retirement <--> DoubleCounterCSR2_increment +CSRRegister7_read --> TransactionManager_Retirement_cond0_Retirement +TransactionManager_Retirement_cond0_Retirement --> CSRRegister7_write +CSRRegister8_read --> TransactionManager_Retirement_cond0_Retirement +TransactionManager_Retirement_cond0_Retirement --> CSRRegister8_write +TransactionManager_Retirement_cond0_Retirement <--> HwCounter9__incr +TransactionManager_Retirement_cond0_Retirement <--> Retirement_Retirement3 +TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement3 +TransactionManager_Retirement_cond0_Retirement --> CSRRegister_write +TransactionManager_Retirement_cond1_Retirement --> CSRRegister_write +TransactionManager_Retirement_cond0_Retirement --> CSRRegister2_write +TransactionManager_Retirement_cond1_Retirement --> CSRRegister2_write +TransactionManager_Retirement_cond0_Retirement <--> InterruptController_entry +TransactionManager_Retirement_cond1_Retirement <--> InterruptController_entry TransactionManager_LSUDummy_accept_cond1 <--> LSUDummy_LSUDummy1 TransactionManager_LSUDummy_accept_cond0 <--> LSUDummy_LSUDummy1 LSURequester_accept --> TransactionManager_LSUDummy_accept_cond1 LSURequester_accept --> TransactionManager_LSUDummy_accept_cond0 TransactionManager_LSUDummy_accept_cond1 <--> LSURequester_accept_cond1 WishboneMasterAdapter1_get_read_response --> TransactionManager_LSUDummy_accept_cond1 -Serializer1_Serializer3 --> TransactionManager_LSUDummy_accept_cond1 +Serializer1_Serializer --> TransactionManager_LSUDummy_accept_cond1 BasicFifo1_read --> TransactionManager_LSUDummy_accept_cond1 BasicFifo1_read --> TransactionManager_LSUDummy_accept_cond0 WishboneMaster1_result --> TransactionManager_LSUDummy_accept_cond1 @@ -839,33 +846,26 @@ Forwarder1_read --> TransactionManager_LSUDummy_accept_cond1 Forwarder1_read --> TransactionManager_LSUDummy_accept_cond0 TransactionManager_LSUDummy_issue_cond0 <--> LSUDummy_LSUDummy -TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy TransactionManager_LSUDummy_issue_cond2 <--> LSUDummy_LSUDummy +TransactionManager_LSUDummy_issue_cond1 <--> LSUDummy_LSUDummy 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 <--> LSURequester_issue_cond0 TransactionManager_LSUDummy_issue_cond0 --> WishboneMasterAdapter1_request_write -TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer1 +TransactionManager_LSUDummy_issue_cond0 --> Serializer1_Serializer2 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_LSUDummy_accept_cond0 <--> LSURequester_accept_cond0 WishboneMasterAdapter1_get_write_response --> TransactionManager_LSUDummy_accept_cond0 -Serializer1_Serializer2 --> TransactionManager_LSUDummy_accept_cond0 -TransactionManager_Retirement_Retirement_cond0 <--> Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> RRAT_commit -TransactionManager_Retirement_Retirement_cond0 <--> DoubleCounterCSR2_increment -CSRRegister7_read --> TransactionManager_Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister7_write -CSRRegister8_read --> TransactionManager_Retirement_Retirement_cond0 -TransactionManager_Retirement_Retirement_cond0 --> CSRRegister8_write -TransactionManager_Retirement_Retirement_cond0 <--> HwCounter9__incr +Serializer1_Serializer3 --> TransactionManager_LSUDummy_accept_cond0 +TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 TransactionManager_LSUDummy_issue_cond1 <--> LSURequester_issue_cond1 TransactionManager_LSUDummy_issue_cond1 --> WishboneMasterAdapter1_request_read -TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer -TransactionManager_LSUDummy_issue_cond2 <--> LSURequester_issue_cond2 +TransactionManager_LSUDummy_issue_cond1 --> Serializer1_Serializer1 +TransactionManager_Retirement_cond1_Retirement <--> Retirement_Retirement_cond1 @@ -876,7 +876,7 @@

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/components/icache.html b/components/icache.html index 7c98971c3..c44be0b31 100644 --- a/components/icache.html +++ b/components/icache.html @@ -131,7 +131,7 @@

Address mapping example

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.cache.html b/coreblocks.cache.html index 8e4f49a6a..c1efeb535 100644 --- a/coreblocks.cache.html +++ b/coreblocks.cache.html @@ -241,7 +241,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.frontend.html b/coreblocks.frontend.html index d99f79f28..c965e7203 100644 --- a/coreblocks.frontend.html +++ b/coreblocks.frontend.html @@ -368,7 +368,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.fu.html b/coreblocks.fu.html index 319af5f94..294d3b1e9 100644 --- a/coreblocks.fu.html +++ b/coreblocks.fu.html @@ -965,7 +965,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.fu.unsigned_multiplication.html b/coreblocks.fu.unsigned_multiplication.html index 09e92f2a0..25447c615 100644 --- a/coreblocks.fu.unsigned_multiplication.html +++ b/coreblocks.fu.unsigned_multiplication.html @@ -237,7 +237,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.html b/coreblocks.html index 72d1c648e..f59c8f5bc 100644 --- a/coreblocks.html +++ b/coreblocks.html @@ -211,7 +211,7 @@

SubmodulesElaboratable

-__init__(*, gen_params: GenParams, wb_instr_bus: WishboneBus, wb_data_bus: WishboneBus)
+__init__(*, gen_params: GenParams, wb_instr_bus: WishboneInterface, wb_data_bus: WishboneInterface)

@@ -234,7 +234,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.lsu.html b/coreblocks.lsu.html index 934095744..c261c33c9 100644 --- a/coreblocks.lsu.html +++ b/coreblocks.lsu.html @@ -236,7 +236,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.params.html b/coreblocks.params.html index 8877218d7..c3ad994ad 100644 --- a/coreblocks.params.html +++ b/coreblocks.params.html @@ -2701,7 +2701,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.peripherals.html b/coreblocks.peripherals.html index 57c01f6e8..d4e44e520 100644 --- a/coreblocks.peripherals.html +++ b/coreblocks.peripherals.html @@ -89,10 +89,41 @@

Submodules

coreblocks.peripherals.axi_lite module

+
+
+class coreblocks.peripherals.axi_lite.AXILiteInterface
+

Bases: AbstractInterface[AbstractSignature], Protocol

+
+
+read_address: AXILiteReadAddressInterface
+
+ +
+
+read_data: AXILiteReadDataInterface
+
+ +
+
+write_address: AXILiteWriteAddressInterface
+
+ +
+
+write_data: AXILiteWriteDataInterface
+
+ +
+
+write_response: AXILiteWriteResponseInterface
+
+ +
+
class coreblocks.peripherals.axi_lite.AXILiteMaster
-

Bases: Elaboratable

+

Bases: Component

AXI-Lite master interface.

Parameters
@@ -131,9 +162,14 @@

Submodules__init__(axil_params: AXILiteParameters)

+
+
+axil_master: AXILiteInterface
+
+
-result_handler(m: TModule, forwarder: Forwarder, *, data: bool, channel: Record)
+result_handler(m: TModule, forwarder: Forwarder, *, channel: coreblocks.peripherals.axi_lite.AXILiteWriteResponseInterface | coreblocks.peripherals.axi_lite.AXILiteReadDataInterface)
@@ -143,7 +179,7 @@

Submodules
-state_machine_request(m: TModule, method: Method, *, channel: Record, request_signal: Signal)
+state_machine_request(m: TModule, method: Method, *, channel: coreblocks.peripherals.axi_lite.AXILiteWriteAddressInterface | coreblocks.peripherals.axi_lite.AXILiteWriteDataInterface | coreblocks.peripherals.axi_lite.AXILiteReadAddressInterface, request_signal: Signal)

@@ -170,6 +206,26 @@

Submodules +
+class coreblocks.peripherals.axi_lite.AXILiteSignature
+

Bases: Signature

+

AXI-Lite bus signature

+
+
Parameters
+
+
axil_params: AXILiteParameters

Patameters used to generate AXI-Lite signature

+
+
+
+
+
+
+__init__(axil_params: AXILiteParameters)
+
+ +
+

coreblocks.peripherals.bus_adapter module

@@ -319,7 +375,7 @@

Submodules
class coreblocks.peripherals.wishbone.PipelinedWishboneMaster
-

Bases: Elaboratable

+

Bases: Component

Pipelined Wishbone bus master interface.

Parameters
@@ -332,7 +388,7 @@

SubmodulesAttributes
-
wb: Record (like WishboneLayout)

Wishbone bus output.

+
wb: WishboneInterface

Wishbone bus output.

request: Method

Transactional method to start a new Wishbone request. Ready if new request can be immediately sent. @@ -357,77 +413,122 @@

Submodulesgenerate_method_layouts(wb_params: WishboneParameters)

+
+
+wb: WishboneInterface
+
+

class coreblocks.peripherals.wishbone.WishboneArbiter
-

Bases: Elaboratable

+

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.

Parameters
-
slave_wb: Record (like WishboneLayout)

Record of slave inteface.

+
wb_params: WishboneParameters

Parameters for bus generation.

+
+
num_slaves: int

Number of master devices.

+
+
+
+
Attributes
+
+
slave_wb: WishboneInterface

Slave inteface.

-
masters: List[Record]

List of master interface Records.

+
masters: list of WishboneInterface

List of master interfaces.

-__init__(slave_wb: Record, masters: List[Record])
+__init__(wb_params: WishboneParameters, num_masters: int)
-
+
+
+masters: list[coreblocks.peripherals.wishbone.WishboneInterface]
+
-
-
-class coreblocks.peripherals.wishbone.WishboneBus
-

Bases: Record

-

Wishbone bus.

-
-
Parameters
-
-
wb_params: WishboneParameters

Parameters for bus generation.

-
-
-
-
-
-
-__init__(wb_params: WishboneParameters, **kwargs)
+
+
+slave_wb: WishboneInterface
-
-class coreblocks.peripherals.wishbone.WishboneLayout
-

Bases: object

-

Wishbone bus Layout generator.

-
-
Parameters
-
-
wb_params: WishboneParameters

Parameters used to generate Wishbone layout

-
-
master: Boolean

Whether the layout should be generated for the master side -(otherwise it’s generated for the slave side)

-
-
-
-
Attributes
-
-
wb_layout: Record

Record of a Wishbone bus.

-
-
-
-
-
-
-__init__(wb_params: WishboneParameters, master=True)
+
+class coreblocks.peripherals.wishbone.WishboneInterface
+

Bases: AbstractInterface[AbstractSignature], Protocol

+
+
+ack: Signal
+
+ +
+
+adr: Signal
+
+ +
+
+cyc: Signal
+
+ +
+
+dat_r: Signal
+
+ +
+
+dat_w: Signal
+
+ +
+
+err: Signal
+
+ +
+
+lock: Signal
+
+ +
+
+rst: Signal
+
+ +
+
+rty: Signal
+
+ +
+
+sel: Signal
+
+ +
+
+stall: Signal
+
+ +
+
+stb: Signal
+
+ +
+
+we: Signal
@@ -435,7 +536,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneMaster
-

Bases: Elaboratable

+

Bases: Component

Wishbone bus master interface.

Parameters
@@ -446,7 +547,7 @@

SubmodulesAttributes
-
wb_master: Record (like WishboneLayout)

Wishbone bus output.

+
wb_master: WishboneInterface

Wishbone bus output.

request: Method

Transactional method to start a new Wishbone request. Ready when no request is being executed and previous result is read. @@ -464,6 +565,11 @@

Submodules__init__(wb_params: WishboneParameters)

+
+
+wb_master: WishboneInterface
+
+

@@ -497,7 +603,7 @@

Submodules
class coreblocks.peripherals.wishbone.WishboneMemorySlave
-

Bases: Elaboratable

+

Bases: Component

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

@@ -513,7 +619,7 @@

SubmodulesAttributes
-
bus: Record (like WishboneLayout)

Wishbone bus record.

+
bus: WishboneInterface

Wishbone bus interface.

@@ -523,20 +629,25 @@

Submodules__init__(wb_params: WishboneParameters, **kwargs)

+
+
+bus: WishboneInterface
+
+

class coreblocks.peripherals.wishbone.WishboneMuxer
-

Bases: Elaboratable

+

Bases: Component

Wishbone Muxer.

Connects one master to multiple slaves.

Parameters
-
master_wb: Record (like WishboneLayout)

Record of master inteface.

+
wb_params: WishboneParameters

Parameters for bus generation.

-
slaves: List[Record]

List of connected slaves’ Wishbone Records (like WishboneLayout).

+
num_slaves: int

Number of slave devices to multiplex.

ssel_tga: Signal

Signal that selects the slave to connect. Signal width is the number of slaves and each bit coresponds to a slave. This signal is a Wishbone TGA (address tag), so it needs to be valid every time Wishbone STB @@ -548,10 +659,28 @@

SubmodulesAttributes +
+
master_wb: WishboneInterface

Master inteface.

+
+
slaves: list of WishboneInterface

List of connected slaves’ Wishbone interfaces.

+
+
+

-__init__(master_wb: Record, slaves: List[Record], ssel_tga: Signal)
+__init__(wb_params: WishboneParameters, num_slaves: int, ssel_tga: Signal) +
+ +
+
+master_wb: WishboneInterface
+
+ +
+
+slaves: list[coreblocks.peripherals.wishbone.WishboneInterface]
@@ -580,6 +709,23 @@

Submodules +
+class coreblocks.peripherals.wishbone.WishboneSignature
+

Bases: Signature

+
+
+__init__(wb_params: WishboneParameters)
+
+ +
+
+create(*, path: tuple[str | int, ...] = (), src_loc_at: int = 0)
+

Create a WishboneInterface.

+
+ +

+

diff --git a/coreblocks.scheduler.html b/coreblocks.scheduler.html index ff0feec30..bac87e6f0 100644 --- a/coreblocks.scheduler.html +++ b/coreblocks.scheduler.html @@ -191,7 +191,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.stages.html b/coreblocks.stages.html index 78f576efd..96d0ac310 100644 --- a/coreblocks.stages.html +++ b/coreblocks.stages.html @@ -263,7 +263,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.structs_common.html b/coreblocks.structs_common.html index d1655edce..e05bc67b4 100644 --- a/coreblocks.structs_common.html +++ b/coreblocks.structs_common.html @@ -522,7 +522,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/coreblocks.utils.html b/coreblocks.utils.html index 997034936..b64d42b2f 100644 --- a/coreblocks.utils.html +++ b/coreblocks.utils.html @@ -149,7 +149,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/current-graph.html b/current-graph.html index 56a25c6d6..ae10765e5 100644 --- a/current-graph.html +++ b/current-graph.html @@ -92,40 +92,40 @@

Full transaction-method graph

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/development-environment.html b/development-environment.html index 4c4455510..730af3fa4 100644 --- a/development-environment.html +++ b/development-environment.html @@ -209,7 +209,7 @@

tprof.py

© Copyright Kuźnia Rdzeni, 2024. - Last updated on 22:21 2024-03-12. + Last updated on 09:58 2024-03-13.

diff --git a/genindex.html b/genindex.html index 93fc1672f..a9084ea4d 100644 --- a/genindex.html +++ b/genindex.html @@ -265,6 +265,8 @@

_

  • (coreblocks.peripherals.axi_lite.AXILiteMaster method)
  • (coreblocks.peripherals.axi_lite.AXILiteParameters method) +
  • +
  • (coreblocks.peripherals.axi_lite.AXILiteSignature method)
  • (coreblocks.peripherals.bus_adapter.AXILiteMasterAdapter method)
  • @@ -273,10 +275,6 @@

    _

  • (coreblocks.peripherals.wishbone.PipelinedWishboneMaster method)
  • (coreblocks.peripherals.wishbone.WishboneArbiter method) -
  • -
  • (coreblocks.peripherals.wishbone.WishboneBus method) -
  • -
  • (coreblocks.peripherals.wishbone.WishboneLayout method)
  • (coreblocks.peripherals.wishbone.WishboneMaster method)
  • @@ -287,6 +285,8 @@

    _

  • (coreblocks.peripherals.wishbone.WishboneMuxer method)
  • (coreblocks.peripherals.wishbone.WishboneParameters method) +
  • +
  • (coreblocks.peripherals.wishbone.WishboneSignature method)
  • (coreblocks.scheduler.scheduler.Scheduler method)
  • @@ -542,6 +542,8 @@

    A

  • accept_res (coreblocks.cache.iface.CacheInterface attribute)
  • access_fault (coreblocks.params.layouts.FetchLayouts attribute) +
  • +
  • ack (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • Adapter (class in transactron.lib.adapters)
  • @@ -582,6 +584,8 @@

    A

  • addr (coreblocks.params.layouts.CommonLayoutFields attribute)
  • ADDRESS_GENERATION (coreblocks.params.optypes.OpType attribute) +
  • +
  • adr (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • align_down_to_power_of_two() (in module transactron.utils.data_repr)
  • @@ -651,11 +655,17 @@

    A

  • (transactron.TModule method)
  • +
  • axil_master (coreblocks.peripherals.axi_lite.AXILiteMaster attribute) +
  • +
  • AXILiteInterface (class in coreblocks.peripherals.axi_lite) +
  • AXILiteMaster (class in coreblocks.peripherals.axi_lite)
  • AXILiteMasterAdapter (class in coreblocks.peripherals.bus_adapter)
  • AXILiteParameters (class in coreblocks.peripherals.axi_lite) +
  • +
  • AXILiteSignature (class in coreblocks.peripherals.axi_lite)
  • @@ -707,10 +717,10 @@

    B

  • BIT_ROTATION (coreblocks.params.optypes.OpType attribute)
  • - - + +
  • create() (coreblocks.peripherals.wishbone.WishboneSignature method) +
  • csr (coreblocks.params.layouts.CommonLayoutFields attribute)
  • csr_access_privilege() (in module coreblocks.structs_common.csr) @@ -1388,6 +1402,8 @@

    C

  • (coreblocks.params.isa.Funct7 attribute)
  • +
  • cyc (coreblocks.peripherals.wishbone.WishboneInterface attribute) +
  • CYCLE (coreblocks.structs_common.csr_generic.CSRAddress attribute)
  • CYCLEH (coreblocks.structs_common.csr_generic.CSRAddress attribute) @@ -1406,6 +1422,10 @@

    D

  • (coreblocks.params.isa.Funct3 attribute)
  • +
  • dat_r (coreblocks.peripherals.wishbone.WishboneInterface attribute) +
  • +
  • dat_w (coreblocks.peripherals.wishbone.WishboneInterface attribute) +
  • data (coreblocks.params.layouts.CommonLayoutFields attribute)
  • data_in (transactron.lib.adapters.AdapterBase attribute) @@ -1635,6 +1655,8 @@

    E

  • ENVIRONMENT_CALL_FROM_S (coreblocks.params.isa.ExceptionCause attribute)
  • ENVIRONMENT_CALL_FROM_U (coreblocks.params.isa.ExceptionCause attribute) +
  • +
  • err (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • error (coreblocks.params.layouts.CommonLayoutFields attribute) @@ -2161,6 +2183,8 @@

    L

  • LOAD_PAGE_FAULT (coreblocks.params.isa.ExceptionCause attribute)
  • location (transactron.utils.gen.AssertLocation attribute) +
  • +
  • lock (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • lock_on_get (transactron.lib.dependencies.DependencyKey attribute) @@ -2207,6 +2231,10 @@

    M

  • make_hashable() (in module transactron.utils.data_repr)
  • ManyToOneConnectTrans (class in transactron.lib.connectors) +
  • +
  • master_wb (coreblocks.peripherals.wishbone.WishboneMuxer attribute) +
  • +
  • masters (coreblocks.peripherals.wishbone.WishboneArbiter attribute)
  • MAX (coreblocks.params.isa.Funct3 attribute) @@ -2780,6 +2808,10 @@

    R

  • RATLayouts (class in coreblocks.params.layouts)
  • rd_zero (coreblocks.frontend.instr_description.Encoding attribute) +
  • +
  • read_address (coreblocks.peripherals.axi_lite.AXILiteInterface attribute) +
  • +
  • read_data (coreblocks.peripherals.axi_lite.AXILiteInterface attribute)
  • ready_list (coreblocks.params.layouts.RSLayouts attribute)
  • @@ -2924,6 +2956,10 @@

    R

  • RSInterfaceLayouts (class in coreblocks.params.layouts)
  • RSLayouts (class in coreblocks.params.layouts) +
  • +
  • rst (coreblocks.peripherals.wishbone.WishboneInterface attribute) +
  • +
  • rty (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • RTypeInstr (class in coreblocks.params.instr)
  • @@ -3007,6 +3043,8 @@

    S

  • (transactron.utils.gen.MetricLocation class method)
  • +
  • sel (coreblocks.peripherals.wishbone.WishboneInterface attribute) +
  • select (coreblocks.utils.protocols.FuncBlock attribute)
  • Semaphore (class in transactron.lib.fifo) @@ -3071,10 +3109,10 @@

    S

  • SHIFT_MUL (coreblocks.fu.mul_unit.MulType attribute)
  • - - +
  • stack (transactron.utils.dependencies.DependencyContext attribute) +
  • +
  • stall (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • start (coreblocks.lsu.pma.PMARegion attribute) @@ -3154,6 +3198,8 @@

    S

  • state_machine_request() (coreblocks.peripherals.axi_lite.AXILiteMaster method) +
  • +
  • stb (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • stop() (transactron.lib.metrics.LatencyMeasurer method)
  • @@ -3655,6 +3701,12 @@

    W

  • wait_until_done() (transactron.testing.testbenchio.TestbenchIO method)
  • WakeupSelect (class in coreblocks.scheduler.wakeup_select) +
  • +
  • wb (coreblocks.peripherals.wishbone.PipelinedWishboneMaster attribute) +
  • +
  • wb_master (coreblocks.peripherals.wishbone.WishboneMaster attribute) +
  • +
  • we (coreblocks.peripherals.wishbone.WishboneInterface attribute)
  • WFI (coreblocks.params.isa.Funct12 attribute) @@ -3666,12 +3718,10 @@

    W

  • WishboneArbiter (class in coreblocks.peripherals.wishbone)
  • -
  • WishboneBus (class in coreblocks.peripherals.wishbone) +
  • WishboneInterface (class in coreblocks.peripherals.wishbone)