From db05a4bde1a737cc23f260dc2ca8087acdc78e30 Mon Sep 17 00:00:00 2001 From: tilk Date: Mon, 23 Oct 2023 18:20:28 +0000 Subject: [PATCH] Autumn cleaning: types (#479) --- .doctrees/Current_graph.doctree | Bin 24027 -> 24025 bytes .doctrees/api.doctree | Bin 31312 -> 31312 bytes .doctrees/auto_graph.doctree | Bin 23260 -> 23258 bytes .doctrees/coreblocks.fu.doctree | Bin 244523 -> 244584 bytes .doctrees/coreblocks.scheduler.doctree | Bin 42146 -> 42169 bytes .doctrees/coreblocks.stages.doctree | Bin 75024 -> 75075 bytes .doctrees/coreblocks.structs_common.doctree | Bin 129980 -> 130028 bytes .doctrees/coreblocks.utils.doctree | Bin 171032 -> 166086 bytes .doctrees/environment.pickle | Bin 312069 -> 312944 bytes .doctrees/transactron.doctree | Bin 542082 -> 516826 bytes .doctrees/transactron.lib.doctree | Bin 434470 -> 358853 bytes Assumptions.html | 2 +- Current_graph.html | 120 ++++++++++---------- Development_environment.html | 2 +- Home.html | 2 +- Problem-checklist.html | 2 +- Transactions.html | 2 +- _sources/auto_graph.rst.txt | 118 +++++++++---------- api.html | 2 +- auto_graph.html | 120 ++++++++++---------- components/icache.html | 2 +- coreblocks.frontend.html | 2 +- coreblocks.fu.html | 4 +- coreblocks.fu.unsigned_multiplication.html | 2 +- coreblocks.html | 2 +- coreblocks.params.html | 2 +- coreblocks.peripherals.html | 2 +- coreblocks.scheduler.html | 2 +- coreblocks.stages.html | 2 +- coreblocks.structs_common.html | 2 +- coreblocks.utils.html | 10 +- genindex.html | 2 +- index.html | 2 +- miscellany/exceptionsSummary.html | 2 +- modules-coreblocks.html | 2 +- modules-transactron.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 +- transactron.html | 18 +-- transactron.lib.html | 26 ++--- 45 files changed, 235 insertions(+), 235 deletions(-) diff --git a/.doctrees/Current_graph.doctree b/.doctrees/Current_graph.doctree index 65624a71b22a7313186f8877ae542af60443c54a..6feb5f08fa97292919f555e12c6afc64853174c1 100644 GIT binary patch delta 903 zcmYjP%TE(Q9M10c&2A~$2L(%asiizx=|T!ZwJSyYpaL3=f%u?^pcoSy;>DPl%83gm z@`(}O9t{%IiA2Gue}G_b#uyZhF`UqF@dR;q8-c^j{^s{RX6D=ZGDm%$qcmCV_`-9I zo~F79OCO;y&bX0fZ0KPG1cNRZ88i9D+@Nq*s{k4dXniX1Njr#~PEvc-Iy)vJ9B%6N zV4p6a;(mQSoQ4{7>C@=Z>#(Z#;gvpstdqlGgNP}EN7ZH=8f4`MqoDSt1S5KD zkC7Q;0fjoF4>Kk|mKsHJpuj=l4eQ4U8^ki}QrRhatsJ$Si(#L+MD2BRX58YMaF(mZ z)wTj~<~n@j@>jZEW<=I}0hNWNDtA#{e>K-C9wc4pqChO(jbmJ~RN;@qOV%t5gY(u9 zLh^WM6>-YSj#;aavz|b`y-MZ3wE59x3&JmdzuT%XVygpd=M_D!**jr$)L_ldB4^LX z(BcST(vjC@93uFVb|Mr%rtsJKzp24{XMpe}E(RG_jk=2xSXizV_OeS)!S4=Wv23rJ z?0`FjoO@F}A!7t@PU~4CI0D zmkzVLe0Wx*McQw|uw3U1#qtpFyQzS9YppZ}#QZ-?i#jxk9;8F%hC?Hc<@^!cqF;mtsZ1vve9@KEdw15%N|8h zKL(>gxtfSp;71D&eXEzyt?LXWzKA<19E|gLn_zJ=ZpP6>63)anOecQAlJp>xjAK1X uaItMagp>!))Nb6D@yU28q~s2ACv}ge>d??}oEA;sI-OWanaOO2Q1}li@F&m! delta 868 zcmY*WNlX)A6wY+IOv_ALO&1DI=|WqYQs`7F(rODOmX->|a1mLpfJ;m;#KZ%aYT}g$ zpBgmca?y|o#Qec%AYwckCB3OJh#F%I2PH9_0OK%qz5MUJ@B7~S-|}XjdOJ_abBZhZ z2Xd8+>LjeJodRe(ayA7rbTtA29%@=kR_HMblL{X7j2wdsuSC33oWw_^U&3A}O}HNA za96nx^~#vUSE_bnOw|E1AoWPLtN+tnD+d$4A9 zku5z<p<6L@vW|ixT*~@^b5{EH>?%?zL0}V2@?#?g*~Er zk2I~Q#!@(mgOP1a2ZLzyOtE;&axxpaFGE+fn-cIiTEPjL#K75OCwiq9U!!*DW4qvw zg+x9ZbMPXcN@RrI;en(5Hore=`$sO|R;*0>Uj>0Yj~QiHh}*E$5CI#n#6UcNt8q70 z8mv$@x(LUD^d}i=T05yAxzw7{{RGZ39gP40 diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree index 58aff276dd0743360aab2d64b9b857200dc2a6f6..0566ad922001339ac8ba8d93c35c49f573c5fd8a 100644 GIT binary patch delta 1655 zcma))T}&KR6vubgwar3Xgu?PsX=_3(V7vHIwg~J3yQSz_24M=daf{3Dl$p!!&Sqv8 zYm8#!C+Rdaobe;6iV00@qL$*CXkt@omDE@hN%|s*5+C%jwN`x4mwL`z9Z2-Sm;e8q z-<-K~?|<&ns<5;wT=>1Yzciug@<>Wcj2ZrHT#u&>%Pj6RjC?wqQ?(3so5OismovHH zQ9YhjEVIl=C~`8NlJzEWT-L```6uOe!^>_-uakrXD%EzHE;M-biC~;j*4jVZ=pU4?a{R0-PHtz&&pYQ(SoF2~@@kCD7 zGL~5xk;mnfmQB;<Z@da-;z5p$)twIQVgm3x5MG~O@c@qp2Mn}s?AY_PYC%ulaLJJ`*R^5Y!4=I4XPT# zdtfnG4_i7aVIr~%9thRrD)fYfBDl(2XjqV-q~k}CGGu2-C_gq&LfNrPB$OMwMnajf z??@;w_A`nSW4F=rrYEN*4C`5|o&_P;`3LUiRJaxnb)CT7?2a@{hfOR_h2McAeG+ab z26u)^;YMTyy{z!Vevd!}{MLPw`++;;vz~`-UhqA#ffxR0kASDx9T|YHAMMAg_TVi+ zENtn$OTZ)9A8LTb(0%Zd*o=Vouq>XybJ82<`;KEpEb`cOK`K=BR|shSfg-XNsgW#s zXcw6|XrO&`xQ3c-kC&4@c%*A%9fcJY?4-~rrszgHBm8F+5JIW&dR%kclQGMlM59SG zN)wGH(IjX{4(y;MC+)dOdu-C4nzV-|akVqa3O5Eie+)3g{iDwaQMf!hf?B6UQL~DO zx}fx+desPOuiA$?qqbu}nXx($SQS<^OvFeSGcbe|HieoQ>q4C$>lLKwl)Qods#y+V zssf%*b@8?WW(Iw*l6nXStJB@6Pp0YKETmT_?0fT~*X4TIVy~d_>+>oHCkfcM$mC$k z0jD_t2Ur}u;eaeRtL&XZgr`1nfI|j)V6d@Bs&N1nj$ffrA18 z`$~Vz!6y#*l!MP4aFK)0(T4at3!Hr6jC{$#RR?^SmNNi4Zxc{`oAtu J;beBv`xn`j6I%cP delta 1712 zcma))YfKzf6vuZc6}K(53uSqvKvbfv+8rwvYevw3*h}I7#8l(83pX#}DW!OYN_~n1j z`OUfK-us`sy1}h(aEpH(fU6yiLwl2oDkd^YGOe{~Nl8o@8Bw*&?Q$+9p0cEvxg&1q z%J`%j&r6nB9yU}}%;}r8XGm2N88O?6E0gJrtm$y4W8VY!=xRKt#gn?KZq-QYTKjMmVjVRnus54m za(Hj8T~5aFu9jKauVgXo*cxM*d$x);Lzn4scNX2(GAkU1+apt=Iwgxw6&ky)a3=>! zU9LmHwIhkCACCJ;(5co7eI)EuKVCjfqE7Xb_c0RMs^t5L;8eF>H>4OF_;bS;bai)g zL73~V<-)c`Z4FU{m%3}qq}ZI*Y*s_Aqy{Q`Dk{DI_7S>z?!y@;dg^@t?egZ5q6@=( zPZu`;YdwBkxzt-*E|id$@r;7YFi03l9USZ3#YO2icm}f&>ylU(hg|}aQJk?5@Ir$> ziF0V?3%A0GzZq{st7-m0*dJ)dIkX}H9_K6s#^G0gHGDV}g2_kEMySE$5*2DLS)xLX zC0D6XQ^_?d)KKy*6>28Ag(Ahs9~ca?R9BLk^|aMY2EZS@ji;Io*Td1!89Y@B@4FB- zF_{g&g~w{)7g4|Gf8)Z1>j$eiEY|z(V6lE^4;F<#`#m&lKU_^iy)ee%>09_Hd_6FX zS^bgUxoBbc;5Lp6vC%$Q3ET_MM-CvMyRJpfzy~IE}F$myGMH}hJ8M|-BZkw^YX6&XJoOUr)Rf2XdO#nK0aPlZF9q<|h7ai~h1M?1e+wGdB`@Z9lORVKx3hWpA9s}<9f310Or!69z6j;0gnuVt9hBS!U#Or{xO3|w=-bq2n1 Wz$ybbYyj^3$^Z3u3g_}G?!N)Yg&`FH diff --git a/.doctrees/auto_graph.doctree b/.doctrees/auto_graph.doctree index 2a56d8ce333e45beab4d2c2da8cae112b69b5da5..d5867e7d039ad585b3d821dc24f1cd77c0640e46 100644 GIT binary patch delta 1068 zcmZuvT}V@580H+$=Gpn#)^@h0Zu9svZPTOMWZ29}QXZ!!F6tslGt)svmW+NWNs6GG zAbTpJi?S#Px+pn$6BUD~i!j_(MF`zQ1V!FNe^B)8Y-*7g-}ips`#$gcK0NO`KSRBl zp_mE7#koo5In_How}rwsx)ce9fw{npQo0gySi+digjve0-JmBa>|nA0Ga4ArQt%2h zf=A5`+%^OdGz=jc6JRlvEyWiM4VX99pv1TncZ~{;kuz2&LMjYltgr(2Tr4&aD~HQb zFSB@5xE57x8SxwNIKtvfVUCDSrjFB&vOIwjt+ceIpa6RcQI^q^kCLegS11yv*IQ&&ItB7{kmq2PDRH~DelGQxaJnLch2h+ z9=Ng~4yRo;D}sVW85#}l8oko*lK(*3HMgC@f=9uWC#H|f?~MT7Tu=rW;Lnd6V?G0XL(H!;Vvji~FTvm30vr9`dF&T~Pq!R%iucEm@<<`ZD zamEV8WWwk=Uc1zEhNeRB#`*D~+F!yN--Ct@FW$y4 vA{{Tqg^mhRa-vyBnBjDEEiM>_4=*3Mfr`Tp3noepuxbQfv+yGO-8#R66P delta 1119 zcmZuwOK1~O6lJE9NhULs)FcyAleUwjZEWqdnbFWTHL+EjCPJ|yD1KYff)zg@RIC)S zpbIx5@t}x;tu96<;T9YNd;rIhQ&2-1F|e@6|2l z^(}@Qww!sM=N>X!#-6Tcuz?LCD{yd>I8e!kpc)=zT>>644sw~zGw9{YO~N%nfWfIn z!g;PA@q~miOF`h2#fxnT8U2>!7+I?<_SHc>pqAJqagE-(_1$Xo9v26ue3#A6iCM~s#|V-X9~78U>awf~7^ zB;aOf`6U=FUt!L(wjzdn#jN^Pisw@oDsv2oI!#oUnWU^>GdFP3sgOW0#vxKui|&XG z-PKP>cg=SmM>V=C^n~4YB097}M^qySwO%CeH4lqObb4oK3w}0+@yrO3z0q?v#9Io} znaX4-{$=`%`|B eTyuvl=*uNOxVu)ch8<73%5Yj^auZ$BBoDR Sz{EQJ-7+SQt$xgRcL4y`yOP-e delta 297 zcmaFyjc@fgK9&a7sT>n6|JCcy|I#Wr8qc$`JR9;f`|3me&|cfMv6 zV`2@N{Cb-|$YeoI9++{{1%((DC+BUSKAqEsQFOERj(kQ4>%dN5x2a-`8k|!Z7#JBq zV5=Qt>Pr@5-_o4vfnS(}!LHt}`-&0j?CINIGeX?G-RceF9pT9v(%GgTc)}z%)tO12 vbE+`Zlus{G6P!yG@MPU(LU0uZZ5fxEbR+bk;T%6JBv|YIN7Q+^{$<8xBnx4Pw?9@(?a%l#(Yv zGG?$SsLJ$^5s)}B2R_Og1?CA;NE})w=zDt_9GtL|WT90;X7Ro=))+WBF@r4hd&Fn0 zC+pB+(Kb@!@3&9dPToOl8l23GgtL>zkWP(tgj<&<|BifwUr|uo97oTEKtf6;xrQBC z%vfw5Pi~`O0?bR!LG2VLdBAPPO_;ip{7oI}T^0}P%EBOPv*5clbp@emI@mNn$&jK8 z3i6o6B>aK*Or5@4ISo4EfQ7law1|7?7fBxTxn-KitT=Hh`>{Cm7+T;P%=HrDfwyLR zX}uJ)Ns964pm?zfoOxjsKfTLRBjh*%vR)Zyb04K|lLS7}On)RM`=>_WjX(k!C%?dQ zdjkr*Wlz-#oDPQh)5%PhS&(;14l{;Kz6qhSL-|TdlYe#oHDQU=Q3t&XM6#Mg$mEy6 zB*$ol`;t($b&T@XVMs+>sJwHsLj&v_=H;h;-*FzPA77ZJrQQa&7tSQR)YMx8P>(^V zZ7S-%1B=Rua8%)*vb2(%NK(xm4O7mF(J7_<3N9Ms~_TO}?Ua~~nl4duQvMGADV|C0b1L#u{goL*mdcFi18TkJ zmbi%!6vh{?4p1-Ehq1du(GvvcmL@-UK)uw$9h9vY6vnoqAaBJW=v$^!eGBm;R%5<_9zY?Io(oFi{`PugIx)=;i@V0JsXgWpl0Wd1sN%1>v$slwJ~Zfq(e z&y>;cd1h(|hkWZqiWa7&FNTBHHI97G^3wEhJeGFAgb6<>H7y(l5;%l5U2yZOv`89r zgtJMeYougov1G6DWE8E7Z_cA{{h!&k_z_jv*s3b#>1{$%s$SXC;>+xlpGDRAO4P$= zZX3m;5!aGpR9tY`l3`Jcd2AfsLdv=Igz`5paah+_F%>#nrqd6@*|QZXm%L}gFZX`2j00wM&|~=u|aFAh`0PVtx3d*trglf$HIagBk2u}trW|j z;Y{s{ruc(Jtx_{zW(h40R{LIqKkZmRAM%*!2dp3aI3JODAqlBUYG`ZM|0oSV3+E-O z3gn5DQhuPW@mxv)t#Z2}0otH%=We9#+?5bKR&?TTAx$vwcU*og&5-DgA!fL^JJ~Fk z&N7Sv>BSg0ufcHm+!_meys1iKVh2Z!H%lNR$3r7o}=)Fmof z>>q+EWuZh*78t{b4bjJl`Sm^9-GusjI^wy$o(>yr*67>H^=%EHZv?_@9;UBbqmPXb z)pzf`0pWzA@A~_t^o&N|35`CqRQg!TpKJ7O4xo>D`SnG1zK{BjbXsuh9qBZ~tI?5(7cMz&v+7~zXcXCk zKk!0uCKa3E-}}2rGjtsIf*$d!OloF+lFGyE)8YteELX$z`pz7@P0823_Ct4rtIng3 z_#5VE^UM~1WL4Kw)- re6yGztI)(mTr-iq51f+7)QY{Vkx+W!%VUX{=IOC5q}jLmcn0|&j=@If delta 4747 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 JJ5X%33;@z%JM{nn diff --git a/.doctrees/coreblocks.utils.doctree b/.doctrees/coreblocks.utils.doctree index 818561d47e7a18723b039f3d964e8893c3f7f2f4..d0b32e9fdcb4e09ca56ce40625e8d6104306ee70 100644 GIT binary patch literal 166086 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 NVPGj@FmA?${|8V76RH3J literal 171032 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 D@ALIw diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 03da8db28fe94ae3f155bbbd7ff81b640f01b213..1e62cde1e5d98bda88381b417344bf8d1bc16ee8 100644 GIT binary patch literal 312944 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 V|1B(4VP6-m|8A5JD0#A(;H{-Ky@bK2?3Y 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

&-9+oGXD1=B2?$(jAkeyN7JKE=bIolU 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 literal 542082 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�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 diff --git a/.doctrees/transactron.lib.doctree b/.doctrees/transactron.lib.doctree index 72a89a4eeff1df508fe15a8e50f705a34f56655e..6e10eb75b7cd7b68f05be11ed4ebf9d5c19bff41 100644 GIT binary patch literal 358853 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 U!^h0a>>0y)ykd#MRc!G81I}rD#Q*>R literal 434470 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 diff --git a/Assumptions.html b/Assumptions.html index 1dd3e9bea..316915519 100644 --- a/Assumptions.html +++ b/Assumptions.html @@ -104,7 +104,7 @@

List of assumptions made during development

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/Current_graph.html b/Current_graph.html index 1aa01fb55..6cef0203b 100644 --- a/Current_graph.html +++ b/Current_graph.html @@ -89,8 +89,8 @@

Full transaction-method graph

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/Development_environment.html b/Development_environment.html index 1ef47ed75..d7c699716 100644 --- a/Development_environment.html +++ b/Development_environment.html @@ -178,7 +178,7 @@

build_docs.sh

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/Home.html b/Home.html index ba0476552..be47ecf8b 100644 --- a/Home.html +++ b/Home.html @@ -129,7 +129,7 @@

Documentation

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/Problem-checklist.html b/Problem-checklist.html index 56b0511a7..57539c3af 100644 --- a/Problem-checklist.html +++ b/Problem-checklist.html @@ -105,7 +105,7 @@

Problem checklist

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/Transactions.html b/Transactions.html index abe6222cf..8be34374d 100644 --- a/Transactions.html +++ b/Transactions.html @@ -267,7 +267,7 @@

Transaction and method nesting

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/_sources/auto_graph.rst.txt b/_sources/auto_graph.rst.txt index 0080bb978..552d900d9 100644 --- a/_sources/auto_graph.rst.txt +++ b/_sources/auto_graph.rst.txt @@ -6,8 +6,8 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_request["request"] WishboneMaster_result["result"] + WishboneMaster_request["request"] end subgraph WishboneMaster1["wb_master_data WishboneMaster"] WishboneMaster1_result["result"] @@ -18,27 +18,27 @@ FIFO_read["read"] end subgraph BasicFifo["free_rf_fifo BasicFifo"] - BasicFifo_read["read"] BasicFifo_write["write"] + BasicFifo_read["read"] end subgraph SimpleWBCacheRefiller["icache_refiller SimpleWBCacheRefiller"] - SimpleWBCacheRefiller_start_refill["start_refill"] - SimpleWBCacheRefiller_accept_refill["accept_refill"] SimpleWBCacheRefiller_SimpleWBCacheRefiller["SimpleWBCacheRefiller"] + SimpleWBCacheRefiller_accept_refill["accept_refill"] + SimpleWBCacheRefiller_start_refill["start_refill"] end subgraph ICache["icache ICache"] + ICache_issue_req["issue_req"] ICache_ICache["ICache"] ICache_ICache1["ICache"] - ICache_accept_res["accept_res"] ICache_ICache2["ICache"] - ICache_issue_req["issue_req"] + ICache_accept_res["accept_res"] subgraph FIFO1["req_fifo FIFO"] - FIFO1_read["read"] FIFO1_write["write"] + FIFO1_read["read"] end subgraph Forwarder["res_fwd Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph Fetch["fetch Fetch"] @@ -46,8 +46,8 @@ Fetch_verify_branch["verify_branch"] Fetch_Fetch1["Fetch"] subgraph BasicFifo1["fetch_target_queue BasicFifo"] - BasicFifo1_read["read"] BasicFifo1_write["write"] + BasicFifo1_read["read"] end end subgraph FRAT["FRAT FRAT"] @@ -57,28 +57,28 @@ RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] - RegisterFile_read2["read2"] - RegisterFile_write["write"] RegisterFile_read1["read1"] + RegisterFile_write["write"] RegisterFile_free["free"] + RegisterFile_read2["read2"] end subgraph ReorderBuffer["ROB ReorderBuffer"] - ReorderBuffer_peek["peek"] + ReorderBuffer_put["put"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_retire["retire"] + 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"] + ExceptionCauseRegister_report["report"] end subgraph FuncBlocksUnifier["func_blocks_unifier FuncBlocksUnifier"] subgraph Collector["result_collector Collector"] Collector_method["method"] subgraph Forwarder1["forwarder Forwarder"] - Forwarder1_write["write"] Forwarder1_read["read"] + Forwarder1_write["write"] end subgraph ManyToOneConnectTrans["connect ManyToOneConnectTrans"] subgraph ConnectTrans["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -93,26 +93,26 @@ MethodProduct_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] - RSFuncBlock_select["select"] - RSFuncBlock_update["update"] RSFuncBlock_insert["insert"] + RSFuncBlock_update["update"] RSFuncBlock_get_result["get_result"] + RSFuncBlock_select["select"] subgraph RS["rs RS"] RS_RS["RS"] - RS_take["take"] - RS_insert["insert"] - RS_select["select"] + RS_update["update"] RS_RS1["RS"] + RS_insert["insert"] + RS_take["take"] RS_RS2["RS"] + RS_select["select"] RS_RS3["RS"] - RS_update["update"] end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph FIFO2["fifo FIFO"] - FIFO2_write["write"] FIFO2_read["read"] + FIFO2_write["write"] end end subgraph WakeupSelect["wakeup_select_0 WakeupSelect"] @@ -122,8 +122,8 @@ ShiftFuncUnit_accept["accept"] ShiftFuncUnit_issue["issue"] subgraph FIFO3["fifo FIFO"] - FIFO3_write["write"] FIFO3_read["read"] + FIFO3_write["write"] end end subgraph WakeupSelect1["wakeup_select_1 WakeupSelect"] @@ -138,19 +138,19 @@ FIFO4_write["write"] end subgraph FIFO5["fifo_branch FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect2["wakeup_select_2 WakeupSelect"] WakeupSelect2_WakeupSelect["WakeupSelect"] end subgraph ExceptionFuncUnit["func_unit_3 ExceptionFuncUnit"] - ExceptionFuncUnit_issue["issue"] ExceptionFuncUnit_accept["accept"] + ExceptionFuncUnit_issue["issue"] subgraph FIFO6["fifo FIFO"] - FIFO6_write["write"] FIFO6_read["read"] + FIFO6_write["write"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -159,8 +159,8 @@ subgraph Collector1["collector Collector"] Collector1_method["method"] subgraph Forwarder2["forwarder Forwarder"] - Forwarder2_write["write"] Forwarder2_read["read"] + Forwarder2_write["write"] end subgraph ManyToOneConnectTrans1["connect ManyToOneConnectTrans"] subgraph ConnectTrans2["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -179,11 +179,11 @@ end end subgraph LSUDummy["rs_block_1 LSUDummy"] - LSUDummy_insert["insert"] LSUDummy_get_result["get_result"] LSUDummy_select["select"] LSUDummy_precommit["precommit"] LSUDummy_update["update"] + LSUDummy_insert["insert"] subgraph LSUDummyInternals["internal LSUDummyInternals"] LSUDummyInternals_LSUDummyInternals["LSUDummyInternals"] LSUDummyInternals_LSUDummyInternals1["LSUDummyInternals"] @@ -214,8 +214,8 @@ CSRRegister2_write["write"] end subgraph CSRRegister3["register_high CSRRegister"] - CSRRegister3_read["read"] CSRRegister3_write["write"] + CSRRegister3_read["read"] end end subgraph CSRRegister4["mcause CSRRegister"] @@ -231,8 +231,8 @@ end subgraph Scheduler["scheduler Scheduler"] subgraph FIFO8["alloc_rename_buf FIFO"] - FIFO8_write["write"] FIFO8_read["read"] + FIFO8_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -277,12 +277,12 @@ subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister5["register_low CSRRegister"] - CSRRegister5_write["write"] CSRRegister5_read["read"] + CSRRegister5_write["write"] end subgraph CSRRegister6["register_high CSRRegister"] - CSRRegister6_write["write"] CSRRegister6_read["read"] + CSRRegister6_write["write"] end end end @@ -303,17 +303,17 @@ Retirement_Retirement1 --> BasicFifo_write SimpleWBCacheRefiller_SimpleWBCacheRefiller --> WishboneMaster_request ICache_ICache2 --> Forwarder_write - ICache_ICache --> SimpleWBCacheRefiller_start_refill - SimpleWBCacheRefiller_accept_refill --> ICache_ICache1 - WishboneMaster_result --> ICache_ICache1 - Fetch_Fetch --> ICache_issue_req - Fetch_Fetch --> FIFO1_write - Fetch_Fetch --> BasicFifo1_write - BasicFifo1_read --> Fetch_Fetch1 - ICache_accept_res --> Fetch_Fetch1 - FIFO1_read --> Fetch_Fetch1 - Forwarder_read --> Fetch_Fetch1 - Fetch_Fetch1 --> FIFO_write + ICache_ICache1 --> SimpleWBCacheRefiller_start_refill + SimpleWBCacheRefiller_accept_refill --> ICache_ICache + WishboneMaster_result --> 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 + Forwarder_read --> Fetch_Fetch + Fetch_Fetch --> FIFO_write AdapterTrans_AdapterTrans_write --> FIFO_write FIFO_read --> Decode_Decode Decode_Decode --> FIFO7_write @@ -326,13 +326,13 @@ FIFO9_read --> ROBAllocation_ROBAllocation ROBAllocation_ROBAllocation --> ReorderBuffer_put ROBAllocation_ROBAllocation --> FIFO10_write - FIFO10_read --> RSSelection_RSSelection1 - RSSelection_RSSelection1 --> Forwarder3_write - Forwarder3_read --> RSSelection_RSSelection + FIFO10_read --> RSSelection_RSSelection + RSSelection_RSSelection --> Forwarder3_write + Forwarder3_read --> RSSelection_RSSelection1 Forwarder3_read --> RSSelection_RSSelection2 - RSFuncBlock_select --> RSSelection_RSSelection - RS_select --> RSSelection_RSSelection - RSSelection_RSSelection --> FIFO11_write + RSFuncBlock_select --> RSSelection_RSSelection1 + RS_select --> RSSelection_RSSelection1 + RSSelection_RSSelection1 --> FIFO11_write RSSelection_RSSelection2 --> FIFO11_write RSSelection_RSSelection2 <--> LSUDummy_select FIFO11_read --> RSInsertion_RSInsertion @@ -353,29 +353,29 @@ ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> LSUDummy_update - RS_RS --> WakeupSelect_WakeupSelect + 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_RS3 --> WakeupSelect1_WakeupSelect + RS_RS --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write - RS_RS2 --> WakeupSelect2_WakeupSelect + RS_RS3 --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect --> ExceptionCauseRegister_report WakeupSelect3_WakeupSelect --> ExceptionCauseRegister_report + LSUDummyInternals_LSUDummyInternals --> ExceptionCauseRegister_report LSUDummyInternals_LSUDummyInternals1 --> ExceptionCauseRegister_report - LSUDummyInternals_LSUDummyInternals2 --> ExceptionCauseRegister_report ReorderBuffer_get_indices --> WakeupSelect2_WakeupSelect ReorderBuffer_get_indices --> WakeupSelect3_WakeupSelect + ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals1 - ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals2 WakeupSelect2_WakeupSelect --> FIFO4_write WakeupSelect2_WakeupSelect --> FIFO5_write - RS_RS1 --> WakeupSelect3_WakeupSelect + RS_RS2 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> FIFO6_write ConnectTrans2_ConnectTrans --> Forwarder2_write @@ -390,8 +390,8 @@ FIFO4_read --> ConnectTrans4_ConnectTrans ExceptionFuncUnit_accept --> ConnectTrans5_ConnectTrans FIFO6_read --> ConnectTrans5_ConnectTrans - LSUDummyInternals_LSUDummyInternals --> WishboneMaster1_request - WishboneMaster1_result --> LSUDummyInternals_LSUDummyInternals2 + LSUDummyInternals_LSUDummyInternals2 --> WishboneMaster1_request + WishboneMaster1_result --> LSUDummyInternals_LSUDummyInternals1 ConnectTrans_ConnectTrans --> Forwarder1_write ConnectTrans1_ConnectTrans --> Forwarder1_write RSFuncBlock_get_result --> ConnectTrans_ConnectTrans diff --git a/api.html b/api.html index bcbe84ad8..167683a03 100644 --- a/api.html +++ b/api.html @@ -235,7 +235,7 @@

transactron

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/auto_graph.html b/auto_graph.html index aba249506..5df546717 100644 --- a/auto_graph.html +++ b/auto_graph.html @@ -85,8 +85,8 @@ subgraph Core["core Core"] Core_InitFreeRFFifo["InitFreeRFFifo"] subgraph WishboneMaster["wb_master_instr WishboneMaster"] - WishboneMaster_request["request"] WishboneMaster_result["result"] + WishboneMaster_request["request"] end subgraph WishboneMaster1["wb_master_data WishboneMaster"] WishboneMaster1_result["result"] @@ -97,27 +97,27 @@ FIFO_read["read"] end subgraph BasicFifo["free_rf_fifo BasicFifo"] - BasicFifo_read["read"] BasicFifo_write["write"] + BasicFifo_read["read"] end subgraph SimpleWBCacheRefiller["icache_refiller SimpleWBCacheRefiller"] - SimpleWBCacheRefiller_start_refill["start_refill"] - SimpleWBCacheRefiller_accept_refill["accept_refill"] SimpleWBCacheRefiller_SimpleWBCacheRefiller["SimpleWBCacheRefiller"] + SimpleWBCacheRefiller_accept_refill["accept_refill"] + SimpleWBCacheRefiller_start_refill["start_refill"] end subgraph ICache["icache ICache"] + ICache_issue_req["issue_req"] ICache_ICache["ICache"] ICache_ICache1["ICache"] - ICache_accept_res["accept_res"] ICache_ICache2["ICache"] - ICache_issue_req["issue_req"] + ICache_accept_res["accept_res"] subgraph FIFO1["req_fifo FIFO"] - FIFO1_read["read"] FIFO1_write["write"] + FIFO1_read["read"] end subgraph Forwarder["res_fwd Forwarder"] - Forwarder_write["write"] Forwarder_read["read"] + Forwarder_write["write"] end end subgraph Fetch["fetch Fetch"] @@ -125,8 +125,8 @@ Fetch_verify_branch["verify_branch"] Fetch_Fetch1["Fetch"] subgraph BasicFifo1["fetch_target_queue BasicFifo"] - BasicFifo1_read["read"] BasicFifo1_write["write"] + BasicFifo1_read["read"] end end subgraph FRAT["FRAT FRAT"] @@ -136,28 +136,28 @@ RRAT_commit["commit"] end subgraph RegisterFile["RF RegisterFile"] - RegisterFile_read2["read2"] - RegisterFile_write["write"] RegisterFile_read1["read1"] + RegisterFile_write["write"] RegisterFile_free["free"] + RegisterFile_read2["read2"] end subgraph ReorderBuffer["ROB ReorderBuffer"] - ReorderBuffer_peek["peek"] + ReorderBuffer_put["put"] ReorderBuffer_mark_done["mark_done"] - ReorderBuffer_retire["retire"] + 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"] + ExceptionCauseRegister_report["report"] end subgraph FuncBlocksUnifier["func_blocks_unifier FuncBlocksUnifier"] subgraph Collector["result_collector Collector"] Collector_method["method"] subgraph Forwarder1["forwarder Forwarder"] - Forwarder1_write["write"] Forwarder1_read["read"] + Forwarder1_write["write"] end subgraph ManyToOneConnectTrans["connect ManyToOneConnectTrans"] subgraph ConnectTrans["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -172,26 +172,26 @@ MethodProduct_method["method"] end subgraph RSFuncBlock["rs_block_0 RSFuncBlock"] - RSFuncBlock_select["select"] - RSFuncBlock_update["update"] RSFuncBlock_insert["insert"] + RSFuncBlock_update["update"] RSFuncBlock_get_result["get_result"] + RSFuncBlock_select["select"] subgraph RS["rs RS"] RS_RS["RS"] - RS_take["take"] - RS_insert["insert"] - RS_select["select"] + RS_update["update"] RS_RS1["RS"] + RS_insert["insert"] + RS_take["take"] RS_RS2["RS"] + RS_select["select"] RS_RS3["RS"] - RS_update["update"] end subgraph AluFuncUnit["func_unit_0 AluFuncUnit"] - AluFuncUnit_accept["accept"] AluFuncUnit_issue["issue"] + AluFuncUnit_accept["accept"] subgraph FIFO2["fifo FIFO"] - FIFO2_write["write"] FIFO2_read["read"] + FIFO2_write["write"] end end subgraph WakeupSelect["wakeup_select_0 WakeupSelect"] @@ -201,8 +201,8 @@ ShiftFuncUnit_accept["accept"] ShiftFuncUnit_issue["issue"] subgraph FIFO3["fifo FIFO"] - FIFO3_write["write"] FIFO3_read["read"] + FIFO3_write["write"] end end subgraph WakeupSelect1["wakeup_select_1 WakeupSelect"] @@ -217,19 +217,19 @@ FIFO4_write["write"] end subgraph FIFO5["fifo_branch FIFO"] - FIFO5_read["read"] FIFO5_write["write"] + FIFO5_read["read"] end end subgraph WakeupSelect2["wakeup_select_2 WakeupSelect"] WakeupSelect2_WakeupSelect["WakeupSelect"] end subgraph ExceptionFuncUnit["func_unit_3 ExceptionFuncUnit"] - ExceptionFuncUnit_issue["issue"] ExceptionFuncUnit_accept["accept"] + ExceptionFuncUnit_issue["issue"] subgraph FIFO6["fifo FIFO"] - FIFO6_write["write"] FIFO6_read["read"] + FIFO6_write["write"] end end subgraph WakeupSelect3["wakeup_select_3 WakeupSelect"] @@ -238,8 +238,8 @@ subgraph Collector1["collector Collector"] Collector1_method["method"] subgraph Forwarder2["forwarder Forwarder"] - Forwarder2_write["write"] Forwarder2_read["read"] + Forwarder2_write["write"] end subgraph ManyToOneConnectTrans1["connect ManyToOneConnectTrans"] subgraph ConnectTrans2["ManyToOneConnectTrans_input_0 ConnectTrans"] @@ -258,11 +258,11 @@ end end subgraph LSUDummy["rs_block_1 LSUDummy"] - LSUDummy_insert["insert"] LSUDummy_get_result["get_result"] LSUDummy_select["select"] LSUDummy_precommit["precommit"] LSUDummy_update["update"] + LSUDummy_insert["insert"] subgraph LSUDummyInternals["internal LSUDummyInternals"] LSUDummyInternals_LSUDummyInternals["LSUDummyInternals"] LSUDummyInternals_LSUDummyInternals1["LSUDummyInternals"] @@ -293,8 +293,8 @@ CSRRegister2_write["write"] end subgraph CSRRegister3["register_high CSRRegister"] - CSRRegister3_read["read"] CSRRegister3_write["write"] + CSRRegister3_read["read"] end end subgraph CSRRegister4["mcause CSRRegister"] @@ -310,8 +310,8 @@ end subgraph Scheduler["scheduler Scheduler"] subgraph FIFO8["alloc_rename_buf FIFO"] - FIFO8_write["write"] FIFO8_read["read"] + FIFO8_write["write"] end subgraph RegAllocation["reg_alloc RegAllocation"] RegAllocation_RegAllocation["RegAllocation"] @@ -356,12 +356,12 @@ subgraph DoubleCounterCSR2["instret_csr DoubleCounterCSR"] DoubleCounterCSR2_increment["increment"] subgraph CSRRegister5["register_low CSRRegister"] - CSRRegister5_write["write"] CSRRegister5_read["read"] + CSRRegister5_write["write"] end subgraph CSRRegister6["register_high CSRRegister"] - CSRRegister6_write["write"] CSRRegister6_read["read"] + CSRRegister6_write["write"] end end end @@ -382,17 +382,17 @@ Retirement_Retirement1 --> BasicFifo_write SimpleWBCacheRefiller_SimpleWBCacheRefiller --> WishboneMaster_request ICache_ICache2 --> Forwarder_write -ICache_ICache --> SimpleWBCacheRefiller_start_refill -SimpleWBCacheRefiller_accept_refill --> ICache_ICache1 -WishboneMaster_result --> ICache_ICache1 -Fetch_Fetch --> ICache_issue_req -Fetch_Fetch --> FIFO1_write -Fetch_Fetch --> BasicFifo1_write -BasicFifo1_read --> Fetch_Fetch1 -ICache_accept_res --> Fetch_Fetch1 -FIFO1_read --> Fetch_Fetch1 -Forwarder_read --> Fetch_Fetch1 -Fetch_Fetch1 --> FIFO_write +ICache_ICache1 --> SimpleWBCacheRefiller_start_refill +SimpleWBCacheRefiller_accept_refill --> ICache_ICache +WishboneMaster_result --> 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 +Forwarder_read --> Fetch_Fetch +Fetch_Fetch --> FIFO_write AdapterTrans_AdapterTrans_write --> FIFO_write FIFO_read --> Decode_Decode Decode_Decode --> FIFO7_write @@ -405,13 +405,13 @@ FIFO9_read --> ROBAllocation_ROBAllocation ROBAllocation_ROBAllocation --> ReorderBuffer_put ROBAllocation_ROBAllocation --> FIFO10_write -FIFO10_read --> RSSelection_RSSelection1 -RSSelection_RSSelection1 --> Forwarder3_write -Forwarder3_read --> RSSelection_RSSelection +FIFO10_read --> RSSelection_RSSelection +RSSelection_RSSelection --> Forwarder3_write +Forwarder3_read --> RSSelection_RSSelection1 Forwarder3_read --> RSSelection_RSSelection2 -RSFuncBlock_select --> RSSelection_RSSelection -RS_select --> RSSelection_RSSelection -RSSelection_RSSelection --> FIFO11_write +RSFuncBlock_select --> RSSelection_RSSelection1 +RS_select --> RSSelection_RSSelection1 +RSSelection_RSSelection1 --> FIFO11_write RSSelection_RSSelection2 --> FIFO11_write RSSelection_RSSelection2 <--> LSUDummy_select FIFO11_read --> RSInsertion_RSInsertion @@ -432,29 +432,29 @@ ResultAnnouncement_ResultAnnouncement --> RSFuncBlock_update ResultAnnouncement_ResultAnnouncement --> RS_update ResultAnnouncement_ResultAnnouncement --> LSUDummy_update -RS_RS --> WakeupSelect_WakeupSelect +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_RS3 --> WakeupSelect1_WakeupSelect +RS_RS --> WakeupSelect1_WakeupSelect WakeupSelect1_WakeupSelect --> ShiftFuncUnit_issue WakeupSelect1_WakeupSelect --> FIFO3_write -RS_RS2 --> WakeupSelect2_WakeupSelect +RS_RS3 --> WakeupSelect2_WakeupSelect WakeupSelect2_WakeupSelect --> JumpBranchFuncUnit_issue WakeupSelect2_WakeupSelect --> ExceptionCauseRegister_report WakeupSelect3_WakeupSelect --> ExceptionCauseRegister_report +LSUDummyInternals_LSUDummyInternals --> ExceptionCauseRegister_report LSUDummyInternals_LSUDummyInternals1 --> ExceptionCauseRegister_report -LSUDummyInternals_LSUDummyInternals2 --> ExceptionCauseRegister_report ReorderBuffer_get_indices --> WakeupSelect2_WakeupSelect ReorderBuffer_get_indices --> WakeupSelect3_WakeupSelect +ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals1 -ReorderBuffer_get_indices --> LSUDummyInternals_LSUDummyInternals2 WakeupSelect2_WakeupSelect --> FIFO4_write WakeupSelect2_WakeupSelect --> FIFO5_write -RS_RS1 --> WakeupSelect3_WakeupSelect +RS_RS2 --> WakeupSelect3_WakeupSelect WakeupSelect3_WakeupSelect --> ExceptionFuncUnit_issue WakeupSelect3_WakeupSelect --> FIFO6_write ConnectTrans2_ConnectTrans --> Forwarder2_write @@ -469,8 +469,8 @@ FIFO4_read --> ConnectTrans4_ConnectTrans ExceptionFuncUnit_accept --> ConnectTrans5_ConnectTrans FIFO6_read --> ConnectTrans5_ConnectTrans -LSUDummyInternals_LSUDummyInternals --> WishboneMaster1_request -WishboneMaster1_result --> LSUDummyInternals_LSUDummyInternals2 +LSUDummyInternals_LSUDummyInternals2 --> WishboneMaster1_request +WishboneMaster1_result --> LSUDummyInternals_LSUDummyInternals1 ConnectTrans_ConnectTrans --> Forwarder1_write ConnectTrans1_ConnectTrans --> Forwarder1_write RSFuncBlock_get_result --> ConnectTrans_ConnectTrans @@ -509,7 +509,7 @@

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/components/icache.html b/components/icache.html index 740d44e5b..109da84b9 100644 --- a/components/icache.html +++ b/components/icache.html @@ -131,7 +131,7 @@

Address mapping example

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.frontend.html b/coreblocks.frontend.html index d87bd4c23..e2b4f5495 100644 --- a/coreblocks.frontend.html +++ b/coreblocks.frontend.html @@ -399,7 +399,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.fu.html b/coreblocks.fu.html index 8bde7b9ea..304136841 100644 --- a/coreblocks.fu.html +++ b/coreblocks.fu.html @@ -226,7 +226,7 @@

Submodules
-coreblocks.fu.div_unit.get_input(arg: Record) Tuple[Value, Value]
+coreblocks.fu.div_unit.get_input(arg: Record) tuple[amaranth.hdl.ast.Value, amaranth.hdl.ast.Value]
@@ -817,7 +817,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.fu.unsigned_multiplication.html b/coreblocks.fu.unsigned_multiplication.html index 39f60effd..cfce9701d 100644 --- a/coreblocks.fu.unsigned_multiplication.html +++ b/coreblocks.fu.unsigned_multiplication.html @@ -237,7 +237,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.html b/coreblocks.html index 2ffa12823..03f2f0090 100644 --- a/coreblocks.html +++ b/coreblocks.html @@ -218,7 +218,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.params.html b/coreblocks.params.html index 939a8c008..2511048b5 100644 --- a/coreblocks.params.html +++ b/coreblocks.params.html @@ -2404,7 +2404,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.peripherals.html b/coreblocks.peripherals.html index f5775aaa4..cd054d859 100644 --- a/coreblocks.peripherals.html +++ b/coreblocks.peripherals.html @@ -348,7 +348,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.scheduler.html b/coreblocks.scheduler.html index 583bce67e..f01367dd9 100644 --- a/coreblocks.scheduler.html +++ b/coreblocks.scheduler.html @@ -191,7 +191,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.stages.html b/coreblocks.stages.html index e004ed0b1..71e1466f1 100644 --- a/coreblocks.stages.html +++ b/coreblocks.stages.html @@ -266,7 +266,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.structs_common.html b/coreblocks.structs_common.html index 2b5111dd6..d10588fbc 100644 --- a/coreblocks.structs_common.html +++ b/coreblocks.structs_common.html @@ -454,7 +454,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/coreblocks.utils.html b/coreblocks.utils.html index 36f311398..0fb19f207 100644 --- a/coreblocks.utils.html +++ b/coreblocks.utils.html @@ -91,7 +91,7 @@

Submodules

coreblocks.utils.debug_signals module

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

Automatic debug signal generation.

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

Submodules
-__init__(layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], depth: int) None
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], depth: int) None
Parameters
@@ -350,7 +350,7 @@

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

Safe record assignment.

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

Submodules
-coreblocks.utils.utils.flatten_signals(signals: Union[Signal, Record, View, Iterable[Union[Signal, Record, View, Iterable[SignalBundle], Mapping[str, SignalBundle]]], Mapping[str, Union[Signal, Record, View, Iterable[SignalBundle], Mapping[str, SignalBundle]]]]) Iterable[Signal]
+coreblocks.utils.utils.flatten_signals(signals: amaranth.hdl.ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[amaranth.hdl.ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]] | collections.abc.Mapping[str, amaranth.hdl.ast.Signal | amaranth.hdl._rec.Record | amaranth.lib.data.View | collections.abc.Iterable[SignalBundle] | collections.abc.Mapping[str, SignalBundle]]) Iterable[Signal]

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

