산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

SPICE 프로그래밍의 기초

SPICE를 사용하여 회로 시뮬레이션을 프로그래밍하는 것은 다른 컴퓨터 언어로 프로그래밍하는 것과 매우 유사합니다. 명령을 파일에 텍스트로 입력하고 해당 파일을 컴퓨터의 하드 드라이브에 저장한 다음 프로그램(컴파일러 또는 인터프리터) 이러한 명령을 이해합니다. 해석된 컴퓨터 언어에서 컴퓨터는 인터프리터라는 특수 프로그램을 보유합니다. 작성한 프로그램(소위 소스 파일 ) 실행되는 즉시 컴퓨터 자체 언어로 변환: 컴파일된 컴퓨터 언어에서 귀하가 작성한 프로그램은 특수 장치에 의해 컴퓨터 자체 언어로 한꺼번에 번역됩니다. 컴파일러라는 프로그램 . 작성한 프로그램이 "컴파일"되면 결과 실행 파일 파일은 컴퓨터에서 직접 이해하기 위해 더 이상의 번역이 필요하지 않습니다. 이제 컴퓨터에 컴파일러 소프트웨어가 설치되어 있는지 여부에 관계없이 컴퓨터에서 "실행"할 수 있습니다. SPICE는 해석 언어입니다. 컴퓨터가 입력한 SPICE 명령어를 이해할 수 있으려면 SPICE 프로그램(인터프리터)이 설치되어 있어야 합니다. SPICE 소스 파일은 일반적으로 "netlists"라고 하며, 각각의 경우 "덱"이라고도 합니다. "card"라고 하는 파일의 줄입니다. 귀엽지 않나요? 넷리스트는 워드 프로세서나 텍스트 편집기를 사용하여 한 줄씩 지침을 입력하는 당신과 같은 사람에 의해 생성됩니다. 텍스트 편집기는 텍스트 강조 표시를 위한 특별한 임베디드 코드(예:기울임꼴) 없이 순수한 ASCII 텍스트를 생성하므로 모든 유형의 컴퓨터 프로그래밍에서 워드 프로세서보다 훨씬 선호됩니다. 또는 굵은체 글꼴), 인터프리터 및 컴파일러 소프트웨어에서 해석할 수 없습니다. 일반 프로그래밍과 마찬가지로 SPICE용으로 만드는 소스 파일은 특정 프로그래밍 규칙을 따라야 합니다. 단순하지만 그 자체로 컴퓨터 언어입니다. BASIC 및 C/C++로 프로그래밍하고 PASCAL 및 FORTRAN 프로그램을 읽은 경험이 있으므로 SPICE의 언어가 이들 중 어느 것보다 훨씬 간단하다고 생각합니다. 이것은 HTML과 같은 마크업 언어와 거의 같으며 덜 복잡합니다. SPICE를 사용하여 회로를 분석할 때 따라야 할 단계의 주기가 있습니다. 이 주기는 텍스트 편집 프로그램을 처음 호출하고 넷리스트의 첫 번째 초안을 만들 때 시작됩니다. 다음 단계는 새 넷리스트에서 SPICE를 실행하고 결과를 확인하는 것입니다. 당신이 SPICE의 초보 사용자라면, 좋은 넷리스트를 만들기 위한 첫 시도는 약간의 구문 오류로 가득 차 있을 것입니다. 걱정하지 마십시오. 모든 컴퓨터 프로그래머가 알고 있듯이 숙련도에는 많은 연습이 필요합니다. 시험 실행에서 분명히 잘못된 오류 메시지나 결과가 생성되면 텍스트 편집 프로그램을 다시 호출하고 넷리스트를 수정해야 합니다. 넷리스트를 수정한 후 SPICE를 다시 실행하여 결과를 확인해야 합니다. 그러면 시퀀스는 다음과 같습니다.

