add slides
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 12 Jul 2018 10:22:19 +0000 (11:22 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 12 Jul 2018 10:22:26 +0000 (11:22 +0100)
shakti/m_class/libre_riscv_chennai_2018.tex

index 0a7e621f5c5984748c0e51f8ee211d10a7222f9f..3f8632ba3a517e3acefaaccc1c3780d30f0d76df 100644 (file)
 }
 
 
-\frame{\frametitle{Challenging Stuff [3] - Libre 3D GPU.  Sigh.}
+\frame{\frametitle{Challenging Stuff [3] - Power Management}
+
+ \begin{itemize}
+   \item Been done before (many times), but not as a Libre Design.
+   \item Sanjay Charagulla: GlobalFoundries 22nm mobile process
+            can reach as low as 0.4v
+   \item GPIO Banks need per-bank VREF (1.8v? to 3.3v)\\
+             IO pads need built-in
+            level-shifting to convert to CPU VCORE
+   \item Each core needs independent variable-voltage capability
+            and independent shut-down (PMIC supplies external voltage)
+   \item DDR RAM still needs refreshing (even in sleep mode)
+   \item Extra RV32 (PicoRV32?) always-on core for wake-up / RTC?
+   \item PLLs are Analog.  fun fun fun in the sun sun sun...
+  \end{itemize}
+   {\it Really need help.  PLLs, Analog stuff: specific
+          domain expertise.  Fall-back example:
+          https://www.dolphin-integration.com?
+   }
+}
+
+
+\frame{\frametitle{Challenging Stuff [4] - Libre 3D GPU.  Sigh.}
 
  \begin{itemize}
    \item Actual requirements quite modest: 30MP/s 100MT/s 5GFLOPS
 }
 
 
-\frame{\frametitle{Challenging Stuff [4] - Power Management}
+\frame{\frametitle{Challenging Stuff [5] - Custom Extensions}
 
  \begin{itemize}
-   \item Been done before (many times), but not as a Libre Design.
-   \item Sanjay Charagulla: GlobalFoundries 22nm mobile process
-            can reach as low as 0.4v
-   \item GPIO Banks need per-bank VREF (1.8v? to 3.3v)\\
-             IO pads need built-in
-            level-shifting to convert to CPU VCORE
-   \item Each core needs independent variable-voltage capability
-            and independent shut-down (PMIC supplies external voltage)
-   \item DDR RAM still needs refreshing (even in sleep mode)
-   \item Extra RV32 (PicoRV32?) always-on core for wake-up / RTC?
-   \item PLLs are Analog.  fun fun fun in the sun sun sun...
+   \item GPUs are usually done with incompatible ISAs and effectively
+            doing OpenGL over IPC / RPC (Remote Procedure Calls)
+   \item Much simpler: GPGPU approach.  Custom-extend the 
+            main core ISA to handle 3D, and accelerate
+                Gallium3D-LLVM. 
+   \item Now add Video Extensions. and SIMD. and, and, and...\\
+          {\bf we are well beyond the 2 32-bit custom opcodes}
+   \item Due to the Libre nature of this project, the custom opcode
+            space will be "dominated" by 
+            high-profile public hard-forks of gcc, binutils, llvm etc.
+            Which isn't going to go down well.
+   \item Instruction-set "Conflict Resolution" is therefore critical\\
+            http://libre-riscv.org/isa\_conflict\_resolution/
   \end{itemize}
-   {\it Really need help.  PLLs, Analog stuff: specific
-          domain expertise.  Fall-back example:
-          https://www.dolphin-integration.com?
+   {\it Remember Altivec. Learn from Intel. This is everyone's problem.
    }
 }