@@ -456,7 +456,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/genindex.html b/genindex.html index a9507f702..75549ce0f 100644 --- a/genindex.html +++ b/genindex.html @@ -2774,7 +2774,7 @@

Z

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/index.html b/index.html index 52f612ad7..490cc151b 100644 --- a/index.html +++ b/index.html @@ -214,7 +214,7 @@

Coreblocks

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/miscellany/exceptionsSummary.html b/miscellany/exceptionsSummary.html index 77a0b01fb..a84280cb1 100644 --- a/miscellany/exceptionsSummary.html +++ b/miscellany/exceptionsSummary.html @@ -271,7 +271,7 @@

Summary

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/modules-coreblocks.html b/modules-coreblocks.html index 683a3cd4a..8c2c70082 100644 --- a/modules-coreblocks.html +++ b/modules-coreblocks.html @@ -187,7 +187,7 @@

coreblocks

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/modules-transactron.html b/modules-transactron.html index 49daae0b1..a85bb47ac 100644 --- a/modules-transactron.html +++ b/modules-transactron.html @@ -118,7 +118,7 @@

transactron

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/py-modindex.html b/py-modindex.html index 186531bae..ed7ff6fbc 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -453,7 +453,7 @@

Python Module Index

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/scheduler/Overview.html b/scheduler/Overview.html index 773ff2063..6876de9c4 100644 --- a/scheduler/Overview.html +++ b/scheduler/Overview.html @@ -146,7 +146,7 @@

