Languages

CommunityCategory: MODELZENHSPICE 라이센스를 미리 체크아웃한 후 MODELZEN을 실행하는 방법

MODELZEN

HSPICE 라이센스를 미리 체크아웃한 후 MODELZEN을 실행하는 방법

SA Support Team Staff 2019-03-15

MODELZEN을 가지고 많은 수의 소자가 포함된 회로의 모델을 생성하고 있습니다. MODELZEN은 각 소자에 대한 HSPICE 또는 Spectre 시뮬레이션을 수행해 모델 특성을 추출하는데, 우리 환경에서는 시뮬레이션 실행시간보다 라이센스 체크아웃시간이 오히려 길어, 매번 라이센스를 다시 체크아웃하는 시간이 전체 모델생성 소요시간을 길게 만들고 있습니다. 라이센스를 한번만 체크아웃한후 그 라이센스를 가지고 MODELZEN의 모든 SPICE 시뮬레이션을 수행하고, 그것들이 완료되면 라이센스를 체크인하는 방법이 있을까요?

1 Answers
Best Answer
SA Support Team Staff 2019-03-15

HSPICE처럼 라이센스를 미리 체크아웃할 수 있는 기능이 지원되는 경우에는, technology configuration 파일에 지원되는 sim_preamblesim_postamble 속성을 사용해, HSPICE 시뮬레이터의 라이센스를 미리 체크아웃하고, 다시 체크인하는 등의 추가 작업을 MODELZEN의 모델생성 작업 전후에 실행시킬 수 있습니다.
먼저 HSPICE에서 라이센스를 미리 체크아웃하여 사용할 수 있는 기능에 대해서 설명드립니다. 보다 자세한 내용은 HSPICE의 관련 매뉴얼을 참고하시기 바랍니다.
먼저, HSPICE 라이센스를 미리 체크아웃하려면 아래처럼 "-C" 옵션을 주어 hspice 명령을 실행합니다.

hspice -C

그리고 이렇게 체크아웃된 라이센스를 가지고 회로 시뮬레이션을 수행하려면, 기존에 쓰던 명령과 인자에 "-C" 옵션만 추가하면 됩니다.

hspice -C  <다른 인자들>

모든 시뮬레이션이 완료되어 라이센스가 더이상 필요하지 않을때에는, 아래의 명령을 실행하여 라이센스를 돌려주면 됩니다.

hspice -C -K

"-C"옵션 대신 "-CC"를 쓰는 방법도 있는데 (advanced client/server mode), 사용법은 거의 같습니다.
MODELZEN이 HSPICE 시뮬레이션을 실행할때 이러한 옵션들을 적용하도록 하려면, 다음과 같이 technology configuration을 수정하면 됩니다. 첫째, MODELZEN이 SPICE 시뮬레이션들을 수행하기 전에 실행할 명령은 sim_preamble['hspice'] 속성을 통해, 그리고 SPICE 시뮬레이션들이 모두 수행된 후에 실행할 명령은 sim_postamble['hspice'] 속성을 통해 정의하면 됩니다.

sim_preamble['hspice'] = ['hspice',  '-C']
sim_postamble['hspice'] = ['hspice', '-C', '-K']

둘째, 각 HSPICE 시뮬레이션을 실행할때 hspice 명령에 "-C" 옵션을 추가해주는 것은 sim_cmd['hspice'] 속성을 통해 정의하면 됩니다.

sim_cmd['hspice'] = lambda deck, log, outdir: ['hspice', '-C', '-i', deck, '-o', log]

각 명령은 Python의 subprocess 모듈 관례에 따라 토큰 단위로 구성된 배열 형태로 정의함에 유의하시기 바랍니다. 관련 설명은 MODELZEN User Guide의 4.2절 Defining SPICE Simulation Option 부분을 참고하시기 바랍니다.