2014-01-27 10:08:19 -06:00
|
|
|
|
|
|
|
\section{Introduction}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\sectionpage
|
|
|
|
\end{frame}
|
|
|
|
|
2014-01-27 23:51:50 -06:00
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
2014-01-27 10:08:19 -06:00
|
|
|
\subsection{Representations of (digital) Circuits}
|
|
|
|
|
2014-01-27 13:42:35 -06:00
|
|
|
\begin{frame}[t]{\subsecname}
|
2014-01-27 10:08:19 -06:00
|
|
|
\begin{itemize}
|
|
|
|
\item Graphical
|
|
|
|
\begin{itemize}
|
|
|
|
\item \alert<1>{Schematic Diagram}
|
|
|
|
\item \alert<2>{Physical Layout}
|
|
|
|
\end{itemize}
|
|
|
|
\bigskip
|
|
|
|
\item Non-graphical
|
|
|
|
\begin{itemize}
|
|
|
|
\item \alert<3>{Netlists}
|
2014-01-27 23:51:50 -06:00
|
|
|
\item \alert<4>{Hardware Description Languages (HDLs)}
|
2014-01-27 10:08:19 -06:00
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
\bigskip
|
2014-01-27 23:51:50 -06:00
|
|
|
\begin{block}{Definition:
|
|
|
|
\only<1>{Schematic Diagram}%
|
|
|
|
\only<2>{Physical Layout}%
|
|
|
|
\only<3>{Netlists}%
|
|
|
|
\only<4>{Hardware Description Languages (HDLs)}}
|
|
|
|
\only<1>{TBD}
|
|
|
|
\only<2>{TBD}
|
|
|
|
\only<3>{TBD}
|
|
|
|
\only<4>{TBD}
|
2014-01-27 13:42:35 -06:00
|
|
|
\end{block}
|
|
|
|
\end{frame}
|
|
|
|
|
2014-01-27 23:51:50 -06:00
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2014-01-27 13:42:35 -06:00
|
|
|
|
|
|
|
\subsection{Levels of Abstraction for Digital Circuits}
|
|
|
|
|
|
|
|
\begin{frame}[t]{\subsecname}
|
|
|
|
\begin{itemize}
|
|
|
|
\item \alert<1>{System Level}
|
|
|
|
\item \alert<2>{High Level}
|
|
|
|
\item \alert<3>{Behavioral Level}
|
|
|
|
\item \alert<4>{Register-Transfer Level (RTL)}
|
|
|
|
\item \alert<5>{Logical Gate Level}
|
|
|
|
\item \alert<6>{Physical Gate Level}
|
|
|
|
\item \alert<7>{Switch Level}
|
|
|
|
\end{itemize}
|
|
|
|
\bigskip
|
|
|
|
\begin{block}{Definition:
|
|
|
|
\only<1>{System Level}%
|
|
|
|
\only<2>{High Level}%
|
|
|
|
\only<3>{Behavioral Level}%
|
|
|
|
\only<4>{Register-Transfer Level (RTL)}%
|
|
|
|
\only<5>{Logical Gate Level}%
|
|
|
|
\only<6>{Physical Gate Level}%
|
|
|
|
\only<7>{Switch Level}}
|
|
|
|
\only<1>{
|
|
|
|
Overall view of the circuit: E.g. block-diagrams or instruction-set architecture descriptions
|
|
|
|
}%
|
|
|
|
\only<2>{
|
|
|
|
Functional implementation of circuit in high-level programming language (C, C++, SystemC, Matlab, Python, etc.).
|
|
|
|
}%
|
|
|
|
\only<3>{
|
|
|
|
Cycle-accurate description of circuit in hardware description language (Verilog, VHDL, etc.).
|
|
|
|
}%
|
|
|
|
\only<4>{
|
|
|
|
List of registers (flip-flops) and logic functions that calculate the next state from the previous one. Usually
|
|
|
|
a netlist utilizing high-level cells such as adders, multiplieres, multiplexer, etc.
|
|
|
|
}%
|
|
|
|
\only<5>{
|
|
|
|
Netlist of single-bit registers and basic logic gates (such as AND, OR,
|
|
|
|
NOT, etc.). Popular form: And-Inverter-Graphs (AIGs) with pairs of primary
|
|
|
|
inputs and outputs for each register bit.
|
|
|
|
}%
|
|
|
|
\only<6>{
|
|
|
|
Netlist of cells that actually are available on the target architecture
|
|
|
|
(such as CMOS gates in an ASCI or LUTs in an FPGA). Optimized for
|
|
|
|
area and/or and/or speed (static timing or number of logic levels).
|
|
|
|
}%
|
|
|
|
\only<7>{
|
|
|
|
Netlist of individual transistors.
|
|
|
|
}%
|
2014-01-27 10:08:19 -06:00
|
|
|
\end{block}
|
|
|
|
\end{frame}
|
|
|
|
|
2014-01-27 23:51:50 -06:00
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2014-01-27 10:08:19 -06:00
|
|
|
|
|
|
|
\subsection{Digital Circuit Synthesis}
|
|
|
|
|
|
|
|
\begin{frame}{\subsecname}
|
|
|
|
\end{frame}
|
|
|
|
|