From: Jacob Lifshay Date: Thu, 1 Feb 2024 04:07:02 +0000 (-0800) Subject: fosdem2024_bigint: mul pipe diagram completed X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1986384eda6da23f6f2268910e4cf72f48a5ced8;p=libreriscv.git fosdem2024_bigint: mul pipe diagram completed --- diff --git a/conferences/fosdem2024/fosdem2024_bigint/.latexmkrc b/conferences/fosdem2024/fosdem2024_bigint/.latexmkrc index 949031b0b..d9324362f 100644 --- a/conferences/fosdem2024/fosdem2024_bigint/.latexmkrc +++ b/conferences/fosdem2024/fosdem2024_bigint/.latexmkrc @@ -13,4 +13,4 @@ EOS system("$sed_cmd \"$_[0].dia-tex\""); } $cleanup_includes_cusdep_generated = 1; -$max_repeat = 10; +$max_repeat = 15; diff --git a/conferences/fosdem2024/fosdem2024_bigint/bigint-mul-pipe.dia b/conferences/fosdem2024/fosdem2024_bigint/bigint-mul-pipe.dia index 5f3d2de7e..cc1ba1760 100644 --- a/conferences/fosdem2024/fosdem2024_bigint/bigint-mul-pipe.dia +++ b/conferences/fosdem2024/fosdem2024_bigint/bigint-mul-pipe.dia @@ -84,22 +84,46 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - + + + + @@ -128,29 +152,6 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -204,127 +205,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - #320-bit -Carry-Save -Adder# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #4 64-bit -maddld ops# - - - - - - - - - - - - - - - - - - - - - - - - + @@ -341,7 +227,7 @@ maddld ops# - + @@ -356,7 +242,7 @@ maddld ops# - + @@ -377,7 +263,7 @@ maddld ops# - + @@ -394,7 +280,7 @@ maddld ops# - + @@ -409,7 +295,7 @@ maddld ops# - + @@ -430,7 +316,7 @@ maddld ops# - + @@ -447,7 +333,7 @@ maddld ops# - + @@ -462,7 +348,7 @@ maddld ops# - + @@ -478,254 +364,7 @@ maddld ops# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #latex:\tiny MSB# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #latex:\tiny LSB# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -748,43 +387,7 @@ maddld ops# - - - - - - - - - - - #Partial Products# - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -807,7 +410,7 @@ maddld ops# - + @@ -830,7 +433,7 @@ maddld ops# - + @@ -853,90 +456,2791 @@ maddld ops# - + - + - + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Partial Products# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r5# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r4# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r7# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r6# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latexcmd:\onslide<1># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r23# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r22# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r21# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r20# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #4 maddld +ops# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r19# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r11# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r18# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r10# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r17# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r9# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r16# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r8# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #128-bit +Carry-Save Adder# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #128-bit +Carry-Save Adder# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #128-bit +Carry-Save Adder# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #128-bit +Carry-Save Adder# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny MSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny LSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny MSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny LSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny MSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny LSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny MSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny LSB half# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latexcmd:\pause latex:\onslide<2># + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #320-bit +Carry-Save +Adder# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny words 0-1# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny word 0# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny word 1-2# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny words 2-3# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny words 3-4# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r23# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r22# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r21# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #r20# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #latex:\tiny word 0# + + + + + + + + + + + + + + + + + - - + + - - + + - + - + - - - - + - - - - - - - - + + + + #latex:\tiny word 1# + + + + + + + + + + + + + + + + + - - + + - - + + - - - + + + + - - + + - - + + + + #latex:\tiny word 2# + + + + + + + + + + + + + + + + + - - + + - - + + - - + - + - + - #latex:\tiny bits 0-126# + #latex:\tiny word 3# @@ -945,13 +3249,13 @@ maddld ops# - + - + @@ -961,30 +3265,27 @@ maddld ops# - - - - + - + - + - #latex:\tiny bits 0-63# + #r8# - + - + @@ -998,24 +3299,26 @@ maddld ops# - + - + - + - + - - - + + + + + @@ -1029,30 +3332,27 @@ maddld ops# - - - - + - + - + - #r4# + #latex:\tiny word 4# - + - + @@ -1066,52 +3366,96 @@ maddld ops# - + - + - + - + - + - - - - + + + + #4 maddedu +ops# + + + + + + + + + + + + + + + + + - - - + + - - + + + + - - + + - - + + + + #r3# + + + + + + + + + + + + + + + + + - - + + + + + + + + - + - + - + - #r4# + #r3# @@ -1120,7 +3464,7 @@ maddld ops# - + @@ -1137,49 +3481,98 @@ maddld ops# - + - + - + - + - - - - + + + + #r3# + + + + + + + + + + + + + + + + + - - - + + - - + + - - + + + + + + + - - + + - - + + + + #r8# + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - #r4# + #r3# @@ -1188,7 +3581,7 @@ maddld ops# - + @@ -1204,20 +3597,23 @@ maddld ops# + + + - - + + - + - + - #latexcmd:\pause# + #latexcmd:\onslide<1-># @@ -1226,7 +3622,7 @@ maddld ops# - + @@ -1241,5 +3637,4 @@ maddld ops# - diff --git a/conferences/fosdem2024/fosdem2024_bigint/fosdem2024_bigint.tex b/conferences/fosdem2024/fosdem2024_bigint/fosdem2024_bigint.tex index 363d8030f..c245d99a6 100644 --- a/conferences/fosdem2024/fosdem2024_bigint/fosdem2024_bigint.tex +++ b/conferences/fosdem2024/fosdem2024_bigint/fosdem2024_bigint.tex @@ -128,8 +128,15 @@ maddedu r7, r3, r23, r8 \input{sv.maddedu.dia-tex} \end{frame} -\begin{frame} +\begin{frame}[fragile] \frametitle{Big-Integer Multiply on an example CPU} + \begin{overprint} + \onslide<1> + \codeinline{sv.maddld *r4, *r8, *r16, *r20 # mul-add} + \onslide<2> + \codeinline{sv.maddedu *r4, r3, *r20, r8 # carrying multiply} + \end{overprint} + \bigbreak \input{bigint-mul-pipe.dia-tex} \end{frame}