More detailed description of each block

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/search.html b/search.html index 8a6fa05c3..924dd7735 100644 --- a/search.html +++ b/search.html @@ -101,7 +101,7 @@

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/searchindex.js b/searchindex.js index c2ccd97f9..10778bb83 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["Assumptions", "Current_graph", "Development_environment", "Home", "Problem-checklist", "Transactions", "api", "auto_graph", "components/icache", "coreblocks", "coreblocks.frontend", "coreblocks.fu", "coreblocks.fu.unsigned_multiplication", "coreblocks.params", "coreblocks.peripherals", "coreblocks.scheduler", "coreblocks.stages", "coreblocks.structs_common", "coreblocks.utils", "index", "miscellany/exceptionsSummary", "modules-coreblocks", "modules-transactron", "scheduler/Overview", "shared_structs/Implementation/RS_impl", "shared_structs/RS", "synthesis/Synthesis", "transactron", "transactron.lib"], "filenames": ["Assumptions.md", "Current_graph.md", "Development_environment.md", "Home.md", "Problem-checklist.md", "Transactions.md", "api.md", "auto_graph.rst", "components/icache.md", "coreblocks.rst", "coreblocks.frontend.rst", "coreblocks.fu.rst", "coreblocks.fu.unsigned_multiplication.rst", "coreblocks.params.rst", "coreblocks.peripherals.rst", "coreblocks.scheduler.rst", "coreblocks.stages.rst", "coreblocks.structs_common.rst", "coreblocks.utils.rst", "index.md", "miscellany/exceptionsSummary.md", "modules-coreblocks.rst", "modules-transactron.rst", "scheduler/Overview.md", "shared_structs/Implementation/RS_impl.md", "shared_structs/RS.md", "synthesis/Synthesis.md", "transactron.rst", "transactron.lib.rst"], "titles": ["List of assumptions made during development", "Full transaction-method graph", "Development environment", "Introduction", "Problem checklist", "Documentation for Coreblocks transaction framework", "API", "<no title>", "Instruction Cache", "coreblocks package", "coreblocks.frontend package", "coreblocks.fu package", "coreblocks.fu.unsigned_multiplication package", "coreblocks.params package", "coreblocks.peripherals package", "coreblocks.scheduler package", "coreblocks.stages package", "coreblocks.structs_common package", "coreblocks.utils package", "Coreblocks", "Summary of papers about interrupts", "coreblocks", "transactron", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Synthesis", "transactron package", "transactron.lib package"], "terms": {"rf": [0, 6, 9, 16, 20, 21, 24, 25], "ha": [0, 2, 4, 10, 15, 17, 18, 20, 24, 27], "data": [0, 10, 13, 14, 17, 18, 19, 25, 27, 28], "forward": [0, 27, 28], "from": [0, 2, 3, 4, 5, 10, 13, 14, 15, 16, 17, 18, 20, 24, 25, 26, 27, 28], "tomasulo": 0, "announc": [0, 16, 17], "bu": [0, 13, 14], "read": [0, 4, 5, 13, 14, 17, 18, 19, 28], "x0": [0, 13], "rf0": 0, "return": [0, 5, 8, 11, 13, 14, 18, 20, 27, 28], "0": [0, 10, 11, 13, 15, 17, 24, 25, 27], "write": [0, 5, 10, 17, 18, 20, 25, 28], "i": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 24, 25, 26, 27, 28], "noop": 0, "separ": [0, 23, 28], "r": [0, 2, 6, 9, 13, 15, 16, 20, 21, 23, 24, 25], "each": [0, 10, 11, 13, 14, 17, 19, 20, 24, 25, 26, 27, 28], "fu": [0, 6, 9, 13, 16, 17, 21, 24, 25], "writeback": 0, "stage": [0, 6, 9, 17, 21], "save": [0, 2, 13, 16, 20, 24, 25, 26, 28], "rob": [0, 6, 9, 15, 16, 20, 21, 23, 24, 25], "after": [0, 5, 8, 10, 14, 20, 23, 28], "get": [0, 2, 10, 11, 12, 13, 15, 16, 18, 19, 27, 28], "output": [0, 2, 10, 14, 16, 17, 20, 24, 25, 26, 27, 28], "commit": [0, 2, 17, 20, 26], "updat": [0, 16, 17, 18], "rat": [0, 6, 9, 15, 20, 21], "In": [2, 3, 5, 15, 18, 19, 25, 26, 27], "order": [2, 3, 5, 8, 13, 15, 19, 26, 27, 28], "prepar": [2, 15, 20, 27], "pleas": [2, 4, 5, 13], "follow": [2, 5, 8, 11, 15, 18, 24, 26], "step": [2, 5, 10, 15, 20], "below": 2, "instal": [2, 26], "python": [2, 5, 18, 27], "3": [2, 11, 13, 17, 18, 27], "11": [2, 8, 13], "interpret": [2, 13, 28], "pip": 2, "packag": [2, 6, 19, 21, 22], "manag": [2, 11, 13, 19, 27, 28], "option": [2, 5, 11, 13, 17, 18, 27, 28], "creat": [2, 10, 12, 18, 27, 28], "virtual": 2, "python3": 2, "m": [2, 5, 13, 17, 18, 20, 27, 28], "venv": 2, "project": [2, 3, 20, 26], "directori": [2, 3], "activ": [2, 28], "gener": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 26, 27, 28], "bin": 2, "all": [2, 4, 5, 13, 14, 17, 18, 19, 20, 26, 27, 28], "requir": [2, 8, 17, 19, 20, 27], "librari": [2, 19, 28], "pip3": 2, "dev": 2, "txt": 2, "riscv64": 2, "unknown": [2, 13], "elf": 2, "binutil": 2, "your": [2, 4], "favourit": 2, "On": [2, 28], "debian": 2, "base": [2, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 27, 28], "distro": 2, "call": [2, 4, 5, 10, 15, 17, 24, 27, 28], "arch": [2, 13], "precommit": [2, 16], "hook": [2, 27], "pre": 2, "thi": [2, 4, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 24, 25, 26, 27, 28], "automat": [2, 17, 18], "run": [2, 5, 26, 27, 28], "linter": 2, "befor": [2, 4, 13, 14, 23, 28], "The": [2, 3, 8, 10, 11, 13, 14, 16, 18, 19, 20, 23, 24, 25, 27, 28], "contain": [2, 5, 13, 18, 27, 28], "number": [2, 12, 13, 14, 16, 18, 20, 26, 27, 28], "which": [2, 3, 5, 8, 10, 11, 15, 16, 18, 20, 23, 24, 25, 27, 28], "ar": [2, 3, 4, 5, 8, 13, 14, 16, 17, 18, 20, 23, 24, 25, 26, 27, 28], "ci": [2, 26], "also": [2, 5, 16, 28], "intend": [2, 27], "local": [2, 13], "thei": [2, 5, 14, 17, 20, 23, 27, 28], "unit": [2, 8, 10, 11, 12, 13, 14, 15, 16, 17, 23], "test": [2, 4, 13, 18, 26, 27, 28], "By": [2, 27, 28], "default": [2, 13, 14, 18, 27, 28], "everi": [2, 10, 11, 14, 27, 28], "avail": [2, 3, 13, 14, 15, 17, 26], "specif": [2, 8, 13, 20], "file": [2, 13, 18, 20], "can": [2, 3, 5, 8, 13, 14, 16, 17, 18, 20, 23, 24, 26, 27, 28], "test_transact": 2, "an": [2, 3, 4, 5, 8, 10, 15, 16, 18, 20, 24, 27, 28], "exampl": [2, 5, 13, 17, 18, 19, 24, 26, 27, 28], "One": [2, 18, 20, 28], "even": [2, 20, 27, 28], "class": [2, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "testschedul": 2, "Or": [2, 5], "method": [2, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 27, 28], "test_singl": 2, "argument": [2, 5, 14, 15, 18, 25, 27, 28], "actual": [2, 10, 19], "search": 2, "within": [2, 12], "full": [2, 13, 18, 19, 20, 28], "name": [2, 5, 18, 26, 27, 28], "match": [2, 18, 24, 25], "queri": 2, "thank": 2, "given": [2, 5, 18, 24, 27, 28], "uniqu": 2, "just": [2, 5], "l": [2, 13], "list": [2, 4, 10, 11, 13, 14, 17, 18, 19, 27, 28], "help": [2, 20, 26], "e": [2, 4, 10, 13, 18, 20, 28], "g": [2, 4, 10, 13, 18, 20], "find": [2, 20], "parameter": 2, "t": [2, 4, 5, 10, 13, 18, 20, 24, 26, 27, 28], "trace": [2, 6, 22], "waveform": 2, "vcd": 2, "format": [2, 5, 11, 18, 27, 28], "gtkw": [2, 18], "gtkwave": [2, 18], "tool": [2, 12, 26], "__traces__": 2, "debug": [2, 18], "driven": 2, "v": [2, 3, 8, 13, 20, 24], "verbos": [2, 26], "make": [2, 3, 4, 10, 11, 20], "runner": 2, "more": [2, 16, 19, 20, 26], "It": [2, 5, 10, 11, 12, 13, 15, 16, 20, 23, 24, 27, 28], "print": 2, "being": [2, 14, 18, 28], "check": [2, 4, 18, 20, 24, 25], "code": [2, 3, 4, 5, 18, 20, 27, 28], "type": [2, 10, 11, 13, 18, 27, 28], "should": [2, 3, 5, 8, 10, 13, 14, 15, 16, 18, 20, 23, 24, 25, 27, 28], "subcommand": 2, "filenam": 2, "main": [2, 20, 23], "reformat": 2, "black": 2, "check_format": 2, "verifi": 2, "flake8": 2, "check_typ": 2, "pyright": 2, "same": [2, 5, 12, 13, 18, 27, 28], "when": [2, 4, 5, 10, 14, 18, 20, 24, 25, 27, 28], "confront": 2, "would": [2, 13, 20], "messag": 2, "you": [2, 4, 24, 26], "mai": [2, 26], "diff": 2, "wai": [2, 5, 10, 11, 13, 20, 27], "displai": 2, "chang": [2, 5, 24, 28], "appli": [2, 4, 20, 27], "chose": 2, "locat": [2, 3, 23], "issu": [2, 8, 10, 11, 12, 15, 18, 28], "visual": 2, "core": [2, 6, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 26, 28], "architectur": [2, 20], "graph": [2, 6, 19, 22, 26], "one": [2, 5, 8, 10, 11, 14, 16, 18, 20, 23, 24, 25, 27, 28], "support": [2, 10, 13, 15, 19, 27, 28], "need": [2, 5, 10, 14, 20, 24, 26, 27], "pass": [2, 5, 16, 17, 18, 27, 28], "appropri": [2, 24, 28], "p": [2, 13], "prune": [2, 27], "remov": [2, 20], "disconnect": 2, "node": 2, "f": [2, 13, 15, 26], "select": [2, 10, 11, 14, 15, 16, 17, 18], "elk": [2, 27], "eclips": 2, "layout": [2, 4, 5, 6, 9, 10, 14, 15, 16, 18, 21, 27, 28], "kernel": [2, 20], "dot": [2, 27], "graphviz": 2, "mermaid": [2, 27], "document": [2, 19], "sphinx": 2, "html": [2, 3], "build": [2, 26], "coreblock": [3, 4, 26], "go": [3, 4, 20, 27], "out": [3, 10, 11, 12, 14, 16, 19, 27, 28], "processor": [3, 19, 23], "implement": [3, 11, 13, 14, 19, 20, 23], "risc": [3, 8, 13], "microarchitectur": 3, "focu": 3, "flexibl": [3, 23], "allow": [3, 13, 18, 20, 27, 28], "easili": [3, 28], "experi": 3, "differ": [3, 4, 11, 13, 14, 16, 20, 27, 28], "compon": [3, 10, 13, 27], "doc": 3, "collect": [3, 13, 16, 17, 26, 27, 28], "descript": [3, 19], "whole": [3, 10, 20, 28], "overview": [3, 19, 20], "high": 3, "level": [3, 13, 20], "found": 3, "version": 3, "page": [3, 20], "api": [3, 19], "kuznia": 3, "rdzeni": 3, "github": 3, "io": 3, "If": [4, 5, 8, 10, 13, 14, 17, 18, 20, 24, 27, 28], "someth": [4, 5], "doesn": [4, 5, 18, 20], "work": [4, 5, 10, 15, 20, 27], "re": [4, 5, 14, 20, 27], "puzzl": 4, "why": 4, "through": 4, "see": [4, 5, 12], "ani": [4, 8, 10, 13, 14, 15, 18, 20], "point": [4, 13, 20], "case": [4, 8, 14, 15, 16, 18, 20, 27, 28], "sure": 4, "us": [4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28], "yield": 4, "function": [4, 5, 10, 11, 13, 15, 16, 18, 20, 26, 27, 28], "testbenchio": 4, "notabl": 4, "except": [4, 6, 9, 13, 16, 18, 19, 21, 27], "settl": 4, "instead": [4, 5, 20, 27], "signal": [4, 10, 11, 14, 18, 19, 27, 28], "unexpect": 4, "valu": [4, 10, 11, 13, 14, 15, 16, 17, 18, 24, 25, 27, 28], "try": [4, 5, 20], "ad": [4, 13, 18, 26, 27, 28], "right": [4, 27], "don": [4, 20, 24, 27], "do": [4, 10, 13, 20, 27], "eq": [4, 5, 27], "two": [4, 5, 10, 16, 17, 18, 20, 27, 28], "record": [4, 5, 10, 11, 14, 18, 27, 28], "assign": [4, 5, 17, 18, 27], "util": [4, 5, 6, 9, 15, 16, 21, 27, 28], "amaranth": [4, 5, 10, 13, 14, 18, 26, 27, 28], "statement": [4, 5, 18, 27], "some": [4, 5, 17, 20, 26, 27, 28], "domain": [4, 27], "have": [4, 8, 13, 14, 16, 17, 18, 20, 26, 27], "combin": [4, 13, 16, 27, 28], "loop": 4, "especi": 4, "simul": [4, 28], "hang": 4, "extend": [4, 13, 27], "spot": 4, "yourself": [4, 5, 26], "easi": [4, 5, 20], "fix": 4, "mistak": 4, "modular": 5, "design": [5, 12, 20, 27], "inspir": 5, "bluespec": 5, "program": [5, 13, 20], "languag": [5, 13], "wiki": 5, "compil": [5, 26], "idea": [5, 20], "interfac": [5, 10, 12, 14, 15, 16, 17, 19, 27, 28], "hardwar": [5, 13, 19, 23], "modul": [5, 6, 21, 22], "A": [5, 10, 13, 27, 28], "state": [5, 14, 19, 20, 27, 28], "oper": [5, 8, 10, 11, 13, 20, 27, 28], "perform": [5, 10, 11, 12, 13, 15, 17, 18, 26, 27, 28], "singl": [5, 11, 12, 13, 15, 16, 18, 27, 28], "clock": [5, 12, 23, 26, 27, 28], "cycl": [5, 8, 11, 12, 14, 17, 20, 23, 27, 28], "atom": [5, 13, 24], "either": [5, 10, 18, 27], "execut": [5, 11, 13, 14, 15, 16, 19, 23, 25, 27, 28], "its": [5, 10, 15, 16, 17, 18, 20, 27, 28], "entrieti": 5, "onli": [5, 11, 17, 18, 20, 27, 28], "readi": [5, 10, 14, 15, 16, 17, 18, 19, 24, 27, 28], "doe": 5, "conflict": [5, 27], "anoth": [5, 8, 10, 27, 28], "schedul": [5, 6, 9, 19, 20, 21, 27, 28], "defin": [5, 10, 17, 18, 27, 28], "depend": [5, 6, 9, 17, 18, 21, 27], "other": [5, 17, 19, 27, 28], "via": [5, 10, 27], "directli": [5, 13, 27], "link": 5, "indirectli": [5, 27], "multipl": [5, 8, 11, 12, 13, 14, 15, 16, 27], "them": [5, 13, 18, 20, 27, 28], "access": [5, 8, 13, 17, 20], "coordin": 5, "system": [5, 13], "avoid": 5, "commun": [5, 20, 24], "caller": [5, 27, 28], "both": [5, 18, 24, 27, 28], "direct": [5, 18, 27, 28], "back": 5, "structur": [5, 18, 19, 20, 24], "simplest": 5, "part": [5, 17, 20, 23, 27, 28], "elaborat": [5, 9, 10, 11, 12, 14, 15, 16, 17, 18, 27, 28], "block": [5, 8, 12, 13, 14, 15, 16, 19, 20, 27, 28], "myth": 5, "def": [5, 27], "elabor": 5, "self": 5, "platform": [5, 26, 27], "tmodul": [5, 17, 27, 28], "bodi": [5, 17, 27, 28], "condit": [5, 27, 28], "includ": [5, 18, 27, 28], "like": [5, 8, 10, 14, 20, 27, 28], "d": [5, 13, 27], "comb": [5, 27], "sig1": 5, "expr1": 5, "sync": [5, 27], "sig2": 5, "expr2": 5, "result": [5, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 28], "arg_expr": 5, "analog": 5, "": [5, 13, 14, 18, 20, 27, 28], "multiplex": 5, "rememb": [5, 20, 27], "insid": [5, 10, 27, 28], "alwai": [5, 8, 17, 27, 28], "onc": [5, 27, 28], "becaus": [5, 20, 27, 28], "resourc": [5, 11, 20, 26], "request": [5, 8, 10, 11, 12, 13, 14, 27, 28], "paramet": [5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 27, 28], "bit": [5, 8, 10, 11, 12, 13, 14, 17, 18, 20, 24, 25, 28], "express": 5, "expr": 5, "As": [5, 8, 20], "typic": [5, 27, 28], "declar": 5, "constructor": [5, 10, 27], "myotherth": 5, "__init__": [5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "o": [5, 12, 20, 27, 28], "my_method": 5, "input_layout": 5, "output_layout": 5, "def_method": [5, 27], "_": [5, 27], "arg": [5, 11, 18, 27, 28], "other_method": 5, "ret_expr": 5, "techniqu": 5, "present": [5, 18, 20, 28], "abov": 5, "conveni": [5, 27], "syntax": [5, 27], "particular": 5, "unnam": 5, "usual": [5, 20], "For": [5, 8, 13, 18, 24, 25, 26], "could": 5, "around": 5, "entir": [5, 8], "sometim": 5, "might": [5, 27], "altern": [5, 27, 28], "decid": [5, 20, 23], "best": 5, "import": [5, 20], "question": 5, "ask": 5, "independ": [5, 8, 28], "thing": [5, 18], "lock": [5, 20, 28], "so": [5, 14, 16, 20, 27, 28], "mayb": [5, 20], "extern": [5, 19, 27], "doubt": 5, "prefer": 5, "noth": 5, "els": [5, 17, 20, 27], "Such": 5, "adaptertran": [5, 28], "facilit": 5, "provid": [5, 10, 11, 13, 15, 17, 28], "most": [5, 8, 20, 27], "ones": 5, "connecttran": [5, 28], "connect": [5, 10, 14, 16, 17, 20, 27, 28], "togeth": [5, 27], "fifo": [5, 6, 9, 16, 20, 21, 28], "queue": [5, 18, 20, 28], "adapt": [5, 6, 22, 27], "plain": [5, 27, 28], "These": [5, 20, 26], "veri": [5, 20], "testbench": [5, 28], "parent": 5, "convers": 5, "true": [5, 13, 14, 18, 27, 28], "possibl": [5, 18, 20, 28], "limit": [5, 14, 28], "impli": 5, "consid": [5, 20, 28], "subpackag": [6, 21, 22], "frontend": [6, 9, 21, 23], "submodul": [6, 21, 22], "decod": [6, 9, 11, 15, 21], "fetch": [6, 8, 9, 13, 16, 17, 20, 21], "icach": [6, 9, 21], "rvc": [6, 9, 21], "content": [6, 21, 22], "alu": [6, 9, 13, 21], "div_unit": [6, 9, 21], "fu_decod": [6, 9, 21], "jumpbranch": [6, 9, 13, 21], "mul_unit": [6, 9, 21], "shift_unit": [6, 9, 13, 21], "zbc": [6, 9, 13, 21], "zb": [6, 9, 13, 21], "param": [6, 9, 10, 11, 15, 16, 17, 21], "configur": [6, 9, 15, 21], "fu_param": [6, 9, 21], "genparam": [6, 9, 10, 11, 12, 15, 16, 17, 21], "icache_param": [6, 9, 21], "instr": [6, 9, 10, 21], "isa": [6, 9, 10, 17, 21], "kei": [6, 9, 17, 18, 21], "optyp": [6, 9, 10, 11, 15, 16, 17, 21], "peripher": [6, 9, 21], "wishbon": [6, 9, 21], "wakeup_select": [6, 9, 21], "backend": [6, 9, 21], "func_blocks_unifi": [6, 9, 21], "retir": [6, 9, 21], "rs_func_block": [6, 9, 21], "structs_common": [6, 9, 21], "csr": [6, 9, 10, 13, 21], "csr_gener": [6, 9, 21], "debug_sign": [6, 9, 16, 21, 27, 28], "protocol": [6, 9, 10, 15, 16, 21, 27], "lib": [6, 22, 27], "button": [6, 22, 27], "connector": [6, 22, 27], "reqr": [6, 22, 27], "simultan": [6, 17, 22, 27], "storag": [6, 22, 27], "transform": [6, 22, 27], "expos": [8, 18, 28], "three": [8, 10, 20, 27], "issue_req": [8, 10], "lookup": [8, 10], "accept_resp": 8, "flush": [8, 10, 20], "under": [8, 27], "4": [8, 11, 13, 28], "byte": [8, 13], "align": [8, 18], "c": [8, 13, 20], "extens": [8, 13], "introduc": [8, 20], "16": [8, 13, 20, 27], "relax": 8, "handl": [8, 11, 19, 27], "fulli": [8, 28], "pipelin": [8, 14, 15, 17, 20, 24, 28], "process": [8, 19, 28], "invok": [8, 10, 15, 16, 20, 24], "accept_r": [8, 10], "space": [8, 20], "simpli": 8, "latenc": [8, 20, 28], "least": 8, "miss": [8, 20], "occur": [8, 10], "arbitrarili": 8, "long": [8, 25, 28], "ensur": 8, "refetch": 8, "howev": 8, "guarante": [8, 20], "alreadi": [8, 13, 16, 20], "been": 8, "still": [8, 20, 25, 27], "wait": [8, 14, 16, 20, 24, 25, 27], "accept": [8, 10, 11, 12, 17, 18, 28], "inform": [8, 15, 26, 27], "regard": 8, "error": [8, 10, 14, 18, 27], "mean": [8, 15, 25, 27, 28], "dure": [8, 19, 23], "line": [8, 10, 13, 19], "refil": [8, 10], "subsequ": 8, "trigger": [8, 17], "32": [8, 11, 12, 13, 20], "128": [8, 13], "set": [8, 10, 11, 13, 15, 16, 17, 19, 24, 27, 28], "size": [8, 13, 14, 18, 20, 28], "equal": 8, "31": [8, 13], "15": [8, 13], "14": [8, 13], "13": [8, 13], "12": [8, 13], "10": [8, 13, 20], "09": 8, "08": 8, "07": 8, "06": 8, "05": 8, "04": 8, "03": 8, "02": 8, "01": 8, "00": 8, "tag": [8, 14, 16, 20, 24, 25], "index": [8, 18, 27], "offset": 8, "unsigned_multipl": [9, 11], "common": [9, 11, 18, 28], "fast_recurs": [9, 11], "sequenc": [9, 11, 15, 18, 27, 28], "shift": [9, 11, 13], "gen_param": [9, 10, 11, 13, 15, 16, 17], "wb_instr_bu": 9, "wishbonebu": [9, 14], "wb_data_bu": 9, "simpl": [10, 15, 16, 18, 27, 28], "transact": [10, 13, 14, 17, 18, 19, 24, 27, 28], "instanti": 10, "instrdecod": 10, "combinatori": 10, "manner": [10, 14], "get_raw": 10, "push_decod": 10, "none": [10, 11, 13, 16, 17, 18, 27, 28], "instanc": [10, 13, 15, 16, 27], "raw": 10, "instruct": [10, 11, 13, 15, 16, 17, 19, 20, 23, 24], "previou": [10, 14, 20], "fetchlayout": [10, 13], "send": [10, 13, 15, 16], "next": [10, 15, 16, 17, 20, 27], "describ": [10, 15, 16, 20, 27, 28], "decodelayout": [10, 13, 15], "elementari": 10, "opcod": [10, 13, 24, 25], "funct3": [10, 11, 13], "etc": 10, "attribut": [10, 11, 12, 13, 14, 16, 17, 18, 27, 28], "gen": [10, 11, 12, 16], "ilen": [10, 13], "identifi": [10, 13, 24], "funct3_v": 10, "1": [10, 11, 12, 13, 15, 17, 18, 20, 24, 25, 27, 28], "funct7": [10, 11, 13], "seven": 10, "funct7_v": 10, "funct12": [10, 13], "twelv": 10, "funct12_v": 10, "rd": [10, 13], "reg_cnt_log": 10, "address": [10, 13, 14, 17, 19, 20], "regist": [10, 13, 15, 17, 20, 23], "rd_v": 10, "rs1": [10, 13], "hold": [10, 14, 17], "first": [10, 11, 15, 20, 24, 25, 28], "input": [10, 11, 16, 17, 18, 20, 24, 25, 27, 28], "rs1_v": 10, "take": [10, 13, 14, 16, 23, 24, 26, 27, 28], "form": [10, 13, 17, 20, 28], "rs2": [10, 13], "second": [10, 11, 15, 24, 25, 28], "rs2_v": 10, "imm": [10, 13], "xlen": [10, 11, 13, 17], "immedi": [10, 14], "were": [10, 20], "succ": 10, "fencetarget": [10, 13], "successor": 10, "fenc": [10, 13], "pred": 10, "predecessor": 10, "fm": 10, "fencefm": [10, 13], "mode": [10, 13, 20], "csr_alen": [10, 13], "control": [10, 13, 14, 17, 27, 28], "sourc": [10, 15, 24], "kind": [10, 11, 13, 15], "illeg": 10, "wa": [10, 13, 17, 20, 27, 28], "success": [10, 14], "fit": 10, "pc": [10, 17, 19], "increment": [10, 17], "ilen_byt": 10, "icacheinterfac": 10, "cont": 10, "cach": [10, 13, 19], "unalignedfetch": 10, "unalign": 10, "associ": [10, 13], "replac": [10, 12, 13, 24], "polici": 10, "pseudo": 10, "random": 10, "scheme": 10, "time": [10, 14, 17, 20, 26, 27, 28], "trash": 10, "we": [10, 16, 20, 23, 24, 25, 26], "keep": [10, 27], "global": [10, 17, 20], "counter": [10, 13, 17], "abstract": [10, 12, 13], "awai": 10, "refiller_start": 10, "whenev": 10, "refiller_accept": 10, "word": [10, 13], "written": [10, 17, 25, 28], "last": [10, 15, 27, 28], "transfer": [10, 14, 27, 28], "over": [10, 17, 18, 27], "shouldn": 10, "until": [10, 20, 28], "start": [10, 11, 14, 20, 27], "icachelayout": [10, 13], "icacheparamet": [10, 13], "cacherefillerinterfac": 10, "start_refil": 10, "accept_refil": 10, "deserialize_addr": 10, "raw_addr": 10, "dict": [10, 14, 18, 27, 28], "str": [10, 13, 18, 27, 28], "hdl": [10, 13, 27, 28], "ast": [10, 13, 27, 28], "serialize_addr": 10, "addr": [10, 28], "icachebypass": 10, "wb_master": 10, "wishbonemast": [10, 13, 14], "haselabor": [10, 18, 27], "simplewbcacherefil": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": 10, "int": [10, 11, 12, 13, 14, 16, 17, 18, 27, 28], "enum": [10, 11, 13, 18, 27, 28], "valuecast": [10, 13, 18, 27, 28], "tupl": [10, 11, 15, 16, 17, 18, 27, 28], "is_instr_compress": 10, "alucompon": [11, 13], "functionalcomponentparam": [11, 13, 16], "zba_en": 11, "fals": [11, 13, 18, 27, 28], "zbb_enabl": 11, "get_modul": [11, 13, 16, 17], "funcunit": [11, 13, 16, 18], "get_optyp": [11, 13, 16, 17], "alufuncunit": 11, "alu_fn": 11, "alufn": 11, "object": [11, 13, 14, 27], "divcompon": 11, "ipc": 11, "div_fn": 11, "divfn": 11, "decodermanag": 11, "fn": 11, "intflag": [11, 13, 27], "div": [11, 13], "divu": [11, 13], "2": [11, 12, 13, 14, 17, 18, 27, 28], "rem": [11, 13], "remu": [11, 13], "8": [11, 12, 13, 14, 27], "__new__": [11, 13, 17, 27], "get_instruct": 11, "divunit": 11, "get_input": 11, "exceptionfuncunit": 11, "unit_fn": 11, "exceptionunitfn": 11, "exceptionunitcompon": [11, 13], "respons": [11, 14, 15, 27, 28], "decode_fn": 11, "exec_fn": 11, "op": [11, 13], "check_optyp": 11, "bool": [11, 13, 17, 18, 27, 28], "valid": [11, 13, 14, 15, 24], "get_decod": 11, "get_funct": 11, "get_op_typ": 11, "jumpbranchfuncunit": 11, "jb_fn": 11, "jumpbranchfn": 11, "jumpcompon": [11, 13], "mulcompon": 11, "mul_unit_typ": 11, "multyp": 11, "dsp_width": [11, 12], "mul_fn": 11, "mulfn": 11, "hot": [11, 18, 20], "wire": 11, "5": [11, 13, 23], "mul": [11, 13], "mulh": [11, 13], "mulhsu": [11, 13], "mulhu": [11, 13], "intenum": [11, 13, 17], "recursive_mul": 11, "fastest": 11, "multipli": [11, 12], "costli": [11, 20], "term": 11, "sequence_mul": 11, "dsp": [11, 12], "balanc": 11, "between": [11, 20, 27, 28], "cost": [11, 19], "shift_mul": 11, "cheapest": 11, "russian": [11, 12], "peasant": [11, 12], "algorithm": [11, 12], "mulunit": 11, "unsign": [11, 12], "integ": [11, 13, 18], "standard": [11, 17, 18, 20], "funcunitlayout": [11, 13, 15, 16], "comput": [11, 12, 17, 20, 28], "mul_typ": 11, "shiftfuncunit": 11, "shift_unit_fn": 11, "shiftunitfn": 11, "shiftunitcompon": [11, 13], "clmultipli": 11, "carri": [11, 13, 26], "less": [11, 13], "product": [11, 28], "i1": [11, 12], "n": [11, 12, 13], "factor": 11, "i2": [11, 12], "reset": [11, 17, 19, 27], "new": [11, 13, 14, 18, 19, 20, 27, 28], "busi": 11, "while": [11, 27], "progress": 11, "bit_width": 11, "recursion_depth": 11, "width": [11, 12, 13, 14, 17, 18, 28], "depth": [11, 14, 18, 28], "recurs": [11, 12, 18], "parallel": 11, "assum": [11, 16, 18, 20, 28], "power": [11, 18], "iterative_modul": 11, "recursive_modul": 11, "zbccompon": 11, "zbc_fn": 11, "zbcfn": 11, "clmul": [11, 13], "clmulh": [11, 13], "clmulr": [11, 13], "classmethod": [11, 27], "zbcunit": 11, "zbsfunction": 11, "in1": 11, "in2": 11, "zbscompon": 11, "bclr": [11, 13], "bext": [11, 13], "binv": [11, 13], "bset": [11, 13], "zbsunit": 11, "zbs_fn": 11, "dspmulunit": 12, "synthesi": [12, 19], "mulbaseunsign": 12, "unsignedmulunitlayout": [12, 13], "recursiveunsignedmul": 12, "fast": 12, "sequentialunsignedmul": 12, "sequenti": [12, 14], "classic": [12, 20], "shiftunsignedmul": 12, "cheap": 12, "multi": 12, "coreconfigur": 13, "func_units_config": 13, "blockcomponentparam": [13, 16, 17], "reserv": [13, 17, 19, 20], "station": [13, 19], "rsblockcompon": [13, 16], "rs_entri": [13, 16, 17], "lsublockcompon": 13, "compress": 13, "enabl": [13, 28], "embed": 13, "reduc": [13, 20, 27], "phys_regs_bit": 13, "physic": [13, 15, 20], "rob_entries_bit": 13, "reorder": [13, 20, 28], "buffer": [13, 14, 20, 24, 28], "start_pc": 13, "initi": [13, 19], "icache_en": 13, "disabl": [13, 28], "bypass": 13, "icache_wai": 13, "icache_sets_bit": 13, "log": [13, 20], "icache_block_size_bit": 13, "allow_partial_extens": 13, "partial": 13, "_implied_extens": 13, "extenst": 13, "flag": 13, "specifi": [13, 14, 17, 25, 28], "intern": [13, 18, 19, 27], "abc": [13, 27, 28], "func_unit": [13, 16], "lsu": 13, "dummylsu": 13, "6": [13, 20], "7": 13, "kwarg": [13, 14, 18, 27], "dependencykei": 13, "u": [13, 20], "dependencymanag": [13, 17], "concret": 13, "frozen": 13, "lock_on_get": 13, "get_depend": 13, "empty_valid": 13, "without": [13, 15, 16, 20], "action": [13, 17, 27], "caus": [13, 20, 28], "rais": [13, 18, 20, 27], "keyerror": [13, 27], "add_depend": 13, "give": 13, "behavior": [13, 27], "track": 13, "across": 13, "add": [13, 27], "multpl": 13, "funcblock": [13, 15, 16, 17, 18], "get_rs_entry_count": [13, 16, 17], "optypes_support": 13, "iter": [13, 16, 17, 18, 27, 28], "dependentcach": 13, "cfg": 13, "addr_width": [13, 14], "length": [13, 18, 20, 27], "word_width": 13, "machin": [13, 17], "num_of_wai": 13, "num_of_sets_bit": 13, "block_size_bit": 13, "btypeinstr": 13, "riscvinstr": 13, "pack": 13, "ebreakinstr": 13, "itypeinstr": 13, "illegalinstr": 13, "jtypeinstr": 13, "rtypeinstr": 13, "stypeinstr": 13, "utypeinstr": 13, "exceptioncaus": 13, "breakpoint": 13, "environment_call_from_m": 13, "environment_call_from_": 13, "9": 13, "environment_call_from_u": 13, "illegal_instruct": 13, "instruction_access_fault": 13, "instruction_address_misalign": 13, "instruction_page_fault": 13, "load_access_fault": 13, "load_address_misalign": 13, "load_page_fault": 13, "store_access_fault": 13, "store_address_misalign": 13, "store_page_fault": 13, "b": 13, "512": 13, "manipul": 13, "256": 13, "doubl": [13, 17, 20], "precis": [13, 20], "float": 13, "64": [13, 14], "98366": 13, "basic": [13, 19], "j": 13, "1024": 13, "dynam": [13, 18, 20], "decim": 13, "divis": 13, "16384": 13, "user": [13, 17, 20], "interrupt": [13, 19], "4096": 13, "simd": 13, "q": 13, "quad": 13, "2048": 13, "memori": [13, 14, 20, 28], "8192": 13, "vector": [13, 15, 19, 20], "xintmachinemod": 13, "8589934592": 13, "categor": 13, "privilieg": 13, "xintsupervisor": 13, "17179869184": 13, "supervisor": [13, 17], "zam": 13, "2097152": 13, "misalign": 13, "zba": 13, "268435456": 13, "zbb": 13, "536870912": 13, "1073741824": 13, "2147483648": 13, "zdinx": 13, "33554432": 13, "zfh": 13, "4194304": 13, "half": 13, "zfhmin": 13, "8388608": 13, "minim": 13, "zfinx": 13, "16777216": 13, "zhinx": 13, "67108864": 13, "zicntr": 13, "524288": 13, "timer": [13, 17], "zicsr": 13, "32768": 13, "statu": [13, 17], "zifencei": 13, "65536": 13, "zihintntl": 13, "262144": 13, "non": [13, 24, 27, 28], "tempor": 13, "hint": [13, 27], "zihintpaus": 13, "131072": 13, "paus": 13, "energi": 13, "zihpm": 13, "1048576": 13, "zmmul": 13, "134217728": 13, "ztso": 13, "4294967296": 13, "total": 13, "store": [13, 16, 18, 20, 24, 25, 28], "tso": 13, "dev_i": 13, "dev_o": 13, "mem_r": 13, "mem_w": 13, "clz": 13, "1536": 13, "cpop": 13, "1538": 13, "ctz": 13, "1537": 13, "ebreak": 13, "ecal": 13, "mret": 13, "770": 13, "orcb": 13, "647": 13, "rev8_32": 13, "1688": 13, "rev8_64": 13, "1720": 13, "sextb": 13, "1540": 13, "sexth": 13, "1541": 13, "sret": 13, "258": 13, "wfi": 13, "261": 13, "zexth": 13, "AND": 13, "andn": 13, "beq": 13, "bge": 13, "bgeu": 13, "blt": 13, "bltu": 13, "bne": 13, "csrrc": 13, "csrrci": 13, "csrr": 13, "csrrsi": 13, "csrrw": 13, "csrrwi": 13, "divuw": 13, "divw": 13, "fencei": 13, "h": [13, 20], "hu": 13, "jalr": 13, "max": [13, 26], "maxu": 13, "min": 13, "minu": 13, "mulw": 13, "OR": 13, "orn": 13, "priv": 13, "remuw": 13, "remw": 13, "rev8": 13, "rol": 13, "ror": 13, "sh1add": 13, "sh2add": 13, "sh3add": 13, "sll": 13, "slt": 13, "sltu": 13, "sr": 13, "sub": 13, "w": [13, 20], "xnor": 13, "xor": 13, "36": 13, "52": 13, "20": 13, "48": 13, "muldiv": 13, "sa": 13, "sfencevma": 13, "sl": 13, "gather": 13, "numer": 13, "val": 13, "correspond": [13, 24, 27], "val_log": 13, "field": [13, 16, 17, 18, 24, 25, 27, 28], "relev": [13, 27], "nativ": 13, "reg_cnt": 13, "maximum": 13, "bitwis": 13, "isa_str": 13, "string": 13, "refer": 13, "gcc": 13, "detail": [13, 19], "instrtyp": 13, "auipc": 13, "branch": [13, 20, 26, 28], "24": 13, "jal": 13, "27": 13, "25": 13, "load": [13, 20], "load_fp": 13, "lui": 13, "misc_mem": 13, "op32": 13, "op_imm": 13, "op_imm_32": 13, "store_fp": 13, "28": [13, 20], "a0": 13, "a1": 13, "a2": 13, "a3": 13, "a4": 13, "a5": 13, "a6": 13, "a7": 13, "17": 13, "fp": [13, 27], "gp": [13, 17], "ra": 13, "s0": 13, "s1": 13, "s10": 13, "26": 13, "s11": 13, "s2": 13, "18": 13, "s3": 13, "19": 13, "s4": 13, "s5": 13, "21": 13, "s6": 13, "22": 13, "s7": 13, "23": 13, "s8": 13, "s9": 13, "sp": 13, "t0": 13, "t1": 13, "t2": 13, "t3": 13, "t4": 13, "29": 13, "t5": 13, "30": [13, 20], "t6": 13, "tp": 13, "x1": 13, "x10": 13, "x11": 13, "x12": 13, "x13": 13, "x14": 13, "x15": 13, "x16": 13, "x17": 13, "x18": 13, "x19": 13, "x2": 13, "x20": 13, "x21": 13, "x22": 13, "x23": 13, "x24": 13, "x25": 13, "x26": 13, "x27": 13, "x28": 13, "x29": 13, "x3": 13, "x30": 13, "x31": 13, "x4": 13, "x5": 13, "x6": 13, "x7": 13, "x8": 13, "x9": 13, "zero": [13, 24, 28], "branchresolvedkei": 13, "unifierkei": [13, 16], "unifi": [13, 18], "alia": 13, "collector": [13, 28], "exceptionreportkei": 13, "simplekei": 13, "genericcsrregisterskei": 13, "genericcsrregist": [13, 17], "instructionprecommitkei": 13, "methodtryproduct": [13, 28], "wishbonedatakei": 13, "csrlayout": 13, "commonlayout": 13, "lsulayout": 13, "ratlayout": [13, 15], "rflayout": [13, 15], "roblayout": [13, 15], "rsinterfacelayout": 13, "rs_entries_bit": 13, "rslayout": [13, 15], "schedulerlayout": 13, "confus": 13, "address_gener": 13, "arithmet": 13, "bit_manipul": 13, "compar": [13, 19], "csr_imm": [13, 17], "csr_reg": [13, 17], "div_rem": 13, "33": 13, "logic": [13, 20, 25, 26], "single_bit_manipul": 13, "unary_bit_manipulation_1": 13, "unary_bit_manipulation_2": 13, "unary_bit_manipulation_3": 13, "unary_bit_manipulation_4": 13, "unary_bit_manipulation_5": 13, "optypes_required_by_extens": 13, "resolve_impl": 13, "ignore_unsupport": 13, "pipelinedwishbonemast": 14, "master": [14, 26], "wb_param": 14, "wishboneparamet": 14, "max_req": 14, "pend": 14, "wb": 14, "wishbonelayout": 14, "sent": [14, 16], "requestlayout": 14, "complet": [14, 16, 20], "resultlayout": 14, "requests_finish": 14, "generate_method_layout": 14, "wishbonearbit": 14, "arbit": 14, "slave": 14, "assert": 14, "cyc": 14, "grant": [14, 27, 28], "round": [14, 18, 27], "robin": [14, 27], "slave_wb": 14, "intefac": 14, "boolean": [14, 28], "whether": [14, 18], "side": [14, 17, 20, 24, 25], "otherwis": 14, "wb_layout": 14, "wbmaster": 14, "becom": 14, "generate_layout": 14, "wishbonememoryslav": 14, "underneath": 14, "keyword": [14, 27], "underli": 14, "infer": [14, 27], "data_width": 14, "wishbonemux": 14, "muxer": 14, "master_wb": 14, "ssel_tga": 14, "corespond": 14, "tga": 14, "stb": 14, "note": [14, 17, 18, 28], "stare": 14, "finish": [14, 16], "stall": [14, 17, 20], "clear": [14, 18, 24, 25, 28], "delai": 14, "previous": 14, "deassert": 14, "dat_r": 14, "dat_w": 14, "adr": 14, "singal": 14, "granular": [14, 28], "smallest": 14, "port": [14, 28], "capabl": 14, "insert": [15, 16, 17, 18, 19, 20, 23, 24], "alloc": [15, 23, 24, 25], "renam": [15, 23], "entri": [15, 16, 18, 20, 23, 24, 25, 28], "stuck": 15, "get_instr": 15, "get_free_reg": 15, "rat_renam": 15, "rob_put": 15, "rf_read1": 15, "rf_read2": 15, "reservation_st": 15, "decoded_instr": 15, "id": [15, 24, 25], "current": [15, 17, 20, 27], "free": [15, 19, 20, 25], "rat_rename_in": 15, "rat_rename_out": 15, "data_layout": [15, 28], "rf_read_out": 15, "rf_read_in": 15, "wakeupselect": 15, "wakeup": [15, 25], "firstli": 15, "get_readi": 15, "binari": 15, "where": [15, 20, 24, 25, 27, 28], "th": [15, 28], "posit": [15, 24, 25], "row": [15, 19], "taken": 15, "take_row": 15, "get_ready_list_out": 15, "take_out": 15, "push": 15, "down": 15, "resultannounc": 16, "mark": [16, 19, 20, 27], "get_result": [16, 17, 18, 28], "serial": [16, 28], "than": [16, 20], "manytooneconnecttran": [16, 28], "rob_mark_don": 16, "rs_write_v": 16, "rf_write_v": 16, "end": [16, 20], "rob_id": 16, "reg_id": 16, "reg_val": 16, "funcblocksunifi": 16, "extra_methods_requir": 16, "get_extra_method": 16, "item": [16, 18], "rob_peek": 16, "rob_retir": 16, "r_rat_commit": 16, "free_rf_put": 16, "rf_free": 16, "exception_cause_get": 16, "rsfuncblock": 16, "With": 16, "csrblockcompon": 17, "csrlistkei": 17, "listkei": 17, "csrregist": 17, "behaviour": 17, "csrunit": 17, "csr_val": 17, "effect": [17, 20, 24, 25, 27], "_fu_read": 17, "_fu_writ": 17, "ignor": 17, "prioriti": [17, 18, 27, 28], "csr_number": 17, "ro_bit": 17, "mask": [17, 28], "those": [17, 20], "upper": 17, "0b11": 17, "discard": 17, "regitst": 17, "unitl": 17, "place": [17, 20, 24, 27, 28], "put": [17, 24, 28], "receiv": [17, 27, 28], "fetch_continu": 17, "resum": 17, "privilegelevel": 17, "csr_access_privileg": 17, "csr_addr": 17, "csraddress": 17, "3072": 17, "cycleh": 17, "3200": 17, "instret": 17, "3074": 17, "instreth": 17, "3202": 17, "mcaus": 17, "834": 17, "3073": 17, "timeh": 17, "3201": 17, "doublecountercsr": 17, "group": 17, "At": 17, "overflow": [17, 28], "low_addr": 17, "high_addr": 17, "repres": [17, 27], "lower": [17, 18], "higher": 17, "synthetis": 17, "exceptioncauseregist": 17, "rob_get_indic": 17, "should_update_priorii": 17, "current_caus": 17, "new_caus": 17, "frat": 17, "rrat": 17, "registerfil": 17, "reorderbuff": 17, "ready_for": 17, "auto_debug_sign": 18, "union": [18, 27, 28], "view": [18, 27, 28], "signalbundl": [18, 27, 28], "map": [18, 19, 20, 27, 28], "arrai": 18, "basicfifo": 18, "empti": [18, 27, 28], "reiniti": 18, "init": 18, "shape": [18, 27, 28], "shapecast": [18, 27, 28], "rang": [18, 27, 28], "layoutlik": [18, 27, 28], "paramt": 18, "semaphor": 18, "max_count": 18, "target": [18, 28], "transactron": [18, 19], "assigntyp": 18, "rh": 18, "moduleconnector": 18, "anonym": 18, "onehotswitch": 18, "modulelik": [18, 27], "switch": [18, 20, 24, 27, 28], "style": 18, "similar": [18, 20, 28], "benefit": 18, "represent": 18, "sig": 18, "onehotcas": 18, "0b01": 18, "0b10": 18, "onehotswitchdynam": 18, "liter": [18, 27], "variabl": [18, 27], "signifi": 18, "align_to_power_of_two": 18, "num": 18, "up": [18, 19, 25], "lh": 18, "assignarg": 18, "assignfield": 18, "lhs_strict": 18, "rhs_strict": 18, "safe": [18, 20], "structlayout": 18, "mismatch": 18, "accord": 18, "explicitli": 18, "castabl": 18, "determin": [18, 20], "subrecord": 18, "valueerror": 18, "bits_from_int": 18, "count_leading_zero": 18, "count_trailing_zero": 18, "flatten_sign": 18, "flatten": 18, "popcount": 18, "silence_mustus": 18, "introduct": 19, "assumpt": [19, 20], "made": [19, 20], "develop": 19, "environ": 19, "script": [19, 26], "run_test": 19, "py": [19, 26], "lint": 19, "sh": 19, "core_graph": 19, "build_doc": 19, "framework": [19, 24], "usag": [19, 28], "advanc": 19, "concept": 19, "nest": [19, 28], "schema": 19, "proposit": [19, 20], "slot": 19, "tabl": 19, "substitut": 19, "clean": 19, "problem": [19, 20], "checklist": 19, "benchmark": 19, "summari": 19, "paper": 19, "about": 19, "old": 19, "softwar": 19, "tlb": 19, "analysi": 19, "strategi": 19, "igpu": 19, "specul": 19, "gpu": 19, "effici": 19, "journal": 20, "articl": 20, "look": 20, "choic": 20, "primari": 20, "relat": [20, 27], "procedur": 20, "chosen": 20, "basi": 20, "improv": 20, "pretti": 20, "1993": 20, "2001": 20, "much": 20, "research": 20, "cpu": 20, "solv": 20, "due": [20, 27], "characterist": 20, "our": [20, 23], "what": 20, "peopl": 20, "probabl": 20, "lot": 20, "worth": 20, "walker": 20, "cragon": 20, "concurr": [20, 27], "ieee": 20, "vol": 20, "june": 20, "1995": 20, "moudgil": 20, "vassiliadi": 20, "micro": 20, "pp": 20, "58": 20, "67": 20, "februari": 20, "1996": 20, "survei": 20, "topic": 20, "cdc": 20, "6600": 20, "done": [20, 27, 28], "jump": 20, "handler": 20, "ibm360": 20, "stop": [20, 28], "crai": 20, "here": [20, 24], "bigger": 20, "torng": 20, "martin": 20, "dai": 20, "probe": 20, "author": 20, "window": 20, "iw": 20, "dispatch": [20, 23, 24, 25], "didn": 20, "context": [20, 27, 28], "copi": [20, 27], "restor": 20, "restart": 20, "few": 20, "encod": 20, "big": 20, "overhead": 20, "origin": [20, 27, 28], "unfeas": 20, "job": 20, "addition": 20, "But": 20, "cooper": 20, "smaller": 20, "interest": 20, "propos": 20, "nrp": 20, "No": [20, 28], "itself": 20, "wast": 20, "how": [20, 24, 26], "mani": [20, 26, 28], "element": [20, 28], "left": [20, 27], "middl": [20, 23], "aamer": 20, "jaleel": 20, "bruce": 20, "jacob": 20, "cours": 20, "penalti": 20, "alpha": 20, "mip": 20, "concentr": 20, "properti": [20, 27], "short": 20, "inlin": 20, "observ": 20, "enough": 20, "live": 20, "known": 20, "fly": 20, "swap": 20, "nop": 20, "reexecut": 20, "indic": [20, 25, 27], "privileg": 20, "correct": [20, 24, 25], "contrast": 20, "tendenc": 20, "longer": 20, "hard": 20, "risk": 20, "linux": [20, 26], "purpos": [20, 27], "addit": 20, "hw": 20, "bore": 20, "treat": [20, 23], "mansur": 20, "samadzadeh": 20, "loai": 20, "garalnabi": 20, "checkpoint": 20, "repair": 20, "histori": 20, "futur": [20, 23, 24], "jaikrishnan": 20, "menon": 20, "marc": 20, "de": 20, "kruijf": 20, "karthikeyan": 20, "sankaralingam": 20, "2012": 20, "To": [20, 26], "low": 20, "boundari": 20, "rewritten": 20, "recompil": 20, "runtim": 20, "region": 20, "subregion": 20, "begin": 20, "small": 20, "overrid": 20, "barrier": 20, "warp": 20, "wrong": 20, "split": [20, 23, 28], "prevent": 20, "ivan": 20, "tanas": 20, "isaac": 20, "gelado": 20, "jorda": 20, "eduard": 20, "ayguad": 20, "nacho": 20, "navarro": 20, "2017": 20, "analys": 20, "problemat": 20, "successfulli": 20, "kill": 20, "modif": 20, "fail": 20, "repli": 20, "modifi": [20, 28], "claim": 20, "operand": [20, 24, 25], "replai": 20, "marker": 20, "jerom": 20, "hampton": 20, "2008": 20, "mention": 20, "alli": 20, "bailei": 20, "ab04": 20, "ag": 20, "younger": 20, "repeat": 20, "canon": 20, "eventu": 20, "aren": [20, 28], "Its": 23, "task": [23, 27], "rss": 23, "phase": 23, "choos": 23, "potenti": 23, "merg": 23, "optim": 23, "todo": 23, "want": [24, 27], "feel": 24, "anyth": 24, "id_out": [24, 25], "id_rob": [24, 25], "id_rs1": [24, 25], "val_rs1": [24, 25], "id_rs2": [24, 25], "val_rs2": [24, 25], "fill": 24, "id_rsx": 24, "val_rsx": 24, "releas": 24, "comparison": 24, "null": [24, 25], "woken": 25, "invalid": 25, "src1": [25, 28], "src2": [25, 28], "inst_readi": 25, "synthes": 26, "circuit": 26, "consum": 26, "grow": 26, "yosi": 26, "prjtrelli": 26, "nextpnr": 26, "ecp5": 26, "manual": 26, "git": 26, "repositori": 26, "docker": 26, "imag": 26, "vuush": 26, "synth": 26, "amaranthsynthecp5": 26, "dockerfil": 26, "command": 26, "amd64": 26, "parse_benchmark_info": 26, "pars": 26, "extract": [26, 27], "frequenc": 26, "cell": 26, "ram": 26, "dff": 26, "dedic": 26, "subpag": 26, "transactionbas": 27, "serv": 27, "simultena": 27, "transactionmanag": 27, "rest": 27, "must": 27, "exclus": [27, 28], "combination": 27, "data_out": [27, 28], "data_in": [27, 28], "nonexclus": 27, "single_cal": 27, "situat": 27, "happen": 27, "cannot": [27, 28], "thrown": 27, "const": 27, "d1": 27, "d0": 27, "guard": [27, 28], "av_comb": 27, "top_comb": 27, "combinationi": 27, "my_sum_method": 27, "arg1": 27, "arg2": 27, "sum": 27, "static": 27, "construct": [27, 28], "blueprint": 27, "freshli": 27, "proxi": 27, "priorit": 27, "undefin": 27, "avoidedif": 27, "amount": 27, "useless": 27, "multplex": 27, "unguard": 27, "path": [27, 28], "synchron": [27, 28], "cond": 27, "pattern": 27, "elif": 27, "fsm": 27, "noreturn": 27, "regularli": 27, "met": 27, "explicit": 27, "implicit": 27, "add_conflict": 27, "aris": 27, "pair": [27, 28], "omit": [27, 28], "transactioncontext": 27, "stack": 27, "care": 27, "never": 27, "cc_schedul": 27, "callabl": [27, 28], "methodmap": 27, "dsl": 27, "eager_deterministic_cc_schedul": 27, "add_transact": 27, "visual_graph": 27, "fragment": 27, "transactionmodul": 27, "wrapper": 27, "definit": 27, "wrap": 27, "transaction_context": 27, "decor": 27, "eleg": 27, "dictionari": 27, "whose": 27, "method_map": 27, "gr": 27, "cc": 27, "porder": 27, "eager": 27, "subsystem": 27, "isn": 27, "fair": 27, "lowest": 27, "highest": 27, "arbitr": 27, "agent": 27, "transactiongraph": 27, "vertic": 27, "edg": [27, 28], "priorityord": 27, "linear": 27, "consist": 27, "constraint": 27, "trivial_roundrobin_cc_schedul": 27, "mainli": 27, "IN": 27, "inout": 27, "own": 27, "owner": 27, "ownershipgraph": 27, "root": 27, "dump": 27, "dump_dot": 27, "indent": 27, "dump_elk": 27, "dump_mermaid": 27, "get_hier_nam": 27, "obj": 27, "hierarch": 27, "yet": 27, "get_nam": 27, "insert_edg": 27, "fr": 27, "insert_nod": 27, "mermaid_direct": 27, "subgraph": 27, "remember_field": 27, "owner_id": 27, "tracingenabl": 27, "tracingfrag": 27, "lose": 27, "too": 27, "difficult": 27, "exact": 27, "copyright": 27, "subfrag": 27, "ir": 27, "tracingfragmenttransform": 27, "fragmenttransform": 27, "on_frag": 27, "tracinginst": 27, "adapterbas": 28, "mock": 28, "en": 28, "ifac": 28, "clickin": 28, "click": 28, "interact": 28, "fpga": 28, "rise": 28, "btn": 28, "dat": 28, "retriev": 28, "clickout": 28, "led": 28, "mechan": 28, "move": 28, "flow": 28, "revers": 28, "possibli": 28, "rev_layout": 28, "vice": 28, "versa": 28, "compat": 28, "method1": 28, "method2": 28, "respect": 28, "fulfil": 28, "_rec": 28, "fifo_typ": 28, "syncfifo": 28, "fifotyp": 28, "conform": 28, "further": 28, "equival": 28, "put_result": 28, "argumentstoresultszipp": 28, "zip": 28, "cut": 28, "critic": 28, "calle": 28, "asymmetri": 28, "correctli": 28, "rate": 28, "reach": 28, "capac": 28, "topologi": 28, "write_arg": 28, "args_layout": 28, "write_result": 28, "results_layout": 28, "latest": 28, "client": 28, "somethig": 28, "server": 28, "deseri": 28, "proper": 28, "serialize_in": 28, "serialized_req_method": 28, "serialize_out": 28, "serialized_resp_method": 28, "port_count": 28, "len": 28, "resist": 28, "nonblock": 28, "overlap": 28, "catch": 28, "reason": 28, "mutual": 28, "influenc": 28, "cond1": 28, "cond2": 28, "memorybank": 28, "read_req": 28, "read_resp": 28, "elem_count": 28, "safe_writ": 28, "optimis": 28, "increas": 28, "throughput": 28, "eg": 28, "x": 28, "later": 28, "cattran": 28, "concaten": 28, "third": 28, "dst": 28, "ident": 28, "method_list": 28, "connectandtransformtran": 28, "behav": 28, "methodtransform": 28, "i_fun": 28, "recorddict": 28, "o_fun": 28, "methodfilt": 28, "filter": 28, "caveat": 28, "methodproduct": 28, "arbitrari": 28, "i_transform": 28, "o_transform": 28, "tri": 28, "succeed": 28}, "objects": {"": [[9, 0, 0, "-", "coreblocks"], [27, 0, 0, "-", "transactron"]], "coreblocks": [[9, 0, 0, "-", "core"], [10, 0, 0, "-", "frontend"], [11, 0, 0, "-", "fu"], [13, 0, 0, "-", "params"], [14, 0, 0, "-", "peripherals"], [15, 0, 0, "-", "scheduler"], [16, 0, 0, "-", "stages"], [17, 0, 0, "-", "structs_common"], [18, 0, 0, "-", "utils"]], "coreblocks.core": [[9, 1, 1, "", "Core"]], "coreblocks.core.Core": [[9, 2, 1, "", "__init__"]], "coreblocks.frontend": [[10, 0, 0, "-", "decode"], [10, 0, 0, "-", "decoder"], [10, 0, 0, "-", "fetch"], [10, 0, 0, "-", "icache"], [10, 0, 0, "-", "rvc"]], "coreblocks.frontend.decode": [[10, 1, 1, "", "Decode"]], "coreblocks.frontend.decode.Decode": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.decoder": [[10, 1, 1, "", "InstrDecoder"]], "coreblocks.frontend.decoder.InstrDecoder": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.fetch": [[10, 1, 1, "", "Fetch"], [10, 1, 1, "", "UnalignedFetch"]], "coreblocks.frontend.fetch.Fetch": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.fetch.UnalignedFetch": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.icache": [[10, 1, 1, "", "ICache"], [10, 1, 1, "", "ICacheBypass"], [10, 1, 1, "", "ICacheInterface"], [10, 1, 1, "", "SimpleWBCacheRefiller"]], "coreblocks.frontend.icache.ICache": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "deserialize_addr"], [10, 2, 1, "", "serialize_addr"]], "coreblocks.frontend.icache.ICacheBypass": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.icache.ICacheInterface": [[10, 3, 1, "", "accept_res"], [10, 3, 1, "", "flush"], [10, 3, 1, "", "issue_req"]], "coreblocks.frontend.icache.SimpleWBCacheRefiller": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.rvc": [[10, 1, 1, "", "InstrDecompress"], [10, 4, 1, "", "is_instr_compressed"]], "coreblocks.frontend.rvc.InstrDecompress": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "decompr_reg"], [10, 2, 1, "", "instr_mux"]], "coreblocks.fu": [[11, 0, 0, "-", "alu"], [11, 0, 0, "-", "div_unit"], [11, 0, 0, "-", "exception"], [11, 0, 0, "-", "fu_decoder"], [11, 0, 0, "-", "jumpbranch"], [11, 0, 0, "-", "mul_unit"], [11, 0, 0, "-", "shift_unit"], [12, 0, 0, "-", "unsigned_multiplication"], [11, 0, 0, "-", "zbc"], [11, 0, 0, "-", "zbs"]], "coreblocks.fu.alu": [[11, 1, 1, "", "ALUComponent"], [11, 1, 1, "", "AluFuncUnit"]], "coreblocks.fu.alu.ALUComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.alu.AluFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.div_unit": [[11, 1, 1, "", "DivComponent"], [11, 1, 1, "", "DivFn"], [11, 1, 1, "", "DivUnit"], [11, 4, 1, "", "get_input"]], "coreblocks.fu.div_unit.DivComponent": [[11, 2, 1, "", "__init__"], [11, 3, 1, "", "div_fn"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "ipc"]], "coreblocks.fu.div_unit.DivFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.div_unit.DivFn.Fn": [[11, 3, 1, "", "DIV"], [11, 3, 1, "", "DIVU"], [11, 3, 1, "", "REM"], [11, 3, 1, "", "REMU"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.div_unit.DivUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.exception": [[11, 1, 1, "", "ExceptionFuncUnit"], [11, 1, 1, "", "ExceptionUnitComponent"]], "coreblocks.fu.exception.ExceptionFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.exception.ExceptionUnitComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.fu_decoder": [[11, 1, 1, "", "Decoder"], [11, 1, 1, "", "DecoderManager"]], "coreblocks.fu.fu_decoder.Decoder": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.fu_decoder.DecoderManager": [[11, 3, 1, "", "Fn"], [11, 2, 1, "", "get_decoder"], [11, 2, 1, "", "get_function"], [11, 2, 1, "", "get_instructions"], [11, 2, 1, "", "get_op_types"]], "coreblocks.fu.jumpbranch": [[11, 1, 1, "", "JumpBranchFuncUnit"], [11, 1, 1, "", "JumpComponent"]], "coreblocks.fu.jumpbranch.JumpBranchFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.jumpbranch.JumpComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.mul_unit": [[11, 1, 1, "", "MulComponent"], [11, 1, 1, "", "MulFn"], [11, 1, 1, "", "MulType"], [11, 1, 1, "", "MulUnit"]], "coreblocks.fu.mul_unit.MulComponent": [[11, 2, 1, "", "__init__"], [11, 3, 1, "", "dsp_width"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "mul_fn"], [11, 3, 1, "", "mul_unit_type"]], "coreblocks.fu.mul_unit.MulFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.mul_unit.MulFn.Fn": [[11, 3, 1, "", "MUL"], [11, 3, 1, "", "MULH"], [11, 3, 1, "", "MULHSU"], [11, 3, 1, "", "MULHU"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.mul_unit.MulType": [[11, 3, 1, "", "RECURSIVE_MUL"], [11, 3, 1, "", "SEQUENCE_MUL"], [11, 3, 1, "", "SHIFT_MUL"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.mul_unit.MulUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.shift_unit": [[11, 1, 1, "", "ShiftFuncUnit"], [11, 1, 1, "", "ShiftUnitComponent"]], "coreblocks.fu.shift_unit.ShiftFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.shift_unit.ShiftUnitComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.unsigned_multiplication": [[12, 0, 0, "-", "common"], [12, 0, 0, "-", "fast_recursive"], [12, 0, 0, "-", "sequence"], [12, 0, 0, "-", "shift"]], "coreblocks.fu.unsigned_multiplication.common": [[12, 1, 1, "", "DSPMulUnit"], [12, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.fu.unsigned_multiplication.common.DSPMulUnit": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.fast_recursive": [[12, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.sequence": [[12, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.shift": [[12, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.zbc": [[11, 1, 1, "", "ClMultiplier"], [11, 1, 1, "", "ZbcComponent"], [11, 1, 1, "", "ZbcFn"], [11, 1, 1, "", "ZbcUnit"]], "coreblocks.fu.zbc.ClMultiplier": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "iterative_module"], [11, 2, 1, "", "recursive_module"]], "coreblocks.fu.zbc.ZbcComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "recursion_depth"], [11, 3, 1, "", "zbc_fn"]], "coreblocks.fu.zbc.ZbcFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.zbc.ZbcFn.Fn": [[11, 3, 1, "", "CLMUL"], [11, 3, 1, "", "CLMULH"], [11, 3, 1, "", "CLMULR"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.zbc.ZbcUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.zbs": [[11, 1, 1, "", "Zbs"], [11, 1, 1, "", "ZbsComponent"], [11, 1, 1, "", "ZbsFunction"], [11, 1, 1, "", "ZbsUnit"]], "coreblocks.fu.zbs.Zbs": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.zbs.ZbsComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.zbs.ZbsFunction": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.zbs.ZbsFunction.Fn": [[11, 3, 1, "", "BCLR"], [11, 3, 1, "", "BEXT"], [11, 3, 1, "", "BINV"], [11, 3, 1, "", "BSET"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.zbs.ZbsUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.params": [[13, 0, 0, "-", "configurations"], [13, 0, 0, "-", "dependencies"], [13, 0, 0, "-", "fu_params"], [13, 0, 0, "-", "genparams"], [13, 0, 0, "-", "icache_params"], [13, 0, 0, "-", "instr"], [13, 0, 0, "-", "isa"], [13, 0, 0, "-", "keys"], [13, 0, 0, "-", "layouts"], [13, 0, 0, "-", "optypes"]], "coreblocks.params.configurations": [[13, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "allow_partial_extensions"], [13, 3, 1, "", "compressed"], [13, 3, 1, "", "embedded"], [13, 3, 1, "", "func_units_config"], [13, 3, 1, "", "icache_block_size_bits"], [13, 3, 1, "", "icache_enable"], [13, 3, 1, "", "icache_sets_bits"], [13, 3, 1, "", "icache_ways"], [13, 3, 1, "", "phys_regs_bits"], [13, 2, 1, "", "replace"], [13, 3, 1, "", "rob_entries_bits"], [13, 3, 1, "", "start_pc"], [13, 3, 1, "", "xlen"]], "coreblocks.params.dependencies": [[13, 1, 1, "", "DependencyKey"], [13, 1, 1, "", "DependencyManager"]], "coreblocks.params.dependencies.DependencyKey": [[13, 2, 1, "", "combine"], [13, 3, 1, "", "empty_valid"], [13, 3, 1, "", "lock_on_get"]], "coreblocks.params.dependencies.DependencyManager": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "add_dependency"], [13, 2, 1, "", "get_dependency"]], "coreblocks.params.fu_params": [[13, 1, 1, "", "BlockComponentParams"], [13, 1, 1, "", "FunctionalComponentParams"], [13, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[13, 2, 1, "", "get_module"], [13, 2, 1, "", "get_optypes"], [13, 2, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[13, 2, 1, "", "get_module"], [13, 2, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[13, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[13, 2, 1, "", "__init__"]], "coreblocks.params.icache_params": [[13, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[13, 2, 1, "", "__init__"]], "coreblocks.params.instr": [[13, 1, 1, "", "BTypeInstr"], [13, 1, 1, "", "EBreakInstr"], [13, 1, 1, "", "ITypeInstr"], [13, 1, 1, "", "IllegalInstr"], [13, 1, 1, "", "JTypeInstr"], [13, 1, 1, "", "RTypeInstr"], [13, 1, 1, "", "STypeInstr"], [13, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.EBreakInstr": [[13, 2, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.IllegalInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.JTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.RTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.STypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.UTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.isa": [[13, 1, 1, "", "ExceptionCause"], [13, 1, 1, "", "Extension"], [13, 1, 1, "", "FenceFm"], [13, 1, 1, "", "FenceTarget"], [13, 1, 1, "", "Funct12"], [13, 1, 1, "", "Funct3"], [13, 1, 1, "", "Funct7"], [13, 1, 1, "", "ISA"], [13, 1, 1, "", "InstrType"], [13, 1, 1, "", "Opcode"], [13, 1, 1, "", "Registers"]], "coreblocks.params.isa.ExceptionCause": [[13, 3, 1, "", "BREAKPOINT"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_M"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_S"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_U"], [13, 3, 1, "", "ILLEGAL_INSTRUCTION"], [13, 3, 1, "", "INSTRUCTION_ACCESS_FAULT"], [13, 3, 1, "", "INSTRUCTION_ADDRESS_MISALIGNED"], [13, 3, 1, "", "INSTRUCTION_PAGE_FAULT"], [13, 3, 1, "", "LOAD_ACCESS_FAULT"], [13, 3, 1, "", "LOAD_ADDRESS_MISALIGNED"], [13, 3, 1, "", "LOAD_PAGE_FAULT"], [13, 3, 1, "", "STORE_ACCESS_FAULT"], [13, 3, 1, "", "STORE_ADDRESS_MISALIGNED"], [13, 3, 1, "", "STORE_PAGE_FAULT"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Extension": [[13, 3, 1, "", "A"], [13, 3, 1, "", "B"], [13, 3, 1, "", "C"], [13, 3, 1, "", "D"], [13, 3, 1, "", "E"], [13, 3, 1, "", "F"], [13, 3, 1, "", "G"], [13, 3, 1, "", "I"], [13, 3, 1, "", "J"], [13, 3, 1, "", "L"], [13, 3, 1, "", "M"], [13, 3, 1, "", "N"], [13, 3, 1, "", "P"], [13, 3, 1, "", "Q"], [13, 3, 1, "", "T"], [13, 3, 1, "", "V"], [13, 3, 1, "", "XINTMACHINEMODE"], [13, 3, 1, "", "XINTSUPERVISOR"], [13, 3, 1, "", "ZAM"], [13, 3, 1, "", "ZBA"], [13, 3, 1, "", "ZBB"], [13, 3, 1, "", "ZBC"], [13, 3, 1, "", "ZBS"], [13, 3, 1, "", "ZDINX"], [13, 3, 1, "", "ZFH"], [13, 3, 1, "", "ZFHMIN"], [13, 3, 1, "", "ZFINX"], [13, 3, 1, "", "ZHINX"], [13, 3, 1, "", "ZICNTR"], [13, 3, 1, "", "ZICSR"], [13, 3, 1, "", "ZIFENCEI"], [13, 3, 1, "", "ZIHINTNTL"], [13, 3, 1, "", "ZIHINTPAUSE"], [13, 3, 1, "", "ZIHPM"], [13, 3, 1, "", "ZMMUL"], [13, 3, 1, "", "ZTSO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.FenceFm": [[13, 3, 1, "", "NONE"], [13, 3, 1, "", "TSO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.FenceTarget": [[13, 3, 1, "", "DEV_I"], [13, 3, 1, "", "DEV_O"], [13, 3, 1, "", "MEM_R"], [13, 3, 1, "", "MEM_W"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct12": [[13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "EBREAK"], [13, 3, 1, "", "ECALL"], [13, 3, 1, "", "MRET"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "REV8_32"], [13, 3, 1, "", "REV8_64"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SRET"], [13, 3, 1, "", "WFI"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct3": [[13, 3, 1, "", "ADD"], [13, 3, 1, "", "AND"], [13, 3, 1, "", "ANDN"], [13, 3, 1, "", "B"], [13, 3, 1, "", "BCLR"], [13, 3, 1, "", "BEQ"], [13, 3, 1, "", "BEXT"], [13, 3, 1, "", "BGE"], [13, 3, 1, "", "BGEU"], [13, 3, 1, "", "BINV"], [13, 3, 1, "", "BLT"], [13, 3, 1, "", "BLTU"], [13, 3, 1, "", "BNE"], [13, 3, 1, "", "BSET"], [13, 3, 1, "", "BU"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "CLMULH"], [13, 3, 1, "", "CLMULR"], [13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CSRRC"], [13, 3, 1, "", "CSRRCI"], [13, 3, 1, "", "CSRRS"], [13, 3, 1, "", "CSRRSI"], [13, 3, 1, "", "CSRRW"], [13, 3, 1, "", "CSRRWI"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "D"], [13, 3, 1, "", "DIV"], [13, 3, 1, "", "DIVU"], [13, 3, 1, "", "DIVUW"], [13, 3, 1, "", "DIVW"], [13, 3, 1, "", "FENCE"], [13, 3, 1, "", "FENCEI"], [13, 3, 1, "", "H"], [13, 3, 1, "", "HU"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "MAX"], [13, 3, 1, "", "MAXU"], [13, 3, 1, "", "MIN"], [13, 3, 1, "", "MINU"], [13, 3, 1, "", "MUL"], [13, 3, 1, "", "MULH"], [13, 3, 1, "", "MULHSU"], [13, 3, 1, "", "MULHU"], [13, 3, 1, "", "MULW"], [13, 3, 1, "", "OR"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "ORN"], [13, 3, 1, "", "PRIV"], [13, 3, 1, "", "REM"], [13, 3, 1, "", "REMU"], [13, 3, 1, "", "REMUW"], [13, 3, 1, "", "REMW"], [13, 3, 1, "", "REV8"], [13, 3, 1, "", "ROL"], [13, 3, 1, "", "ROR"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SH1ADD"], [13, 3, 1, "", "SH2ADD"], [13, 3, 1, "", "SH3ADD"], [13, 3, 1, "", "SLL"], [13, 3, 1, "", "SLT"], [13, 3, 1, "", "SLTU"], [13, 3, 1, "", "SR"], [13, 3, 1, "", "SUB"], [13, 3, 1, "", "W"], [13, 3, 1, "", "XNOR"], [13, 3, 1, "", "XOR"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct7": [[13, 3, 1, "", "ADD"], [13, 3, 1, "", "AND"], [13, 3, 1, "", "ANDN"], [13, 3, 1, "", "BCLR"], [13, 3, 1, "", "BEXT"], [13, 3, 1, "", "BINV"], [13, 3, 1, "", "BSET"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "MAX"], [13, 3, 1, "", "MIN"], [13, 3, 1, "", "MULDIV"], [13, 3, 1, "", "OR"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "ORN"], [13, 3, 1, "", "REV8"], [13, 3, 1, "", "ROL"], [13, 3, 1, "", "ROR"], [13, 3, 1, "", "SA"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SFENCEVMA"], [13, 3, 1, "", "SH1ADD"], [13, 3, 1, "", "SH2ADD"], [13, 3, 1, "", "SH3ADD"], [13, 3, 1, "", "SL"], [13, 3, 1, "", "SLT"], [13, 3, 1, "", "SUB"], [13, 3, 1, "", "XNOR"], [13, 3, 1, "", "XOR"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.ISA": [[13, 2, 1, "", "__init__"]], "coreblocks.params.isa.InstrType": [[13, 3, 1, "", "B"], [13, 3, 1, "", "I"], [13, 3, 1, "", "J"], [13, 3, 1, "", "R"], [13, 3, 1, "", "S"], [13, 3, 1, "", "U"]], "coreblocks.params.isa.Opcode": [[13, 3, 1, "", "AUIPC"], [13, 3, 1, "", "BRANCH"], [13, 3, 1, "", "JAL"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "LOAD"], [13, 3, 1, "", "LOAD_FP"], [13, 3, 1, "", "LUI"], [13, 3, 1, "", "MISC_MEM"], [13, 3, 1, "", "OP"], [13, 3, 1, "", "OP32"], [13, 3, 1, "", "OP_IMM"], [13, 3, 1, "", "OP_IMM_32"], [13, 3, 1, "", "STORE"], [13, 3, 1, "", "STORE_FP"], [13, 3, 1, "", "SYSTEM"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Registers": [[13, 3, 1, "", "A0"], [13, 3, 1, "", "A1"], [13, 3, 1, "", "A2"], [13, 3, 1, "", "A3"], [13, 3, 1, "", "A4"], [13, 3, 1, "", "A5"], [13, 3, 1, "", "A6"], [13, 3, 1, "", "A7"], [13, 3, 1, "", "FP"], [13, 3, 1, "", "GP"], [13, 3, 1, "", "RA"], [13, 3, 1, "", "S0"], [13, 3, 1, "", "S1"], [13, 3, 1, "", "S10"], [13, 3, 1, "", "S11"], [13, 3, 1, "", "S2"], [13, 3, 1, "", "S3"], [13, 3, 1, "", "S4"], [13, 3, 1, "", "S5"], [13, 3, 1, "", "S6"], [13, 3, 1, "", "S7"], [13, 3, 1, "", "S8"], [13, 3, 1, "", "S9"], [13, 3, 1, "", "SP"], [13, 3, 1, "", "T0"], [13, 3, 1, "", "T1"], [13, 3, 1, "", "T2"], [13, 3, 1, "", "T3"], [13, 3, 1, "", "T4"], [13, 3, 1, "", "T5"], [13, 3, 1, "", "T6"], [13, 3, 1, "", "TP"], [13, 3, 1, "", "X0"], [13, 3, 1, "", "X1"], [13, 3, 1, "", "X10"], [13, 3, 1, "", "X11"], [13, 3, 1, "", "X12"], [13, 3, 1, "", "X13"], [13, 3, 1, "", "X14"], [13, 3, 1, "", "X15"], [13, 3, 1, "", "X16"], [13, 3, 1, "", "X17"], [13, 3, 1, "", "X18"], [13, 3, 1, "", "X19"], [13, 3, 1, "", "X2"], [13, 3, 1, "", "X20"], [13, 3, 1, "", "X21"], [13, 3, 1, "", "X22"], [13, 3, 1, "", "X23"], [13, 3, 1, "", "X24"], [13, 3, 1, "", "X25"], [13, 3, 1, "", "X26"], [13, 3, 1, "", "X27"], [13, 3, 1, "", "X28"], [13, 3, 1, "", "X29"], [13, 3, 1, "", "X3"], [13, 3, 1, "", "X30"], [13, 3, 1, "", "X31"], [13, 3, 1, "", "X4"], [13, 3, 1, "", "X5"], [13, 3, 1, "", "X6"], [13, 3, 1, "", "X7"], [13, 3, 1, "", "X8"], [13, 3, 1, "", "X9"], [13, 3, 1, "", "ZERO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.keys": [[13, 1, 1, "", "BranchResolvedKey"], [13, 1, 1, "", "ExceptionReportKey"], [13, 1, 1, "", "GenericCSRRegistersKey"], [13, 1, 1, "", "InstructionPrecommitKey"], [13, 1, 1, "", "WishboneDataKey"]], "coreblocks.params.keys.BranchResolvedKey": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "unifier"]], "coreblocks.params.keys.ExceptionReportKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.keys.GenericCSRRegistersKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.keys.InstructionPrecommitKey": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "unifier"]], "coreblocks.params.keys.WishboneDataKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts": [[13, 1, 1, "", "CSRLayouts"], [13, 1, 1, "", "CommonLayouts"], [13, 1, 1, "", "DecodeLayouts"], [13, 1, 1, "", "FetchLayouts"], [13, 1, 1, "", "FuncUnitLayouts"], [13, 1, 1, "", "ICacheLayouts"], [13, 1, 1, "", "LSULayouts"], [13, 1, 1, "", "RATLayouts"], [13, 1, 1, "", "RFLayouts"], [13, 1, 1, "", "ROBLayouts"], [13, 1, 1, "", "RSInterfaceLayouts"], [13, 1, 1, "", "RSLayouts"], [13, 1, 1, "", "SchedulerLayouts"], [13, 1, 1, "", "UnsignedMulUnitLayouts"]], "coreblocks.params.layouts.CSRLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.CommonLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.DecodeLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.FetchLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.FuncUnitLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.ICacheLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.LSULayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RATLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RFLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.ROBLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RSInterfaceLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RSLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.SchedulerLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.UnsignedMulUnitLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.optypes": [[13, 1, 1, "", "OpType"], [13, 4, 1, "", "optypes_required_by_extensions"]], "coreblocks.params.optypes.OpType": [[13, 3, 1, "", "ADDRESS_GENERATION"], [13, 3, 1, "", "ARITHMETIC"], [13, 3, 1, "", "AUIPC"], [13, 3, 1, "", "BIT_MANIPULATION"], [13, 3, 1, "", "BRANCH"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "COMPARE"], [13, 3, 1, "", "CSR_IMM"], [13, 3, 1, "", "CSR_REG"], [13, 3, 1, "", "DIV_REM"], [13, 3, 1, "", "EBREAK"], [13, 3, 1, "", "ECALL"], [13, 3, 1, "", "EXCEPTION"], [13, 3, 1, "", "FENCE"], [13, 3, 1, "", "FENCEI"], [13, 3, 1, "", "JAL"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "LOAD"], [13, 3, 1, "", "LOGIC"], [13, 3, 1, "", "MRET"], [13, 3, 1, "", "MUL"], [13, 3, 1, "", "SFENCEVMA"], [13, 3, 1, "", "SHIFT"], [13, 3, 1, "", "SINGLE_BIT_MANIPULATION"], [13, 3, 1, "", "SRET"], [13, 3, 1, "", "STORE"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_1"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_2"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_3"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_4"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_5"], [13, 3, 1, "", "UNKNOWN"], [13, 3, 1, "", "WFI"], [13, 2, 1, "", "__new__"]], "coreblocks.peripherals": [[14, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.wishbone": [[14, 1, 1, "", "PipelinedWishboneMaster"], [14, 1, 1, "", "WishboneArbiter"], [14, 1, 1, "", "WishboneBus"], [14, 1, 1, "", "WishboneLayout"], [14, 1, 1, "", "WishboneMaster"], [14, 1, 1, "", "WishboneMemorySlave"], [14, 1, 1, "", "WishboneMuxer"], [14, 1, 1, "", "WishboneParameters"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "generate_method_layouts"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneBus": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneLayout": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "generate_layouts"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[14, 2, 1, "", "__init__"]], "coreblocks.scheduler": [[15, 0, 0, "-", "scheduler"], [15, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[15, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[15, 2, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[15, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[15, 2, 1, "", "__init__"]], "coreblocks.stages": [[16, 0, 0, "-", "backend"], [16, 0, 0, "-", "func_blocks_unifier"], [16, 0, 0, "-", "retirement"], [16, 0, 0, "-", "rs_func_block"]], "coreblocks.stages.backend": [[16, 1, 1, "", "ResultAnnouncement"]], "coreblocks.stages.backend.ResultAnnouncement": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "debug_signals"]], "coreblocks.stages.func_blocks_unifier": [[16, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.stages.func_blocks_unifier.FuncBlocksUnifier": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "get_extra_method"]], "coreblocks.stages.retirement": [[16, 1, 1, "", "Retirement"]], "coreblocks.stages.retirement.Retirement": [[16, 2, 1, "", "__init__"]], "coreblocks.stages.rs_func_block": [[16, 1, 1, "", "RSBlockComponent"], [16, 1, 1, "", "RSFuncBlock"]], "coreblocks.stages.rs_func_block.RSBlockComponent": [[16, 2, 1, "", "__init__"], [16, 3, 1, "", "func_units"], [16, 2, 1, "", "get_module"], [16, 2, 1, "", "get_optypes"], [16, 2, 1, "", "get_rs_entry_count"], [16, 3, 1, "", "rs_entries"]], "coreblocks.stages.rs_func_block.RSFuncBlock": [[16, 2, 1, "", "__init__"]], "coreblocks.structs_common": [[17, 0, 0, "-", "csr"], [17, 0, 0, "-", "csr_generic"], [17, 0, 0, "-", "exception"], [17, 0, 0, "-", "rat"], [17, 0, 0, "-", "rf"], [17, 0, 0, "-", "rob"], [17, 0, 0, "-", "rs"]], "coreblocks.structs_common.csr": [[17, 1, 1, "", "CSRBlockComponent"], [17, 1, 1, "", "CSRListKey"], [17, 1, 1, "", "CSRRegister"], [17, 1, 1, "", "CSRUnit"], [17, 1, 1, "", "PrivilegeLevel"], [17, 4, 1, "", "csr_access_privilege"]], "coreblocks.structs_common.csr.CSRBlockComponent": [[17, 2, 1, "", "get_module"], [17, 2, 1, "", "get_optypes"], [17, 2, 1, "", "get_rs_entry_count"]], "coreblocks.structs_common.csr.CSRListKey": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.CSRRegister": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.CSRUnit": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.PrivilegeLevel": [[17, 3, 1, "", "MACHINE"], [17, 3, 1, "", "SUPERVISOR"], [17, 3, 1, "", "USER"], [17, 2, 1, "", "__new__"]], "coreblocks.structs_common.csr_generic": [[17, 1, 1, "", "CSRAddress"], [17, 1, 1, "", "DoubleCounterCSR"], [17, 1, 1, "", "GenericCSRRegisters"]], "coreblocks.structs_common.csr_generic.CSRAddress": [[17, 3, 1, "", "CYCLE"], [17, 3, 1, "", "CYCLEH"], [17, 3, 1, "", "INSTRET"], [17, 3, 1, "", "INSTRETH"], [17, 3, 1, "", "MCAUSE"], [17, 3, 1, "", "TIME"], [17, 3, 1, "", "TIMEH"], [17, 2, 1, "", "__new__"]], "coreblocks.structs_common.csr_generic.DoubleCounterCSR": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr_generic.GenericCSRRegisters": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.exception": [[17, 1, 1, "", "ExceptionCauseRegister"], [17, 4, 1, "", "should_update_prioriy"]], "coreblocks.structs_common.exception.ExceptionCauseRegister": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rat": [[17, 1, 1, "", "FRAT"], [17, 1, 1, "", "RRAT"]], "coreblocks.structs_common.rat.FRAT": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rat.RRAT": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rf": [[17, 1, 1, "", "RegisterFile"]], "coreblocks.structs_common.rf.RegisterFile": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rob": [[17, 1, 1, "", "ReorderBuffer"]], "coreblocks.structs_common.rob.ReorderBuffer": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rs": [[17, 1, 1, "", "RS"]], "coreblocks.structs_common.rs.RS": [[17, 2, 1, "", "__init__"]], "coreblocks.utils": [[18, 0, 0, "-", "debug_signals"], [18, 0, 0, "-", "fifo"], [18, 0, 0, "-", "protocols"], [18, 0, 0, "-", "utils"]], "coreblocks.utils.debug_signals": [[18, 4, 1, "", "auto_debug_signals"]], "coreblocks.utils.fifo": [[18, 1, 1, "", "BasicFifo"], [18, 1, 1, "", "Semaphore"]], "coreblocks.utils.fifo.BasicFifo": [[18, 2, 1, "", "__init__"]], "coreblocks.utils.fifo.Semaphore": [[18, 2, 1, "", "__init__"]], "coreblocks.utils.protocols": [[18, 1, 1, "", "FuncBlock"], [18, 1, 1, "", "FuncUnit"], [18, 1, 1, "", "Unifier"]], "coreblocks.utils.protocols.FuncBlock": [[18, 3, 1, "", "get_result"], [18, 3, 1, "", "insert"], [18, 3, 1, "", "select"], [18, 3, 1, "", "update"]], "coreblocks.utils.protocols.FuncUnit": [[18, 3, 1, "", "accept"], [18, 3, 1, "", "issue"]], "coreblocks.utils.protocols.Unifier": [[18, 2, 1, "", "__init__"], [18, 3, 1, "", "method"]], "coreblocks.utils.utils": [[18, 1, 1, "", "AssignType"], [18, 1, 1, "", "ModuleConnector"], [18, 4, 1, "", "OneHotSwitch"], [18, 4, 1, "", "OneHotSwitchDynamic"], [18, 4, 1, "", "align_to_power_of_two"], [18, 4, 1, "", "assign"], [18, 4, 1, "", "bits_from_int"], [18, 4, 1, "", "count_leading_zeros"], [18, 4, 1, "", "count_trailing_zeros"], [18, 4, 1, "", "flatten_signals"], [18, 4, 1, "", "popcount"], [18, 4, 1, "", "silence_mustuse"]], "coreblocks.utils.utils.AssignType": [[18, 3, 1, "", "ALL"], [18, 3, 1, "", "COMMON"], [18, 3, 1, "", "RHS"]], "coreblocks.utils.utils.ModuleConnector": [[18, 2, 1, "", "__init__"]], "transactron": [[27, 1, 1, "", "Method"], [27, 1, 1, "", "TModule"], [27, 1, 1, "", "Transaction"], [27, 1, 1, "", "TransactionContext"], [27, 1, 1, "", "TransactionManager"], [27, 1, 1, "", "TransactionModule"], [27, 0, 0, "-", "core"], [27, 4, 1, "", "def_method"], [27, 0, 0, "-", "graph"], [28, 0, 0, "-", "lib"], [27, 0, 0, "-", "tracing"]], "transactron.Method": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "like"], [27, 2, 1, "", "proxy"]], "transactron.TModule": [[27, 2, 1, "", "AvoidedIf"], [27, 2, 1, "", "Case"], [27, 2, 1, "", "Default"], [27, 2, 1, "", "Elif"], [27, 2, 1, "", "Else"], [27, 2, 1, "", "FSM"], [27, 2, 1, "", "If"], [27, 2, 1, "", "State"], [27, 2, 1, "", "Switch"], [27, 2, 1, "", "__init__"], [27, 5, 1, "", "next"]], "transactron.Transaction": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"]], "transactron.TransactionContext": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "get"], [27, 3, 1, "", "stack"]], "transactron.TransactionManager": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "add_transaction"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "visual_graph"]], "transactron.TransactionModule": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "transaction_context"]], "transactron.core": [[27, 1, 1, "", "Method"], [27, 1, 1, "", "Priority"], [27, 1, 1, "", "TModule"], [27, 1, 1, "", "Transaction"], [27, 1, 1, "", "TransactionContext"], [27, 1, 1, "", "TransactionManager"], [27, 1, 1, "", "TransactionModule"], [27, 4, 1, "", "def_method"], [27, 4, 1, "", "eager_deterministic_cc_scheduler"], [27, 4, 1, "", "trivial_roundrobin_cc_scheduler"]], "transactron.core.Method": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "like"], [27, 2, 1, "", "proxy"]], "transactron.core.Priority": [[27, 3, 1, "", "LEFT"], [27, 3, 1, "", "RIGHT"], [27, 3, 1, "", "UNDEFINED"]], "transactron.core.TModule": [[27, 2, 1, "", "AvoidedIf"], [27, 2, 1, "", "Case"], [27, 2, 1, "", "Default"], [27, 2, 1, "", "Elif"], [27, 2, 1, "", "Else"], [27, 2, 1, "", "FSM"], [27, 2, 1, "", "If"], [27, 2, 1, "", "State"], [27, 2, 1, "", "Switch"], [27, 2, 1, "", "__init__"], [27, 5, 1, "", "next"]], "transactron.core.Transaction": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"]], "transactron.core.TransactionContext": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "get"], [27, 3, 1, "", "stack"]], "transactron.core.TransactionManager": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "add_transaction"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "visual_graph"]], "transactron.core.TransactionModule": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "transaction_context"]], "transactron.graph": [[27, 1, 1, "", "Direction"], [27, 1, 1, "", "Owned"], [27, 1, 1, "", "OwnershipGraph"]], "transactron.graph.Direction": [[27, 3, 1, "", "IN"], [27, 3, 1, "", "INOUT"], [27, 3, 1, "", "NONE"], [27, 3, 1, "", "OUT"], [27, 2, 1, "", "__new__"]], "transactron.graph.Owned": [[27, 2, 1, "", "__init__"], [27, 3, 1, "", "name"], [27, 3, 1, "", "owner"]], "transactron.graph.OwnershipGraph": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "dump"], [27, 2, 1, "", "dump_dot"], [27, 2, 1, "", "dump_elk"], [27, 2, 1, "", "dump_mermaid"], [27, 2, 1, "", "get_hier_name"], [27, 2, 1, "", "get_name"], [27, 2, 1, "", "insert_edge"], [27, 2, 1, "", "insert_node"], [27, 3, 1, "", "mermaid_direction"], [27, 2, 1, "", "prune"], [27, 2, 1, "", "remember"], [27, 2, 1, "", "remember_field"]], "transactron.lib": [[28, 0, 0, "-", "adapters"], [28, 0, 0, "-", "buttons"], [28, 0, 0, "-", "connectors"], [28, 0, 0, "-", "reqres"], [28, 0, 0, "-", "simultaneous"], [28, 0, 0, "-", "storage"], [28, 0, 0, "-", "transformers"]], "transactron.lib.adapters": [[28, 1, 1, "", "Adapter"], [28, 1, 1, "", "AdapterBase"], [28, 1, 1, "", "AdapterTrans"]], "transactron.lib.adapters.Adapter": [[28, 2, 1, "", "__init__"]], "transactron.lib.adapters.AdapterBase": [[28, 2, 1, "", "__init__"], [28, 3, 1, "", "data_in"], [28, 3, 1, "", "data_out"], [28, 2, 1, "", "debug_signals"]], "transactron.lib.adapters.AdapterTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.buttons": [[28, 1, 1, "", "ClickIn"], [28, 1, 1, "", "ClickOut"]], "transactron.lib.buttons.ClickIn": [[28, 2, 1, "", "__init__"]], "transactron.lib.buttons.ClickOut": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors": [[28, 1, 1, "", "Connect"], [28, 1, 1, "", "ConnectTrans"], [28, 1, 1, "", "FIFO"], [28, 1, 1, "", "Forwarder"], [28, 1, 1, "", "ManyToOneConnectTrans"]], "transactron.lib.connectors.Connect": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.ConnectTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.FIFO": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.Forwarder": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.ManyToOneConnectTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.reqres": [[28, 1, 1, "", "ArgumentsToResultsZipper"], [28, 1, 1, "", "Serializer"]], "transactron.lib.reqres.ArgumentsToResultsZipper": [[28, 2, 1, "", "__init__"]], "transactron.lib.reqres.Serializer": [[28, 2, 1, "", "__init__"]], "transactron.lib.simultaneous": [[28, 4, 1, "", "condition"]], "transactron.lib.storage": [[28, 1, 1, "", "MemoryBank"]], "transactron.lib.storage.MemoryBank": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers": [[28, 1, 1, "", "CatTrans"], [28, 1, 1, "", "Collector"], [28, 1, 1, "", "ConnectAndTransformTrans"], [28, 1, 1, "", "MethodFilter"], [28, 1, 1, "", "MethodProduct"], [28, 1, 1, "", "MethodTransformer"], [28, 1, 1, "", "MethodTryProduct"]], "transactron.lib.transformers.CatTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.Collector": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.ConnectAndTransformTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodFilter": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodProduct": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodTransformer": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodTryProduct": [[28, 2, 1, "", "__init__"]], "transactron.tracing": [[27, 1, 1, "", "TracingEnabler"], [27, 1, 1, "", "TracingFragment"], [27, 1, 1, "", "TracingFragmentTransformer"], [27, 1, 1, "", "TracingInstance"]], "transactron.tracing.TracingFragment": [[27, 2, 1, "", "get"], [27, 2, 1, "", "prepare"], [27, 3, 1, "", "subfragments"]], "transactron.tracing.TracingFragmentTransformer": [[27, 2, 1, "", "on_fragment"]], "transactron.tracing.TracingInstance": [[27, 2, 1, "", "get"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"]}, "titleterms": {"list": 0, "assumpt": [0, 8], "made": 0, "dure": 0, "develop": [0, 2], "full": 1, "transact": [1, 5], "method": [1, 5, 24, 25], "graph": [1, 27], "environ": 2, "set": 2, "up": 2, "us": [2, 24, 25], "script": 2, "run_test": 2, "py": 2, "lint": 2, "sh": 2, "core_graph": 2, "build_doc": 2, "introduct": [3, 5, 20], "document": [3, 5, 26], "problem": 4, "checklist": 4, "coreblock": [5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "framework": 5, "basic": 5, "usag": [5, 26], "implement": [5, 24], "The": 5, "librari": 5, "advanc": 5, "concept": 5, "nest": 5, "api": 6, "transactron": [6, 22, 27, 28], "instruct": [8, 25], "cach": 8, "interfac": [8, 24, 25], "address": 8, "map": 8, "exampl": 8, "packag": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "subpackag": [9, 11, 27], "submodul": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "core": [9, 27], "modul": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "content": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "frontend": 10, "decod": 10, "fetch": 10, "icach": 10, "rvc": 10, "fu": [11, 12], "alu": 11, "div_unit": 11, "except": [11, 17, 20], "fu_decod": 11, "jumpbranch": 11, "mul_unit": 11, "shift_unit": 11, "zbc": 11, "zb": 11, "unsigned_multipl": 12, "common": 12, "fast_recurs": 12, "sequenc": 12, "shift": 12, "param": 13, "configur": 13, "depend": 13, "fu_param": 13, "genparam": 13, "icache_param": 13, "instr": 13, "isa": 13, "kei": 13, "layout": 13, "optyp": 13, "peripher": 14, "wishbon": 14, "schedul": [15, 23], "wakeup_select": 15, "stage": 16, "backend": 16, "func_blocks_unifi": 16, "retir": 16, "rs_func_block": 16, "structs_common": 17, "csr": 17, "csr_gener": 17, "rat": 17, "rf": 17, "rob": 17, "r": 17, "util": 18, "debug_sign": 18, "fifo": 18, "protocol": 18, "summari": 20, "paper": 20, "about": 20, "interrupt": 20, "handl": 20, "old": 20, "pc": 20, "out": 20, "order": 20, "execut": 20, "processor": 20, "In": 20, "line": 20, "softwar": 20, "manag": 20, "tlb": 20, "hardwar": 20, "cost": 20, "analysi": 20, "process": 20, "strategi": 20, "igpu": 20, "support": 20, "specul": 20, "gpu": 20, "effici": 20, "other": 20, "overview": [23, 25], "descript": 23, "schema": 23, "structur": 23, "more": 23, "detail": 23, "each": 23, "block": 23, "proposit": 24, "reserv": [24, 25], "station": [24, 25], "intern": 24, "data": 24, "actual": 24, "slot": [24, 25], "tabl": 24, "compar": [24, 25], "substitut": [24, 25], "read": [24, 25], "row": [24, 25], "clean": [24, 25], "get": [24, 25], "free": 24, "mark": [24, 25], "extern": [24, 25], "all": [24, 25], "reset": 25, "initi": 25, "state": 25, "insert": 25, "new": 25, "readi": 25, "vector": 25, "signal": 25, "synthesi": 26, "requir": 26, "benchmark": 26, "trace": 27, "lib": 28, "adapt": 28, "button": 28, "connector": 28, "reqr": 28, "simultan": 28, "storag": 28, "transform": 28}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["Assumptions", "Current_graph", "Development_environment", "Home", "Problem-checklist", "Transactions", "api", "auto_graph", "components/icache", "coreblocks", "coreblocks.frontend", "coreblocks.fu", "coreblocks.fu.unsigned_multiplication", "coreblocks.params", "coreblocks.peripherals", "coreblocks.scheduler", "coreblocks.stages", "coreblocks.structs_common", "coreblocks.utils", "index", "miscellany/exceptionsSummary", "modules-coreblocks", "modules-transactron", "scheduler/Overview", "shared_structs/Implementation/RS_impl", "shared_structs/RS", "synthesis/Synthesis", "transactron", "transactron.lib"], "filenames": ["Assumptions.md", "Current_graph.md", "Development_environment.md", "Home.md", "Problem-checklist.md", "Transactions.md", "api.md", "auto_graph.rst", "components/icache.md", "coreblocks.rst", "coreblocks.frontend.rst", "coreblocks.fu.rst", "coreblocks.fu.unsigned_multiplication.rst", "coreblocks.params.rst", "coreblocks.peripherals.rst", "coreblocks.scheduler.rst", "coreblocks.stages.rst", "coreblocks.structs_common.rst", "coreblocks.utils.rst", "index.md", "miscellany/exceptionsSummary.md", "modules-coreblocks.rst", "modules-transactron.rst", "scheduler/Overview.md", "shared_structs/Implementation/RS_impl.md", "shared_structs/RS.md", "synthesis/Synthesis.md", "transactron.rst", "transactron.lib.rst"], "titles": ["List of assumptions made during development", "Full transaction-method graph", "Development environment", "Introduction", "Problem checklist", "Documentation for Coreblocks transaction framework", "API", "<no title>", "Instruction Cache", "coreblocks package", "coreblocks.frontend package", "coreblocks.fu package", "coreblocks.fu.unsigned_multiplication package", "coreblocks.params package", "coreblocks.peripherals package", "coreblocks.scheduler package", "coreblocks.stages package", "coreblocks.structs_common package", "coreblocks.utils package", "Coreblocks", "Summary of papers about interrupts", "coreblocks", "transactron", "Scheduler overview", "Proposition of Reservation Station implementation", "Reservation Station", "Synthesis", "transactron package", "transactron.lib package"], "terms": {"rf": [0, 6, 9, 16, 20, 21, 24, 25], "ha": [0, 2, 4, 10, 15, 17, 18, 20, 24, 27], "data": [0, 10, 13, 14, 17, 18, 19, 25, 27, 28], "forward": [0, 27, 28], "from": [0, 2, 3, 4, 5, 10, 13, 14, 15, 16, 17, 18, 20, 24, 25, 26, 27, 28], "tomasulo": 0, "announc": [0, 16, 17], "bu": [0, 13, 14], "read": [0, 4, 5, 13, 14, 17, 18, 19, 28], "x0": [0, 13], "rf0": 0, "return": [0, 5, 8, 11, 13, 14, 18, 20, 27, 28], "0": [0, 10, 11, 13, 15, 17, 24, 25, 27], "write": [0, 5, 10, 17, 18, 20, 25, 28], "i": [0, 2, 3, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 23, 24, 25, 26, 27, 28], "noop": 0, "separ": [0, 23, 28], "r": [0, 2, 6, 9, 13, 15, 16, 20, 21, 23, 24, 25], "each": [0, 10, 11, 13, 14, 17, 19, 20, 24, 25, 26, 27, 28], "fu": [0, 6, 9, 13, 16, 17, 21, 24, 25], "writeback": 0, "stage": [0, 6, 9, 17, 21], "save": [0, 2, 13, 16, 20, 24, 25, 26, 28], "rob": [0, 6, 9, 15, 16, 20, 21, 23, 24, 25], "after": [0, 5, 8, 10, 14, 20, 23, 28], "get": [0, 2, 10, 11, 12, 13, 15, 16, 18, 19, 27, 28], "output": [0, 2, 10, 14, 16, 17, 20, 24, 25, 26, 27, 28], "commit": [0, 2, 17, 20, 26], "updat": [0, 16, 17, 18], "rat": [0, 6, 9, 15, 20, 21], "In": [2, 3, 5, 15, 18, 19, 25, 26, 27], "order": [2, 3, 5, 8, 13, 15, 19, 26, 27, 28], "prepar": [2, 15, 20, 27], "pleas": [2, 4, 5, 13], "follow": [2, 5, 8, 11, 15, 18, 24, 26], "step": [2, 5, 10, 15, 20], "below": 2, "instal": [2, 26], "python": [2, 5, 18, 27], "3": [2, 11, 13, 17, 18, 27], "11": [2, 8, 13], "interpret": [2, 13, 28], "pip": 2, "packag": [2, 6, 19, 21, 22], "manag": [2, 11, 13, 19, 27, 28], "option": [2, 5, 11, 13, 17, 18, 27, 28], "creat": [2, 10, 12, 18, 27, 28], "virtual": 2, "python3": 2, "m": [2, 5, 13, 17, 18, 20, 27, 28], "venv": 2, "project": [2, 3, 20, 26], "directori": [2, 3], "activ": [2, 28], "gener": [2, 3, 4, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 26, 27, 28], "bin": 2, "all": [2, 4, 5, 13, 14, 17, 18, 19, 20, 26, 27, 28], "requir": [2, 8, 17, 19, 20, 27], "librari": [2, 19, 28], "pip3": 2, "dev": 2, "txt": 2, "riscv64": 2, "unknown": [2, 13], "elf": 2, "binutil": 2, "your": [2, 4], "favourit": 2, "On": [2, 28], "debian": 2, "base": [2, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 27, 28], "distro": 2, "call": [2, 4, 5, 10, 15, 17, 24, 27, 28], "arch": [2, 13], "precommit": [2, 16], "hook": [2, 27], "pre": 2, "thi": [2, 4, 5, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 24, 25, 26, 27, 28], "automat": [2, 17, 18], "run": [2, 5, 26, 27, 28], "linter": 2, "befor": [2, 4, 13, 14, 23, 28], "The": [2, 3, 8, 10, 11, 13, 14, 16, 18, 19, 20, 23, 24, 25, 27, 28], "contain": [2, 5, 13, 18, 27, 28], "number": [2, 12, 13, 14, 16, 18, 20, 26, 27, 28], "which": [2, 3, 5, 8, 10, 11, 15, 16, 18, 20, 23, 24, 25, 27, 28], "ar": [2, 3, 4, 5, 8, 13, 14, 16, 17, 18, 20, 23, 24, 25, 26, 27, 28], "ci": [2, 26], "also": [2, 5, 16, 28], "intend": [2, 27], "local": [2, 13], "thei": [2, 5, 14, 17, 20, 23, 27, 28], "unit": [2, 8, 10, 11, 12, 13, 14, 15, 16, 17, 23], "test": [2, 4, 13, 18, 26, 27, 28], "By": [2, 27, 28], "default": [2, 13, 14, 18, 27, 28], "everi": [2, 10, 11, 14, 27, 28], "avail": [2, 3, 13, 14, 15, 17, 26], "specif": [2, 8, 13, 20], "file": [2, 13, 18, 20], "can": [2, 3, 5, 8, 13, 14, 16, 17, 18, 20, 23, 24, 26, 27, 28], "test_transact": 2, "an": [2, 3, 4, 5, 8, 10, 15, 16, 18, 20, 24, 27, 28], "exampl": [2, 5, 13, 17, 18, 19, 24, 26, 27, 28], "One": [2, 18, 20, 28], "even": [2, 20, 27, 28], "class": [2, 5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "testschedul": 2, "Or": [2, 5], "method": [2, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 27, 28], "test_singl": 2, "argument": [2, 5, 14, 15, 18, 25, 27, 28], "actual": [2, 10, 19], "search": 2, "within": [2, 12], "full": [2, 13, 18, 19, 20, 28], "name": [2, 5, 18, 26, 27, 28], "match": [2, 18, 24, 25], "queri": 2, "thank": 2, "given": [2, 5, 18, 24, 27, 28], "uniqu": 2, "just": [2, 5], "l": [2, 13], "list": [2, 4, 10, 11, 13, 14, 17, 18, 19, 27, 28], "help": [2, 20, 26], "e": [2, 4, 10, 13, 18, 20, 28], "g": [2, 4, 10, 13, 18, 20], "find": [2, 20], "parameter": 2, "t": [2, 4, 5, 10, 13, 18, 20, 24, 26, 27, 28], "trace": [2, 6, 22], "waveform": 2, "vcd": 2, "format": [2, 5, 11, 18, 27, 28], "gtkw": [2, 18], "gtkwave": [2, 18], "tool": [2, 12, 26], "__traces__": 2, "debug": [2, 18], "driven": 2, "v": [2, 3, 8, 13, 20, 24], "verbos": [2, 26], "make": [2, 3, 4, 10, 11, 20], "runner": 2, "more": [2, 16, 19, 20, 26], "It": [2, 5, 10, 11, 12, 13, 15, 16, 20, 23, 24, 27, 28], "print": 2, "being": [2, 14, 18, 28], "check": [2, 4, 18, 20, 24, 25], "code": [2, 3, 4, 5, 18, 20, 27, 28], "type": [2, 10, 11, 13], "should": [2, 3, 5, 8, 10, 13, 14, 15, 16, 18, 20, 23, 24, 25, 27, 28], "subcommand": 2, "filenam": 2, "main": [2, 20, 23], "reformat": 2, "black": 2, "check_format": 2, "verifi": 2, "flake8": 2, "check_typ": 2, "pyright": 2, "same": [2, 5, 12, 13, 18, 27, 28], "when": [2, 4, 5, 10, 14, 18, 20, 24, 25, 27, 28], "confront": 2, "would": [2, 13, 20], "messag": 2, "you": [2, 4, 24, 26], "mai": [2, 26], "diff": 2, "wai": [2, 5, 10, 11, 13, 20, 27], "displai": 2, "chang": [2, 5, 24, 28], "appli": [2, 4, 20, 27], "chose": 2, "locat": [2, 3, 23], "issu": [2, 8, 10, 11, 12, 15, 18, 28], "visual": 2, "core": [2, 6, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 26, 28], "architectur": [2, 20], "graph": [2, 6, 19, 22, 26], "one": [2, 5, 8, 10, 11, 14, 16, 18, 20, 23, 24, 25, 27, 28], "support": [2, 10, 13, 15, 19, 27, 28], "need": [2, 5, 10, 14, 20, 24, 26, 27], "pass": [2, 5, 16, 17, 18, 27, 28], "appropri": [2, 24, 28], "p": [2, 13], "prune": [2, 27], "remov": [2, 20], "disconnect": 2, "node": 2, "f": [2, 13, 15, 26], "select": [2, 10, 11, 14, 15, 16, 17, 18], "elk": [2, 27], "eclips": 2, "layout": [2, 4, 5, 6, 9, 10, 14, 15, 16, 18, 21, 27, 28], "kernel": [2, 20], "dot": [2, 27], "graphviz": 2, "mermaid": [2, 27], "document": [2, 19], "sphinx": 2, "html": [2, 3], "build": [2, 26], "coreblock": [3, 4, 26], "go": [3, 4, 20, 27], "out": [3, 10, 11, 12, 14, 16, 19, 27, 28], "processor": [3, 19, 23], "implement": [3, 11, 13, 14, 19, 20, 23], "risc": [3, 8, 13], "microarchitectur": 3, "focu": 3, "flexibl": [3, 23], "allow": [3, 13, 18, 20, 27, 28], "easili": [3, 28], "experi": 3, "differ": [3, 4, 11, 13, 14, 16, 20, 27, 28], "compon": [3, 10, 13, 27], "doc": 3, "collect": [3, 13, 16, 17, 18, 26, 27, 28], "descript": [3, 19], "whole": [3, 10, 20, 28], "overview": [3, 19, 20], "high": 3, "level": [3, 13, 20], "found": 3, "version": 3, "page": [3, 20], "api": [3, 19], "kuznia": 3, "rdzeni": 3, "github": 3, "io": 3, "If": [4, 5, 8, 10, 13, 14, 17, 18, 20, 24, 27, 28], "someth": [4, 5], "doesn": [4, 5, 18, 20], "work": [4, 5, 10, 15, 20, 27], "re": [4, 5, 14, 20, 27], "puzzl": 4, "why": 4, "through": 4, "see": [4, 5, 12], "ani": [4, 8, 10, 13, 14, 15, 18, 20], "point": [4, 13, 20], "case": [4, 8, 14, 15, 16, 18, 20, 27, 28], "sure": 4, "us": [4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28], "yield": 4, "function": [4, 5, 10, 11, 13, 15, 16, 18, 20, 26, 27, 28], "testbenchio": 4, "notabl": 4, "except": [4, 6, 9, 13, 16, 18, 19, 21, 27], "settl": 4, "instead": [4, 5, 20, 27], "signal": [4, 10, 11, 14, 18, 19, 27, 28], "unexpect": 4, "valu": [4, 10, 11, 13, 14, 15, 16, 17, 18, 24, 25, 27, 28], "try": [4, 5, 20], "ad": [4, 13, 18, 26, 27, 28], "right": [4, 27], "don": [4, 20, 24, 27], "do": [4, 10, 13, 20, 27], "eq": [4, 5, 27], "two": [4, 5, 10, 16, 17, 18, 20, 27, 28], "record": [4, 5, 10, 11, 14, 18, 27, 28], "assign": [4, 5, 17, 18, 27], "util": [4, 5, 6, 9, 15, 16, 21, 27, 28], "amaranth": [4, 5, 10, 11, 13, 14, 18, 26, 27, 28], "statement": [4, 5, 18, 27], "some": [4, 5, 17, 20, 26, 27, 28], "domain": [4, 27], "have": [4, 8, 13, 14, 16, 17, 18, 20, 26, 27], "combin": [4, 13, 16, 27, 28], "loop": 4, "especi": 4, "simul": [4, 28], "hang": 4, "extend": [4, 13, 27], "spot": 4, "yourself": [4, 5, 26], "easi": [4, 5, 20], "fix": 4, "mistak": 4, "modular": 5, "design": [5, 12, 20, 27], "inspir": 5, "bluespec": 5, "program": [5, 13, 20], "languag": [5, 13], "wiki": 5, "compil": [5, 26], "idea": [5, 20], "interfac": [5, 10, 12, 14, 15, 16, 17, 19, 27, 28], "hardwar": [5, 13, 19, 23], "modul": [5, 6, 21, 22], "A": [5, 10, 13, 27, 28], "state": [5, 14, 19, 20, 27, 28], "oper": [5, 8, 10, 11, 13, 20, 27, 28], "perform": [5, 10, 11, 12, 13, 15, 17, 18, 26, 27, 28], "singl": [5, 11, 12, 13, 15, 16, 18, 27, 28], "clock": [5, 12, 23, 26, 27, 28], "cycl": [5, 8, 11, 12, 14, 17, 20, 23, 27, 28], "atom": [5, 13, 24], "either": [5, 10, 18, 27], "execut": [5, 11, 13, 14, 15, 16, 19, 23, 25, 27, 28], "its": [5, 10, 15, 16, 17, 18, 20, 27, 28], "entrieti": 5, "onli": [5, 11, 17, 18, 20, 27, 28], "readi": [5, 10, 14, 15, 16, 17, 18, 19, 24, 27, 28], "doe": 5, "conflict": [5, 27], "anoth": [5, 8, 10, 27, 28], "schedul": [5, 6, 9, 19, 20, 21, 27, 28], "defin": [5, 10, 17, 18, 27, 28], "depend": [5, 6, 9, 17, 18, 21, 27], "other": [5, 17, 19, 27, 28], "via": [5, 10, 27], "directli": [5, 13, 27], "link": 5, "indirectli": [5, 27], "multipl": [5, 8, 11, 12, 13, 14, 15, 16, 27], "them": [5, 13, 18, 20, 27, 28], "access": [5, 8, 13, 17, 20], "coordin": 5, "system": [5, 13], "avoid": 5, "commun": [5, 20, 24], "caller": [5, 27, 28], "both": [5, 18, 24, 27, 28], "direct": [5, 18, 27, 28], "back": 5, "structur": [5, 18, 19, 20, 24], "simplest": 5, "part": [5, 17, 20, 23, 27, 28], "elaborat": [5, 9, 10, 11, 12, 14, 15, 16, 17, 18, 27, 28], "block": [5, 8, 12, 13, 14, 15, 16, 19, 20, 27, 28], "myth": 5, "def": [5, 27], "elabor": 5, "self": 5, "platform": [5, 26, 27], "tmodul": [5, 17, 27, 28], "bodi": [5, 17, 27, 28], "condit": [5, 27, 28], "includ": [5, 18, 27, 28], "like": [5, 8, 10, 14, 20, 27, 28], "d": [5, 13, 27], "comb": [5, 27], "sig1": 5, "expr1": 5, "sync": [5, 27], "sig2": 5, "expr2": 5, "result": [5, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 28], "arg_expr": 5, "analog": 5, "": [5, 13, 14, 18, 20, 27, 28], "multiplex": 5, "rememb": [5, 20, 27], "insid": [5, 10, 27, 28], "alwai": [5, 8, 17, 27, 28], "onc": [5, 27, 28], "becaus": [5, 20, 27, 28], "resourc": [5, 11, 20, 26], "request": [5, 8, 10, 11, 12, 13, 14, 27, 28], "paramet": [5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 27, 28], "bit": [5, 8, 10, 11, 12, 13, 14, 17, 18, 20, 24, 25, 28], "express": 5, "expr": 5, "As": [5, 8, 20], "typic": [5, 27, 28], "declar": 5, "constructor": [5, 10, 27], "myotherth": 5, "__init__": [5, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "o": [5, 12, 20, 27, 28], "my_method": 5, "input_layout": 5, "output_layout": 5, "def_method": [5, 27], "_": [5, 27], "arg": [5, 11, 18, 27, 28], "other_method": 5, "ret_expr": 5, "techniqu": 5, "present": [5, 18, 20, 28], "abov": 5, "conveni": [5, 27], "syntax": [5, 27], "particular": 5, "unnam": 5, "usual": [5, 20], "For": [5, 8, 13, 18, 24, 25, 26], "could": 5, "around": 5, "entir": [5, 8], "sometim": 5, "might": [5, 27], "altern": [5, 27, 28], "decid": [5, 20, 23], "best": 5, "import": [5, 20], "question": 5, "ask": 5, "independ": [5, 8, 28], "thing": [5, 18], "lock": [5, 20, 28], "so": [5, 14, 16, 20, 27, 28], "mayb": [5, 20], "extern": [5, 19, 27], "doubt": 5, "prefer": 5, "noth": 5, "els": [5, 17, 20, 27], "Such": 5, "adaptertran": [5, 28], "facilit": 5, "provid": [5, 10, 11, 13, 15, 17, 28], "most": [5, 8, 20, 27], "ones": 5, "connecttran": [5, 28], "connect": [5, 10, 14, 16, 17, 20, 27, 28], "togeth": [5, 27], "fifo": [5, 6, 9, 16, 20, 21, 28], "queue": [5, 18, 20, 28], "adapt": [5, 6, 22, 27], "plain": [5, 27, 28], "These": [5, 20, 26], "veri": [5, 20], "testbench": [5, 28], "parent": 5, "convers": 5, "true": [5, 13, 14, 18, 27, 28], "possibl": [5, 18, 20, 28], "limit": [5, 14, 28], "impli": 5, "consid": [5, 20, 28], "subpackag": [6, 21, 22], "frontend": [6, 9, 21, 23], "submodul": [6, 21, 22], "decod": [6, 9, 11, 15, 21], "fetch": [6, 8, 9, 13, 16, 17, 20, 21], "icach": [6, 9, 21], "rvc": [6, 9, 21], "content": [6, 21, 22], "alu": [6, 9, 13, 21], "div_unit": [6, 9, 21], "fu_decod": [6, 9, 21], "jumpbranch": [6, 9, 13, 21], "mul_unit": [6, 9, 21], "shift_unit": [6, 9, 13, 21], "zbc": [6, 9, 13, 21], "zb": [6, 9, 13, 21], "param": [6, 9, 10, 11, 15, 16, 17, 21], "configur": [6, 9, 15, 21], "fu_param": [6, 9, 21], "genparam": [6, 9, 10, 11, 12, 15, 16, 17, 21], "icache_param": [6, 9, 21], "instr": [6, 9, 10, 21], "isa": [6, 9, 10, 17, 21], "kei": [6, 9, 17, 18, 21], "optyp": [6, 9, 10, 11, 15, 16, 17, 21], "peripher": [6, 9, 21], "wishbon": [6, 9, 21], "wakeup_select": [6, 9, 21], "backend": [6, 9, 21], "func_blocks_unifi": [6, 9, 21], "retir": [6, 9, 21], "rs_func_block": [6, 9, 21], "structs_common": [6, 9, 21], "csr": [6, 9, 10, 13, 21], "csr_gener": [6, 9, 21], "debug_sign": [6, 9, 16, 21, 27, 28], "protocol": [6, 9, 10, 15, 16, 21, 27], "lib": [6, 18, 22, 27], "button": [6, 22, 27], "connector": [6, 22, 27], "reqr": [6, 22, 27], "simultan": [6, 17, 22, 27], "storag": [6, 22, 27], "transform": [6, 22, 27], "expos": [8, 18, 28], "three": [8, 10, 20, 27], "issue_req": [8, 10], "lookup": [8, 10], "accept_resp": 8, "flush": [8, 10, 20], "under": [8, 27], "4": [8, 11, 13, 28], "byte": [8, 13], "align": [8, 18], "c": [8, 13, 20], "extens": [8, 13], "introduc": [8, 20], "16": [8, 13, 20, 27], "relax": 8, "handl": [8, 11, 19, 27], "fulli": [8, 28], "pipelin": [8, 14, 15, 17, 20, 24, 28], "process": [8, 19, 28], "invok": [8, 10, 15, 16, 20, 24], "accept_r": [8, 10], "space": [8, 20], "simpli": 8, "latenc": [8, 20, 28], "least": 8, "miss": [8, 20], "occur": [8, 10], "arbitrarili": 8, "long": [8, 25, 28], "ensur": 8, "refetch": 8, "howev": 8, "guarante": [8, 20], "alreadi": [8, 13, 16, 20], "been": 8, "still": [8, 20, 25, 27], "wait": [8, 14, 16, 20, 24, 25, 27], "accept": [8, 10, 11, 12, 17, 18, 28], "inform": [8, 15, 26, 27], "regard": 8, "error": [8, 10, 14, 18, 27], "mean": [8, 15, 25, 27, 28], "dure": [8, 19, 23], "line": [8, 10, 13, 19], "refil": [8, 10], "subsequ": 8, "trigger": [8, 17], "32": [8, 11, 12, 13, 20], "128": [8, 13], "set": [8, 10, 11, 13, 15, 16, 17, 19, 24, 27, 28], "size": [8, 13, 14, 18, 20, 28], "equal": 8, "31": [8, 13], "15": [8, 13], "14": [8, 13], "13": [8, 13], "12": [8, 13], "10": [8, 13, 20], "09": 8, "08": 8, "07": 8, "06": 8, "05": 8, "04": 8, "03": 8, "02": 8, "01": 8, "00": 8, "tag": [8, 14, 16, 20, 24, 25], "index": [8, 18, 27], "offset": 8, "unsigned_multipl": [9, 11], "common": [9, 11, 18, 28], "fast_recurs": [9, 11], "sequenc": [9, 11, 15, 18, 27, 28], "shift": [9, 11, 13], "gen_param": [9, 10, 11, 13, 15, 16, 17], "wb_instr_bu": 9, "wishbonebu": [9, 14], "wb_data_bu": 9, "simpl": [10, 15, 16, 18, 27, 28], "transact": [10, 13, 14, 17, 18, 19, 24, 27, 28], "instanti": 10, "instrdecod": 10, "combinatori": 10, "manner": [10, 14], "get_raw": 10, "push_decod": 10, "none": [10, 11, 13, 16, 17, 18, 27, 28], "instanc": [10, 13, 15, 16, 27], "raw": 10, "instruct": [10, 11, 13, 15, 16, 17, 19, 20, 23, 24], "previou": [10, 14, 20], "fetchlayout": [10, 13], "send": [10, 13, 15, 16], "next": [10, 15, 16, 17, 20, 27], "describ": [10, 15, 16, 20, 27, 28], "decodelayout": [10, 13, 15], "elementari": 10, "opcod": [10, 13, 24, 25], "funct3": [10, 11, 13], "etc": 10, "attribut": [10, 11, 12, 13, 14, 16, 17, 18, 27, 28], "gen": [10, 11, 12, 16], "ilen": [10, 13], "identifi": [10, 13, 24], "funct3_v": 10, "1": [10, 11, 12, 13, 15, 17, 18, 20, 24, 25, 27, 28], "funct7": [10, 11, 13], "seven": 10, "funct7_v": 10, "funct12": [10, 13], "twelv": 10, "funct12_v": 10, "rd": [10, 13], "reg_cnt_log": 10, "address": [10, 13, 14, 17, 19, 20], "regist": [10, 13, 15, 17, 20, 23], "rd_v": 10, "rs1": [10, 13], "hold": [10, 14, 17], "first": [10, 11, 15, 20, 24, 25, 28], "input": [10, 11, 16, 17, 18, 20, 24, 25, 27, 28], "rs1_v": 10, "take": [10, 13, 14, 16, 23, 24, 26, 27, 28], "form": [10, 13, 17, 20, 28], "rs2": [10, 13], "second": [10, 11, 15, 24, 25, 28], "rs2_v": 10, "imm": [10, 13], "xlen": [10, 11, 13, 17], "immedi": [10, 14], "were": [10, 20], "succ": 10, "fencetarget": [10, 13], "successor": 10, "fenc": [10, 13], "pred": 10, "predecessor": 10, "fm": 10, "fencefm": [10, 13], "mode": [10, 13, 20], "csr_alen": [10, 13], "control": [10, 13, 14, 17, 27, 28], "sourc": [10, 15, 24], "kind": [10, 11, 13, 15], "illeg": 10, "wa": [10, 13, 17, 20, 27, 28], "success": [10, 14], "fit": 10, "pc": [10, 17, 19], "increment": [10, 17], "ilen_byt": 10, "icacheinterfac": 10, "cont": 10, "cach": [10, 13, 19], "unalignedfetch": 10, "unalign": 10, "associ": [10, 13], "replac": [10, 12, 13, 24], "polici": 10, "pseudo": 10, "random": 10, "scheme": 10, "time": [10, 14, 17, 20, 26, 27, 28], "trash": 10, "we": [10, 16, 20, 23, 24, 25, 26], "keep": [10, 27], "global": [10, 17, 20], "counter": [10, 13, 17], "abstract": [10, 12, 13], "awai": 10, "refiller_start": 10, "whenev": 10, "refiller_accept": 10, "word": [10, 13], "written": [10, 17, 25, 28], "last": [10, 15, 27, 28], "transfer": [10, 14, 27, 28], "over": [10, 17, 18, 27], "shouldn": 10, "until": [10, 20, 28], "start": [10, 11, 14, 20, 27], "icachelayout": [10, 13], "icacheparamet": [10, 13], "cacherefillerinterfac": 10, "start_refil": 10, "accept_refil": 10, "deserialize_addr": 10, "raw_addr": 10, "dict": [10, 14, 18, 27, 28], "str": [10, 13, 18, 27, 28], "hdl": [10, 11, 13, 18, 27, 28], "ast": [10, 11, 13, 18, 27, 28], "serialize_addr": 10, "addr": [10, 28], "icachebypass": 10, "wb_master": 10, "wishbonemast": [10, 13, 14], "haselabor": [10, 18, 27], "simplewbcacherefil": 10, "instrdecompress": 10, "decompr_reg": 10, "rvc_reg": 10, "instr_mux": 10, "sel": 10, "int": [10, 11, 12, 13, 14, 16, 17, 18, 27, 28], "enum": [10, 11, 13, 18, 27, 28], "valuecast": [10, 13, 18, 27, 28], "tupl": [10, 11, 15, 16, 17, 18, 27, 28], "is_instr_compress": 10, "alucompon": [11, 13], "functionalcomponentparam": [11, 13, 16], "zba_en": 11, "fals": [11, 13, 18, 27, 28], "zbb_enabl": 11, "get_modul": [11, 13, 16, 17], "funcunit": [11, 13, 16, 18], "get_optyp": [11, 13, 16, 17], "alufuncunit": 11, "alu_fn": 11, "alufn": 11, "object": [11, 13, 14, 27], "divcompon": 11, "ipc": 11, "div_fn": 11, "divfn": 11, "decodermanag": 11, "fn": 11, "intflag": [11, 13, 27], "div": [11, 13], "divu": [11, 13], "2": [11, 12, 13, 14, 17, 18, 27, 28], "rem": [11, 13], "remu": [11, 13], "8": [11, 12, 13, 14, 27], "__new__": [11, 13, 17, 27], "get_instruct": 11, "divunit": 11, "get_input": 11, "exceptionfuncunit": 11, "unit_fn": 11, "exceptionunitfn": 11, "exceptionunitcompon": [11, 13], "respons": [11, 14, 15, 27, 28], "decode_fn": 11, "exec_fn": 11, "op": [11, 13], "check_optyp": 11, "bool": [11, 13, 17, 18, 27, 28], "valid": [11, 13, 14, 15, 24], "get_decod": 11, "get_funct": 11, "get_op_typ": 11, "jumpbranchfuncunit": 11, "jb_fn": 11, "jumpbranchfn": 11, "jumpcompon": [11, 13], "mulcompon": 11, "mul_unit_typ": 11, "multyp": 11, "dsp_width": [11, 12], "mul_fn": 11, "mulfn": 11, "hot": [11, 18, 20], "wire": 11, "5": [11, 13, 23], "mul": [11, 13], "mulh": [11, 13], "mulhsu": [11, 13], "mulhu": [11, 13], "intenum": [11, 13, 17], "recursive_mul": 11, "fastest": 11, "multipli": [11, 12], "costli": [11, 20], "term": 11, "sequence_mul": 11, "dsp": [11, 12], "balanc": 11, "between": [11, 20, 27, 28], "cost": [11, 19], "shift_mul": 11, "cheapest": 11, "russian": [11, 12], "peasant": [11, 12], "algorithm": [11, 12], "mulunit": 11, "unsign": [11, 12], "integ": [11, 13, 18], "standard": [11, 17, 18, 20], "funcunitlayout": [11, 13, 15, 16], "comput": [11, 12, 17, 20, 28], "mul_typ": 11, "shiftfuncunit": 11, "shift_unit_fn": 11, "shiftunitfn": 11, "shiftunitcompon": [11, 13], "clmultipli": 11, "carri": [11, 13, 26], "less": [11, 13], "product": [11, 28], "i1": [11, 12], "n": [11, 12, 13], "factor": 11, "i2": [11, 12], "reset": [11, 17, 19, 27], "new": [11, 13, 14, 18, 19, 20, 27, 28], "busi": 11, "while": [11, 27], "progress": 11, "bit_width": 11, "recursion_depth": 11, "width": [11, 12, 13, 14, 17, 18, 28], "depth": [11, 14, 18, 28], "recurs": [11, 12, 18], "parallel": 11, "assum": [11, 16, 18, 20, 28], "power": [11, 18], "iterative_modul": 11, "recursive_modul": 11, "zbccompon": 11, "zbc_fn": 11, "zbcfn": 11, "clmul": [11, 13], "clmulh": [11, 13], "clmulr": [11, 13], "classmethod": [11, 27], "zbcunit": 11, "zbsfunction": 11, "in1": 11, "in2": 11, "zbscompon": 11, "bclr": [11, 13], "bext": [11, 13], "binv": [11, 13], "bset": [11, 13], "zbsunit": 11, "zbs_fn": 11, "dspmulunit": 12, "synthesi": [12, 19], "mulbaseunsign": 12, "unsignedmulunitlayout": [12, 13], "recursiveunsignedmul": 12, "fast": 12, "sequentialunsignedmul": 12, "sequenti": [12, 14], "classic": [12, 20], "shiftunsignedmul": 12, "cheap": 12, "multi": 12, "coreconfigur": 13, "func_units_config": 13, "blockcomponentparam": [13, 16, 17], "reserv": [13, 17, 19, 20], "station": [13, 19], "rsblockcompon": [13, 16], "rs_entri": [13, 16, 17], "lsublockcompon": 13, "compress": 13, "enabl": [13, 28], "embed": 13, "reduc": [13, 20, 27], "phys_regs_bit": 13, "physic": [13, 15, 20], "rob_entries_bit": 13, "reorder": [13, 20, 28], "buffer": [13, 14, 20, 24, 28], "start_pc": 13, "initi": [13, 19], "icache_en": 13, "disabl": [13, 28], "bypass": 13, "icache_wai": 13, "icache_sets_bit": 13, "log": [13, 20], "icache_block_size_bit": 13, "allow_partial_extens": 13, "partial": 13, "_implied_extens": 13, "extenst": 13, "flag": 13, "specifi": [13, 14, 17, 25, 28], "intern": [13, 18, 19, 27], "abc": [13, 18, 27, 28], "func_unit": [13, 16], "lsu": 13, "dummylsu": 13, "6": [13, 20], "7": 13, "kwarg": [13, 14, 18, 27], "dependencykei": 13, "u": [13, 20], "dependencymanag": [13, 17], "concret": 13, "frozen": 13, "lock_on_get": 13, "get_depend": 13, "empty_valid": 13, "without": [13, 15, 16, 20], "action": [13, 17, 27], "caus": [13, 20, 28], "rais": [13, 18, 20, 27], "keyerror": [13, 27], "add_depend": 13, "give": 13, "behavior": [13, 27], "track": 13, "across": 13, "add": [13, 27], "multpl": 13, "funcblock": [13, 15, 16, 17, 18], "get_rs_entry_count": [13, 16, 17], "optypes_support": 13, "iter": [13, 16, 17, 18, 27, 28], "dependentcach": 13, "cfg": 13, "addr_width": [13, 14], "length": [13, 18, 20, 27], "word_width": 13, "machin": [13, 17], "num_of_wai": 13, "num_of_sets_bit": 13, "block_size_bit": 13, "btypeinstr": 13, "riscvinstr": 13, "pack": 13, "ebreakinstr": 13, "itypeinstr": 13, "illegalinstr": 13, "jtypeinstr": 13, "rtypeinstr": 13, "stypeinstr": 13, "utypeinstr": 13, "exceptioncaus": 13, "breakpoint": 13, "environment_call_from_m": 13, "environment_call_from_": 13, "9": 13, "environment_call_from_u": 13, "illegal_instruct": 13, "instruction_access_fault": 13, "instruction_address_misalign": 13, "instruction_page_fault": 13, "load_access_fault": 13, "load_address_misalign": 13, "load_page_fault": 13, "store_access_fault": 13, "store_address_misalign": 13, "store_page_fault": 13, "b": 13, "512": 13, "manipul": 13, "256": 13, "doubl": [13, 17, 20], "precis": [13, 20], "float": 13, "64": [13, 14], "98366": 13, "basic": [13, 19], "j": 13, "1024": 13, "dynam": [13, 18, 20], "decim": 13, "divis": 13, "16384": 13, "user": [13, 17, 20], "interrupt": [13, 19], "4096": 13, "simd": 13, "q": 13, "quad": 13, "2048": 13, "memori": [13, 14, 20, 28], "8192": 13, "vector": [13, 15, 19, 20], "xintmachinemod": 13, "8589934592": 13, "categor": 13, "privilieg": 13, "xintsupervisor": 13, "17179869184": 13, "supervisor": [13, 17], "zam": 13, "2097152": 13, "misalign": 13, "zba": 13, "268435456": 13, "zbb": 13, "536870912": 13, "1073741824": 13, "2147483648": 13, "zdinx": 13, "33554432": 13, "zfh": 13, "4194304": 13, "half": 13, "zfhmin": 13, "8388608": 13, "minim": 13, "zfinx": 13, "16777216": 13, "zhinx": 13, "67108864": 13, "zicntr": 13, "524288": 13, "timer": [13, 17], "zicsr": 13, "32768": 13, "statu": [13, 17], "zifencei": 13, "65536": 13, "zihintntl": 13, "262144": 13, "non": [13, 24, 27, 28], "tempor": 13, "hint": [13, 27], "zihintpaus": 13, "131072": 13, "paus": 13, "energi": 13, "zihpm": 13, "1048576": 13, "zmmul": 13, "134217728": 13, "ztso": 13, "4294967296": 13, "total": 13, "store": [13, 16, 18, 20, 24, 25, 28], "tso": 13, "dev_i": 13, "dev_o": 13, "mem_r": 13, "mem_w": 13, "clz": 13, "1536": 13, "cpop": 13, "1538": 13, "ctz": 13, "1537": 13, "ebreak": 13, "ecal": 13, "mret": 13, "770": 13, "orcb": 13, "647": 13, "rev8_32": 13, "1688": 13, "rev8_64": 13, "1720": 13, "sextb": 13, "1540": 13, "sexth": 13, "1541": 13, "sret": 13, "258": 13, "wfi": 13, "261": 13, "zexth": 13, "AND": 13, "andn": 13, "beq": 13, "bge": 13, "bgeu": 13, "blt": 13, "bltu": 13, "bne": 13, "csrrc": 13, "csrrci": 13, "csrr": 13, "csrrsi": 13, "csrrw": 13, "csrrwi": 13, "divuw": 13, "divw": 13, "fencei": 13, "h": [13, 20], "hu": 13, "jalr": 13, "max": [13, 26], "maxu": 13, "min": 13, "minu": 13, "mulw": 13, "OR": 13, "orn": 13, "priv": 13, "remuw": 13, "remw": 13, "rev8": 13, "rol": 13, "ror": 13, "sh1add": 13, "sh2add": 13, "sh3add": 13, "sll": 13, "slt": 13, "sltu": 13, "sr": 13, "sub": 13, "w": [13, 20], "xnor": 13, "xor": 13, "36": 13, "52": 13, "20": 13, "48": 13, "muldiv": 13, "sa": 13, "sfencevma": 13, "sl": 13, "gather": 13, "numer": 13, "val": 13, "correspond": [13, 24, 27], "val_log": 13, "field": [13, 16, 17, 18, 24, 25, 27, 28], "relev": [13, 27], "nativ": 13, "reg_cnt": 13, "maximum": 13, "bitwis": 13, "isa_str": 13, "string": 13, "refer": 13, "gcc": 13, "detail": [13, 19], "instrtyp": 13, "auipc": 13, "branch": [13, 20, 26, 28], "24": 13, "jal": 13, "27": 13, "25": 13, "load": [13, 20], "load_fp": 13, "lui": 13, "misc_mem": 13, "op32": 13, "op_imm": 13, "op_imm_32": 13, "store_fp": 13, "28": [13, 20], "a0": 13, "a1": 13, "a2": 13, "a3": 13, "a4": 13, "a5": 13, "a6": 13, "a7": 13, "17": 13, "fp": [13, 27], "gp": [13, 17], "ra": 13, "s0": 13, "s1": 13, "s10": 13, "26": 13, "s11": 13, "s2": 13, "18": 13, "s3": 13, "19": 13, "s4": 13, "s5": 13, "21": 13, "s6": 13, "22": 13, "s7": 13, "23": 13, "s8": 13, "s9": 13, "sp": 13, "t0": 13, "t1": 13, "t2": 13, "t3": 13, "t4": 13, "29": 13, "t5": 13, "30": [13, 20], "t6": 13, "tp": 13, "x1": 13, "x10": 13, "x11": 13, "x12": 13, "x13": 13, "x14": 13, "x15": 13, "x16": 13, "x17": 13, "x18": 13, "x19": 13, "x2": 13, "x20": 13, "x21": 13, "x22": 13, "x23": 13, "x24": 13, "x25": 13, "x26": 13, "x27": 13, "x28": 13, "x29": 13, "x3": 13, "x30": 13, "x31": 13, "x4": 13, "x5": 13, "x6": 13, "x7": 13, "x8": 13, "x9": 13, "zero": [13, 24, 28], "branchresolvedkei": 13, "unifierkei": [13, 16], "unifi": [13, 18], "alia": 13, "collector": [13, 28], "exceptionreportkei": 13, "simplekei": 13, "genericcsrregisterskei": 13, "genericcsrregist": [13, 17], "instructionprecommitkei": 13, "methodtryproduct": [13, 28], "wishbonedatakei": 13, "csrlayout": 13, "commonlayout": 13, "lsulayout": 13, "ratlayout": [13, 15], "rflayout": [13, 15], "roblayout": [13, 15], "rsinterfacelayout": 13, "rs_entries_bit": 13, "rslayout": [13, 15], "schedulerlayout": 13, "confus": 13, "address_gener": 13, "arithmet": 13, "bit_manipul": 13, "compar": [13, 19], "csr_imm": [13, 17], "csr_reg": [13, 17], "div_rem": 13, "33": 13, "logic": [13, 20, 25, 26], "single_bit_manipul": 13, "unary_bit_manipulation_1": 13, "unary_bit_manipulation_2": 13, "unary_bit_manipulation_3": 13, "unary_bit_manipulation_4": 13, "unary_bit_manipulation_5": 13, "optypes_required_by_extens": 13, "resolve_impl": 13, "ignore_unsupport": 13, "pipelinedwishbonemast": 14, "master": [14, 26], "wb_param": 14, "wishboneparamet": 14, "max_req": 14, "pend": 14, "wb": 14, "wishbonelayout": 14, "sent": [14, 16], "requestlayout": 14, "complet": [14, 16, 20], "resultlayout": 14, "requests_finish": 14, "generate_method_layout": 14, "wishbonearbit": 14, "arbit": 14, "slave": 14, "assert": 14, "cyc": 14, "grant": [14, 27, 28], "round": [14, 18, 27], "robin": [14, 27], "slave_wb": 14, "intefac": 14, "boolean": [14, 28], "whether": [14, 18], "side": [14, 17, 20, 24, 25], "otherwis": 14, "wb_layout": 14, "wbmaster": 14, "becom": 14, "generate_layout": 14, "wishbonememoryslav": 14, "underneath": 14, "keyword": [14, 27], "underli": 14, "infer": [14, 27], "data_width": 14, "wishbonemux": 14, "muxer": 14, "master_wb": 14, "ssel_tga": 14, "corespond": 14, "tga": 14, "stb": 14, "note": [14, 17, 18, 28], "stare": 14, "finish": [14, 16], "stall": [14, 17, 20], "clear": [14, 18, 24, 25, 28], "delai": 14, "previous": 14, "deassert": 14, "dat_r": 14, "dat_w": 14, "adr": 14, "singal": 14, "granular": [14, 28], "smallest": 14, "port": [14, 28], "capabl": 14, "insert": [15, 16, 17, 18, 19, 20, 23, 24], "alloc": [15, 23, 24, 25], "renam": [15, 23], "entri": [15, 16, 18, 20, 23, 24, 25, 28], "stuck": 15, "get_instr": 15, "get_free_reg": 15, "rat_renam": 15, "rob_put": 15, "rf_read1": 15, "rf_read2": 15, "reservation_st": 15, "decoded_instr": 15, "id": [15, 24, 25], "current": [15, 17, 20, 27], "free": [15, 19, 20, 25], "rat_rename_in": 15, "rat_rename_out": 15, "data_layout": [15, 28], "rf_read_out": 15, "rf_read_in": 15, "wakeupselect": 15, "wakeup": [15, 25], "firstli": 15, "get_readi": 15, "binari": 15, "where": [15, 20, 24, 25, 27, 28], "th": [15, 28], "posit": [15, 24, 25], "row": [15, 19], "taken": 15, "take_row": 15, "get_ready_list_out": 15, "take_out": 15, "push": 15, "down": 15, "resultannounc": 16, "mark": [16, 19, 20, 27], "get_result": [16, 17, 18, 28], "serial": [16, 28], "than": [16, 20], "manytooneconnecttran": [16, 28], "rob_mark_don": 16, "rs_write_v": 16, "rf_write_v": 16, "end": [16, 20], "rob_id": 16, "reg_id": 16, "reg_val": 16, "funcblocksunifi": 16, "extra_methods_requir": 16, "get_extra_method": 16, "item": [16, 18], "rob_peek": 16, "rob_retir": 16, "r_rat_commit": 16, "free_rf_put": 16, "rf_free": 16, "exception_cause_get": 16, "rsfuncblock": 16, "With": 16, "csrblockcompon": 17, "csrlistkei": 17, "listkei": 17, "csrregist": 17, "behaviour": 17, "csrunit": 17, "csr_val": 17, "effect": [17, 20, 24, 25, 27], "_fu_read": 17, "_fu_writ": 17, "ignor": 17, "prioriti": [17, 18, 27, 28], "csr_number": 17, "ro_bit": 17, "mask": [17, 28], "those": [17, 20], "upper": 17, "0b11": 17, "discard": 17, "regitst": 17, "unitl": 17, "place": [17, 20, 24, 27, 28], "put": [17, 24, 28], "receiv": [17, 27, 28], "fetch_continu": 17, "resum": 17, "privilegelevel": 17, "csr_access_privileg": 17, "csr_addr": 17, "csraddress": 17, "3072": 17, "cycleh": 17, "3200": 17, "instret": 17, "3074": 17, "instreth": 17, "3202": 17, "mcaus": 17, "834": 17, "3073": 17, "timeh": 17, "3201": 17, "doublecountercsr": 17, "group": 17, "At": 17, "overflow": [17, 28], "low_addr": 17, "high_addr": 17, "repres": [17, 27], "lower": [17, 18], "higher": 17, "synthetis": 17, "exceptioncauseregist": 17, "rob_get_indic": 17, "should_update_priorii": 17, "current_caus": 17, "new_caus": 17, "frat": 17, "rrat": 17, "registerfil": 17, "reorderbuff": 17, "ready_for": 17, "auto_debug_sign": 18, "_rec": [18, 27, 28], "view": [18, 27, 28], "signalbundl": [18, 27, 28], "map": [18, 19, 20, 27, 28], "arrai": 18, "basicfifo": 18, "empti": [18, 27, 28], "reiniti": 18, "init": 18, "shapelik": [18, 27, 28], "layoutlik": [18, 27, 28], "paramt": 18, "semaphor": 18, "max_count": 18, "target": [18, 28], "transactron": [18, 19], "assigntyp": 18, "rh": 18, "moduleconnector": 18, "anonym": 18, "onehotswitch": 18, "modulelik": [18, 27], "switch": [18, 20, 24, 27, 28], "style": 18, "similar": [18, 20, 28], "benefit": 18, "represent": 18, "sig": 18, "onehotcas": 18, "0b01": 18, "0b10": 18, "onehotswitchdynam": 18, "liter": [18, 27], "variabl": [18, 27], "signifi": 18, "align_to_power_of_two": 18, "num": 18, "up": [18, 19, 25], "lh": 18, "assignarg": 18, "assignfield": 18, "lhs_strict": 18, "rhs_strict": 18, "safe": [18, 20], "structlayout": 18, "mismatch": 18, "accord": 18, "explicitli": 18, "shape": 18, "castabl": 18, "determin": [18, 20], "subrecord": 18, "valueerror": 18, "bits_from_int": 18, "count_leading_zero": 18, "count_trailing_zero": 18, "flatten_sign": 18, "flatten": 18, "popcount": 18, "silence_mustus": 18, "introduct": 19, "assumpt": [19, 20], "made": [19, 20], "develop": 19, "environ": 19, "script": [19, 26], "run_test": 19, "py": [19, 26], "lint": 19, "sh": 19, "core_graph": 19, "build_doc": 19, "framework": [19, 24], "usag": [19, 28], "advanc": 19, "concept": 19, "nest": [19, 28], "schema": 19, "proposit": [19, 20], "slot": 19, "tabl": 19, "substitut": 19, "clean": 19, "problem": [19, 20], "checklist": 19, "benchmark": 19, "summari": 19, "paper": 19, "about": 19, "old": 19, "softwar": 19, "tlb": 19, "analysi": 19, "strategi": 19, "igpu": 19, "specul": 19, "gpu": 19, "effici": 19, "journal": 20, "articl": 20, "look": 20, "choic": 20, "primari": 20, "relat": [20, 27], "procedur": 20, "chosen": 20, "basi": 20, "improv": 20, "pretti": 20, "1993": 20, "2001": 20, "much": 20, "research": 20, "cpu": 20, "solv": 20, "due": [20, 27], "characterist": 20, "our": [20, 23], "what": 20, "peopl": 20, "probabl": 20, "lot": 20, "worth": 20, "walker": 20, "cragon": 20, "concurr": [20, 27], "ieee": 20, "vol": 20, "june": 20, "1995": 20, "moudgil": 20, "vassiliadi": 20, "micro": 20, "pp": 20, "58": 20, "67": 20, "februari": 20, "1996": 20, "survei": 20, "topic": 20, "cdc": 20, "6600": 20, "done": [20, 27, 28], "jump": 20, "handler": 20, "ibm360": 20, "stop": [20, 28], "crai": 20, "here": [20, 24], "bigger": 20, "torng": 20, "martin": 20, "dai": 20, "probe": 20, "author": 20, "window": 20, "iw": 20, "dispatch": [20, 23, 24, 25], "didn": 20, "context": [20, 27, 28], "copi": [20, 27], "restor": 20, "restart": 20, "few": 20, "encod": 20, "big": 20, "overhead": 20, "origin": [20, 27, 28], "unfeas": 20, "job": 20, "addition": 20, "But": 20, "cooper": 20, "smaller": 20, "interest": 20, "propos": 20, "nrp": 20, "No": [20, 28], "itself": 20, "wast": 20, "how": [20, 24, 26], "mani": [20, 26, 28], "element": [20, 28], "left": [20, 27], "middl": [20, 23], "aamer": 20, "jaleel": 20, "bruce": 20, "jacob": 20, "cours": 20, "penalti": 20, "alpha": 20, "mip": 20, "concentr": 20, "properti": [20, 27], "short": 20, "inlin": 20, "observ": 20, "enough": 20, "live": 20, "known": 20, "fly": 20, "swap": 20, "nop": 20, "reexecut": 20, "indic": [20, 25, 27], "privileg": 20, "correct": [20, 24, 25], "contrast": 20, "tendenc": 20, "longer": 20, "hard": 20, "risk": 20, "linux": [20, 26], "purpos": [20, 27], "addit": 20, "hw": 20, "bore": 20, "treat": [20, 23], "mansur": 20, "samadzadeh": 20, "loai": 20, "garalnabi": 20, "checkpoint": 20, "repair": 20, "histori": 20, "futur": [20, 23, 24], "jaikrishnan": 20, "menon": 20, "marc": 20, "de": 20, "kruijf": 20, "karthikeyan": 20, "sankaralingam": 20, "2012": 20, "To": [20, 26], "low": 20, "boundari": 20, "rewritten": 20, "recompil": 20, "runtim": 20, "region": 20, "subregion": 20, "begin": 20, "small": 20, "overrid": 20, "barrier": 20, "warp": 20, "wrong": 20, "split": [20, 23, 28], "prevent": 20, "ivan": 20, "tanas": 20, "isaac": 20, "gelado": 20, "jorda": 20, "eduard": 20, "ayguad": 20, "nacho": 20, "navarro": 20, "2017": 20, "analys": 20, "problemat": 20, "successfulli": 20, "kill": 20, "modif": 20, "fail": 20, "repli": 20, "modifi": [20, 28], "claim": 20, "operand": [20, 24, 25], "replai": 20, "marker": 20, "jerom": 20, "hampton": 20, "2008": 20, "mention": 20, "alli": 20, "bailei": 20, "ab04": 20, "ag": 20, "younger": 20, "repeat": 20, "canon": 20, "eventu": 20, "aren": [20, 28], "Its": 23, "task": [23, 27], "rss": 23, "phase": 23, "choos": 23, "potenti": 23, "merg": 23, "optim": 23, "todo": 23, "want": [24, 27], "feel": 24, "anyth": 24, "id_out": [24, 25], "id_rob": [24, 25], "id_rs1": [24, 25], "val_rs1": [24, 25], "id_rs2": [24, 25], "val_rs2": [24, 25], "fill": 24, "id_rsx": 24, "val_rsx": 24, "releas": 24, "comparison": 24, "null": [24, 25], "woken": 25, "invalid": 25, "src1": [25, 28], "src2": [25, 28], "inst_readi": 25, "synthes": 26, "circuit": 26, "consum": 26, "grow": 26, "yosi": 26, "prjtrelli": 26, "nextpnr": 26, "ecp5": 26, "manual": 26, "git": 26, "repositori": 26, "docker": 26, "imag": 26, "vuush": 26, "synth": 26, "amaranthsynthecp5": 26, "dockerfil": 26, "command": 26, "amd64": 26, "parse_benchmark_info": 26, "pars": 26, "extract": [26, 27], "frequenc": 26, "cell": 26, "ram": 26, "dff": 26, "dedic": 26, "subpag": 26, "transactionbas": 27, "serv": 27, "simultena": 27, "transactionmanag": 27, "rest": 27, "must": 27, "exclus": [27, 28], "combination": 27, "data_out": [27, 28], "data_in": [27, 28], "nonexclus": 27, "single_cal": 27, "situat": 27, "happen": 27, "cannot": [27, 28], "thrown": 27, "const": 27, "d1": 27, "d0": 27, "guard": [27, 28], "av_comb": 27, "top_comb": 27, "combinationi": 27, "my_sum_method": 27, "arg1": 27, "arg2": 27, "sum": 27, "static": 27, "construct": [27, 28], "blueprint": 27, "freshli": 27, "proxi": 27, "priorit": 27, "undefin": 27, "avoidedif": 27, "amount": 27, "useless": 27, "multplex": 27, "unguard": 27, "path": [27, 28], "synchron": [27, 28], "cond": 27, "pattern": 27, "elif": 27, "fsm": 27, "noreturn": 27, "regularli": 27, "met": 27, "explicit": 27, "implicit": 27, "add_conflict": 27, "aris": 27, "pair": [27, 28], "omit": [27, 28], "transactioncontext": 27, "stack": 27, "care": 27, "never": 27, "cc_schedul": 27, "callabl": [27, 28], "methodmap": 27, "dsl": 27, "eager_deterministic_cc_schedul": 27, "add_transact": 27, "visual_graph": 27, "fragment": 27, "transactionmodul": 27, "wrapper": 27, "definit": 27, "wrap": 27, "transaction_context": 27, "decor": 27, "eleg": 27, "dictionari": 27, "whose": 27, "method_map": 27, "gr": 27, "cc": 27, "porder": 27, "eager": 27, "subsystem": 27, "isn": 27, "fair": 27, "lowest": 27, "highest": 27, "arbitr": 27, "agent": 27, "transactiongraph": 27, "vertic": 27, "edg": [27, 28], "priorityord": 27, "linear": 27, "consist": 27, "constraint": 27, "trivial_roundrobin_cc_schedul": 27, "mainli": 27, "IN": 27, "inout": 27, "own": 27, "owner": 27, "ownershipgraph": 27, "root": 27, "dump": 27, "dump_dot": 27, "indent": 27, "dump_elk": 27, "dump_mermaid": 27, "get_hier_nam": 27, "obj": 27, "hierarch": 27, "yet": 27, "get_nam": 27, "insert_edg": 27, "fr": 27, "insert_nod": 27, "mermaid_direct": 27, "subgraph": 27, "remember_field": 27, "owner_id": 27, "tracingenabl": 27, "tracingfrag": 27, "lose": 27, "too": 27, "difficult": 27, "exact": 27, "copyright": 27, "subfrag": 27, "ir": 27, "tracingfragmenttransform": 27, "fragmenttransform": 27, "on_frag": 27, "tracinginst": 27, "adapterbas": 28, "mock": 28, "en": 28, "ifac": 28, "clickin": 28, "click": 28, "interact": 28, "fpga": 28, "rise": 28, "btn": 28, "dat": 28, "retriev": 28, "clickout": 28, "led": 28, "mechan": 28, "move": 28, "flow": 28, "revers": 28, "possibli": 28, "rev_layout": 28, "vice": 28, "versa": 28, "compat": 28, "method1": 28, "method2": 28, "respect": 28, "fulfil": 28, "fifo_typ": 28, "syncfifo": 28, "fifotyp": 28, "conform": 28, "further": 28, "equival": 28, "put_result": 28, "argumentstoresultszipp": 28, "zip": 28, "cut": 28, "critic": 28, "calle": 28, "asymmetri": 28, "correctli": 28, "rate": 28, "reach": 28, "capac": 28, "topologi": 28, "write_arg": 28, "args_layout": 28, "write_result": 28, "results_layout": 28, "latest": 28, "client": 28, "somethig": 28, "server": 28, "deseri": 28, "proper": 28, "serialize_in": 28, "serialized_req_method": 28, "serialize_out": 28, "serialized_resp_method": 28, "port_count": 28, "len": 28, "resist": 28, "nonblock": 28, "overlap": 28, "catch": 28, "reason": 28, "mutual": 28, "influenc": 28, "cond1": 28, "cond2": 28, "memorybank": 28, "read_req": 28, "read_resp": 28, "elem_count": 28, "safe_writ": 28, "optimis": 28, "increas": 28, "throughput": 28, "eg": 28, "x": 28, "later": 28, "cattran": 28, "concaten": 28, "third": 28, "dst": 28, "ident": 28, "method_list": 28, "connectandtransformtran": 28, "behav": 28, "methodtransform": 28, "i_fun": 28, "recorddict": 28, "o_fun": 28, "methodfilt": 28, "filter": 28, "caveat": 28, "union": 28, "methodproduct": 28, "arbitrari": 28, "i_transform": 28, "o_transform": 28, "tri": 28, "succeed": 28}, "objects": {"": [[9, 0, 0, "-", "coreblocks"], [27, 0, 0, "-", "transactron"]], "coreblocks": [[9, 0, 0, "-", "core"], [10, 0, 0, "-", "frontend"], [11, 0, 0, "-", "fu"], [13, 0, 0, "-", "params"], [14, 0, 0, "-", "peripherals"], [15, 0, 0, "-", "scheduler"], [16, 0, 0, "-", "stages"], [17, 0, 0, "-", "structs_common"], [18, 0, 0, "-", "utils"]], "coreblocks.core": [[9, 1, 1, "", "Core"]], "coreblocks.core.Core": [[9, 2, 1, "", "__init__"]], "coreblocks.frontend": [[10, 0, 0, "-", "decode"], [10, 0, 0, "-", "decoder"], [10, 0, 0, "-", "fetch"], [10, 0, 0, "-", "icache"], [10, 0, 0, "-", "rvc"]], "coreblocks.frontend.decode": [[10, 1, 1, "", "Decode"]], "coreblocks.frontend.decode.Decode": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.decoder": [[10, 1, 1, "", "InstrDecoder"]], "coreblocks.frontend.decoder.InstrDecoder": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.fetch": [[10, 1, 1, "", "Fetch"], [10, 1, 1, "", "UnalignedFetch"]], "coreblocks.frontend.fetch.Fetch": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.fetch.UnalignedFetch": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.icache": [[10, 1, 1, "", "ICache"], [10, 1, 1, "", "ICacheBypass"], [10, 1, 1, "", "ICacheInterface"], [10, 1, 1, "", "SimpleWBCacheRefiller"]], "coreblocks.frontend.icache.ICache": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "deserialize_addr"], [10, 2, 1, "", "serialize_addr"]], "coreblocks.frontend.icache.ICacheBypass": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.icache.ICacheInterface": [[10, 3, 1, "", "accept_res"], [10, 3, 1, "", "flush"], [10, 3, 1, "", "issue_req"]], "coreblocks.frontend.icache.SimpleWBCacheRefiller": [[10, 2, 1, "", "__init__"]], "coreblocks.frontend.rvc": [[10, 1, 1, "", "InstrDecompress"], [10, 4, 1, "", "is_instr_compressed"]], "coreblocks.frontend.rvc.InstrDecompress": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "decompr_reg"], [10, 2, 1, "", "instr_mux"]], "coreblocks.fu": [[11, 0, 0, "-", "alu"], [11, 0, 0, "-", "div_unit"], [11, 0, 0, "-", "exception"], [11, 0, 0, "-", "fu_decoder"], [11, 0, 0, "-", "jumpbranch"], [11, 0, 0, "-", "mul_unit"], [11, 0, 0, "-", "shift_unit"], [12, 0, 0, "-", "unsigned_multiplication"], [11, 0, 0, "-", "zbc"], [11, 0, 0, "-", "zbs"]], "coreblocks.fu.alu": [[11, 1, 1, "", "ALUComponent"], [11, 1, 1, "", "AluFuncUnit"]], "coreblocks.fu.alu.ALUComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.alu.AluFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.div_unit": [[11, 1, 1, "", "DivComponent"], [11, 1, 1, "", "DivFn"], [11, 1, 1, "", "DivUnit"], [11, 4, 1, "", "get_input"]], "coreblocks.fu.div_unit.DivComponent": [[11, 2, 1, "", "__init__"], [11, 3, 1, "", "div_fn"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "ipc"]], "coreblocks.fu.div_unit.DivFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.div_unit.DivFn.Fn": [[11, 3, 1, "", "DIV"], [11, 3, 1, "", "DIVU"], [11, 3, 1, "", "REM"], [11, 3, 1, "", "REMU"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.div_unit.DivUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.exception": [[11, 1, 1, "", "ExceptionFuncUnit"], [11, 1, 1, "", "ExceptionUnitComponent"]], "coreblocks.fu.exception.ExceptionFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.exception.ExceptionUnitComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.fu_decoder": [[11, 1, 1, "", "Decoder"], [11, 1, 1, "", "DecoderManager"]], "coreblocks.fu.fu_decoder.Decoder": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.fu_decoder.DecoderManager": [[11, 3, 1, "", "Fn"], [11, 2, 1, "", "get_decoder"], [11, 2, 1, "", "get_function"], [11, 2, 1, "", "get_instructions"], [11, 2, 1, "", "get_op_types"]], "coreblocks.fu.jumpbranch": [[11, 1, 1, "", "JumpBranchFuncUnit"], [11, 1, 1, "", "JumpComponent"]], "coreblocks.fu.jumpbranch.JumpBranchFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.jumpbranch.JumpComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.mul_unit": [[11, 1, 1, "", "MulComponent"], [11, 1, 1, "", "MulFn"], [11, 1, 1, "", "MulType"], [11, 1, 1, "", "MulUnit"]], "coreblocks.fu.mul_unit.MulComponent": [[11, 2, 1, "", "__init__"], [11, 3, 1, "", "dsp_width"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "mul_fn"], [11, 3, 1, "", "mul_unit_type"]], "coreblocks.fu.mul_unit.MulFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.mul_unit.MulFn.Fn": [[11, 3, 1, "", "MUL"], [11, 3, 1, "", "MULH"], [11, 3, 1, "", "MULHSU"], [11, 3, 1, "", "MULHU"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.mul_unit.MulType": [[11, 3, 1, "", "RECURSIVE_MUL"], [11, 3, 1, "", "SEQUENCE_MUL"], [11, 3, 1, "", "SHIFT_MUL"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.mul_unit.MulUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.shift_unit": [[11, 1, 1, "", "ShiftFuncUnit"], [11, 1, 1, "", "ShiftUnitComponent"]], "coreblocks.fu.shift_unit.ShiftFuncUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.shift_unit.ShiftUnitComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.unsigned_multiplication": [[12, 0, 0, "-", "common"], [12, 0, 0, "-", "fast_recursive"], [12, 0, 0, "-", "sequence"], [12, 0, 0, "-", "shift"]], "coreblocks.fu.unsigned_multiplication.common": [[12, 1, 1, "", "DSPMulUnit"], [12, 1, 1, "", "MulBaseUnsigned"]], "coreblocks.fu.unsigned_multiplication.common.DSPMulUnit": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.common.MulBaseUnsigned": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.fast_recursive": [[12, 1, 1, "", "RecursiveUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.fast_recursive.RecursiveUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.sequence": [[12, 1, 1, "", "SequentialUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.sequence.SequentialUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.unsigned_multiplication.shift": [[12, 1, 1, "", "ShiftUnsignedMul"]], "coreblocks.fu.unsigned_multiplication.shift.ShiftUnsignedMul": [[12, 2, 1, "", "__init__"]], "coreblocks.fu.zbc": [[11, 1, 1, "", "ClMultiplier"], [11, 1, 1, "", "ZbcComponent"], [11, 1, 1, "", "ZbcFn"], [11, 1, 1, "", "ZbcUnit"]], "coreblocks.fu.zbc.ClMultiplier": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "iterative_module"], [11, 2, 1, "", "recursive_module"]], "coreblocks.fu.zbc.ZbcComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"], [11, 3, 1, "", "recursion_depth"], [11, 3, 1, "", "zbc_fn"]], "coreblocks.fu.zbc.ZbcFn": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.zbc.ZbcFn.Fn": [[11, 3, 1, "", "CLMUL"], [11, 3, 1, "", "CLMULH"], [11, 3, 1, "", "CLMULR"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.zbc.ZbcUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.zbs": [[11, 1, 1, "", "Zbs"], [11, 1, 1, "", "ZbsComponent"], [11, 1, 1, "", "ZbsFunction"], [11, 1, 1, "", "ZbsUnit"]], "coreblocks.fu.zbs.Zbs": [[11, 2, 1, "", "__init__"]], "coreblocks.fu.zbs.ZbsComponent": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "get_module"], [11, 2, 1, "", "get_optypes"]], "coreblocks.fu.zbs.ZbsFunction": [[11, 1, 1, "", "Fn"], [11, 2, 1, "", "get_instructions"]], "coreblocks.fu.zbs.ZbsFunction.Fn": [[11, 3, 1, "", "BCLR"], [11, 3, 1, "", "BEXT"], [11, 3, 1, "", "BINV"], [11, 3, 1, "", "BSET"], [11, 2, 1, "", "__new__"]], "coreblocks.fu.zbs.ZbsUnit": [[11, 2, 1, "", "__init__"]], "coreblocks.params": [[13, 0, 0, "-", "configurations"], [13, 0, 0, "-", "dependencies"], [13, 0, 0, "-", "fu_params"], [13, 0, 0, "-", "genparams"], [13, 0, 0, "-", "icache_params"], [13, 0, 0, "-", "instr"], [13, 0, 0, "-", "isa"], [13, 0, 0, "-", "keys"], [13, 0, 0, "-", "layouts"], [13, 0, 0, "-", "optypes"]], "coreblocks.params.configurations": [[13, 1, 1, "", "CoreConfiguration"]], "coreblocks.params.configurations.CoreConfiguration": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "allow_partial_extensions"], [13, 3, 1, "", "compressed"], [13, 3, 1, "", "embedded"], [13, 3, 1, "", "func_units_config"], [13, 3, 1, "", "icache_block_size_bits"], [13, 3, 1, "", "icache_enable"], [13, 3, 1, "", "icache_sets_bits"], [13, 3, 1, "", "icache_ways"], [13, 3, 1, "", "phys_regs_bits"], [13, 2, 1, "", "replace"], [13, 3, 1, "", "rob_entries_bits"], [13, 3, 1, "", "start_pc"], [13, 3, 1, "", "xlen"]], "coreblocks.params.dependencies": [[13, 1, 1, "", "DependencyKey"], [13, 1, 1, "", "DependencyManager"]], "coreblocks.params.dependencies.DependencyKey": [[13, 2, 1, "", "combine"], [13, 3, 1, "", "empty_valid"], [13, 3, 1, "", "lock_on_get"]], "coreblocks.params.dependencies.DependencyManager": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "add_dependency"], [13, 2, 1, "", "get_dependency"]], "coreblocks.params.fu_params": [[13, 1, 1, "", "BlockComponentParams"], [13, 1, 1, "", "FunctionalComponentParams"], [13, 4, 1, "", "optypes_supported"]], "coreblocks.params.fu_params.BlockComponentParams": [[13, 2, 1, "", "get_module"], [13, 2, 1, "", "get_optypes"], [13, 2, 1, "", "get_rs_entry_count"]], "coreblocks.params.fu_params.FunctionalComponentParams": [[13, 2, 1, "", "get_module"], [13, 2, 1, "", "get_optypes"]], "coreblocks.params.genparams": [[13, 1, 1, "", "GenParams"]], "coreblocks.params.genparams.GenParams": [[13, 2, 1, "", "__init__"]], "coreblocks.params.icache_params": [[13, 1, 1, "", "ICacheParameters"]], "coreblocks.params.icache_params.ICacheParameters": [[13, 2, 1, "", "__init__"]], "coreblocks.params.instr": [[13, 1, 1, "", "BTypeInstr"], [13, 1, 1, "", "EBreakInstr"], [13, 1, 1, "", "ITypeInstr"], [13, 1, 1, "", "IllegalInstr"], [13, 1, 1, "", "JTypeInstr"], [13, 1, 1, "", "RTypeInstr"], [13, 1, 1, "", "STypeInstr"], [13, 1, 1, "", "UTypeInstr"]], "coreblocks.params.instr.BTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.EBreakInstr": [[13, 2, 1, "", "__init__"]], "coreblocks.params.instr.ITypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.IllegalInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.JTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.RTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.STypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.instr.UTypeInstr": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "pack"]], "coreblocks.params.isa": [[13, 1, 1, "", "ExceptionCause"], [13, 1, 1, "", "Extension"], [13, 1, 1, "", "FenceFm"], [13, 1, 1, "", "FenceTarget"], [13, 1, 1, "", "Funct12"], [13, 1, 1, "", "Funct3"], [13, 1, 1, "", "Funct7"], [13, 1, 1, "", "ISA"], [13, 1, 1, "", "InstrType"], [13, 1, 1, "", "Opcode"], [13, 1, 1, "", "Registers"]], "coreblocks.params.isa.ExceptionCause": [[13, 3, 1, "", "BREAKPOINT"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_M"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_S"], [13, 3, 1, "", "ENVIRONMENT_CALL_FROM_U"], [13, 3, 1, "", "ILLEGAL_INSTRUCTION"], [13, 3, 1, "", "INSTRUCTION_ACCESS_FAULT"], [13, 3, 1, "", "INSTRUCTION_ADDRESS_MISALIGNED"], [13, 3, 1, "", "INSTRUCTION_PAGE_FAULT"], [13, 3, 1, "", "LOAD_ACCESS_FAULT"], [13, 3, 1, "", "LOAD_ADDRESS_MISALIGNED"], [13, 3, 1, "", "LOAD_PAGE_FAULT"], [13, 3, 1, "", "STORE_ACCESS_FAULT"], [13, 3, 1, "", "STORE_ADDRESS_MISALIGNED"], [13, 3, 1, "", "STORE_PAGE_FAULT"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Extension": [[13, 3, 1, "", "A"], [13, 3, 1, "", "B"], [13, 3, 1, "", "C"], [13, 3, 1, "", "D"], [13, 3, 1, "", "E"], [13, 3, 1, "", "F"], [13, 3, 1, "", "G"], [13, 3, 1, "", "I"], [13, 3, 1, "", "J"], [13, 3, 1, "", "L"], [13, 3, 1, "", "M"], [13, 3, 1, "", "N"], [13, 3, 1, "", "P"], [13, 3, 1, "", "Q"], [13, 3, 1, "", "T"], [13, 3, 1, "", "V"], [13, 3, 1, "", "XINTMACHINEMODE"], [13, 3, 1, "", "XINTSUPERVISOR"], [13, 3, 1, "", "ZAM"], [13, 3, 1, "", "ZBA"], [13, 3, 1, "", "ZBB"], [13, 3, 1, "", "ZBC"], [13, 3, 1, "", "ZBS"], [13, 3, 1, "", "ZDINX"], [13, 3, 1, "", "ZFH"], [13, 3, 1, "", "ZFHMIN"], [13, 3, 1, "", "ZFINX"], [13, 3, 1, "", "ZHINX"], [13, 3, 1, "", "ZICNTR"], [13, 3, 1, "", "ZICSR"], [13, 3, 1, "", "ZIFENCEI"], [13, 3, 1, "", "ZIHINTNTL"], [13, 3, 1, "", "ZIHINTPAUSE"], [13, 3, 1, "", "ZIHPM"], [13, 3, 1, "", "ZMMUL"], [13, 3, 1, "", "ZTSO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.FenceFm": [[13, 3, 1, "", "NONE"], [13, 3, 1, "", "TSO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.FenceTarget": [[13, 3, 1, "", "DEV_I"], [13, 3, 1, "", "DEV_O"], [13, 3, 1, "", "MEM_R"], [13, 3, 1, "", "MEM_W"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct12": [[13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "EBREAK"], [13, 3, 1, "", "ECALL"], [13, 3, 1, "", "MRET"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "REV8_32"], [13, 3, 1, "", "REV8_64"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SRET"], [13, 3, 1, "", "WFI"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct3": [[13, 3, 1, "", "ADD"], [13, 3, 1, "", "AND"], [13, 3, 1, "", "ANDN"], [13, 3, 1, "", "B"], [13, 3, 1, "", "BCLR"], [13, 3, 1, "", "BEQ"], [13, 3, 1, "", "BEXT"], [13, 3, 1, "", "BGE"], [13, 3, 1, "", "BGEU"], [13, 3, 1, "", "BINV"], [13, 3, 1, "", "BLT"], [13, 3, 1, "", "BLTU"], [13, 3, 1, "", "BNE"], [13, 3, 1, "", "BSET"], [13, 3, 1, "", "BU"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "CLMULH"], [13, 3, 1, "", "CLMULR"], [13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CSRRC"], [13, 3, 1, "", "CSRRCI"], [13, 3, 1, "", "CSRRS"], [13, 3, 1, "", "CSRRSI"], [13, 3, 1, "", "CSRRW"], [13, 3, 1, "", "CSRRWI"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "D"], [13, 3, 1, "", "DIV"], [13, 3, 1, "", "DIVU"], [13, 3, 1, "", "DIVUW"], [13, 3, 1, "", "DIVW"], [13, 3, 1, "", "FENCE"], [13, 3, 1, "", "FENCEI"], [13, 3, 1, "", "H"], [13, 3, 1, "", "HU"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "MAX"], [13, 3, 1, "", "MAXU"], [13, 3, 1, "", "MIN"], [13, 3, 1, "", "MINU"], [13, 3, 1, "", "MUL"], [13, 3, 1, "", "MULH"], [13, 3, 1, "", "MULHSU"], [13, 3, 1, "", "MULHU"], [13, 3, 1, "", "MULW"], [13, 3, 1, "", "OR"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "ORN"], [13, 3, 1, "", "PRIV"], [13, 3, 1, "", "REM"], [13, 3, 1, "", "REMU"], [13, 3, 1, "", "REMUW"], [13, 3, 1, "", "REMW"], [13, 3, 1, "", "REV8"], [13, 3, 1, "", "ROL"], [13, 3, 1, "", "ROR"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SH1ADD"], [13, 3, 1, "", "SH2ADD"], [13, 3, 1, "", "SH3ADD"], [13, 3, 1, "", "SLL"], [13, 3, 1, "", "SLT"], [13, 3, 1, "", "SLTU"], [13, 3, 1, "", "SR"], [13, 3, 1, "", "SUB"], [13, 3, 1, "", "W"], [13, 3, 1, "", "XNOR"], [13, 3, 1, "", "XOR"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Funct7": [[13, 3, 1, "", "ADD"], [13, 3, 1, "", "AND"], [13, 3, 1, "", "ANDN"], [13, 3, 1, "", "BCLR"], [13, 3, 1, "", "BEXT"], [13, 3, 1, "", "BINV"], [13, 3, 1, "", "BSET"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "CLZ"], [13, 3, 1, "", "CPOP"], [13, 3, 1, "", "CTZ"], [13, 3, 1, "", "MAX"], [13, 3, 1, "", "MIN"], [13, 3, 1, "", "MULDIV"], [13, 3, 1, "", "OR"], [13, 3, 1, "", "ORCB"], [13, 3, 1, "", "ORN"], [13, 3, 1, "", "REV8"], [13, 3, 1, "", "ROL"], [13, 3, 1, "", "ROR"], [13, 3, 1, "", "SA"], [13, 3, 1, "", "SEXTB"], [13, 3, 1, "", "SEXTH"], [13, 3, 1, "", "SFENCEVMA"], [13, 3, 1, "", "SH1ADD"], [13, 3, 1, "", "SH2ADD"], [13, 3, 1, "", "SH3ADD"], [13, 3, 1, "", "SL"], [13, 3, 1, "", "SLT"], [13, 3, 1, "", "SUB"], [13, 3, 1, "", "XNOR"], [13, 3, 1, "", "XOR"], [13, 3, 1, "", "ZEXTH"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.ISA": [[13, 2, 1, "", "__init__"]], "coreblocks.params.isa.InstrType": [[13, 3, 1, "", "B"], [13, 3, 1, "", "I"], [13, 3, 1, "", "J"], [13, 3, 1, "", "R"], [13, 3, 1, "", "S"], [13, 3, 1, "", "U"]], "coreblocks.params.isa.Opcode": [[13, 3, 1, "", "AUIPC"], [13, 3, 1, "", "BRANCH"], [13, 3, 1, "", "JAL"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "LOAD"], [13, 3, 1, "", "LOAD_FP"], [13, 3, 1, "", "LUI"], [13, 3, 1, "", "MISC_MEM"], [13, 3, 1, "", "OP"], [13, 3, 1, "", "OP32"], [13, 3, 1, "", "OP_IMM"], [13, 3, 1, "", "OP_IMM_32"], [13, 3, 1, "", "STORE"], [13, 3, 1, "", "STORE_FP"], [13, 3, 1, "", "SYSTEM"], [13, 2, 1, "", "__new__"]], "coreblocks.params.isa.Registers": [[13, 3, 1, "", "A0"], [13, 3, 1, "", "A1"], [13, 3, 1, "", "A2"], [13, 3, 1, "", "A3"], [13, 3, 1, "", "A4"], [13, 3, 1, "", "A5"], [13, 3, 1, "", "A6"], [13, 3, 1, "", "A7"], [13, 3, 1, "", "FP"], [13, 3, 1, "", "GP"], [13, 3, 1, "", "RA"], [13, 3, 1, "", "S0"], [13, 3, 1, "", "S1"], [13, 3, 1, "", "S10"], [13, 3, 1, "", "S11"], [13, 3, 1, "", "S2"], [13, 3, 1, "", "S3"], [13, 3, 1, "", "S4"], [13, 3, 1, "", "S5"], [13, 3, 1, "", "S6"], [13, 3, 1, "", "S7"], [13, 3, 1, "", "S8"], [13, 3, 1, "", "S9"], [13, 3, 1, "", "SP"], [13, 3, 1, "", "T0"], [13, 3, 1, "", "T1"], [13, 3, 1, "", "T2"], [13, 3, 1, "", "T3"], [13, 3, 1, "", "T4"], [13, 3, 1, "", "T5"], [13, 3, 1, "", "T6"], [13, 3, 1, "", "TP"], [13, 3, 1, "", "X0"], [13, 3, 1, "", "X1"], [13, 3, 1, "", "X10"], [13, 3, 1, "", "X11"], [13, 3, 1, "", "X12"], [13, 3, 1, "", "X13"], [13, 3, 1, "", "X14"], [13, 3, 1, "", "X15"], [13, 3, 1, "", "X16"], [13, 3, 1, "", "X17"], [13, 3, 1, "", "X18"], [13, 3, 1, "", "X19"], [13, 3, 1, "", "X2"], [13, 3, 1, "", "X20"], [13, 3, 1, "", "X21"], [13, 3, 1, "", "X22"], [13, 3, 1, "", "X23"], [13, 3, 1, "", "X24"], [13, 3, 1, "", "X25"], [13, 3, 1, "", "X26"], [13, 3, 1, "", "X27"], [13, 3, 1, "", "X28"], [13, 3, 1, "", "X29"], [13, 3, 1, "", "X3"], [13, 3, 1, "", "X30"], [13, 3, 1, "", "X31"], [13, 3, 1, "", "X4"], [13, 3, 1, "", "X5"], [13, 3, 1, "", "X6"], [13, 3, 1, "", "X7"], [13, 3, 1, "", "X8"], [13, 3, 1, "", "X9"], [13, 3, 1, "", "ZERO"], [13, 2, 1, "", "__new__"]], "coreblocks.params.keys": [[13, 1, 1, "", "BranchResolvedKey"], [13, 1, 1, "", "ExceptionReportKey"], [13, 1, 1, "", "GenericCSRRegistersKey"], [13, 1, 1, "", "InstructionPrecommitKey"], [13, 1, 1, "", "WishboneDataKey"]], "coreblocks.params.keys.BranchResolvedKey": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "unifier"]], "coreblocks.params.keys.ExceptionReportKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.keys.GenericCSRRegistersKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.keys.InstructionPrecommitKey": [[13, 2, 1, "", "__init__"], [13, 3, 1, "", "unifier"]], "coreblocks.params.keys.WishboneDataKey": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts": [[13, 1, 1, "", "CSRLayouts"], [13, 1, 1, "", "CommonLayouts"], [13, 1, 1, "", "DecodeLayouts"], [13, 1, 1, "", "FetchLayouts"], [13, 1, 1, "", "FuncUnitLayouts"], [13, 1, 1, "", "ICacheLayouts"], [13, 1, 1, "", "LSULayouts"], [13, 1, 1, "", "RATLayouts"], [13, 1, 1, "", "RFLayouts"], [13, 1, 1, "", "ROBLayouts"], [13, 1, 1, "", "RSInterfaceLayouts"], [13, 1, 1, "", "RSLayouts"], [13, 1, 1, "", "SchedulerLayouts"], [13, 1, 1, "", "UnsignedMulUnitLayouts"]], "coreblocks.params.layouts.CSRLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.CommonLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.DecodeLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.FetchLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.FuncUnitLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.ICacheLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.LSULayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RATLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RFLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.ROBLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RSInterfaceLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.RSLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.SchedulerLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.layouts.UnsignedMulUnitLayouts": [[13, 2, 1, "", "__init__"]], "coreblocks.params.optypes": [[13, 1, 1, "", "OpType"], [13, 4, 1, "", "optypes_required_by_extensions"]], "coreblocks.params.optypes.OpType": [[13, 3, 1, "", "ADDRESS_GENERATION"], [13, 3, 1, "", "ARITHMETIC"], [13, 3, 1, "", "AUIPC"], [13, 3, 1, "", "BIT_MANIPULATION"], [13, 3, 1, "", "BRANCH"], [13, 3, 1, "", "CLMUL"], [13, 3, 1, "", "COMPARE"], [13, 3, 1, "", "CSR_IMM"], [13, 3, 1, "", "CSR_REG"], [13, 3, 1, "", "DIV_REM"], [13, 3, 1, "", "EBREAK"], [13, 3, 1, "", "ECALL"], [13, 3, 1, "", "EXCEPTION"], [13, 3, 1, "", "FENCE"], [13, 3, 1, "", "FENCEI"], [13, 3, 1, "", "JAL"], [13, 3, 1, "", "JALR"], [13, 3, 1, "", "LOAD"], [13, 3, 1, "", "LOGIC"], [13, 3, 1, "", "MRET"], [13, 3, 1, "", "MUL"], [13, 3, 1, "", "SFENCEVMA"], [13, 3, 1, "", "SHIFT"], [13, 3, 1, "", "SINGLE_BIT_MANIPULATION"], [13, 3, 1, "", "SRET"], [13, 3, 1, "", "STORE"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_1"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_2"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_3"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_4"], [13, 3, 1, "", "UNARY_BIT_MANIPULATION_5"], [13, 3, 1, "", "UNKNOWN"], [13, 3, 1, "", "WFI"], [13, 2, 1, "", "__new__"]], "coreblocks.peripherals": [[14, 0, 0, "-", "wishbone"]], "coreblocks.peripherals.wishbone": [[14, 1, 1, "", "PipelinedWishboneMaster"], [14, 1, 1, "", "WishboneArbiter"], [14, 1, 1, "", "WishboneBus"], [14, 1, 1, "", "WishboneLayout"], [14, 1, 1, "", "WishboneMaster"], [14, 1, 1, "", "WishboneMemorySlave"], [14, 1, 1, "", "WishboneMuxer"], [14, 1, 1, "", "WishboneParameters"]], "coreblocks.peripherals.wishbone.PipelinedWishboneMaster": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "generate_method_layouts"]], "coreblocks.peripherals.wishbone.WishboneArbiter": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneBus": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneLayout": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMaster": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "generate_layouts"]], "coreblocks.peripherals.wishbone.WishboneMemorySlave": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneMuxer": [[14, 2, 1, "", "__init__"]], "coreblocks.peripherals.wishbone.WishboneParameters": [[14, 2, 1, "", "__init__"]], "coreblocks.scheduler": [[15, 0, 0, "-", "scheduler"], [15, 0, 0, "-", "wakeup_select"]], "coreblocks.scheduler.scheduler": [[15, 1, 1, "", "Scheduler"]], "coreblocks.scheduler.scheduler.Scheduler": [[15, 2, 1, "", "__init__"]], "coreblocks.scheduler.wakeup_select": [[15, 1, 1, "", "WakeupSelect"]], "coreblocks.scheduler.wakeup_select.WakeupSelect": [[15, 2, 1, "", "__init__"]], "coreblocks.stages": [[16, 0, 0, "-", "backend"], [16, 0, 0, "-", "func_blocks_unifier"], [16, 0, 0, "-", "retirement"], [16, 0, 0, "-", "rs_func_block"]], "coreblocks.stages.backend": [[16, 1, 1, "", "ResultAnnouncement"]], "coreblocks.stages.backend.ResultAnnouncement": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "debug_signals"]], "coreblocks.stages.func_blocks_unifier": [[16, 1, 1, "", "FuncBlocksUnifier"]], "coreblocks.stages.func_blocks_unifier.FuncBlocksUnifier": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "get_extra_method"]], "coreblocks.stages.retirement": [[16, 1, 1, "", "Retirement"]], "coreblocks.stages.retirement.Retirement": [[16, 2, 1, "", "__init__"]], "coreblocks.stages.rs_func_block": [[16, 1, 1, "", "RSBlockComponent"], [16, 1, 1, "", "RSFuncBlock"]], "coreblocks.stages.rs_func_block.RSBlockComponent": [[16, 2, 1, "", "__init__"], [16, 3, 1, "", "func_units"], [16, 2, 1, "", "get_module"], [16, 2, 1, "", "get_optypes"], [16, 2, 1, "", "get_rs_entry_count"], [16, 3, 1, "", "rs_entries"]], "coreblocks.stages.rs_func_block.RSFuncBlock": [[16, 2, 1, "", "__init__"]], "coreblocks.structs_common": [[17, 0, 0, "-", "csr"], [17, 0, 0, "-", "csr_generic"], [17, 0, 0, "-", "exception"], [17, 0, 0, "-", "rat"], [17, 0, 0, "-", "rf"], [17, 0, 0, "-", "rob"], [17, 0, 0, "-", "rs"]], "coreblocks.structs_common.csr": [[17, 1, 1, "", "CSRBlockComponent"], [17, 1, 1, "", "CSRListKey"], [17, 1, 1, "", "CSRRegister"], [17, 1, 1, "", "CSRUnit"], [17, 1, 1, "", "PrivilegeLevel"], [17, 4, 1, "", "csr_access_privilege"]], "coreblocks.structs_common.csr.CSRBlockComponent": [[17, 2, 1, "", "get_module"], [17, 2, 1, "", "get_optypes"], [17, 2, 1, "", "get_rs_entry_count"]], "coreblocks.structs_common.csr.CSRListKey": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.CSRRegister": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.CSRUnit": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr.PrivilegeLevel": [[17, 3, 1, "", "MACHINE"], [17, 3, 1, "", "SUPERVISOR"], [17, 3, 1, "", "USER"], [17, 2, 1, "", "__new__"]], "coreblocks.structs_common.csr_generic": [[17, 1, 1, "", "CSRAddress"], [17, 1, 1, "", "DoubleCounterCSR"], [17, 1, 1, "", "GenericCSRRegisters"]], "coreblocks.structs_common.csr_generic.CSRAddress": [[17, 3, 1, "", "CYCLE"], [17, 3, 1, "", "CYCLEH"], [17, 3, 1, "", "INSTRET"], [17, 3, 1, "", "INSTRETH"], [17, 3, 1, "", "MCAUSE"], [17, 3, 1, "", "TIME"], [17, 3, 1, "", "TIMEH"], [17, 2, 1, "", "__new__"]], "coreblocks.structs_common.csr_generic.DoubleCounterCSR": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.csr_generic.GenericCSRRegisters": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.exception": [[17, 1, 1, "", "ExceptionCauseRegister"], [17, 4, 1, "", "should_update_prioriy"]], "coreblocks.structs_common.exception.ExceptionCauseRegister": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rat": [[17, 1, 1, "", "FRAT"], [17, 1, 1, "", "RRAT"]], "coreblocks.structs_common.rat.FRAT": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rat.RRAT": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rf": [[17, 1, 1, "", "RegisterFile"]], "coreblocks.structs_common.rf.RegisterFile": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rob": [[17, 1, 1, "", "ReorderBuffer"]], "coreblocks.structs_common.rob.ReorderBuffer": [[17, 2, 1, "", "__init__"]], "coreblocks.structs_common.rs": [[17, 1, 1, "", "RS"]], "coreblocks.structs_common.rs.RS": [[17, 2, 1, "", "__init__"]], "coreblocks.utils": [[18, 0, 0, "-", "debug_signals"], [18, 0, 0, "-", "fifo"], [18, 0, 0, "-", "protocols"], [18, 0, 0, "-", "utils"]], "coreblocks.utils.debug_signals": [[18, 4, 1, "", "auto_debug_signals"]], "coreblocks.utils.fifo": [[18, 1, 1, "", "BasicFifo"], [18, 1, 1, "", "Semaphore"]], "coreblocks.utils.fifo.BasicFifo": [[18, 2, 1, "", "__init__"]], "coreblocks.utils.fifo.Semaphore": [[18, 2, 1, "", "__init__"]], "coreblocks.utils.protocols": [[18, 1, 1, "", "FuncBlock"], [18, 1, 1, "", "FuncUnit"], [18, 1, 1, "", "Unifier"]], "coreblocks.utils.protocols.FuncBlock": [[18, 3, 1, "", "get_result"], [18, 3, 1, "", "insert"], [18, 3, 1, "", "select"], [18, 3, 1, "", "update"]], "coreblocks.utils.protocols.FuncUnit": [[18, 3, 1, "", "accept"], [18, 3, 1, "", "issue"]], "coreblocks.utils.protocols.Unifier": [[18, 2, 1, "", "__init__"], [18, 3, 1, "", "method"]], "coreblocks.utils.utils": [[18, 1, 1, "", "AssignType"], [18, 1, 1, "", "ModuleConnector"], [18, 4, 1, "", "OneHotSwitch"], [18, 4, 1, "", "OneHotSwitchDynamic"], [18, 4, 1, "", "align_to_power_of_two"], [18, 4, 1, "", "assign"], [18, 4, 1, "", "bits_from_int"], [18, 4, 1, "", "count_leading_zeros"], [18, 4, 1, "", "count_trailing_zeros"], [18, 4, 1, "", "flatten_signals"], [18, 4, 1, "", "popcount"], [18, 4, 1, "", "silence_mustuse"]], "coreblocks.utils.utils.AssignType": [[18, 3, 1, "", "ALL"], [18, 3, 1, "", "COMMON"], [18, 3, 1, "", "RHS"]], "coreblocks.utils.utils.ModuleConnector": [[18, 2, 1, "", "__init__"]], "transactron": [[27, 1, 1, "", "Method"], [27, 1, 1, "", "TModule"], [27, 1, 1, "", "Transaction"], [27, 1, 1, "", "TransactionContext"], [27, 1, 1, "", "TransactionManager"], [27, 1, 1, "", "TransactionModule"], [27, 0, 0, "-", "core"], [27, 4, 1, "", "def_method"], [27, 0, 0, "-", "graph"], [28, 0, 0, "-", "lib"], [27, 0, 0, "-", "tracing"]], "transactron.Method": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "like"], [27, 2, 1, "", "proxy"]], "transactron.TModule": [[27, 2, 1, "", "AvoidedIf"], [27, 2, 1, "", "Case"], [27, 2, 1, "", "Default"], [27, 2, 1, "", "Elif"], [27, 2, 1, "", "Else"], [27, 2, 1, "", "FSM"], [27, 2, 1, "", "If"], [27, 2, 1, "", "State"], [27, 2, 1, "", "Switch"], [27, 2, 1, "", "__init__"], [27, 5, 1, "", "next"]], "transactron.Transaction": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"]], "transactron.TransactionContext": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "get"], [27, 3, 1, "", "stack"]], "transactron.TransactionManager": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "add_transaction"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "visual_graph"]], "transactron.TransactionModule": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "transaction_context"]], "transactron.core": [[27, 1, 1, "", "Method"], [27, 1, 1, "", "Priority"], [27, 1, 1, "", "TModule"], [27, 1, 1, "", "Transaction"], [27, 1, 1, "", "TransactionContext"], [27, 1, 1, "", "TransactionManager"], [27, 1, 1, "", "TransactionModule"], [27, 4, 1, "", "def_method"], [27, 4, 1, "", "eager_deterministic_cc_scheduler"], [27, 4, 1, "", "trivial_roundrobin_cc_scheduler"]], "transactron.core.Method": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "like"], [27, 2, 1, "", "proxy"]], "transactron.core.Priority": [[27, 3, 1, "", "LEFT"], [27, 3, 1, "", "RIGHT"], [27, 3, 1, "", "UNDEFINED"]], "transactron.core.TModule": [[27, 2, 1, "", "AvoidedIf"], [27, 2, 1, "", "Case"], [27, 2, 1, "", "Default"], [27, 2, 1, "", "Elif"], [27, 2, 1, "", "Else"], [27, 2, 1, "", "FSM"], [27, 2, 1, "", "If"], [27, 2, 1, "", "State"], [27, 2, 1, "", "Switch"], [27, 2, 1, "", "__init__"], [27, 5, 1, "", "next"]], "transactron.core.Transaction": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "body"], [27, 2, 1, "", "debug_signals"]], "transactron.core.TransactionContext": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "get"], [27, 3, 1, "", "stack"]], "transactron.core.TransactionManager": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "add_transaction"], [27, 2, 1, "", "debug_signals"], [27, 2, 1, "", "visual_graph"]], "transactron.core.TransactionModule": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "transaction_context"]], "transactron.graph": [[27, 1, 1, "", "Direction"], [27, 1, 1, "", "Owned"], [27, 1, 1, "", "OwnershipGraph"]], "transactron.graph.Direction": [[27, 3, 1, "", "IN"], [27, 3, 1, "", "INOUT"], [27, 3, 1, "", "NONE"], [27, 3, 1, "", "OUT"], [27, 2, 1, "", "__new__"]], "transactron.graph.Owned": [[27, 2, 1, "", "__init__"], [27, 3, 1, "", "name"], [27, 3, 1, "", "owner"]], "transactron.graph.OwnershipGraph": [[27, 2, 1, "", "__init__"], [27, 2, 1, "", "dump"], [27, 2, 1, "", "dump_dot"], [27, 2, 1, "", "dump_elk"], [27, 2, 1, "", "dump_mermaid"], [27, 2, 1, "", "get_hier_name"], [27, 2, 1, "", "get_name"], [27, 2, 1, "", "insert_edge"], [27, 2, 1, "", "insert_node"], [27, 3, 1, "", "mermaid_direction"], [27, 2, 1, "", "prune"], [27, 2, 1, "", "remember"], [27, 2, 1, "", "remember_field"]], "transactron.lib": [[28, 0, 0, "-", "adapters"], [28, 0, 0, "-", "buttons"], [28, 0, 0, "-", "connectors"], [28, 0, 0, "-", "reqres"], [28, 0, 0, "-", "simultaneous"], [28, 0, 0, "-", "storage"], [28, 0, 0, "-", "transformers"]], "transactron.lib.adapters": [[28, 1, 1, "", "Adapter"], [28, 1, 1, "", "AdapterBase"], [28, 1, 1, "", "AdapterTrans"]], "transactron.lib.adapters.Adapter": [[28, 2, 1, "", "__init__"]], "transactron.lib.adapters.AdapterBase": [[28, 2, 1, "", "__init__"], [28, 3, 1, "", "data_in"], [28, 3, 1, "", "data_out"], [28, 2, 1, "", "debug_signals"]], "transactron.lib.adapters.AdapterTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.buttons": [[28, 1, 1, "", "ClickIn"], [28, 1, 1, "", "ClickOut"]], "transactron.lib.buttons.ClickIn": [[28, 2, 1, "", "__init__"]], "transactron.lib.buttons.ClickOut": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors": [[28, 1, 1, "", "Connect"], [28, 1, 1, "", "ConnectTrans"], [28, 1, 1, "", "FIFO"], [28, 1, 1, "", "Forwarder"], [28, 1, 1, "", "ManyToOneConnectTrans"]], "transactron.lib.connectors.Connect": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.ConnectTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.FIFO": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.Forwarder": [[28, 2, 1, "", "__init__"]], "transactron.lib.connectors.ManyToOneConnectTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.reqres": [[28, 1, 1, "", "ArgumentsToResultsZipper"], [28, 1, 1, "", "Serializer"]], "transactron.lib.reqres.ArgumentsToResultsZipper": [[28, 2, 1, "", "__init__"]], "transactron.lib.reqres.Serializer": [[28, 2, 1, "", "__init__"]], "transactron.lib.simultaneous": [[28, 4, 1, "", "condition"]], "transactron.lib.storage": [[28, 1, 1, "", "MemoryBank"]], "transactron.lib.storage.MemoryBank": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers": [[28, 1, 1, "", "CatTrans"], [28, 1, 1, "", "Collector"], [28, 1, 1, "", "ConnectAndTransformTrans"], [28, 1, 1, "", "MethodFilter"], [28, 1, 1, "", "MethodProduct"], [28, 1, 1, "", "MethodTransformer"], [28, 1, 1, "", "MethodTryProduct"]], "transactron.lib.transformers.CatTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.Collector": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.ConnectAndTransformTrans": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodFilter": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodProduct": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodTransformer": [[28, 2, 1, "", "__init__"]], "transactron.lib.transformers.MethodTryProduct": [[28, 2, 1, "", "__init__"]], "transactron.tracing": [[27, 1, 1, "", "TracingEnabler"], [27, 1, 1, "", "TracingFragment"], [27, 1, 1, "", "TracingFragmentTransformer"], [27, 1, 1, "", "TracingInstance"]], "transactron.tracing.TracingFragment": [[27, 2, 1, "", "get"], [27, 2, 1, "", "prepare"], [27, 3, 1, "", "subfragments"]], "transactron.tracing.TracingFragmentTransformer": [[27, 2, 1, "", "on_fragment"]], "transactron.tracing.TracingInstance": [[27, 2, 1, "", "get"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"]}, "titleterms": {"list": 0, "assumpt": [0, 8], "made": 0, "dure": 0, "develop": [0, 2], "full": 1, "transact": [1, 5], "method": [1, 5, 24, 25], "graph": [1, 27], "environ": 2, "set": 2, "up": 2, "us": [2, 24, 25], "script": 2, "run_test": 2, "py": 2, "lint": 2, "sh": 2, "core_graph": 2, "build_doc": 2, "introduct": [3, 5, 20], "document": [3, 5, 26], "problem": 4, "checklist": 4, "coreblock": [5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21], "framework": 5, "basic": 5, "usag": [5, 26], "implement": [5, 24], "The": 5, "librari": 5, "advanc": 5, "concept": 5, "nest": 5, "api": 6, "transactron": [6, 22, 27, 28], "instruct": [8, 25], "cach": 8, "interfac": [8, 24, 25], "address": 8, "map": 8, "exampl": 8, "packag": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "subpackag": [9, 11, 27], "submodul": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "core": [9, 27], "modul": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "content": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 27, 28], "frontend": 10, "decod": 10, "fetch": 10, "icach": 10, "rvc": 10, "fu": [11, 12], "alu": 11, "div_unit": 11, "except": [11, 17, 20], "fu_decod": 11, "jumpbranch": 11, "mul_unit": 11, "shift_unit": 11, "zbc": 11, "zb": 11, "unsigned_multipl": 12, "common": 12, "fast_recurs": 12, "sequenc": 12, "shift": 12, "param": 13, "configur": 13, "depend": 13, "fu_param": 13, "genparam": 13, "icache_param": 13, "instr": 13, "isa": 13, "kei": 13, "layout": 13, "optyp": 13, "peripher": 14, "wishbon": 14, "schedul": [15, 23], "wakeup_select": 15, "stage": 16, "backend": 16, "func_blocks_unifi": 16, "retir": 16, "rs_func_block": 16, "structs_common": 17, "csr": 17, "csr_gener": 17, "rat": 17, "rf": 17, "rob": 17, "r": 17, "util": 18, "debug_sign": 18, "fifo": 18, "protocol": 18, "summari": 20, "paper": 20, "about": 20, "interrupt": 20, "handl": 20, "old": 20, "pc": 20, "out": 20, "order": 20, "execut": 20, "processor": 20, "In": 20, "line": 20, "softwar": 20, "manag": 20, "tlb": 20, "hardwar": 20, "cost": 20, "analysi": 20, "process": 20, "strategi": 20, "igpu": 20, "support": 20, "specul": 20, "gpu": 20, "effici": 20, "other": 20, "overview": [23, 25], "descript": 23, "schema": 23, "structur": 23, "more": 23, "detail": 23, "each": 23, "block": 23, "proposit": 24, "reserv": [24, 25], "station": [24, 25], "intern": 24, "data": 24, "actual": 24, "slot": [24, 25], "tabl": 24, "compar": [24, 25], "substitut": [24, 25], "read": [24, 25], "row": [24, 25], "clean": [24, 25], "get": [24, 25], "free": 24, "mark": [24, 25], "extern": [24, 25], "all": [24, 25], "reset": 25, "initi": 25, "state": 25, "insert": 25, "new": 25, "readi": 25, "vector": 25, "signal": 25, "synthesi": 26, "requir": 26, "benchmark": 26, "trace": 27, "lib": 28, "adapt": 28, "button": 28, "connector": 28, "reqr": 28, "simultan": 28, "storag": 28, "transform": 28}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/shared_structs/Implementation/RS_impl.html b/shared_structs/Implementation/RS_impl.html index 91feea922..7ba3b5575 100644 --- a/shared_structs/Implementation/RS_impl.html +++ b/shared_structs/Implementation/RS_impl.html @@ -252,7 +252,7 @@

Read and clean row

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/shared_structs/RS.html b/shared_structs/RS.html index e60218f4d..bbf5663d9 100644 --- a/shared_structs/RS.html +++ b/shared_structs/RS.html @@ -222,7 +222,7 @@

External interface signals

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/synthesis/Synthesis.html b/synthesis/Synthesis.html index f7a83dc6d..f0361ae1c 100644 --- a/synthesis/Synthesis.html +++ b/synthesis/Synthesis.html @@ -151,7 +151,7 @@

Benchmarks

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/transactron.html b/transactron.html index b9b06e605..d27cae86b 100644 --- a/transactron.html +++ b/transactron.html @@ -148,7 +148,7 @@

Submodules
-__init__(*, name: Optional[str] = None, i: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), o: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), nonexclusive: bool = False, single_caller: bool = False)
+__init__(*, name: Optional[str] = None, i: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), o: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), nonexclusive: bool = False, single_caller: bool = False)
Parameters
@@ -221,7 +221,7 @@

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

