\chapter{Introduction}\label{introduction}

\section{Software overview}

The purpose of the SACAMOS software is to enable the creation of Spice cable models from the description/ characterisation of cables and bundles of cables together with information required to specify a particular modelling scenario (for example the specification of incident field excitation or transfer impedance coupling model). 

A cable bundle may consist of multiple individual cables usually with the addition of a ground plane. This is illustrated in figure\ref{fig_cable_bundle} The cables may consist of shielded and/ or unshielded conductors.

%Figure of cable bundle here

\begin{figure}[h]
\centering
\includegraphics[scale=1]{./Imgs/cable_bundle.eps}
\caption{A complex cable bundle built up from individual cables, over-shield and ground plane}
\label{fig_cable_bundle}
\end{figure}


The inputs to the tool consist of cable specifications, cable bundle specifications and specification of a simulation scenario. 
More specifically, a cable specification will consist of cable cross section geometry, materials and transfer impedance (if required).
The bundle specification consists of the cable types and position in the bundle cross section, plus a ground plane specification (if required). The modelling scenario specification consists of the bundle length, transfer impedance coupling specification and incident field excitation as required.

The output is a cable model which takes the form of a Spice sub-circuit. The Spice model is dependent on the composition and configuration of the cable bundle, the bundle length and also the modelling scenario so a different model is required for each different incident field excitation (angle of incidence, polarisation) or crosstalk via transfer impedance study in which different source and victim conductors are identified. 

The models are based on the Spice models described by Paul \cite{PaulMTL} and Xie \cite{Xie} and further developed within this proejct at the University of Notingham. The theortical derivation of the Spice multi-conductor transmission line models is described in \cite{Theory_manual}.

%Validation of the models is described in the accompanying document \cite{Validation_test_cases}.

The software can produce Spice sub-circuit models of transmission lines for three versions of Spice:
\begin{enumerate}
\item Ngspice
\item LTspice
\item PSpice 
\end{enumerate}

\subsection{Use of the Spice cable sub-circuit models}

The Spice models of the transmission lines take the form of sub-cirucits which may be embedded in any circuit.
The user should be aware of how the Spice transmission line sub-circuit models work with relation to the Spice node zero.
Spice node zero is the global reference node and all voltages in the circuit are determined relative to this node.

If the transmission line is more than $1/10th$ of a wavelength then it is incorrect to use the same reference potential at both ends of the transmission line. This implies that care should be used in assigning node zero in a circuit containing transmission lines, especially if there is some loss (specifically d.c. resistance) associated with the reference conductor. In the case of d.c. resistance in the reference conductor, having node zero connected to the reference conductor at both ends shorts out this resistance which leads to inaccurate results, especially at low frequency. 

The 'node zero' issue is discussed in more detail in section \ref{node_zero} however to summarise: in order to have accurate solutions the user should use the following guidelines:

If there is no loss in the reference conductor (e.g. a perfect ground plane) then it is permisible to have the reference conductor (ground) to be node zero at both ends of the transmission line sub-circuit.

If there is d.c. resistance associated with the reference conductor then the two ends of the reference conductor should have different nodes assigned to avoid short circuiting the d.c. resistance in the transmission line model.

Note that even if there are no common nodes at the two ends of the transmission line model then there is no problem with 'floating' sub-circuits. 

\section{Software modules}

There are three processes in the creation of a Spice cable bundle model. These are:

\begin{enumerate}
\item cable model building process
\item cable bundle model building process
\item Spice cable bundle model building process
\end{enumerate}


This decomposition of the process is suggested by the recognition that individual cable models can be re-used in different bundle specifications or used more than once in the same bundle specification. In addition, once a bundle has been specified, it may be used in different types of analysis for example a crosstalk assessment or the analysis of incident field excitation.

The cable models, bundle models and Spice cable bundle models may be kept within a library of cable models referred to in this project as MOD. This structure for the models is discussed in section \ref{structure_of_MOD}.

Inputs and outputs to the processes consist of human readable text files thus the three stages of the model building process may be driven via a graphical user interface (GUI) or the processes may be run from the command line. Subsequent chapters describe the GUI and how to use it and also how to run the processes from the command line along with descriptions of the associated input and output file formats. 

The software comes with a set of validation test cases which may be used to test the correct operation of the software. These test cases may also be used as examples and form the basis for the development of new cable bundle models. The test cases may be run automatically using a script which has been provided for the purpose. The running of the test cases is described in chapter \ref{running_test_cases}.

\subsection{Cable model building process}

The cable model building process concerns the development of individual cable models from specifications. At this stage we can characterise the propagation within shielded conductor systems if they exist for a particular cable i.e. describe the parameters characterising wave propagation internal to any cable shields. In addition any transfer impedance models required to characterise the cable will be  developed at this stage. The output of the cable model building process is a file containing a complete characterisation of the cable which may be used in any bundle configuration. The cable models can form the part of the library of cable models (MOD) relating to basic cable models.

\subsection{Cable bundle model building process}

The cable bundle model building process concerns the development of cable bundle models from individual cable models and additional
ground and over-shield specifications. This stage involves the characterisation of the external propagation domain which involves the outside of the shields, unshielded conductors and ground plane and also the domain within over-shields.

\subsection{Spice cable bundle model building process}

Development of a Spice cable model for a particular bundle includes the specification of the length of the bundle, any incident field excitation and the specification of the coupling between cables via the transfer impedance of imperfect shields (i.e. identification of a shield and the direction of coupling to be included in the model for the chosen shield).

When run from the command line as opposed to the GUI, the Spice cable bundle model building process also allows the specification of a 'validation test case' in which the cable bundle model generated is exercised in a test case with simple resistor and series voltage source terminations on the conductors. Analytic and Spice model results (a.c. or transient transmission line teminatination voltage) are generated for the test configuration and may be compared directly.

\section{Library of cable models (MOD)}

The outputs of the three model building process stages will form elements of the library of cable models (MOD). The inputs to the cable bundle model builder and the Spice cable bundle model builder can also be drawn from MOD. The structure of MOD is described in chapter \ref{structure_of_MOD}.


\section{Structure of the User Guide}

The document is structured as follows:
Chapter \ref{creating_a_cable_model} describes the creation of a cable model for each of the different cable types supported.
Chapter \ref{creating_a_cable_bundle_model} describes the creation of a cable bundle model.
Chapter \ref{creating_a_spice_cable_bundle_model} describes the creation of a Spice cable bundle model.
Chapter \ref{running_test_cases} describes the script which can be used to automatically run the test cases, compare validation results etc.
Chapter \ref{running_without_GUI} describes how to run the processes from the command line
Chapter \ref{structure_of_MOD} decribes the structure of the library of cable models (MOD) which is generated by the test cases.

\cleardoublepage
