Languages

CommunityCategory: XMODEL회로 모델의 AC 전달특성을 측정하는 방법
SA Support Team Staff asked 5 years ago

SPICE의 AC 분석처럼 XMODEL에도 회로의 AC 전달특성을 측정하는 방법이 있나요?

1 Answers
Best Answer
SA Support Team Staff answered 5 years ago

예. 2019.04 버전부터 새로이 추가된 'probe_ac' primitive를 사용하면 손쉽게 AC 전달특성을 측정할 수 있습니다. 아래의간단한 RC 필터의 AC 전달특성을 측정하는 예를 들어 설명드리겠습니다.

먼저 'probe_ac' primitive의 'stim' 출력을 회로의 입력에, 그리고 회로의 출력을 'probe_ac' primitive의 'resp' 입력에 연결합니다. 그리고, 'probe_ac' primitive의 'freq_start''freq_stop' 파라메터를 통해 AC 전달특성을 측정할 주파수 범위를 설정하고, 'delay''period' 파라메터를 통해 주파수 sweep을 시작하는 시점과 지속기간을 설정합니다. 또한, 'stim_dc''stim_ac' 파라메터를 통해 AC 소신호 자극의 offset과 진폭도 각각 설정할 수 있습니다.

XMODEL 시뮬레이션을 실행하면 (이때의 실행시간은 delay와 period를 합한 값보다 길어야 합니다), 'probe_ac' primitive는 아래처럼 정해진 범위내에서 주파수를 서서히 증가시키는 정현파 자극을 생성하고, 회로 모델은 이 자극의 각 주파수에 따라 다른 반응을 보이게 됩니다. 'probe_ac' primitive는 이 반응을 분석하여 그 결과인 AC 전달함수를 테이블 형식으로 출력파일에 저장합니다.

XMODEL Testbench Editor와 제공되는 'meas_ac' 스크립트를 활용하면, 시뮬레이션 실행후 AC 전달함수의 plot까지도 손쉽게 만들수 있습니다. 먼저 해당 schematic cellview 상에서 GLISTER 메뉴의 “Open Testbench Editor”를 선택하여 아래의 XMODEL Testbench Editor 창이 나타나게 합니다. 그 다음 우측 상단의 “Create New Testbench” 아이콘을 클릭하여 새 testbench cellview를 만들고, 그 이름을 'tb_ac' 로 정하겠습니다. 이제 새로 생성된 'tb_ac' testbench cellview의 셋업을 진행하는데, 탭이 배치된 순서대로 설명을 드리겠습니다.

첫번째 Simulation 탭에서는 시뮬레이션 시간(Simulation Time)을 'probe_ac' primitive의 delay + period 값보다 충분히 길게 해줍니다. 'probe_ac' primitive는 분석이 끝나면 자동으로 시뮬레이션을 종료하기 때문에, 필요이상으로 길어도 괜찮습니다. 나머지 파라메터들은 해당 모델에 맞게 설정해줍니다.

두번째의 Design 탭에서는 testbench로 사용하고 있는 schematic cellview를 dependent cellview로 두고, 그 셀 이름을 Top-level Module 이름으로 지정합니다. 원래 새 testbench cellview를 생성하면 tb_ac.sv와 같은 최상위 testbench 파일이 기본적으로 추가되는데, 이 예제의 경우에는 필요없으므로 삭제하고, Top-level Module 이름도 다시 원래 셀이름으로 복원합니다.

마지막으로 Commands 탭에서는 아래에서 보는 바와 같이 'xmodel' launcher 명령대신에 'meas_ac' 스크립트를 사용하도록 구성합니다. 특히 아래 창의 'meas_ac --plotwave' 명령은 우측 최하단의 'Plot Waveforms' 아이콘이 눌렸을때 XWAVE가 측정된 AC 전달함수를 plot하도록 해줍니다.

자, 이제 다되었습니다! 'Run Simulation' 아이콘 버튼을 눌러 XMODEL 시뮬레이션을 실행시키시고, 수행이 완료되면 'Plot Waveforms' 아이콘 버튼을 누르세요. 그러면 아래와 같은 AC 전달함수 plot이 XWAVE에 나타납니다.

참고로, 모델의 파라메터 값을 sweep하면서 각각의 경우에 대한 AC 전달특성을 측정할 수도 있습니다. 파라메터를 sweep하는 시뮬레이션을 수행하는 법은 “Sweeping parameter values in XMODEL simulations”을 참고해주세요. 또한, 위에서 사용한 'meas_ac' 스크립트의 소스코드는 $XMODEL_HOME/example/bin/meas_ac.py에 위치해 있으니, 기능을 더 추가하고자 할때 활용하시기 바랍니다.