@@ -450,7 +450,7 @@

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

@@ -496,7 +496,7 @@

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

@@ -870,7 +870,7 @@

Submodules
-__init__(*, name: Optional[str] = None, i: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), o: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), nonexclusive: bool = False, single_caller: bool = False)
+__init__(*, name: Optional[str] = None, i: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), o: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), nonexclusive: bool = False, single_caller: bool = False)
Parameters
@@ -943,7 +943,7 @@

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

@@ -1148,7 +1148,7 @@

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

@@ -1194,7 +1194,7 @@

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

@@ -1297,7 +1297,7 @@

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.

diff --git a/transactron.lib.html b/transactron.lib.html index 8a9ef6cff..94962194d 100644 --- a/transactron.lib.html +++ b/transactron.lib.html @@ -111,7 +111,7 @@

Submodules
-__init__(*, name: Optional[str] = None, i: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), o: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = ())
+__init__(*, name: Optional[str] = None, i: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), o: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = ())
Parameters
@@ -147,7 +147,7 @@

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

@@ -216,7 +216,7 @@

Submodules
-__init__(layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]])
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]])
Parameters
@@ -252,7 +252,7 @@

Submodules
-__init__(layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]])
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]])
Parameters
@@ -292,7 +292,7 @@

Submodules
-__init__(layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = (), rev_layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]] = ())
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = (), rev_layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]] = ())
Parameters
@@ -355,7 +355,7 @@

