KB: Spice Model Pin을 회로 심볼과 매핑하기
설계에 있는 모든 구성 요소에 스파이스 모델이 연결되어 있는 것이 중요하지만, 연결된 모델의 핀이 해당 회로 심볼과 정확하게 매핑되어 있는 것이 더욱 중요합니다. 컴파일러가 이러한 Pin Mapping 불일치를 자동으로 식별할 수 있는 방법이 없으며, 명시적인 오류 없이 예상치 못한 결과를 출력할 수 있기 때문입니다.
솔루션 세부 정보
구성 요소에 스파이스 모델을 찾아 연결하는 일반적인 절차는 다음에서 찾을 수 있습니다:
https://www.altium.com/documentation/altium-designer/verifying-preparing-project-simulation#!adding_simulation_models_to_the_design
Pin Mapping은 schdoc에서 심볼을 선택한 후, 속성 패널의 일반 탭에서 Parameter 섹션을 더블 클릭하여 시뮬레이션 객체를 열고 Pin Mapping 섹션에서 확인/수정할 수 있습니다.
.SUBCKT 문장의 경우, 스파이스에서는 핀 인덱스를 1부터 시작하여 오름차순으로 핀 이름을 나열하는 것이 표준 표기법입니다.
https://www.altium.com/documentation/altium-designer/single-component-editing#!linking_a_simulation_model:~:text=Mapping%20the%20Model%20Pins%20to%20the%20Component%20Symbol%20Pins
.MODEL 문장의 경우, Berkeley Spice 3f5에서 아래와 같이 암시적으로 정의됩니다:
http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/UserGuide/elements_fr.html
예를 들어, BJT에서 모델의 핀 순서는 C (1), B (2), E (3)이며, 회로 심볼과 다를 경우 수동으로 매핑해야 합니다.
참고로, A365에서 관리되는 구성 요소의 Pin Mapping은 일괄 편집 모드에서 수행해야 합니다:
https://www.altium.com/documentation/altium-designer/batch-component-editing#!pin-mapping
파일 기반 DBLib에서는 아래와 같이 시뮬레이션 모델 관련 속성을 지정할 수 있습니다:
https://www.altium.com/documentation/altium-designer/creating-defining-database-library#!simulation_model_mapping
예를 들어, 각 속성에 대한 데이터베이스가 깨끗해야 하며, 모델이 제대로 연결되지 않는 것을 방지하기 위해 예를 들어 공백 문자가 없어야 합니다.
Multi-Part 부품의 경우, 기본적으로 시뮬레이션 엔진은 심볼의 각 부분을 별도의 부품으로 간주하며 할당된 스파이스 모델이 있습니다. 시뮬레이션에서 부분을 제외하려면 Sim Model 대화 상자에서 "Exclude part from simulation" 체크박스를 선택해야 합니다.
동일한 회로 모델의 복수 복사본인, 동질의 Multi-Part 부품의 경우, 모든 부분에 동일한 매핑을 적용할 수 있습니다.
반면에 이종 부품의 경우, 모든 다양한 모델을 .SUBCKT wrapper 문으로 하나의 파일에 캡슐화해야 합니다.
예시:
.SUBCKT MMDT3946 1 2 3 4 5 6
Q1 3 5 4 DI_MMDT3946_PNP
Q2 6 2 1 DI_MMDT3946_NPN
model linking 에서 참고할만한 영상정보:
https://youtu.be/xFafdcH6J6Y?t=601