add slides
[libreriscv.git] / shakti / m_class / libre_riscv_chennai_2018.tex
index 632ae21d0bf1a4a8346ac31a3d0805e05fb24207..b21f3f1b907ad589edd6a1fb4a76148bb80ae691 100644 (file)
    former motto "don't be evil" is clearly (unintentionally) unethical}
 }
 
+
+\frame{\frametitle{Does what we want already exist?}
+ \begin{center}
+  \includegraphics[height=2.4in]{nolibresocs.jpg}\\
+  {\bf Analysis of SoCs over the past 7+ years (answer: no)}
+ \end{center}
+}
+
+
+\frame{\frametitle{What's the problem?}
+
+ \begin{itemize}
+   \item {\bf iMX6}: Libre bootable, Vivante 3D GPU (libre etnaviv)
+            but proprietary VPU (and a power-hungry Cortex A9)
+       \item {\bf Allwinner SoCs}: mostly Libre bootable,
+             VPU reverse engineered; GPU: MALI or PowerVR (i.e. proprietary)
+       \item {\bf Rockchip SoCs}: good but using MALI or PowerVR.
+       \item {\bf TI OMAP}: good but using PowerVR.  and expensive.
+       \item {\bf Samsung}: good but using MALI.
+       \item {\bf Ingenic jz4775}: GREAT! performance
+                 sucks (1ghz MIPS32).
+       \item {\bf Broadcom SoCs}: Cartelled. and boots from the GPU
+  \end{itemize}
+  {\it Basically there does not exist one single commercial SoC that
+   provides full source code for all functions (CPU, GPU, VPU)
+   with modern performance. Which is kinda bizarre if you think about it}
+}
+
+
+\frame{\frametitle{So what's needed? What would a good (Libre) SoC have?}
+
+ \begin{itemize}
+   \item Cover a lot of different scenarios (embedded, tablets, industrial,
+         netbooks, crypto-currency mining).
+       \item Decent performance with high efficiency.  RISC-V: 40 \%
+                 more efficient than ARM / Intel.  Shakti a good
+             candidate: 2.5ghz and 120mW per core @ 22nm.
+       \item 1080p video: y'all gotta watch cute kittens on youtube, right?
+       \item 3D GPU: y'all gotta play Angri Burds, right? (or Minecraft)
+       \item No spying back-door co-processors (to steal crypto-wallets)
+       \item No Spectres, no Meltdowns.
+  \end{itemize}
+  {\it Basically quite boring and mundane.  No Monster Performance,
+   no AI stuff, no special sauce. Just a plain-old SoC,
+   40\% more power efficient than ARM/Intel,
+   and not spying on end-users, that's all}
+}
+
+
+\frame{\frametitle{How on earth does an ethical Libre SoC make money???}
+
+ \begin{itemize}
+   \item Simple answer: Mask Rights.
+   \item Without Mask Rights: by having a desirable
+         product, and packaging it for a customer (i.e. by being a middle-man
+         a service is still being provided for which payment etc. etc.)
+   \item Without a desirable product or customer(s): err... you don't.\\
+            (cf: definition of Business)
+   \item By not having high NREs (leveraging back-to-back deals,
+            and helping others fulfil their needs)
+  \end{itemize}
+  {\it Detachment from the goal also helps. If someone else makes this
+   product then GREAT! I can go do something else}
+
+}
+
+\frame{\frametitle{Things wot are "off-limits"}
+
+ \begin{itemize}
+   \item Customer entrapment (through proprietary software).\\
+         Strong business case for not entrapping customers:\\
+            https://tinyurl.com/most-productive-meeting-ever
+   \item Funding, endorsing, supporting or otherwise empowering
+             unethical Companies, Organisations and Individuals.\\
+            (cf: definition of an ethical act).
+       \item Being totally inflexible / unrealistic.  Goals have
+            to be met: it's no good being an idiot about that. e.g. if
+            a Libre 3D GPU really can't be made, use Vivante GC800
+            (with etnaviv).
+  \end{itemize}
+  {\it Still no real show-stoppers to making money (or product):
+    it's just slightly harder, that's all.  Ultimately it's about
+    confidence. }
+}
+
+
 \frame{\frametitle{Interfaces, Block Diagram, of the Libre-RISCV SoC}
  \begin{center}
-  \includegraphics[height=2.5in]{../shakti_libre_riscv.jpg}\\
-  {\bf Complexity is in the power management }
+  \includegraphics[height=2.1in]{../shakti_libre_riscv.jpg}\\
+  {\bf Separate Power Domains for GPIO banks, Variable voltages
+    required, low-power sleep states etc.  Quite involved}
  \end{center}
 }
 
+
+\frame{\frametitle{Hardware / Development Complexity Comparison}
+
+ \begin{itemize}
+   \item {\bf Server}: relatively easy. PCIe, RapidIO, XAUI, SATA, GbE, 10GE,
+                DDR3/4 (or HMC) etc. etc. No multiplexing: all interfaces dedicated
+                and high-speed differential pairs.
+   \item {\bf Desktop}: really just a variant of Server.
+            Graphics is a PCIe Card (except if integrated).  Peripherals
+            often done in dedicated external ICs ("Southbridge" concept)
+   \item {\bf Embedded}: also pretty easy.  Really needs a pinmux.  Low clock
+         rate, low power mode.  e.g. SiFive Freedom U310.
+   \item {\bf Mobile}: HARD. Performance/Watt matters $=>$ variable core
+                voltage domains {\it per core}.  Number of pins matters (affects
+                yield and package cost).  Cost
+                matters.  Pinmux critical.
+  \end{itemize}
+  {\it Bottom line: Mobile-class processors are challenging!}
+}
+
+
 \frame{\frametitle{TODO}
 
  \begin{itemize}