
Linux에서 schematic를 그린 후에, netlist를 추출하여 Hspice로 simulation을 돌립니다.
simulation을 돌리기 전에 .sp 확장자를 이용하여 input deck을 작성해주어야 하는데요, 오늘은 netlist input deck 작성법에 대해 알아보겠습니다. 자세한 예시는 하나씩 추후에 포스팅하도록 하겠습니다.
전체적인 작성방법을 보여드린 후, 한줄 한줄 해석해보도록 할게요.
************************첫 줄은 반드시 주석************************
*******************[Techonology&Netlist Include]******************
.lib 'hspice model 경로' 공정변수
.inc 'netlist 파일 경로'
************************[Simulation Option]***********************
.option 옵션
.temp 온도
.param 변수이름=변수값
.IC 소스 = 0 $oscillator같이 초기값 설정이 필요한 경우
*************************[Gloval Sources]*************************
V 소스작성
I 소스작성
***********************[Tran / DC / AC 중 하나]********************
.tran (시작) (끝)
.dc (전압 name) (처음) (끝) (sweep 크기)
.ac dec/lin (point 개수) (처음) (끝)
*************************[measure type]***************************
.probe V(*) I(*) $특정 파형(waveform) 출력
.meas $측정 함수
.print $특정 값(text) 출력
.end
● 대소문자 구분하지 않음
● 첫줄은 무조건 주석!
● .lib는 사용하는 model의 경로를 지정해준다.
뒤에 TT는 공정 변수인데, SF/ST/SS/TF/TT/TS/FF/FT/FS 등으로 작성.( _12는 무엇을 의미하는지 모르겠다...)
ex) .lib '/home/hspice/SAED90nm.lib' TT_12
● .option : (종류가 많은 것 같은데 더 공부해봐야 할듯..)
ex) .option post
ex) .temp 25
● .param : 변수로 설정하고 싶은 것이 있을 때
ex) .param supply=2.5 : 이후 코드에 supply를 작성하면 2.5값으로 들어감
→ 변수값 sweep할 경우에 주로 사용
● .IC : 초기값 설정 / 주로 그냥 0으로 설정해주면 되는 듯
ex) .IC V(s) = 0
ex) .IC g = 0 : g node에 초기값을 주고 싶다면, 그냥 node 이름만 작성
ex) 다음과 같은 회로가 있다고 하자.

Vin in gnd 5 : in, gnd는 Vin의 양 옆의 node, 5는 Vin에 넣을 값
R1 in out 2k
C1 out gnd 10f
*사실, schematic 그리면서 설정해주면 되는거라 따로 작성할 필요가 없는 경우가 많다.
ex) .tran 1ps 5ns : 1ps부터 5ns까지 time domain으로 해석
+) tran해석 + param sweep :
ex) .tran 1ps 5ns sweep parVc 1.5 2.5 0.1 : parmater Vc가 1.5에서 2.5V로 0.1씩 변화할 때의 transient 해석
ex) .dc Vout 0 1.5 0.1 : Vout 소스를 0V에서 1.5V까지 0.1V 간격으로 해석
+) DC해석 + param sweep :
.DC part start1 stop1 incr1 SWEEP par2 type np start2 stop2(np: number point, 몇개의 point로 해석할거냐).DC par1 start1 stop1 incr1 par2 start2 stop2 incr2
● .ac : lin(ear)는 단조 증가, dec(ade)은 10배씩 증가 / open loop으로 관찰할 때 사용
ex) .ac dec 100 10 100MEG : 10HZ부터 100MHZ까지 100개의 point를 해석
+) AC해석 + param sweep :
.AC type np start stop SWEEP par [START=]start [STOP=]stop [STEP=]incr.AC type np start stop SWEEP par type np start stop
'아날로그 IC설계' 카테고리의 다른 글
| Cadence Virtuoso 사용법 - 1. Schematic 그리기 (1) | 2023.10.14 |
|---|---|
| Linux(리눅스) 사용법 - 2. VI Editor(sp file 작성) (0) | 2023.10.09 |
| Linux(리눅스) 사용법 - 1.기초 명령어 (1) | 2023.10.08 |