추천 게시물

Verilog-A PSS Simulation 안되는 경우 해결 방법. Hidden state Error

목차

 PSS 시뮬레이션을 하려고 하다보면 기존에 만들었던 Verilog-A Block으로 인해 시뮬레이션이 제대로 되지 않을 때가 있다. Designer's Guide에서 찾은 결과로는 Hidden-state가 존재하는 경우 시뮬레이터가 비정상적인 연산을 하거나 Convergence Error가 발생할 수 있기 때문에 오류 메세지를 내보내고 멈추게 된다.


이럴 때는 Hidden-State가 발생하지 않도록 회로적인 방법을 사용할 수 있다. 이 방식은 꽤 복잡하고, 시뮬레이션 시간에도 영향을 줄 듯하여 아직 시도해 보진 않았다.


자세한 내용은 아래 글을 참고하기 바란다.


https://designers-guide.org/analysis/hidden-state.pdf


단 State가 명확한 블록이라면 간단한 구문을 추가하여 강제로 동작을 시킬 수 있다. 이 때 설계자는 블록이 오동작하지 않는 것을 확실히 한 뒤 진행해야한다.


모듈 앞에 아래 구문을 넣으면 모듈의 히든스테이트를 무시한다.

(*instrument_module*)


모듈 내부에 define할 때 

 (*ignore_state*)

를 삽입하면 무시한다.


예를 들어 

real  (*ignore_state*) freq sampled_v

와 같이 사용한다.


최근 버전에서는 오류가 나는 variable을 명시해 주기 때문에 위와 같이 특정 variable만 지정해 주는 것이 더 좋을 듯하다.

댓글