<울>
  • 텍스트 편집 프로그램으로 새 넷리스트를 작성합니다. 해당 넷리스트를 원하는 이름의 파일에 저장합니다.
  • 해당 넷리스트에서 SPICE를 실행하고 결과를 관찰합니다.
  • 결과에 오류가 있으면 텍스트 편집 프로그램을 다시 시작하고 넷리스트를 수정하십시오.
  • SPICE를 다시 실행하고 새로운 결과를 관찰하십시오.
  • SPICE의 출력에 여전히 오류가 있으면 텍스트 편집 프로그램으로 넷리스트를 다시 편집하십시오. 원하는 결과를 얻을 때까지 이 편집/실행 주기를 필요한 만큼 반복합니다.
  • 넷리스트를 "디버깅"하고 좋은 결과를 얻으면 SPICE를 다시 실행하십시오. 이번에는 출력을 컴퓨터 화면에서 관찰하는 대신 새 파일로 리디렉션하십시오.
  • 텍스트 편집 프로그램 시작 또는 워드 프로세서 프로그램을 열고 방금 만든 SPICE 출력 파일을 엽니다. 포맷 요구 사항에 맞게 파일을 수정하고 변경 사항을 디스크에 저장하거나 종이에 인쇄하십시오.
  • SPICE "프로그램"을 "실행"하려면 MS-DOS, UNIX 또는 MS-Windows DOS 프롬프트 옵션에서 볼 수 있는 것과 같은 터미널 프롬프트 인터페이스에서 명령을 입력해야 합니다.

    스파이스  

    "spice"라는 단어는 SPICE 해석 프로그램을 호출하고(SPICE 소프트웨어가 컴퓨터에 설치되어 있는 경우!), "<" 기호는 소스 파일의 내용을 SPICE 해석기로 리디렉션하고, example.cir 이 회로 예제의 소스 파일 이름입니다. 파일 확장자 ".cir "는 필수 사항이 아닙니다. 나는 ".inp를 보았다 "("입력"용) 및 일반 ".txt "역시 잘해. netlist 파일에 확장자가 없는 경우에도 작동합니다. SPICE는 컴퓨터의 파일 시스템과 호환되는 이름이 있는 한 이름을 어떻게 지정하든 상관하지 않습니다(예:이전 MS-DOS 시스템의 경우 파일 이름의 길이는 3을 포함하여 8자 이하여야 합니다. 문자 확장자, 공백 또는 기타 영숫자가 아닌 문자 없음). 이 명령을 입력하면 SPICE는 example.cir의 내용을 읽습니다. 파일에서 해당 파일로 지정된 회로를 분석하고 컴퓨터 터미널의 표준 출력(일반적으로 스크롤을 볼 수 있는 화면)에 텍스트 보고서를 보냅니다. 일반적인 SPICE 출력은 여러 화면에 해당하는 정보이므로 다음 명령을 약간 수정하여 살펴볼 수 있습니다.

    <사전>스파이스

    이 대안은 SPICE의 텍스트 출력을 "more" 유틸리티로 "파이프"하여 한 번에 한 페이지만 표시할 수 있도록 합니다. 이것이 의미하는 바는(영어로) SPICE의 텍스트 출력이 한 화면 가득 찬 후 중단되고 사용자가 다음 화면 전체 텍스트를 표시하기 위해 키보드 키를 누를 때까지 대기한다는 것입니다. 예제 회로 파일을 테스트하고 오류가 있는지 확인하려는 경우 이것이 좋은 방법입니다.

    스파이스  ​​example.txt 

    이 두 번째 대안(위)은 SPICE의 텍스트 출력을 example.txt라는 다른 파일로 리디렉션합니다. , 여기에서 보거나 인쇄할 수 있습니다. 이 옵션은 앞서 나열된 개발 주기의 마지막 단계에 해당합니다. 이 저자는 예제 회로 넷리스트가 잘 작동함을 입증한 후에만 텍스트 파일로 "리디렉션"하는 이 기술을 사용하여 출력을 보기 위해 텍스트 편집기를 호출하는 데 시간을 낭비하지 않을 것을 권장합니다. "디버깅" 단계에서. SPICE 출력이 .txt에 저장되면 파일에서 텍스트 편집기 또는 (더 나은 방법!) 워드 프로세서를 사용하여 출력을 편집하고 불필요한 배너 및 메시지를 삭제하고 대체 글꼴을 지정하여 더 세련된 모양을 위해 표제 및/또는 데이터를 강조 표시할 수도 있습니다. 물론 원하는 경우 출력물을 종이에 인쇄할 수 있습니다. 직접 SPICE 출력은 일반 ASCII 텍스트이므로 이러한 파일은 SPICE가 설치되어 있는지 여부에 관계없이 모든 컴퓨터에서 보편적으로 해석할 수 있습니다. 또한 일반 텍스트 형식은 "포인트 앤 클릭" 시뮬레이터에서 생성된 그래픽 스크린샷 파일에 비해 파일이 매우 작음을 보장합니다. SPICE에 필요한 넷리스트 파일 형식은 매우 간단합니다. 넷리스트 파일은 여러 줄의 텍스트를 포함하는 일반 ASCII 텍스트 파일에 불과하며, 각 줄은 회로 구성 요소나 특수 SPICE 명령을 설명합니다. 회로 구조는 각 라인의 각 구성 요소의 연결 지점에 번호를 할당하고 공통 번호로 지정된 구성 요소 간의 연결을 지정합니다. 다음 예제 회로도와 해당 SPICE 파일을 살펴보십시오. 회로도는 인간이 시뮬레이션을 이해하기 쉽게 하기 위한 것일 뿐입니다. SPICE는 넷리스트만 이해합니다.

    넷리스트의 예 v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .끝 

    위에 표시된 소스 파일의 각 행은 다음과 같습니다.

    <울>
  • v1 배터리(전압 소스 1), 양극 단자 번호 1, 음극 단자 번호 0, DC 전압 출력 15V를 나타냅니다.
  • r1 저항 R1을 나타냅니다. 다이어그램에서 점 1과 0 사이에 연결되며 값은 2.2kΩ입니다.
  • r2 저항 R2를 나타냅니다. 다이어그램에서 3.3kΩ의 값으로 점 1과 2 사이에 연결됩니다.
  • r3 저항 R3을 나타냅니다. 다이어그램에서 포인트 2와 0 사이에 연결되며 값은 150kΩ입니다.
  • SPICE 회로 설명에서 전기적으로 공통 지점(또는 "노드")은 공통 번호를 공유하며, 이는 대형 회로의 공통 지점을 연결하는 와이어가 일반적으로 공통 와이어 레이블을 공유하는 것과 매우 유사합니다. 이 회로를 시뮬레이션하기 위해 사용자는 텍스트 편집기에 여섯 줄의 텍스트를 입력하고 고유한 이름을 가진 파일로 저장합니다(예:example.cir ). 넷리스트가 구성되어 파일에 저장되면 사용자는 앞서 표시된 명령줄 문 중 하나로 해당 파일을 처리합니다(spice ), 컴퓨터 화면에 다음 텍스트 출력을 받게 됩니다.

    1********10/10/99 ******** 스파이스 2g.6 3/15/83 ********07:32:42**** * 0예제 넷리스트 0**** 입력 목록 온도 =27.000 deg c v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .끝 *****10/10/99 ********* 스파이스 2g.6 3/15/83 ******07:32:42******** 0예제 넷리스트 0**** 소신호 바이어스 솔루션 온도 =27.000 deg c 노드 전압 노드 전압 ( 1) 15.0000 ( 2) 0.6522 전압 소스 전류 이름 현재 v1 -1.117E-02 총 전력 손실 1.67E-01 와트 작업 완료 0 총 작업 시간 0.02 1********10/10/99 ******** 스파이스 2g.6 3/15/83 ******07:32:42****** 0**** 입력 목록 온도 =27.000 deg c 

    SPICE는 출력 상단에 사용된 시간, 날짜 및 버전을 인쇄하는 것으로 시작합니다. 그런 다음 입력 매개변수(소스 파일의 라인)를 나열한 다음 각 노드(참조 번호)에서 접지(항상 참조 번호 0)까지의 DC 전압 판독값을 표시합니다. 그 다음에는 각 전압 소스를 통한 전류 판독값 목록이 나옵니다(이 경우 v1만 있음). 마지막으로 총 전력 소모 및 계산 시간(초)이 인쇄됩니다. SPICE에서 제공하는 모든 출력 값은 과학 표기법으로 표시됩니다. 위에 표시된 SPICE 출력 목록은 대부분의 사람들의 취향에 약간 장황합니다. 최종 프레젠테이션의 경우 불필요한 텍스트는 모두 잘라내고 중요한 내용만 남겨두는 것이 좋습니다. 다음은 텍스트 파일(spice ​​example.txt)로 리디렉션된 동일한 출력의 샘플입니다. ), 그런 다음 최종 프레젠테이션을 위해 텍스트 편집기로 적절하게 잘라내고 인쇄합니다.

    <사전>예제 넷리스트 v1 1 0 dc 15 r1 1 0 2.2k r2 1 2 3.3k r3 2 0 150 .끝
    <전>노드 전압 노드 전압 ( 1) 15.0000 ( 2) 0.6522 <사전>전압원 전류 이름 현재 v1 -1.117E-02
    총 전력 손실 1.67E-01와트 

    SPICE에 대한 매우 좋은 점 중 하나는 입력 및 출력 형식이 모두 일반 텍스트로, 가장 보편적이고 편집하기 쉬운 전자 형식이라는 것입니다. 거의 모든 컴퓨터는 SPICE 프로그램 자체가 해당 컴퓨터에 없는 경우에도 이 형식을 편집하고 표시할 수 있습니다. 사용자가 원하는 경우 워드 프로세싱 프로그램의 고급 기능을 사용하여 출력물을 더 멋지게 만들 수 있습니다. 독자가 더 명확하게 이해할 수 있도록 출력 라인 사이에 주석을 삽입할 수도 있습니다.


    산업기술

    1. SPICE 소개
    2. SPICE의 역사
    3. 명령줄 인터페이스
    4. 회로 구성요소
    5. 마이크로프로세서 프로그래밍
    6. SPICE의 반도체 장치
    7. 전기 회로의 컴퓨터 시뮬레이션
    8. C# 프로그래밍의 네임스페이스
    9. C 프로그래밍 연산자
    10. C 튜토리얼