오늘은 hspice 에서 corner simulation 을 돌리는 법을 알아보겠습니다. Alter 구문을 이용해 corner 와 pvt 를 sweep 하는 방법입니다. Alter 를 사용하면 똑같은 조건을 그대로 복사한 채 한 가지 조건만을 바꾼 여러개의 simulation 파일을 만들 필요 없이 단 한 파일로 한 개의 변수를 sweep 해 시뮬레이션을 돌릴 수 있습니다.
alter 구문을 이용해 변수를 바꾸는 방법
먼저 alter를 이용해 corner simulation 을 돌리는 방법을 알기 전에, alter 구문이 원래 쓰이는 방식을 알아보겠습니다.
위는 alter 를 이용한 간단한 hspice simulation 파일입니다. Load capacitor 의 크기에 따른 inverter 의 파형을 보기 위한 simulation 이죠. 그 앞 부분에 대해서 모르는 문법은 없을 거라 가정하고 .alter 관련한 부분만 설명하겠습니다. 먼저 CLOAD 를 0.75 pF 로 선언했습니다. 이는 OUT node 에 달리는 부하 커패시터이죠. 0.75 pF 로 simulation 을 돌렸으나, 나머지 조건은 그대로 하고 CLOAD 만 1.5 pF로 바꾸고 싶을 때 .alter 구문을 사용합니다.
.alter
CLOAD OUT 0 1.5P
.end
위 구문을 통해서 나머지 변수는 그대로 유지한 채 CLOAD 만 1.5pF로 변경시켜 시뮬레이션을 돌릴 수 있습니다.
alter 를 이용한 process corner varying simulation
이제 alter 구문을 이용해서 corner variying simulation 을 하는 방법에 대해 알아보겠습니다. 일반적으로 simulation 파일을 보면 파일 초반부에 library 를 정의해주는 구문이 있습니다.
.lib 'C:\hspice\abc_18\mos.lib' tt
위와 같은 식으로 library definition 이 이뤄진 것을 볼 수 있습니다. 'C:\hpsice~' 는 library 파일이 있는 경로이고 그 뒤에 붙어 있는 tt 는 library 내에 정의된 여러 process corner 중에 tt 라는 corner 사용하겠다는 뜻입니다. 여기서 이 .lib 와 .alter 구문을 이용하면 process varying simulation 을 돌릴 수 있습니다.
.lib 'C:\hspice\abc_18\mos.lib' tt
VIN IN 0 0 pulse 0 1 0 10n 10n 'pw' 'per'
VDD VDD 0 dc 5
P VDD IN OUT pch L=0.2u W=2u
N OUT IN 0 nch L=0.2u W=1u
.param pTemp = 25
.temp 'pTemp'
.alter
.lib 'C:\hspice\abc_18\mos.lib' ss
.param 'pTemp' = 100
.alter
.lib 'C:\hspice\abc_18\mos.lib' ff
.param 'pTemp' = -40
위와 같은 식으로 시뮬레이션 파일을 꾸며주면 inverter simulation을 돌릴 때 pmos 와 nmos 가 tt , 25도 simulation 에서 1번 돌고, ss, 100도 그리고 ff -40도 총 3번의 corner 에 대해서 시뮬레이션이 돌아가게 됩니다. 간단한 inverter simulation 파일이기 때문에 실제로는 세개의 다른 파일을 만들어서 돌려도 크게 상관 없지만, 시뮬레이션하고자 하는 회로가 점점 복잡해지고 조건이 복잡해지면 .alter 구문은 필수적으로 이용해야 합니다.
이상입니다.
'반도체 > 전자공학 심화' 카테고리의 다른 글
ADC (1) ADC type - Flash, Pipeline, SAR 개념 설명 및 비교 (2) | 2024.01.28 |
---|---|
Comparator 종류 : Continuous-time comparator vs Dynamic comparator (0) | 2023.10.17 |
Comparator offset calibration : cap 을 이용한 offset compensation 방법 (1) | 2023.10.11 |
Monte carlo simulation - Global mismatch 와 Local mismatch 의 차이 (0) | 2023.10.03 |
Physical metal layer : Crosstalk 와 Ground bounce (0) | 2023.09.29 |