4월, 2024의 게시물 표시

추천 게시물

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만 지정해 주는 것이 더 좋을 듯하다.