2N3904のSPICEモデルに関して(第1報)

続報の予定は未定ですが、とり急ぎ急所のみ。
2N3904のSPICEモデルをネットで検索するといくつかパラメータセットが出てきますが、その中でSPICEによってはまともな動作をしないものがあります。もし、パラメータのISE(B-E leakage saturation current)の値が「ISE=6.734f」ではなく「ISE=6.734」になっていたら、それが原因の可能性があります(何らかの資料における誤植か何かによる脱字に由来するものだと思われます)ので、6.734f に修正してください。
このバグがSPICEによっては顕在化しない原因は(検索するといくつか見つかる話によると)SPICE2時代に存在した小細工によるものです。ISEの値が1以上だった場合は、直接の値ではなく、ISに対する倍率として解釈するという小細工が存在していました。そのためSPICE2がベースの改造版ではそのように解釈されます。その後、本家バークレーのSPICE3のどれかのバージョンでこの小細工は削除されているため、そちらがベースのNgspiceではバグが顕在化するようになっています(削除されたことについては、ソースコード中のコメントで確認できます)。