Languages

CommunityCategory: XMODEL입력신호값이 매우 큰 아날로그 multiplexer를 ‘switch’로 모델링하였을때의 속도저하 문제
SA Support Team Staff asked 7 years ago

디지털 입력신호값에 따라 여러개의 주파수 값 중 하나를 선택하는 모델을 작성하려는데, switch primitive들을 병렬로 구성하여서 아날로그 multiplexer를 구현하였을때 event가 많이 발생하면서 속도가 느려졌습니다. 왜 그런가요?

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

해당 문제는 switch primitive로 구성한 아날로그 multiplexer의 입력에 1,000,000이 넘는 매우 큰 값을 넣어주었기 때문에 발생하였습니다.

switch primitive로 구성한 아날로그 multiplexer는 circuit-level 모델에 해당하는데, XMODEL은 이와 같은 circuit-level 모델들을 시뮬레이션할 때 큰 수가 발생하지 않도록 노력을 합니다. 그 이유는 큰 수가 작은 수와 함께 연산이 되면, 작은 수에 담긴 정보가 소실되는 경우가 있기 때문입니다. 이를 방지하기 위해서 XMODEL은 추가적으로 event를 발생시키는데, 문의하시는 경우에는 그것이 과다하여 속도저하를 일으킨 것으로 판단됩니다.

해당 문제를 해결하는 한가지 방법은, analog multiplexer에 작은 수를 입력한후, 그 선택된 출력값에 scale primitive를 적용하여서 값을 키우는 것입니다. 다른 더 간단한 방법은 circuit primitive인 switch 대신에 function primitive이면서 아날로그 multiplexer를 바로 표현하는 select primitive를 사용하는 것입니다.