Add the atbegshi package, which is not available on Debian.
[matthijs/master-project/final-presentation.git] / introduction.lhs
index 1a6ff718f27226e4952009f484f784ad5ca7441f..424616d00e31c46cd2c19183050a7984f1c79dd8 100644 (file)
@@ -9,15 +9,18 @@
 \includegraphics<1>[height=8cm]{figures/cpus/pmiphone_boardtopbig}
 \includegraphics<2>[height=8cm]{figures/cpus/Intel_core_i7}
 \includegraphics<3>[height=8cm]{figures/cpus/6600GT_GPU}
-\includegraphics<4>[height=8cm]{figures/cpus/Altera_StratixIV}
+\includegraphics<4>[height=8cm]{figures/cpus/Altera_StratixIV}
 }
 \label{img:chips}
 \end{figure}
 }
 \note[itemize]
 {
-\item Iedereen weet wel wat hardware is. Hier een paar voorbeelden.
-\item Binnenkant iPhone met veelvoud aan chips, Laatste Intel CPU, Nvidia Videochip, Altere FPGA
+\item Voorbeelden van hardware / chips
+\item Next sheet: Binnenkant iPhone met veelvoud aan chips
+\item Next sheet: Laatste Intel CPU
+\item Next sheet: Nvidia Videochip
+\item Next sheet: Altera FPGA
 }
 
 \frame
 }
 \note[itemize]
 {
-\item NAND: Gaat na dat beide ingangen niet 1 zijn
-\item Een simpel hardware ontwerp met 4 transistoren
+\item Next sheet: Transistor NAND design
+\item Met de hand ontwerpen
+\item Basis zijn transistoren
 \item Links een schematisch ontwerp, Rechts de layout van de metaal lagen
 }
 
 \frame
 {
-\frametitle{Transistor}
+\frametitle{Transistors}
 \begin{figure}
 \centerline{
 \includegraphics<1>[height=8cm]{figures/transistor/hr-1sttransistor}
 }
 \note[itemize]
 {
-\item Hardware is opgebouwd uit transistoren, simpele schakelaar
-\item Eerste transistor 60 jaar geleden, ter grootte van je hand
-\item Het word allemaal steeds kleiner
-\item Nu: Chip net iets groter dan je duim: 731 miljoen transistoren
+\item Next sheet: Eerste transistor 60 jaar geleden
+\item Next sheet: Superkleine transistoren
+\item Next sheet: 731 miljoen transistoren in deze chip
 }
 
 \frame
 {
 \frametitle{Designing Hardware}
 \vspace{0.5cm}
-\centerline{\Large This won't work for 730 million transistors!}
+\centerline{\Large Drawing won't work for 730 million transistors!}
 \begin{figure}
 \centerline{\includegraphics[height=7cm]{figures/transistor/nehalem-core}}
 \end{figure}
 }
 
+\note[itemize]
+{
+\item Next sheet: Floorplan 730 million
+\item Computer details laten uitzoeken.
+}
+
 \frame
 {
 \frametitle{Designing Hardware}
@@ -84,8 +93,8 @@
 \end{itemize}
 }
 \note[itemize]
-{
-\item Harware designs worden gewoon in tekst opgeschreven.
+{ 
+\item Hardware designs worden gewoon in tekst opgeschreven.
 \item Maar wel in een special taal voor hardware
 \item Waar je voor software programmeer talen hebt,
 \item Heb je voor hardware zogeheette hardwarebeschrijvingstalen
 \frame
 {
 \frametitle{Designing Hardware}
+\begin{columns}
+\begin{column}{6cm}
 \begin{itemize}
-\item Algorithmic / Behavioral Descriptions:
+\item Behavioral Descriptions:
 \begin{itemize}
-\item Describe \emph{what} the Hardware does
-\item Relation between input and output
+\item \emph{What} the hardware does
 \end{itemize}
 \item Structural Descriptions:
 \begin{itemize}
-\item Describe \emph{how} the Hardware does it
-\item Hierarchal composition
+\item \emph{How} the hardware does it
 \end{itemize}
 \end{itemize}
+\end{column}
+\begin{column}{4cm}
+\includegraphics[width=4cm]{figures/Gradient}
+\end{column}
+\end{columns}
 }
 \note[itemize]
 {
-\item Algoritmische beschrijvingen beschrijven wat de Hardware moet doen, niet hoe die dat doet
-\item Structurele beschrijvingen beschrijven hoe de Hardware dingen doet
-\item In Structurele beschrijvingen worden componenten opgebouwd uit simpele schakelingen en/of andere componenten
-\item Graag willen wij algorithmische beschrijvingen maken, en de structurele beschrijving hier automatisch van afleiden
+\item Next sheet: Behavioral vs structural
+\item Wat moet de hardware doen? Wiskundig, algoritmisch.
+\item Hoe moet de hardware het doen? Compositie, structuur.
+\item Balans, meestal beetje van beiden.
+\item Graag zo veel mogelijk behavioral (makkelijker)
 }
 
 \frame
 \frametitle{Why do we make Hardware?}
 \begin{itemize}
 \item We make hardware to solve problems
-\item The solutionss are often described as a set of mathematical equations\footnote{But what is the equation for a CPU?}
+\item Solutions (Algorithms) often described as a set of mathematical equations
 \item `Holy Grail' Hardware Descriptions:
 \begin{itemize}
 \item Input: Set of Mathematical Equations
 }
 \note[itemize]
 {
-\item We maken hardware omdat we, soms vaag gedefineerde, problemen willen oplossen.
-\item Oplossingen, vooral in de signaalverwerking (video, muziek, TV, etc.), zijn beschreven als een verzameling van wiskundige formules
-\item Wat we dus graag zouden hebben, een zogenaamde heilige graal, is een programma aan welke we deze formules geven, en dat er dan automatisch super efficiente hardware uit komt.
-\item Maar... wat is de formule van een CPU/Processor? Misschien moet is een oplossingen in `normaal nederlands' soms een betere input voor zo'n programma?
+\item Hardware lost problemen op (videodecodering, telefoongesprekken versturen, etc.)
+\item Oplossingen zijn beschreven vaak wiskundige formules
+\item Heilige graal -$>$ alles automatisch
+\item Onbereikbaar
+\item Hebben we geen wiskundige programmeertalen?
 }
 
 \frame
 {
 \frametitle{Functional Languages}
 \begin{itemize}
-\item Functional programming languages allow us to specify programs that are close to a set of mathematical equations.
-\end{itemize}
-}
-\note[itemize]
-{
 \item Functionele talen liggen dicht bij de wiskunde
-}
-
-\frame
-{
-\frametitle{Functional Languages \& Hardware}
+\item Calculate $2 * 3 + 3 * 4$
 \begin{itemize}
-\item When we want to calculate, 1 + 2 + 3, there is nothing that dictates that we should first calculate 1 + 2
-\item Like mathematical equations, Functional languages do not dictate an order when there is none. So everything can be calculated in parallel.
-\item In hardware, everything also happens in parallel: electrons flow through all the transistors every moment in time.
-\item IDEA: Use functional languages to describe hardware!
+\item First calculate $2* 3$ ?
+\item Or start with $3 * 4$ ?
+\end{itemize}
 \end{itemize}
 }
+
 \note[itemize]
 {
-\item In wiskundige formules is er vaak geen volgorde gedefineerd
-\item Dit is dus hetzelfde in functionele talen, wat betekent dat alles tegelijk/parallel kan worden uitgerekent.
-\item Bij `normale' programmeertalen is er vaak wel een volgorde
-\item In hardware gebeurt ook alles tegelijkertijd
-\item Het idee is dus om hardware te beschrijven in een functionele taal
+\item Functionele talen eisen (vaak) geen volgorde van uitrekenen
+\item Hardware ook niet
+\item Lijkt goed overeen te komen
 }
 
 % \frame