\hypertarget{class_open_chams_1_1_netlist}{}\section{Netlist Class Reference}
\label{class_open_chams_1_1_netlist}\index{Netlist@{Netlist}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_open_chams_1_1_device}{Device}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_a8e1798a2516c32fbab629ce8d60d4b1d}{add\+Device}} (const std\+::string \&name, const std\+::string \&model, unsigned, const std\+::string \&mos\+Type, bool)
\begin{DoxyCompactList}\small\item\em adds a \mbox{\hyperlink{class_open_chams_1_1_device}{Device}} to the netlist. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_af0fb73e5e8589a64d13b6d8104a34a03}{add\+Instance}} (const std\+::string \&name, const std\+::string \&model, unsigned)
\begin{DoxyCompactList}\small\item\em adds an \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} (subcircuit) to the netlist. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_open_chams_1_1_net}{Net}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_a52be455a704925328843770552eca43d}{add\+Net}} (const std\+::string \&name, const std\+::string \&type, bool)
\begin{DoxyCompactList}\small\item\em adds a \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} to the netlist. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a01673b4356977793545c5f3a55ceaba5}\label{class_open_chams_1_1_netlist_a01673b4356977793545c5f3a55ceaba5}} 
\mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_a01673b4356977793545c5f3a55ceaba5}{get\+Circuit}} ()
\begin{DoxyCompactList}\small\item\em returns the \mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} the netlist is associated to. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_a6fbcd8c819bd0b576398ac031c2726fc}{get\+Instance}} (const std\+::string \&)
\begin{DoxyCompactList}\small\item\em returns the \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} named {\ttfamily name} or N\+U\+LL it does not exist. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a8e6e58ffab876152a740092520c35d73}\label{class_open_chams_1_1_netlist_a8e6e58ffab876152a740092520c35d73}} 
const std\+::vector$<$ \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} $\ast$ $>$ \& \mbox{\hyperlink{class_open_chams_1_1_netlist_a8e6e58ffab876152a740092520c35d73}{get\+Instances}} ()
\begin{DoxyCompactList}\small\item\em returns the list of netlist\textquotesingle{}s instances. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_open_chams_1_1_net}{Net}} $\ast$ \mbox{\hyperlink{class_open_chams_1_1_netlist_a18b468cdde5adf75e3057c8558972f52}{get\+Net}} (const std\+::string \&)
\begin{DoxyCompactList}\small\item\em returns the \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} named {\ttfamily name} or N\+U\+LL it does not exist. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_open_chams_1_1_netlist_abf36db82efb99a8ec8ae4b454be00019}\label{class_open_chams_1_1_netlist_abf36db82efb99a8ec8ae4b454be00019}} 
const std\+::vector$<$ \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} $\ast$ $>$ \& \mbox{\hyperlink{class_open_chams_1_1_netlist_abf36db82efb99a8ec8ae4b454be00019}{get\+Nets}} ()
\begin{DoxyCompactList}\small\item\em returns the list of netlist\textquotesingle{}s nets. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_open_chams_1_1_netlist_adab62a25face462baec9a7fffb2b6158}\label{class_open_chams_1_1_netlist_adab62a25face462baec9a7fffb2b6158}} 
bool \mbox{\hyperlink{class_open_chams_1_1_netlist_adab62a25face462baec9a7fffb2b6158}{has\+No\+Instances}} ()
\begin{DoxyCompactList}\small\item\em returns true if netlist has no instances. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a36089e1b3a3f2d3f7c9dcc8e3c3bd6d8}\label{class_open_chams_1_1_netlist_a36089e1b3a3f2d3f7c9dcc8e3c3bd6d8}} 
bool \mbox{\hyperlink{class_open_chams_1_1_netlist_a36089e1b3a3f2d3f7c9dcc8e3c3bd6d8}{has\+No\+Nets}} ()
\begin{DoxyCompactList}\small\item\em returns true if netlist has no nets. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_open_chams_1_1_netlist_a202a04ceb6a7c0619590b329ba7773bd}{Netlist}} (\mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} $\ast$)
\begin{DoxyCompactList}\small\item\em creates a new netlist. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class describes a netlist.

A netlist contains the list of all circuit\textquotesingle{}s instances and nets.

