# 12_bjt_amp_ac: pinout with spice/portmap

## Scope

In this simulation we are going to look at a single-transistor amplifier in frequency domain to verify how it amplifies a sine waves. Compared to the trans variant the only difference is how we specify the transistor pinout and what spice commands we use for the AC simulatuin

## The schematics

Largely the same as trans variant.

Click the image to get the sch-rnd sheet; NOTE: the actual value of V1 has been changed from SINE() to a dc/ac combo.

## Preparing for simulation

### Q1

This example demonstrates using spice/portmap to set the pinout: the stock spice/pinnum attributes has been manually removed from Q1 terminals and a portmap attribute, array type, added to the Q1 symbol. The portmap is:

    {C->spice/pinnum=1}
    {B->spice/pinnum=2}
    {E->spice/pinnum=3}

Since the attribute is called spice/portmap, it does not interfere with the normal portmap attribute (installed by devmap in our example) and it affects the spice workflow only.

### V1

V1 is generating the input sine wave on the in network. The simulator will reconfigure it while sweeping the frequency for the ac analysis.

### V2

V2 is an 5V DC power supply for Vcc:

    dc 5

### Raw spice commands

It contains the following script:

    ac dec 10 1 1000k
    settype decibel out
    plot vdb(out) xlimit 1 1000k ylabel 'small signal gain'
    settype phase out
    plot cph(out) xlimit 1 1000k ylabel 'phase (in rad)'

This runs an ac analysis between 1 Hz and 1 MHz with 10 points in every decade, then plot gain and phase.

## Export and run ngspice

Running ngspice the usual way on the export yields the following graph:

## Using other implementations

### gnucap

This may not work with gnucap; error message: open circuit: internal node 2

Gnucap uses a different command syntax. Modify the spice command symbol's spice/command attribute to:

    print ac vdb(out) zp(out)
    op
    ac dec 10 1 1000k > plot.txt

After the export, write a single word spice in the first line of the file (e.g. using a text editor), else gnucap won't know the file is in spice syntax. Then run gnucap 12_btj_amp_ac.cir and it will dump a text table to plot.txt that can be plotted using e.g. gnuplot. Both traces are included in the same file.

The gnucap-modified schematics is also available.

### xyce

TODO