Languages

CommunityCategory: GLISTER‘probe_ac’ primitive를 사용해 위상동기루프(PLL)의 위상영역 전달함수를 측정하는 방법

GLISTER

‘probe_ac’ primitive를 사용해 위상동기루프(PLL)의 위상영역 전달함수를 측정하는 방법

SA Support Team Staff 2020-04-30

DC-DC 컨버터 튜토리얼을 통해 XMODEL의 'probe_ac' primitive를 활용하면 회로의 AC 전달함수를 쉽게 측정할 수 있다는 것을 배웠습니다. 이 'probe_ac' primitive를 사용해 위상동기루프(PLL)의 위상영역에서의 전달함수도 측정할 수 있나요?

1 Answers
Best Answer
SA Support Team Staff 2020-04-30

네. 가능합니다. 이 Q&A 링크에 설명된 것처럼, 'probe_ac' primitive는 단 한번의 시뮬레이션 실행으로 회로 모델의 AC 반응 특성을 손쉽게 측정할 수 있게 해줍니다. 이 'probe_ac' primitive를 variable domain translator (VDT) primitive들과 조합하여 사용하면, 더 폭넓은 회로들의 AC 반응 특성을 측정할 수 있는데요, 아래 그림은 그 기본 개념을 보여줍니다.

위상동기루프(PLL)의 위상영역 전달함수는, 입력클록의 위상변화에 따른 출력클록의 위상변화량을 표현하는 특성입니다. 이 위상영역 전달함수는 'phase_to_clk''clk_to_phase' primitive와 'probe_ac' primitive를 조합하면 쉽게 측정할 수 있습니다. 즉, 'probe_ac' primitive가 입력클록의 위상변화에 해당하는 AC 자극신호를 생성하면, 'phase_to_clk' primitive를 사용하여 이 신호에 따라 위상이 변화하는 PLL로의 입력클록을 생성할 수 있습니다. PLL이 그 입력클록의 위상변화에 반응하는 출력클록을 생성하면, 이번에는 'clk_to_phase' primitive를 사용하여 그 출력클록의 위상변화를 추출할 수 있습니다. 이 결과 신호를 'probe_ac' primitive로의 반응신호로 연결해주면, 이 'probe_ac' primitive가 측정하는 전달함수는 바로 PLL의 위상영역 전달함수에 해당하게 됩니다.
이 방법은 전압과 전류외의 다른 변수영역에서 선형시스템 특성을 갖는 여러가지 다른 회로들에도 적용할수 있습니다. 지연동기루프(DLL), 주파수동기루프(FLL), 듀티사이클보정루프(DCC) 등이 그러한 회로의 예입니다. 더 자세한 정보는 다음의 논문을 참고하시기 바랍니다: J. Kim, K. D. Jones, M. A. Horowitz, “Variable Domain Transformation for Linear PAC Analysis of Mixed‐Signal Systems,” ACM/IEEE International Conference on Computer‐Aided Design (ICCAD), Nov. 2007.
아래의 스크린캡처는 charge-pump PLL 모델(링크)의 위상영역 전달함수를 측정하는 testbench schematic cellview (이름: cp_pll.tb_jtran:schematic)의 구성을 보여줍니다. 이 예제의 PLL은 2GHz의 입력클록을 받아서 16GHz의 출력클록을 만들어내는데, 이 PLL의 위상영역 전달함수를 측정하기 위해, 'probe_ac' primitive의 자극신호의 주파수를 10kHz부터 500MHz까지 10us간 sweep하도록 했습니다. 그리고 AC 자극신호의 진폭은 0.01 정도로 충분히 작게 했고, 초기 지연시간은 300ns로 AC 자극신호의 주파수 sweep이 시작되기 전에 PLL이 충분히 수렴점에 도달할 수 있도록 하였습니다. 앞에서 설명하였듯이, PLL의 입력과 출력에 연결된 'phase_to_clk''clk_to_phase' primitive들은 각각 2GHz와 16GHz의 기준주파수에서 동작하며, 'probe_ac' primitive를 통한 위상영역 전달함수의 측정을 가능케 해줍니다.

아래의 세 그림은 시뮬레이션을 수행하기 위한 XMODEL testbench cellview (이름: cp_pll.tb_jtran:tb_ac)의 구성을 보여줍니다. 시뮬레이션 시간은 11us로, 'probe_ac' primitive가 300ns의 초기 지연시간 후에 10us 간의 주파수 sweep을 수행하기에 충분한 시간을 설정하였습니다. 위에서 설명한 schematic cellview인 cp_pll.tb_jtran:schematic가 시뮬레이션을 수행할 최상위 cellview로 설정되었으며, 마지막으로 시뮬레이션의 수행과 결과 출력을 수행하는 스크립트로 'xmodel' 대신 'meas_ac' 스크립트가 사용되었습니다. 이 'meas_ac' 스크립트에 대한 보다 자세한 설명은 이 Q&A 링크를 참고하시기 바랍니다.



아래 그림은 이 testbench를 사용해 시뮬레이션한 PLL의 위상영역 전달함수 결과를 나타냅니다. 이 시뮬레이션 결과로 PLL이 예상한대로 8의 DC 이득값을 갖고 있으며(PLL의 주파수 체배수와 같음), 약간의 peaking이 있는 약 60MHz의 대역폭을 갖고 있음을 확인할 수 있습니다. 본 PLL 예제에 대한 시뮬레이션 수행시간은 26초였습니다.