\begin{DoxyNote}{Note}
A \mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} must have one and only netlist. If no netlist is defined the \mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} cannot be driven to file. 
\end{DoxyNote}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a202a04ceb6a7c0619590b329ba7773bd}\label{class_open_chams_1_1_netlist_a202a04ceb6a7c0619590b329ba7773bd}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!Netlist@{Netlist}}
\index{Netlist@{Netlist}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{Netlist()}{Netlist()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_netlist}{Netlist}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_open_chams_1_1_circuit}{Circuit}} $\ast$}]{circuit }\end{DoxyParamCaption})}



creates a new netlist. 


\begin{DoxyParams}{Parameters}
{\em circuit} & the circuit to which the netlist belongs. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a8e1798a2516c32fbab629ce8d60d4b1d}\label{class_open_chams_1_1_netlist_a8e1798a2516c32fbab629ce8d60d4b1d}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!add\+Device@{add\+Device}}
\index{add\+Device@{add\+Device}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{add\+Device()}{addDevice()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_device}{Device}} $\ast$ add\+Device (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name,  }\item[{const std\+::string \&}]{model,  }\item[{unsigned}]{order,  }\item[{const std\+::string \&}]{mos\+Type,  }\item[{bool}]{source\+Bulk\+Connected }\end{DoxyParamCaption})}



adds a \mbox{\hyperlink{class_open_chams_1_1_device}{Device}} to the netlist. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the device. \\
\hline
{\em model} & the model of the device. \\
\hline
{\em mos\+Type} & the mos type of the device (N\+M\+OS or P\+M\+OS). \\
\hline
{\em connected} & if true, then device\textquotesingle{}s bulk is source connected.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_open_chams_1_1_device}{Device}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_af0fb73e5e8589a64d13b6d8104a34a03}\label{class_open_chams_1_1_netlist_af0fb73e5e8589a64d13b6d8104a34a03}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!add\+Instance@{add\+Instance}}
\index{add\+Instance@{add\+Instance}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{add\+Instance()}{addInstance()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} $\ast$ add\+Instance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name,  }\item[{const std\+::string \&}]{model,  }\item[{unsigned}]{order }\end{DoxyParamCaption})}



adds an \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} (subcircuit) to the netlist. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the instance. \\
\hline
{\em model} & the model of the instance.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a52be455a704925328843770552eca43d}\label{class_open_chams_1_1_netlist_a52be455a704925328843770552eca43d}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!add\+Net@{add\+Net}}
\index{add\+Net@{add\+Net}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{add\+Net()}{addNet()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} $\ast$ add\+Net (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{name,  }\item[{const std\+::string \&}]{type,  }\item[{bool}]{external }\end{DoxyParamCaption})}



adds a \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} to the netlist. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the net. \\
\hline
{\em type} & the type of the net (L\+O\+G\+I\+C\+AL, P\+O\+W\+ER, G\+R\+O\+U\+ND, ...). \\
\hline
{\em external} & if true, then the net is set as external.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the newly created \mbox{\hyperlink{class_open_chams_1_1_net}{Net}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a6fbcd8c819bd0b576398ac031c2726fc}\label{class_open_chams_1_1_netlist_a6fbcd8c819bd0b576398ac031c2726fc}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!get\+Instance@{get\+Instance}}
\index{get\+Instance@{get\+Instance}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{get\+Instance()}{getInstance()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} $\ast$ get\+Instance (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{instance\+Name }\end{DoxyParamCaption})}



returns the \mbox{\hyperlink{class_open_chams_1_1_instance}{Instance}} named {\ttfamily name} or N\+U\+LL it does not exist. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the instance to get. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_open_chams_1_1_netlist_a18b468cdde5adf75e3057c8558972f52}\label{class_open_chams_1_1_netlist_a18b468cdde5adf75e3057c8558972f52}} 
\index{Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}!get\+Net@{get\+Net}}
\index{get\+Net@{get\+Net}!Open\+Chams\+::\+Netlist@{Open\+Chams\+::\+Netlist}}
\subsubsection{\texorpdfstring{get\+Net()}{getNet()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} $\ast$ get\+Net (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{net\+Name }\end{DoxyParamCaption})}



returns the \mbox{\hyperlink{class_open_chams_1_1_net}{Net}} named {\ttfamily name} or N\+U\+LL it does not exist. 


\begin{DoxyParams}{Parameters}
{\em name} & the name of the net to get. \\
\hline
\end{DoxyParams}
