Schematic으로만 Simulation을 하는 경우 (Pre-Simulation) Ideal한 형태로 시뮬레이션을 돌립니다.
실제로 Layout으로 설계를 하게 되면 과정 중 기생 성분(기생 저항, 기생 캐패시턴스)들이 생겨납니다.
이러한 기생 성분들을 뽑아내고, 포함하여 다시 시뮬레이션을 돌리는 것을 Post Simulation이라 합니다.
다시 설계한 Inverter.mag 파일로 들어갑니다.
이후 다음 명령어들을 순차적으로 쳐주세요
트렌지스터 level로 flatten 후 extract
flatten inv_rc
extract all
ext2sim labels on
ext2sim
R 성분 관련 설정
extresist tolerance 10
extresist
ext2spice lvs
C 성분 관련 설정
ext2spice cthresh 0
RC 성분 포함 netlist 추출
ext2spice extresist on
ext2spice

정상적으로 생성됐다면 layout이 위치하는 디렉토리에 spice 파일이 생깁니다.
Xschem과 이름명이 똑같아야 하므로 subckt 이름을 Inverter에서 inverter_rc로 수정해주겠습니다.

이제 RC 성분을 포함한 netlist를 얻었습니다.
이제 새로 Schematic을 만들고 해당 netlist를 물려줍시다.
새로 빈 schematic을 만들고, 내부에 pin들만 먼저 생성해주세요.

이후 저장합니다.
저장이 완료됐다면, Symbol-> Make symbol from schematic을 눌러 symbol을 생성합니다.
생성된 심볼에 들어가시면 type이 subcircuit으로 되어있습니다.
하지만 저희가 생성한 회로는 Pin밖에 없는 회로입니다.
저희는 외부 spice 회로를 이용하기에, primative로 변경해주세요

이후 다시 test 했던 파일로 돌아와 인버터와 똑같이 회로를 구상해주시고
RC 성분을 뽑은 spice를 include해줍니다.
.include /home/Tutorial_inverter/1-2_Inverter_Magic/Inverter.spice
그 후 테스트하시면 됩니다.

만약 포심 결과가 이상하게 나오는 경우 핀 매칭이 잘못 되어있을 가능성이 높습니다.
먼저 /root/.xschem/simulations 에 들어가 tb_inverter.spice 파일을 열어보겠습니다.
X2의 핀 위치가 Vin과 Vout이 반대로 되어있네요.
다시 /home/Tutorial_inverter/1-2_Inverter_Magic에 들어가
이를 수정해주시고 다시 테스트를 돌려주세요.

시뮬레이션 결과가 나오며 인버터의 역할을 충분히 해주는 것을 알 수 있습니다.
만약 시뮬레이션 결과가 이상하면 spice 파일을 확인해주시고 오류를 고쳐주세요.

'EDA > Open Source Circuit Design Tutorial' 카테고리의 다른 글
| #6 Netgen을 이용한 LVS Test (0) | 2026.02.04 |
|---|---|
| #5 Magic을 이용한 Inverter Layout 설계 (0) | 2026.02.04 |
| #4 Ngspice를 이용한 Inverter 회로 Simulation (0) | 2026.02.04 |
| #3 Xschem을 이용한 Inverter 설계 (0) | 2026.02.04 |
| #2 오픈 소스 회로 설계 툴 설치 (Magic, Xschem, Ngspice, Netgen) (0) | 2026.02.04 |