OrCAD Capture에서 회로도를 그릴때 미리 특성값을 넣어서 신호의 무결성 시뮬레이션을 할 수 있다.
PCB를 제작하기전에 Logic회로에서 어떤 특성값에따라 신호가 어떻게 나오는지 미리 확인할 수 있다.
아래와 같이 USB D+ 신호가 IC의 D+ receiver로 잘 들어가는지 시뮬레이션을 할 것이다.
그러기 위해서 우선 모두 Part Edit를 통해 passive로 되어있는 핀 type을 output, input으로 바꿔준다.
1. 핀에 SI 모델 부여
Sender핀만 클릭 - 마우스우클릭 - SI Analysis - Assign SI Model
2. 아래와 같은 순으로 X2의 3번핀에 SI Model을 부여
(Cadence에서 제공하는 5V짜리 output 모델을 부여했다)
3. 전송선상에 있는 저항에도 SI모델을 부여해준다.
마우스우클릭 - SI Analysis - Assign SI Model
4. 마지막 Receiver에게도 SI Model을 넣어준다.
마우스우클릭 - SI Analysis - Assign SI Model
아래와 같은 순으로 U6의 29번핀에 Input 관련 SI Model을 부여
5. 해당 Net에서 Explore Signal 프로그램을 연동시켜 실행시킨다.
(17.4버전의 버그인지는 모르겠지만, Topology가 해당 Pin pair만 나온게 아니고 전부다 나왔다;;)
내가 설정한 부분은 여기에 있다.
이 부분을 빼고 나머지를 다 지웠다..
6. 보고자 하는 관점을 선택할 수 있다.
여기에서는 PCB의 관점으로 보기위해 time대신, Length(길이)로 택했다.
7. 이름부분을 클릭하면, 아래와 같이 Stimulus Edit 창이 뜬다.
8. Custom으로 변경 후 보내고자 하는 신호를 정한다.
원하는 주파수와 테스트 패턴을 정하면 아래와 같이 그래픽적으로 수정된다.
9. 시뮬레이션 시작 버튼
10. 시뮬레이션 결과
X2의 3번핀, 즉 Sender에서 보낸 파형
U6의 29번핀, 즉 Receiver에서 받은 파형 (delay와 undershoot 까지 있다)
11. 길이를 짧게 수정하고 다시 시뮬레이션을 해보았다.
수정 방법은 그냥 클릭하고 length 의 숫자만 변경시켜주면 된다.
시뮬레이션 결과, 전송선로를 짧게 만들었더니 (당연히) Sender에서 보낸 신호가 Receiver에게 잘 전달 되었다.
이 기능을 이용해서, PCB를 설계하기전에 회로설계에서 전송선로의 Length를 얼마큼 할지 잘 고려해보면 좋을 것 같다.
<TIP>
SigXplor 는 기본적으로 mil단위로 세팅 되어있는데, 이를 mm를 기본으로 바꾸기 위해서는 env파일을 수정해야 한다.
ansan-survivor.tistory.com/216
env 환경설정 하는 방법은 위 링크 참고 바란다. 그리고 env파일을 열고 아래 한줄만 추가하면 된다.
여기서 mm단위를 기본으로하고, 숫자 2는 소수점 자리수 이다.
set SIGXP_ALTERNATE_UNITS "millimeters 2"
다음 영상을 참고했다.
www.youtube.com/watch?v=7_iQouiLFlc
resources.orcad.com/high-speed-design/have-orcad-capture-you-also-have-signal-integrity-capabilities