summaryrefslogtreecommitdiff
path: root/manual/PRESENTATION_ExAdv.tex
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-02-06 14:01:43 +0100
committerClifford Wolf <clifford@clifford.at>2014-02-06 14:01:43 +0100
commit821156b6cf27efd8a9b417433211b33c177917de (patch)
tree943149d47d8fae23c087f413dcf7cc2db7d77a5f /manual/PRESENTATION_ExAdv.tex
parentc13c5b9b7b0925c602661bfcde8b45a538412f4b (diff)
presentation progress
Diffstat (limited to 'manual/PRESENTATION_ExAdv.tex')
-rw-r--r--manual/PRESENTATION_ExAdv.tex83
1 files changed, 79 insertions, 4 deletions
diff --git a/manual/PRESENTATION_ExAdv.tex b/manual/PRESENTATION_ExAdv.tex
index 8457ceb7..21c5cdec 100644
--- a/manual/PRESENTATION_ExAdv.tex
+++ b/manual/PRESENTATION_ExAdv.tex
@@ -168,14 +168,66 @@ See {\tt help select} for full documentation of this expressions.
\subsubsection{Incremental selection}
-\begin{frame}{\subsubsecname}
-TBD
+\begin{frame}[fragile]{\subsubsecname}
+Sometime a selection can most easily described by a series of add/delete operations.
+For the commands {\tt select -add} and {\tt select -del} add or remove objects
+from the current selection instead of overwriting it.
+
+\medskip
+\begin{lstlisting}[xleftmargin=0.5cm, basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=ys]
+select -none # start with an empty selection
+select -add reg_* # select a bunch of objects
+select -del reg_42 # but not this one
+select -add state %ci # and add mor stuff
+\end{lstlisting}
+
+\bigskip
+Within a select expression the token {\tt \%} can be used to push the previous selection
+on the stack.
+
+\medskip
+\begin{lstlisting}[xleftmargin=0.5cm, basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=ys]
+select t:$add t:$sub # select all $add and $sub cells
+select % %ci % %d # select only the input wires to those cells
+\end{lstlisting}
\end{frame}
\subsubsection{Creating selection variables}
-\begin{frame}{\subsubsecname}
-TBD
+\begin{frame}[fragile]{\subsubsecname}
+Selections can be stored under a name with the {\tt select -set <name>}
+command. The stored selections can be used in later select expressions
+using the syntax {\tt @<name>}.
+
+\medskip
+\begin{lstlisting}[xleftmargin=0.5cm, basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=ys]
+select -set cone_a state_a %ci*:-$dff # set @cone_a to the input cone of state_a
+select -set cone_b state_b %ci*:-$dff # set @cone_b to the input cone of state_b
+select @cone_a @cone_b %i # select the objects that are in both cones
+\end{lstlisting}
+
+\bigskip
+Remember that select expressions can also be used directly as arguments to most
+commands. Some commands also except a single select argument to some options.
+In those cases selection variables must be used to capture more complex selections.
+
+\medskip
+\begin{lstlisting}[xleftmargin=0.5cm, basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=ys]
+dump @cone_a @cone_b
+
+select -set cone_ab @cone_a @cone_b %i
+show -color red @cone_ab -color magenta @cone_a -color blue @cone_b
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]{\subsubsecname{} -- Example}
+\begin{columns}
+\column[t]{4cm}
+\lstinputlisting[basicstyle=\ttfamily\fontsize{6pt}{7pt}\selectfont, language=verilog]{PRESENTATION_ExAdv/select_01.v}
+\column[t]{7cm}
+\lstinputlisting[basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, language=ys, frame=single]{PRESENTATION_ExAdv/select_01.ys}
+\end{columns}
+\hfil\includegraphics[width=\linewidth,trim=0 0cm 0 0cm]{PRESENTATION_ExAdv/select_01.pdf}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -225,3 +277,26 @@ TBD
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Summary}
+
+\begin{frame}{\subsecname}
+\begin{itemize}
+\item TBD
+\item TBD
+\item TBD
+\item TBD
+\end{itemize}
+
+\bigskip
+\bigskip
+\begin{center}
+Questions?
+\end{center}
+
+\bigskip
+\bigskip
+\begin{center}
+\url{http://www.clifford.at/yosys/}
+\end{center}
+\end{frame}
+