## Compact Model Tutorial for New Comers

This is a collection of NEEDS resources on compact models aimed at first-time compact model developers. Readers can obtain a good understanding of compact model development in general by going through this training. Later on, readers are encouraged to dive into components of this collection for in-depth study.

### Concept of a compact model in circuit simulation

In this section, we assume the reader has no background in circuit simulation but with limited knowledge in physics. Gives a broad introduction to the role of compact model in circuit simulation.

#### What is a compact model and why is it needed?

explains the motivation behind compact models with a bit of history

#### Example of a device/structure simulation using PDE solver vs. compact model. What are the major differences?

show the difference between PDE based CAD and compact models in circuit simulations, including advantage and disadvantage of each.

#### Review of the state of compact model today. How are they used? What are the major issues in terms of research/industrial development?

importance of compact model in today’s IC development. What are the current status and commonly used model?. What are the main issues?

#### Review of software for compact model development.

software related to compact model development including various SPICE

### Elements of circuit simulation

#### From circuit layout to software input: the netlist

How one abstracts a circuit from layout into gridded nodes with connected components using Netlist format.

#### From software input to system of equations: the Modified Nodal Analysis (MNA)

How the modified nodal analysis is used to term the netlist into a system of matrix equations

#### From system of equations to final results: the Newton-Ralphson iteration

Illustrate the idea of numerical iteration using Newton-Ralphson to seek the solution of the system of equations.

### Prototyping a compact model in MAPP

Use a RLC circuit as an example to show working under MAPP environment

Starting with a simple RLC circuit, we illustrate step-by-step how to prototype this compact model in MAPP.

### Finalizing a compact model in Verilog-A

#### Use a RLC circuit as an example to show working under VA environment

Same RLC circuit as previous section, we write it in Verilog-A. Explain the differences between Verilog-A and MAPP approaches.

#### Compiling Verilog-A into C library

Show how to compile the Verilog-A code into C and connect with Spectre SPICE simulator. Examine the C library to understand how Verilog-A code is turned into basic MNA equations.

### Debugging an existing compact model using VAPP/MAPP/VALint

#### How one import a Verilog-A model into MAPP environment using VAPP

Showcase VAPP using the RLC circuit Verilog-A. b. Evaluate the model and spot the issues

#### Evaluate mode under MAPP environment and spot issues.

Use the first version of MVS model as example.

#### Evaluate the model using VALint and spot the bad practices

Showcase VALint and discuss bad practices in Verilog-A