diff --git a/Makefile b/Makefile
index a0cdc80..f40b112 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-all: postZfa postZfhmin preZfhmin postZvfhmin insideZvfhmin insideZfhmin wideningModule
+all: postZfa postZfhmin preZfhmin postZvfhmin insideZvfhmin insideZfhmin wideningModule preOptimization postOptimization
postZfa:
inkscape $@.svg --export-type=pdf --export-filename=$@.pdf
@@ -21,5 +21,11 @@ insideZfhmin:
wideningModule:
inkscape $@.svg --export-type=pdf --export-filename=$@.pdf
+preOptimization:
+ inkscape $@.svg --export-type=pdf --export-filename=$@.pdf
+
+postOptimization:
+ inkscape $@.svg --export-type=pdf --export-filename=$@.pdf
+
clean:
rm -rf *.pdf
diff --git a/insideFcvtmod.svg b/insideFcvtmod.svg
new file mode 100644
index 0000000..5158813
--- /dev/null
+++ b/insideFcvtmod.svg
@@ -0,0 +1,3799 @@
+
+
+
+
diff --git a/insideZfhmin.svg b/insideZfhmin.svg
index 3e9966f..100cc00 100644
--- a/insideZfhmin.svg
+++ b/insideZfhmin.svg
@@ -2,13 +2,13 @@
+ originx="-377.0747"
+ originy="-948.67122" />
@@ -3417,23 +3417,23 @@
is_f32f16
+ x="-586.97736"
+ y="-529.45349"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.69684px;line-height:125%;font-family:'Courier New';text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.356052">is_fp32
+ transform="translate(-62.207134,-101.0207)">
result_ostatus_o
1
0
is_f32f16
+ x="-645.31519"
+ y="-470.78137"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.69684px;line-height:125%;font-family:'Courier New';text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.356052">is_widening
result_o
+ transform="translate(-49.018066,-104.4275)">
is_f32f16
+ x="-641.90839"
+ y="-583.21393"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.69684px;line-height:125%;font-family:'Courier New';text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.356052">is_widening
result_o
TOFP16
-
-
-
-
-
- FP16TOFP32
-
-
-
-
-
- FP32TOFP16
-
-
-
-
-
- FP16TOFP64
-
-
-
-
-
- FP64TOFP16
-
-
+
+
+
FP16FP32
+
+
+
+ FP32FP16
+
+
+
+ FP16FP64
+
+
+
+ FP64FP16
+ operand_i
diff --git a/insideZvfhmin.svg b/insideZvfhmin.svg
index c7abf19..02d8371 100644
--- a/insideZvfhmin.svg
+++ b/insideZvfhmin.svg
@@ -3,12 +3,12 @@
diff --git a/postOptimization.svg b/postOptimization.svg
index ef2ce46..cb9d593 100644
--- a/postOptimization.svg
+++ b/postOptimization.svg
@@ -2,13 +2,13 @@
+
+
+
+
+
+
@@ -678,10 +706,10 @@
inkscape:transform-center-y="-4.4586184e-06" />
+
+
3
-
-
+ style="display:inline;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.068;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 445.71066,-687.80352 H 418.12018"
+ id="path2840-9-8-0" />
- 1
-
-
-
- 0
-
- S0
-
- S1
+ d="M 481.29146,-687.80328 H 460.05331"
+ id="path2840-9-8-0-11" />
- 2
+ d="M 407.71222,-629.41868 H 387.86817"
+ id="path2840-9-8-0-0" />
- 3
+ d="M 498.1289,-595.73884 H 435.06151"
+ id="path2840-9-8-0-1" />
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
-
-
-
PendingFP OPSQueue
- ZFAPostProcess
- CVFPU
ZFHMIN
-
ZFACONV
Z
-
-
-
-
-
+
+
+
+
+
+ 1
+ 0
+
+
+
+
+
+
+ 1
+ 0
+
Z
-
-
-
- instruction_i
- instruction_o
+ inkscape:connector-curvature="0" />
-
+
+
+
+
+
+
+
+
+
+
diff --git a/postZfa.svg b/postZfa.svg
index 47d4f5b..5f8e319 100644
--- a/postZfa.svg
+++ b/postZfa.svg
@@ -2,13 +2,13 @@
+ ry="17.716532" />
3
-
-
- 1
-
-
-
- 0
-
S0
-
- S1
-
- 2
-
- 3
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
PendingPendingFP OPSQueue
ZFAPostPostProcess
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.40833px;font-family:sans-serif;-inkscape-font-specification:sans-serif;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-dasharray:none;stroke-opacity:1"
+ x="488.89001"
+ y="-702.11639"
+ id="tspan9">Process
CVFPU
- ZFHMIN
ZFACONV
Z
instruction_i
+ style="font-size:6.35px;stroke-width:0;stroke-dasharray:none"
+ x="390.53751"
+ y="-712.47125">instruction_i
instruction_o
+ style="font-size:6.35px;stroke-width:0;stroke-dasharray:none"
+ x="506.81018"
+ y="-712.44226">instruction_o
-
+
-
-
-
+
+
+
+
+
+
+ 1
+ 0
+
diff --git a/postZfhmin.svg b/postZfhmin.svg
index 1ee998b..6127f42 100644
--- a/postZfhmin.svg
+++ b/postZfhmin.svg
@@ -2,13 +2,13 @@
+
3
+
+
+
+
+ 1
+
+
+
+ 0
+
+ S0
+
+ S1
+
+
+ 2
+
+ 3
+
+
+ transform="matrix(1.1774769,0,0,1.1774769,-146.65995,-846.10916)">
+
+
PendingPendingFP OPSQueue
PostProcess
+ CVFPU
ZFHMIN
+
+ ZFACONV
Z
-
-
-
-
- 1
- 0
- S0
Z
+ style="display:inline;stroke-width:0.907024;stroke-dasharray:none">
instruction_i
+ style="font-size:6.35px;stroke-width:0;stroke-dasharray:none"
+ x="387.89163"
+ y="-713.5296">instruction_i
instruction_o
+ style="font-size:6.35px;stroke-width:0;stroke-dasharray:none"
+ x="503.63513"
+ y="-713.50061">instruction_o
+
+
-
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.068;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
+ d="m 402.93183,-609.74698 -0.005,-10.79352"
+ id="path17"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="0" />
+ d="m 414.86441,-609.74698 h 13.34832"
+ id="path18"
+ sodipodi:nodetypes="cc" />
+
diff --git a/postZvfhmin.svg b/postZvfhmin.svg
index 94f215c..e3a54e4 100644
--- a/postZvfhmin.svg
+++ b/postZvfhmin.svg
@@ -6,7 +6,7 @@
height="195mm"
id="svg2"
version="1.1"
- inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
+ inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="postZvfhmin.svg"
viewBox="0 0 343 195"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@@ -23,17 +23,17 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="0.52277942"
- inkscape:cx="719.2326"
- inkscape:cy="280.23291"
+ inkscape:zoom="0.53987778"
+ inkscape:cx="580.68699"
+ inkscape:cy="526.97113"
inkscape:document-units="mm"
- inkscape:current-layer="g1-3-0-5-9-6-3-6"
+ inkscape:current-layer="layer1"
showgrid="false"
units="mm"
- inkscape:window-width="1920"
- inkscape:window-height="1052"
- inkscape:window-x="0"
- inkscape:window-y="0"
+ inkscape:window-width="1854"
+ inkscape:window-height="1011"
+ inkscape:window-x="1986"
+ inkscape:window-y="32"
inkscape:window-maximized="1"
objecttolerance="20"
gridtolerance="10"
@@ -3777,51 +3777,42 @@
transform="rotate(90)" />
-
- ZVFHMIN
-
-
-
-
-
-
+ ZVFHMIN
+
+
+
@@ -3865,14 +3856,6 @@
x="-705.63635"
y="-370.71628"
transform="rotate(90)" />
-
+
+
+
diff --git a/preZfhmin.svg b/preZfhmin.svg
index 0992686..6fb3e72 100644
--- a/preZfhmin.svg
+++ b/preZfhmin.svg
@@ -2,13 +2,13 @@
+ x="478.3251"
+ y="102.39651" />
PendingPendingFP OPSQueue
CVFPU
Z
instruction_i
+ x="387.50885"
+ y="-713.08038">instruction_i
instruction_o
+ x="449.85706"
+ y="-713.05139">instruction_o
diff --git a/wideningModule.svg b/wideningModule.svg
index cfe9b2b..d6d346f 100644
--- a/wideningModule.svg
+++ b/wideningModule.svg
@@ -2,13 +2,13 @@
+ x="3.1341312"
+ y="53.658634" />
+ width="113.29295"
+ height="153.6461"
+ x="3.1339405"
+ y="155.56776" />
+
+ x="127.77197"
+ y="250.26566" />
+ x="146.84343"
+ y="16.035332" />
@@ -781,7 +784,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-5"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="421.81821"
+ cx="393.64902"
cy="-605.70789"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -789,7 +792,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-56"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="537.09418"
+ cx="508.92502"
cy="-648.19147"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -797,7 +800,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-9"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="553.79498"
+ cx="525.62585"
cy="-682.53821"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -805,7 +808,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-2"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="553.93805"
+ cx="525.76892"
cy="-648.25952"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -813,7 +816,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-0"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="565.65466"
+ cx="525.86945"
cy="-612.1322"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -821,7 +824,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-0-7"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="477.4068"
+ cx="449.23761"
cy="-584.46521"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -829,7 +832,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-3"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="658.13324"
+ cx="629.96411"
cy="-648.31458"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -837,7 +840,7 @@
inkscape:transform-center-x="2.0860962"
id="path13572-61"
style="display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.06093"
- cx="658.08966"
+ cx="629.92053"
cy="-612.39813"
r="2.0860951"
inkscape:transform-center-y="-4.4586184e-06" />
@@ -1552,7 +1555,7 @@
x="-124.50394"
y="-144.12999"
rx="17.716532"
- ry="0" />
+ ry="17.716532" />
operand_i
[14:10]
[9:0]
[31]
[30:0]
[30:23]
[22:0]
[30:23]
[15]
[31]
112
13
operand_o
status_o
@@ -3908,28 +3911,28 @@
style="display:inline;fill:none;stroke:#000000;stroke-width:1.17748;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
id="path5527-5-0-3-3"
cx="648.21368"
- cy="605.9436"
+ cy="577.77448"
rx="12.822311"
ry="12.897488"
transform="rotate(-90)" />
<<
-
-
-
-
-
-
-
-
- <<
-
+
+
+
+
+
+
+
<<
+
+ transform="rotate(90,692.25278,-832.49623)">
0
-
-
-
-
-
-
- 1
- 0
-
-
-
-
-
-
-
- 1
- 0
- frac16 == 0
-
+
+
+
+
+ 1
+ 0
+
+
+
+
+
+ 1
+ 0
+ frac == 0
+
1
0
exp16 == 0
+ x="501.72098"
+ y="-493.19611"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.69684px;line-height:125%;font-family:'Courier New';text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.356052">exp == 0
is_nan_i
+ x="485.90247"
+ y="-432.53268"
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.69684px;line-height:125%;font-family:'Courier New';text-align:center;writing-mode:lr-tb;text-anchor:middle;stroke-width:0.356052">is_nan
is_snan_i
+ transform="rotate(-90,670.18196,-492.39364)">
112
0
QNAN
0
NV
[22:0]