티스토리 뷰

연구/HSPICE

[HSPICE] HSPICE 기본 문법

태양의티아 2019. 6. 29. 11:16

이 부분은 계속해서 추가해 나갈 예정이다.

1. 전체적인 구조

***** 반드시 첫 줄은 주석으로 처리하거나 Title을 적자 ******

.lib  '라이브러리 경로' TT      $ TT/SS/FF/SF/FS 등의 공정 변수가 들어갈 수 있다.

.param 변수명=변수값            $ 예시로 .param pTemp=25 가 있다.
.temp 온도                     $ 일반적으로는 온도를 Param과 함께써서 .temp 'pTemp'로 쓴다.

.inc 'netlist파일 경로'

***** 여기서부터 추가하려고 하는 netlist들을 넣는다. ******
* 추가하고자 하는 netlist들 중 전류원이나 전압원을 먼저 적는다.
* 추가하고자 하는 device들을 적는다.
********************************************************

.option 옵션                   $ 여러가지 Option들을 찾아서 쓰면 된다.


***** 원하는 Analysis를 넣으면 된다. 대부분은 dc, ac, tran 중 1개만 적는다 ******
.dc v1 0 1.3 0.1
.ac dec 10 100 1g
.tran 1n 10n
*********************************************************


.probe 측정하고자 하는 것      $ 예시 .probe v1 v2 i*
.meas 측정하고자 하는 것
.print 측정 및 출력하고자 하는 것

.end

HSPICE의 sp 파일의 전체적인 구조는 위와 같다. 여기서 가장 중요한 것은 첫 줄을 띄워야 한다는 점이다. 해당 부분은 따로 정리해 놓았으니 확인해 보는 것을 추천한다.

 

2019/07/24 - [연구/HSPICE] - [HSPICE] HSPICE 주의 사항

 

가장 먼저 공정 Library를 추가를 해야 한다. 각각의 Library는 사용하는 회사(TSMC, Samsung, MPW 등) 및 공정(65n, 40n 등)마다 다르기 때문에 PDK를 확인하자. 또한 TT와 같은 공정 변수들도 각 회사마다 다른 이름을 가지고 있으므로 확인해서 넣을 필요가 있다.

 

두 번째로 사용자 Parameter온도 등을 추가한다. 위의 코드의 주석에서 이야기한 방법과 같이 일반적으로는 pTemp와 같이 Paramter를 선언해서 사용한다. 해당 부분과 관련해서 더 알고 싶은 경우, 아래의 글을 참고하자.

 

2019/06/29 - [연구/HSPICE] - [HSPICE] HSPICE에서 Alter구문 사용

 

외부에 sub circuit으로 선언한 netlist가 있다면, inc 명령어를 통해서 netlist를 불러올 수 있다. 그리고나서 아래에 추가적으로 넣고 싶은 Voltage Source나 Current Source, Device 등을 넣어서 완성하면 된다.

 

Option은 다양하게 존재하니 따로 정리할 예정이며 Analysis, Probe, measure 또한 따로 정리할 예정이다.

다만 Print를 쓸 경우, 해당 파일을 쓰는 시간이 추가적으로 필요하기 때문에 시뮬레이션 시간이 매우 길어진다. (특히 Tran은 더욱 심하다)

 

마지막은 항상 .end로 끝나야 한다.

2. 주석

* 주석삽입

* plus를 사용해서
+ 주석의 길이를 늘리는 것도 가능

* 아래와 같이 $ 표시도 주석으로 처리된다
R1 node1 node2 R=30   $Linear Resistor

주석은 2가지 방법이 있다.

맨 처음에 나오는 *은 주석으로 처리된다.

다음으로 맨 뒷 부분에 $ 표시가 나오면 그 뒤에 오는 문장들은 주석이 된다.

3. 줄바꿈

* 원래 코드 
R4 net_1 net_2 R=40

* 줄바꿈 1
R4 net_1 net_2
+ R=40

* 줄바꿈 2
R4 net_1
+ net_2 R=40

* 줄바꿈 3
R4 net_1 ne\\
t_2 R=40

위의 4가지 모두 다 동일한 코드를 나타낸다.

줄바꿈은 +\\ 두번(역슬래시가 한국어 자판에서는 Enter위에 있는 원화 표시로 나온다)으로 처리가 가능하다.

4. 수식과 제곱텀

R1 node1 node2 R= '2 ** 5'

수식은 항상 ' '으로 둘러쌓여야 한다.

제곱은 **을 사용한다.

댓글