Submodules
-__init__(layout: ~typing.Union[~amaranth.hdl._rec.Layout, ~typing.Sequence[~typing.Union[~typing.Tuple[str, ~typing.Union[~amaranth.hdl.ast.Shape, ~amaranth.hdl.ast.ShapeCastable, int, range, ~typing.Type[~enum.Enum], LayoutLike]], ~typing.Tuple[str, ~typing.Union[~amaranth.hdl.ast.Shape, ~amaranth.hdl.ast.ShapeCastable, int, range, ~typing.Type[~enum.Enum], LayoutLike], ~amaranth.hdl._rec.Direction]]]], depth: int, fifo_type=<class 'amaranth.lib.fifo.SyncFIFO'>)
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], depth: int, fifo_type=<class 'amaranth.lib.fifo.SyncFIFO'>)
Parameters
@@ -397,7 +397,7 @@

Submodules
-__init__(layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]])
+__init__(layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]])
Parameters
@@ -475,7 +475,7 @@

Submodules
-__init__(args_layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], results_layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]])
+__init__(args_layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], results_layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]])
Parameters
@@ -609,7 +609,7 @@

Submodules
-__init__(*, data_layout: Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], elem_count: int, granularity: Optional[int] = None, safe_writes: bool = True)
+__init__(*, data_layout: amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], elem_count: int, granularity: Optional[int] = None, safe_writes: bool = True)
Parameters
@@ -770,7 +770,7 @@

