From be3bdb1f6895c210848061f2db5dcf9d85940a9b Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 26 Oct 2021 12:13:46 +0100 Subject: [PATCH] add DCT slide --- conferences/openpower2021/openpower_2021.tex | 25 +++++++++++++------ conferences/openpower2021/plonka_dct1.png | Bin 13163 -> 15001 bytes 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/conferences/openpower2021/openpower_2021.tex b/conferences/openpower2021/openpower_2021.tex index f76c1c27d..71d844309 100644 --- a/conferences/openpower2021/openpower_2021.tex +++ b/conferences/openpower2021/openpower_2021.tex @@ -70,14 +70,6 @@ -%%\frame{\frametitle{nmigen PowerISA Decoder} - -%%\begin{center} -%%\includegraphics[width=0.55\textwidth]{2020-09-09_21-04.png} -%%\end{center} - -%%} - \begin{frame}[fragile] \frametitle{Reminder of Simple-V} @@ -250,6 +242,23 @@ sv.fmadds: uses fp0 as accumulator \end{itemize} } +\frame{\frametitle{nmigen PowerISA Decoder} + + \begin{itemize} + \item Standard DCT Schedule (messy, impossible for SIMD) + \item Output is in bit-reversed order\\ + 0b000 = 0b000 (in: 0 out: 0)\\ + 0b001 = 0b100 (in: 1 out: 4)\\ + 0b110 = 0b011 (in: 7 out: 3) + 0b111 = 0b111 (in: 7 out: 7) + \end{itemize} + +\begin{center} +\includegraphics[width=0.75\textwidth]{plonka_dct1.png} +\end{center} + +} + \frame{\frametitle{TODO rewrite Summary} diff --git a/conferences/openpower2021/plonka_dct1.png b/conferences/openpower2021/plonka_dct1.png index 6d41325faadbc4e378d72b60d58bb28cf3d6e873..0a186c2473ead4096de50a42f3a4b3d2948f2adc 100644 GIT binary patch delta 14564 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 -- 2.30.2