Languages

CommunityCategory: XMODELFunction primitive로 구성된 feedback loop내 신호의 초기값 설정방법
SA Support Team Staff asked 6 years ago

Circuit primitive로 구성된 모델의 경우에는 원하는 노드의 초기전압값을 vinit primitive를 사용해 정의할 수 있습니다. 그런데, function이나 gate처럼 다른 primitive로 구성된 모델의 경우에도 원하는 신호의 초기값을 정의하고 싶을때가 있습니다. 예를 들어, gate primitive로 구성된 모델이 feedback loop를 구성하고 있는 경우, 그 내부신호의 초기값은 X로 시작하는데, feedback loop의 구성 때문에 X에서 0 또는 1과 같은 실제 값으로 바뀌지 못하는 경우가 있습니다. 이런 경우, reset 스위치를 별도로 구성하지 않고, 원하는 초기값을 정의하는 방법이 있나요? vinit로는 정의가 되지 않습니다.

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

네. 해당 신호가 xreal인지 xbit 타입인지에 따라 buffer 또는 buf_xbit primitive를 사용하여 원하는 초기값을 설정할 수 있습니다. 이 primitive들은 입력으로 들어온 신호를 그대로 출력으로 전파하는 버퍼 기능을 하는 primitive들이지만, init_value라는 파라메터를 통해서 그 출력의 초기값, 즉 time=0일때의 값을 원하는 값을 정의할 수 있습니다.

따라서, 이 버퍼를 feedback loop 안에 위치시키면, 그 출력의 초기값이 feedback loop를 통해 전파되어 loop 상의 다른 신호들의 초기값도 설정할 수 있게 됩니다. 아래 그림들은 GLISTER 상에서 bufferbuf_xbit primitive를 사용할 경우, init_value 파라메터 값을 설정하는 예를 보여줍니다.

[xreal 신호의 초기값 설정을 위한 buffer primitive 사용의 예]

[xbit 신호의 초기값 설정을 위한 buf_xbit primitive 사용의 예]