SubmodulesElaboratable

-__init__(targets: list[transactron.core.Method], combiner: Optional[Tuple[Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], Callable[[TModule, list[amaranth.hdl._rec.Record]], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]]] = None)
+__init__(targets: list[transactron.core.Method], combiner: Optional[tuple[amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], collections.abc.Callable[[transactron.core.TModule, list[amaranth.hdl._rec.Record]], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None)

Method product.

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

Submodules
-__init__(target: Method, *, i_transform: Optional[Tuple[Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], Callable[[TModule, Record], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]]] = None, o_transform: Optional[Tuple[Union[Layout, Sequence[Union[Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike]], Tuple[str, Union[Shape, ShapeCastable, int, range, Type[Enum], LayoutLike], Direction]]]], Callable[[TModule, Record], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, RecordDict]]]] = None)
+__init__(target: Method, *, i_transform: Optional[tuple[amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], collections.abc.Callable[[transactron.core.TModule, amaranth.hdl._rec.Record], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None, o_transform: Optional[tuple[amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], collections.abc.Callable[[transactron.core.TModule, amaranth.hdl._rec.Record], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None)
Parameters
@@ -847,7 +847,7 @@

SubmodulesElaboratable

-__init__(targets: list[transactron.core.Method], combiner: Mapping[str, 'RecordDict']]]] = None)
+__init__(targets: list[transactron.core.Method], combiner: Optional[tuple[amaranth.hdl._rec.Layout | collections.abc.Sequence[tuple[str, 'ShapeLike | LayoutLike'] | tuple[str, 'ShapeLike | LayoutLike', amaranth.hdl._rec.Direction]], collections.abc.Callable[[transactron.core.TModule, list[tuple[amaranth.hdl.ast.Value, amaranth.hdl._rec.Record]]], amaranth.hdl.ast.Value | int | enum.Enum | amaranth.hdl.ast.ValueCastable | collections.abc.Mapping[str, 'RecordDict']]]] = None)

Method product with optional calling.

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

Submodules

© Copyright Kuźnia Rdzeni, 2023. - Last updated on 20:45 2023-10-22. + Last updated on 18:20 2023-10-23.