Day 1 - Tistory
Transcript of Day 1 - Tistory
Cadence OrCAD PSpice V16 Training Guide
1
㈜나인플러스정보기술 EDA사업부
서울특별시 서초구 서초2동 1344-12 원진B/D 3F전화 : 02)581-7434∽6 팩스 : 02)581-7437
부산광역시 수영구 망미1동 799-27 나니B/D 4F/5F전화 : 051)758-4841,4,5 팩스 : 051)758-4866http://www.orcad.net [email protected]
담당 : 김태형 연구원, 이양재 대리
Day 1
기본 회로 작업환경 설정Tran, DC, AC, BP 해석P b 윈도우 사용법Probe 윈도우 사용법
Spice (Simulation Program With Integrated Circuit Emphasis)란 ?전기,전자 및 디지털회로 등을 설계할 경우에는 회로 특성을 평가할 수 있는 정확한 방법이 필수적이다.이러한 회로를 직접 제작하여 실험할 수도 있지만 ,이렇게 할 경우에는 회로구성 및 특성해석에 많은 시간과계측장비 및 경비가 필요하지만 실제로 회로를 제작하기 전에 컴퓨터를 이용하여 계산하고 측정, 평가하는과정을 거치는 곳이 현재 회로설계 및 제작시에 반드시 필요적인 사항이 되었다. 이러한 과정을 시뮬레이션(simulation)이라 한다
SPICE는 컴퓨터를 이용하여 전지,전자회로의 해석 및 설계를 위해 1972년 미국Berkely대학에서 개발한 프로그램이다. SPICE의 개발에 의해 트랜지스터의 동작점, 과도 특성해석 및 주파수응답해석 등의 전기, 전자회로에 대한 복잡하고 다양한 해석이 가능하게 되었고 모든 회로에 공통으로 사용하는 저항, 콘덴서, 인덕터 등의 수동소자와 다이오드, 트랜지스터, FET등의 능동소자에 대한 모델을 자료화함으로써 거의 모든 회로에 대한 시뮬레이션이 가능하다
Pspice Introduce
3
함으로써 거의 모든 회로에 대한 시뮬레이션이 가능하다.
Pspice란 ?최근까지도SPICE는 1972년에 개발한 Berkely SPICE에 의한 PC기반의 Analog/Digital 혼합회로 시뮬레이션프로그램이다.PSpice는 회로의 설계와 편집,시뮬레이션 그리고 그래픽 출력 등을 볼 수 있는 Capture ,Stimulus editor , PSpice A/D, Probe로 구성되어 있다.
또한 14,000개의 Analog library와 2,000개의Digital library로 구성되어 있고 Vendor와 PSpice가 제공하는library를 수정하여 새로운 model를 생성할 수 있는 기능을 제공한다.
새롭게 출시된 Advanced Analysis는 엔지니어로 하여금 한 도면에 대한 고급적인 옵션을 제공한다.Advanced Analysis는 PSpice과 함께 실행 되며, 추가적인 5000여개의 라이브러리를 이용할 수 있다.
Simulation 흐름도
1. Schematic Entry
-.Schematic: 회로의 설계와 편집을 한다. : Place > Part > *. Olb + Place wire
-.Stimulus Editor: 입력조건을 설정한다. : Place > Part > Source.olb
2. Analysis Setup &Simulate : DC , AC , Tran , Bias point 해석
-.Pspice A/D: A/D혼재 회로설계 해석
Design for Simulation
4
p / / 혼재 회 설계 해석
3. Output
-.Probe: 회로 시뮬레이션 후 전류,전압,이득, 위상등 원하는 결과 파형을 보는 창
-.Text editor : Netlist , Output file을 text format로 볼 수 있는 창
도면 작성 순서
1. R , C , VDC전원 배치
Place > part
R,C / Analog.olb VDC / Source.olb
2. Ground 배치
Place > Ground
0 / source.olb
Schematic Entry
C11
V1
10Vdc
R1
1k
R21k
output_nodeinput_node
5
3. 배선 Place / Place Wire
PSpice용 접지는 “0”로 사용된다.
Place Ground에 포함하는 라이브러리
- Source.lib : 0 , $D_H , $D_LO - Capsym.olb <Capture Symbol>
VCC Series
Ground Series
LO
0
HI
0
Voltage source 배치
1. Place > Part 선택 (혹은 toolbar button , P를 클릭).
2. Place Part 대화창에서 Source라는 라이브러리에서 VDC를 선택한다.
3. 아래와 같이 VDC의 Symbol이 나타나고 OK를 선택하면 대화창이 닫혀지고 마우스 끝에VDC소자를 배치할 수 있는 상태가 된다.
4. 배치위치의 도면에 source를 배치한다. DC전원 설정은 0VDC를 더블 클릭하여 원하는 전압값으로 변경
* 각 부품 별 Value를 설정 : 용량의 단위는 자체 인식하며, 크기의 단위만 적용한다.
Design for Simulation
6
P,pP,p –– PicoPico U,uU,u –– MicrometerMicrometer M,mM,m –– millimetermillimeter K,kK,k –– KilometerKilometer Meg,megMeg,meg –– MegaMega
Resistors배치 (capacitor , inductor)
1. Place > Part 선택 (<P> , toolbar button).
2. Part dialog에 R을 친다.
3. OK.
4. 첫번째 저항(R1)을 O.K을 클릭
5. <R>을 누르면 resistor이 회전한다.
6. (R2)를 같은 방법으로 배치.
- PSpice library file name: *.lib ASCII text file (.model과 .subckt 구성)
도면상에서의 직접 사용은 불가하지만 symbol library를 이용해 회로를 구성한 다음 시뮬레이션 시참조한다.
- symbol library file name: *.olb
도면상에서의 회로를 설계할 수 있게 소자의 심벌을 정의해 놓은 file device의 그래픽 표현과 속성에 대한정보를 포함하고 있다.
라이브러리 사용상 주의사항
인 톨이 난 상태에서 라이 러리 각각 h를 가지 있 이 디렉 리를 변경시킬 경우 각각의
Note
7
인스톨이 끝난 상태에서는 라이브러리 각각 Path를 가지고 있고, 이 디렉토리를 변경시킬 경우 각각의라이브러리 들의 Path가 같이 변경된다.
이것을 복구하기 위해서는 시뮬레이션 설정에서 각각의 라이브러리의 Path를 다시 지정해 주어야 한다.(이점에 유의하여 디렉토리 변경이 없어야 함.)
이 두 디렉토리에 있는 라이브러리들의 차이는 PCB용 . 즉, ASCII text file(*.Lib)를 포함하고 있지 않다는것인데 시뮬레이션에서는 각각의 소자들의 데이터 시트의 특성을 가지고 실행되기 때문에 시뮬레이션을위한 도면 구성을 위해서는 모델로서 특성을 가지고 있는 PSpice의 디렉토리에 포함된 라이브러리들을사용해야 한다.
Note : Capture의 라이브러리를 사용할 경우 Error massage는 다음과 같다.
“ WARNING: Part Part_name has no simulation model. ”
Place Ground
좌측의 두개의 라이브러리의 소속이 틀린것을 확인할 수 있다.
첫번째 GND_FIELD SIGNAL은CAPSYM이라는 라이브러리에서 불러오며,
두번째 “0”은 SOURCE라는 라이브러리에서배치한다.
이 두 라이브러리 경로는 서로 틀리며, 두라이브러리는 CAPTURE용과 SIMULATION 용으로 구분된다.
8
- Capture lib 경로 : Capture / Library /
- PSpice lib 경로 : Capture / library / PSpice /
PSpice lib : Spice parameter를 가지고있어야 하며, Capture를 이용하여시뮬레이션 할 경우 Olb(그림의 특성을 가진) 파일이 필요하다.
즉, Capture에서 이용되는 파일은 그래픽파일이며, 시뮬레이션에서는 그래픽 파일로이용된 데이터가 필요하다.
부품 선택 후 오른 쪽 마우스를 클릭하여Popup Menu를 Open한 후 Edit Properties를클릭.
Properties Editor가 실행되며, R2의 저항 값을수정시 사용된다.
Property Display Values 변경하기
1.위에 있는 Property dialog을 사용한다.
2.원하는 속성을 선택한다.
3.display preferences, orientation, and
justification을 setup한다
Property Display Values
9
justification을 setup한다..
4. Apply을 눌러 적용한다.
- Filter의 특성에 따라 현재 진행되고 있는 Project의 도면 내 부품 특성을 결정한다.
- 오른쪽 마우스 클릭 → Pivot를 선택하여 가로 및 세로정렬이 가능하다.
<PSpice > Create Netlist>
작성된 도면의 Net 연결 정보를 출력
PSpice / Create netlist를 클릭하여, Netlist file이Project Manager의 Output Directory에 저장됨을확인하고, PSpice Netlist Format을 확인한다.
시뮬레이션을 위한 도면에서 사용되는 접지는
Create Netlist
C11
V1
10Vdc
R1
1k
R21k
output_nodeinput_node
10
* source RC_DC
V_V1 INPUT_NODE 0 0Vdc
R_R1 INPUT_NODE OUTPUT_NODE 1k
R_R2 0 OUTPUT_NODE 1k
C_C1 0 OUTPUT_NODE 1n
- Project Manager항상 0임을 확인한다.
도면에 사용된 Net alias를 통하여 노드 네임을
결정할 수 있으며, 이 이름은 여러 목적으로 사용
될 수 있으며 후에 기능 소개에도 계속 사용된다.
0
Part Editor ; Pspice용 소자
R1
1k
R2
R
Analog.olb Discreate.olb
11
R1은 Analog.olb에서 R2는 Discreate.olb의 두개의 저항의 차이점은 시뮬레이션이 가능함과 그렇지 않음을보여 준다. 위의 그림 중 Property Editor에 R1과 R2의 속성에 PSpice Template이 있고 없음을 확인할 수있다. R2에 R1과 같은 PSpice Template을 입력 후 시뮬레이션 가능한 라이브러리로 생성이 가능함.
이 PSpice Template은 Part Editor에서 수정이 가능하며, 다음 페이지에서 설명. (15.7에서는 사용가능)
User Property
- Resistor의 Part Property <사용자가 원하는 Symbol 및 특성으로 편집>
1. Analog 라이브러리의 R을 배치
2. 오른쪽 마우스를 이용 : Part edit 실행
3. Part Editor 윈도우에서의 Option 메뉴를 이용 Part Properties를 클릭
4. 아래 User Properties 대화창이 생성되며, 이것은 저항이라는 부품이
Capture에서 사용되기 위한 그리고, 시뮬레이션을 하기 위한
최소한의 조건들의 설정을 내포하고 있다.
Capture에 포함된 PCB를 위한 라이브러리와 틀린 부품을 확인 가능.
Implementation Type 및 PSpice Template의 항목들이 그러하다.
12
다음에서 각 Properties를 소개한다.
Pin Number Visible 의 Value 값을 True로 변경 시 Resistor
<부품을 처음 배치시 왼쪽 핀이 1번 오른쪽 핀이 2번으로 정의되어 있음을 확인>
Pin Name Visible의 Value 값을 True로 변경시 Resistor
PSpice TemplateR^@REFDES %1 %2 ?TOLERANCE|R^@REFDES| @VALUE ?TOLERANCE|\n.model R^@REFDES RES R=1 DEV=@TOLERANCE%|
User Property
13
- R^@REFDES 는 저항의 Reference syntax
- %1 %2는 저항의 핀 번호 정의
- ? ~ 는 저항의 Device Tolerance를 정의하기 위한 PSpice syntax
* Tolerance를 정의하지 않는다면 간단히 아래와 같이 표현할 수 있다.
R&@refdes %1 %2 @value
Translate : R_R1 0 vcc 5k 의 Netlist로 변환.
여기서, 0 vcc는 %1 %2에 정의된 저항 양단의 노드 표현.
User Properties
Digital simulation model
Digital simulation model
Physical propertiesPhysical properties
Package footprintPackage footprint
Part numberPart number
Part namePart name
Electrical propertiesElectrical properties
Reference designatorReference designator
Analog simulation model
Analog simulation model
SchematicSchematic
14
technologyImplementation technology
AvailabilityAvailabilityVendorVendor
Pin namesPin names
CostCost
Parts per packageParts per package
Pin numbersPin numbers
Like or unlike parts in packageLike or unlike parts in package
SchematicsymbolSchematicsymbol
PSpice Template는 Part netlist entry를 위한 PSpice syntax로 정의한다. 즉, PSpice A/D에서는 Capture에서 배치된 각 부품의 연결정보를 읽기 위해 각 부품들의 임의의 정의들이필요하게 되는데, 이를 PSpice Template이 역할을 담당하고 있다.
각 부품들의 Template 문법(R^refdes %1 %2 @value) 회로 정보(netlist의 포멧) Output의 Netlist file로저장(R_R23 in out 1k) PSpice에 Translate되며, 시뮬레이션 진행.1. PSpice Template의 Pin name과 Part의 Pin name은 항시 일치해야 한다2. PSpice Template의 속성에 있는 Pin name과 Order는 시뮬레이션을 위한 라이브러리 .model과 .subcircuit의
핀 이름과 순서가 일치해야 한다. 3. Device의 implementation name의 첫 문자는 PSpice A/D에서 지정하는 문자로 해야 한다. (Bipolar
transistor Q)
PSpice Template
15
Simple resistor (R) example <Spice parameter를 필요로 하지 않고, 단지 Device 정의에 의한 값으로 표현>저항 R심벌은 1번 핀과 2번 핀 두개로 구성되어 있다. 저항이 Orcad Capture에서 하나의 부품으로서 사용되기 위해 REFDES와 VALUE가 요구되어 진다.예로서 저항의 REFDES와 VALUE의 속성의 의미를 살펴보기로 하자.
Template 표현R^REFDES %1 %2 @VALUETranslationR_R23 abc def 1k여기서, REFDES는 REFERENCE NAME, VALUE는 1K, %1 %2는 핀의 NAME 으로서 저항의 양단의 노드와연결됨을 의미 한다.
Model property example
Template
X^@refdes %1 %2 @model
Translation
X_U1 0 vcc 7411
여기서, MODEL은 7411. 만약 Model property가 정의되 있지 않은 경우 X_U1 0 vcc와 같이 표현
?<id>s&ldots;s example <Property 정보 추가 시 >
Replace by text between s..s if <id> defined <id>
Template
PSpice Template
16
R^@refdes %1 %2 ?tolerance|R^@refdes| @value ?tolerance|\n.model R^@refdes R=1 Dev=@tolerance|
여기서, Tolerance특성이 없다면 간단히 R&@refdes %1 %2 @value -or- R_R1 0 vcc 5k으로 표현 하면 되지만, Tolerance의 성분을 입력하도록 저항의 Template을 표현하면 위와 같고 Translation의 내용으로 Netlist파일로생성된다.
Translation
R^@refdes %1 %2 R^@refdes @value .model R^@refdes R=1 Dev=@tolerance
Or
R_R1 0 vcc R_R1 5k .model R_R1 R=1 Dev=5
PSpice Template <example>
M1
MbreakN
M2
MbreakN
두 Symbol에 대한 동작 특성 및 Spice Parameter는 같으며, 단지 핀 정보를 PSpice Template에서 제공한다.
M1의 PSpice Template
M^@REFDES %d %g %s %s @MODEL ?L/ \n+ L=@L/ ?W/ \n+ W=@W/ ?AD/ \n+ AD=@AD/ ?AS/ \n+ AS=@AS/ ?PD/ \n+ PD=@PD/ ?PS/ \n+ PS=@PS/ ?NRD/ \n+ NRD=@NRD/ ?NRS/ \n+
두 Symbol은 같은 모델의 N-channel MOSFET이다.
M1은 Bulk 의 Bias가 0인 경우, M2는 Bulk에 임의의 Bias를인가하기 위한 Symbol이다.
17
AS=@AS/ ?PD/ \n+ PD=@PD/ ?PS/ \n+ PS=@PS/ ?NRD/ \n+ NRD=@NRD/ ?NRS/ \n+ NRS=@NRS/ ?NRG/ \n+ NRG=@NRG/ ?NRB/ \n+ NRB=@NRB/ ?M/ \n+ M=@M/
M2의 PSpice Template
M^@REFDES %d %g %s %b @MODEL ?L/ \n+ L=@L/ ?W/ \n+ W=@W/ ?AD/ \n+ AD=@AD/ ?AS/ \n+ AS=@AS/ ?PD/ \n+ PD=@PD/ ?PS/ \n+ PS=@PS/ ?NRD/ \n+ NRD=@NRD/ ?NRS/ \n+ NRS=@NRS/ ?NRG/ \n+ NRG=@NRG/ ?NRB/ \n+ NRB=@NRB/ ?M/ \n+ M=@M/
위에서 볼수 있듯이 적색의 Syntax만 차이가 있을 뿐이다. 이와 같이 두 가지의 차이는 Bulk 핀의 Template syntax정의에 의한 차이이며, 후 에 Model Editor에서 제작 되는 Mos의 Type의 Capture Part를 제작 시 3핀(S, G, D)의 Mosfet만 Default하게 생성 되며, 4핀(S, G, D, B)의 Mosfet를 사용할 경우, 위의 PSpice Template의 핀정보를 수정 하고, Part Editor를 이용하여 Bulk 핀을 생성 후 사용하게 된다.
ERROR [NET0075] Unconnected pin, no FLOAT property or FLOAT = e R3 pin '1'
ERROR [NET0011] Netlist failed or may be unusable
ERROR -- Node N00255 is floating
ERROR -- Node N00317 is floating
Floating Error – Ground 설정을 잘못한 경우 발생
이와 같이 Symbol용 접지를 사용한 경우 Float라는 Error가 발생 되며, 이것은
Place > Ground 0 / Source로 Replace한다.
Error가 발생된 이유는 Spice Netlist로 읽혀져야 할 접지의 Node name이
Simulation Error
18
1. WARNING [NET0093] No PSpiceTemplate for Q1, ignoring
ERROR [NET0011] Netlist failed or may be unusable.
2. Warning : Part Part_name has no simulation model.
Capture용 라이브러리를 사용하였을 경우나 Simulation라이브러리를 사용하지 않았을 경우 발생되는 Error
Error가 발생된 이유는 Spice Netlist로 읽혀져야 할 접지의 Node name이
Zero가 아닌 GND 및 Field Signal로 인식되어 시뮬레이션을 해야 할 loop를
형성하지 못하기 때문.
하지만, 그림과 같은 Symbol을 사용하면서 Netlist생성시 0 의 노드를 생성시키기
위해 GND의 Name을 0로 바꾸면 사용이 가능하다.
ERROR -- Node N00683 is floating
ERROR -- Node N00723 is floating
이는 DC해석 시 Capacitor를 Open 해석함으로 error의 전압을 정의하지 못하고 floating상태이기 때문에
시뮬레이션에 계산상 전혀 영향을 주지 않는 저항을 아래와 같이 연결하여 해결한다.
V110V
R1
1kR21k
C1
1nC21n
C3
1n
L1
10uH1 2
00 0
error
Simulation Error
19
V110V
R1
1kR21k
C1
1nC21n
C3
1n
L1
10uH1 2
00 0
error
R3
1G
전압원-인덕터, 전류원-커패시터만 연결한 경우, 또는 인덕터 직렬 배치한 경우도 같은 Error 발생
PSpice에서의 회로내의 Open은 1G옴으로 대치되며, Short는 0.01옴으로 대치시켜 계산에 적용 가능하다.
ERROR -- Voltage source and/or inductor loop involving V_V2
You may break the loop by adding a series resistance
Simulation Error
V1
0Vdc
V2
0Vdc
L1 10uH1 2
L2 10uH1 2
R1 0.01
20
I10Adc
I20Adc
C1 1n
C2 1n
R2 1G0 0
0 0
시뮬레이션의 원활한 수행을 위해서는 이에 대한 기본적인 지식을 필요로 하기 때문에 시뮬레이션 설정에대한 내용을 다루기로 한다.
회로 Setting이 끝난 후New Simulation Profile생성이름 부여 후 Ok
General Tab클릭 후 정보 확인
• General Tab
Simulation Option
21
Input : 입력파일 관련 사항을 표시함
Output : PSpice 출력파일 관련사항을표시함
Output : PSpice output 파일명을 표시하고, 수정이 가능한 text file(*.out)s
Waveform data filename : 파형분석을위한 데이터 파일명을 표시함. *.dat형식이고 Binary 형식으로서 PSpiceA/D를 통해서만 결과 확인
Analysis Tab
Analysis Tab에는 시뮬레이션 설정에 대한 대부분의 내용이 들어 있다. Analysis type에는 과도 분석, AC 분석, DC분석, Bias Point 의 내용이 들어 있고 해당 항목을 선택할 경우Option과 각각의 내용이 그 기능에 맞게 바뀌도록 되어 있다. 시뮬레이션 관련된 내용이 모두 이 환경 창에서 이루어 진다. 이 창에서 지정한 환경은 Project name.SIM파일로 저장되며, 하나의 프로젝트에 다수 저장이 가능하다.
Simulation Option ; Analysis Tab
22
시간을 증가시켜 가면서 회로의 전압, 전류, 디지털 회로의 논리상태 등의 과도상태를 계산한다.
General Setting : Transient분석에 대한 기본적인 해석을 실행한다. Monte Carlo / Worst Case : 어떤 영역 안에서 소자의 값을 불규칙하게
변화시키면서 그 변화에 따른 회로의 응답을 분석하는 옵션.
Parametric Sweep : 어떤 영역 안에서 소자의 값을 정해진 조건에 따라변화시키면서 회로의 응답을 분석하는 옵션.
Temperature (Sweep) : General Setting을 기본으로 하여 조건으로 주어진온도설정에 따라 변화시키면서 해석을 반복한다.
Simulation Option ; Transient(time domain)
23
Save Bias Point : 현재의 Bias Point에 대한 데이터를 파일로 저장한다.
Load Bias Point : 이전에 데이터 파일을 Load한다. Run to time : 시뮬레이션 종료 시간
Start saving data after : 시뮬레이션 시작 후
데이터를 저장하는 시간을 입력
Maximum Step : 과도상태 해석의 수치계산을
위한 최대 Step size를 입력한다.
Skip the initial transient… : 선택할 경우
인덕터, 커패시터 등의 초기치를
무시하고 계산한다.
Simulation Option ; Transient(time domain)-Output File Options
24
Output File Options
Print values in the.. : 출력 파일에 저장할
데이터의 시간간격
Perform Fourier Analysis : Fourier 해석
Include detailed bias… : 반도체, 비선형 전원의
바이어스 포인트 데이터의 저장 유무 선택
Simulation Option ; DC Sweep
Name : Sweep Variable의 Reference
name을 입력
Model Type : Sweep할 모델 Type을 선택
(예, Tr인 경우 – NPN,PNP Type을 선택)
Model : 도면에 사용된 모델의 Part
(Implementation) Name을 입력
Parameter : Model인 경우 Spice parameter
Global parameter인 경우 인위적으로
25
Sweep variable : 변화시킬 변수명을 입력한다. (회로상에 있는 DC전원, 전류 , 소자 , 모델 등의
Reference name을 입력한다.)
Sweep type : 변화시킬 변수에 대한 Value를 조건과 같이 입력한다.변화 증가분에는 Linear와 Logarithmic
이 있고 Logarithmic에는 Decade당 point를 입력한다.
Value list : 선택할 경우에는 특정 값을 입력한다. (예. 1k 2k 5k)
설정한 parameter를 입력
Simulation Option ; AC Sweep
바이어스 포인트 주위에서 회로를 선형화 한 다음 소신호 해석을 수행한다. 주파수를 증가시켜가면서
회로의 전압, 전류의 크기와 위상을 분석(Frequency Response,Noise) 해석.
26
AC Sweep Type : 입력교류신호의 주파수 sweep을 선형 및 지수 형태로 할 것인가를 선택
Start Frequency : 계산할 주파수 대역의 초기값
End : End Frequency를 입력
Point / Decade : Decade당 계산할 Point수를 입력
Noise Analysis
Output Voltage : Noise 출력 전압 노드를 입력.
I/V Source : Noise원의 Reference name.
Interval : Hz단위로 입력.
Simulation Option ; Monte Carlo/Worst Case (option)
Monte Carlo 혹은 Worst-case/Sensitivity
해석의 사용여부를 선택한다.
Output Variable : 해석할 출력 변수를
입력한다.
Monte Carlo 해석에서는 실제 물리적인 부품들이 가지고 있는 허용오차로서 가상적으로 시뮬레이션을 실행
하여 허용 오차로 하여금 출력에 대한 통계적인 데이터를 구할 수 있고, 실제 현장에서 사용될 때 어떤 특성
변화를 가지고 있을 것인가를 예측하는 분석이다.
27
Number of : 반복 수행 횟수를 입력한다. (Sample : 100, Report Data : 10000)
Use : 사용할 통계 분포의 종류를 선택한다. (Guassian, Uniform Distribution)
Random Number : Random Number를 입력한다. (Seed Number)
Save data from : 다수실행 해석의 결과의 저장 방법 결정
Simulation Option ; Monte Carlo/Worst Case (option)
Vary devices ~ : Tolerances의
종류를 선택한다.
Limit devices to : limit 값을 입력한다.
Save data from ~ : 다수 실행 해석에서
각 실행 마다 데이터를
저장할 것인지 여부
28
The following limits apply to PSpice and Probe:
Analog display in Probe 400 traces, or 2 times the number of sections, whichever is greater
Digital display in Probe 400 traces, or 2 times the number of sections, whichever is greater
Size of a .DAT file 2GB
Number of analog nodes that can be stored in a .DAT file 2**31 (~2,147K)
Number of digital nodes that can be stored in a .DAT file 2**15 (~32K)
Monte Carlo analysis 10,000 runs
Simulation Option ; Parametric Sweep (option)
Parametric sweep의 Sweep할 변수로는 전압원,
전류원,Global Parameter,모델 파라미터, 온도 등이
있다.
Sweep type에는 DC sweep에서 변화하는 변수의
수치와 같이 입력하면 된다
Sweep 데이터 중 개개별로 보기를 원한다면Parametric Sweep를 수행하여야 한다
29
Parametric Sweep를 수행하여야 한다.
예) V(out)@5 : 다섯번째 Sweep 신호
모델 파라미터의 경우
Model type : NPN, PNP, D(Diode), CAP등의 type정의
Model : Model의 이름을 입력(예 : D1N4148)
Parameter : Is, Rs Bv 등의 이름을 입력(다이오드)
Run the simulation at temperature : 해석 시의 온도를 설정
Repeat the simulation for each of the temperature :
해석할 온도의 list를 입력
Simulation Option ; Configuration Files Tab(Stimulus)
시뮬레이션 수행 시 사용할 Stimulus
파일을 지정하여 시뮬레이션에 입력
원으로 포함한다.
이것은 뒤에 다루게 될 Stimulus
Editor 에서 입력 파형을 회로에 맞게
편집하여 파일로 저장한다.
이렇게 저장된 파일들은 STL 확장자를
가지며 다른 프로젝트에서도 이용 될
30
가지며 다른 프로젝트에서도 이용 될
수 있는데, 시뮬레이션 설정/Stimulus
Tab에서 지정을 하게 된다.
Note
Include tab, Library tab, stimulus tab에는 내장 되 있는 Source 및 library를 사용할 때 또는, 내장돼 있는
라이브러리 및 Source를 편집할 경우에는 자동적으로 편집된 내용이 파일로 저장되게 되어 있다. 그래서
따로 지정할 필요가 없지만, 새롭게 사용하여야 할 라이브러리 및 다른 프로젝트에 Save As된 Source
를 이용하여야 할 경우 위의 환경 창에 새로운(편집 된) 파일을 링크 하여야만 사용할 수 있다.
Simulation Option ; Configuration Files Tab(Library)
Brower : 등록할 새로운 라이브러리
검색
Add as Global : 라이브러리 등록
다른 프로젝트에서 사용될
수 있도록 등록
Add to Design : 라이브러리 등록
현재의 프로젝트에서만
등록된 라이브러리 사용
Edit : 선택된 라이브러리 편집
31
라이브러리 탭에서는 시뮬레이션에 추가 할 라이브러리를 지정한다. Browse로 새로운 라이브러리의
디렉토리를 선택한 다음 Add as Global를 클릭하여 추가한다. 새로운 모델을 만들고 시뮬레이션 시
라이브러리 탭에 모델이 들어 있는 라이브러리를 추가하지 않을 경우 다음과 같은 에러가 발생한다.
“ ERROR -- Subcircuit kkk used by X_halfadd_A_U4 is undefined “
Edit : 선택된 라이브러리 편집
Change : 선택된 라이브러리 변경
Simulation Option ; Configuration Files Tab(Analog Simulation)
RETOL : 전압과 전류의 상대적
accuracy
VNTOL : 최소전압 제한치
ABSTOL : 최소전류 제한치
CHGTOL : 최소전하 계산치
GAIN : 최소 컨덕턴스
ITL1 : DC and bias point blind
iteration limit
ITL2 : DC and bias point educated
guess iteration limit
32
guess iteration limit
ITL4 : 과도해석시의 반복 제한치
TNOM : 기준온도
Pspice의 결과에 대한 정확도는 값을 입력하는 Options 중에서 RETOL, VNTOL, ABSTOL, CHGTOL의 설정에의해 좌우된다. 그 중에서도 계산되는 모든 전압, 전류에 대한 상대적인 정확도를 결정하는 RETOL이 가장중요한 변수인데 0.001(0.1%)가 default 값이다.
Voltage Accuracy = MAX(RELTOL * Voltage, VNTOL)
Current Accuracy = MAX(RELTOL * Current, ABSTOL)
Charge Accuracy = MAX(RELTOL * Charge, CHGTOL)
Flux Accuracy = MAX(RELTOL * Flux, Weber/m2)회로가 복잡해지거나 반도체 소자를 시뮬레이션에 사용하게 되면 해석에러(Converge Error)가 발생하거나 해석시간이 상당히 오래
걸리는 경우, 수치를 입력하는 Options 값을 변경하여 이를 피할 수 있다.
Simulation Option ; Configuration Files Tab (Output File)-continues
Default 값의 계산
(Voltage accuracy default) = MAX(0.1% of voltage, 1uV)
(Current accuracy default) = MAX(0.1% of current, 1pA)
(Charge accuracy default) = MAX(0.1% of charge, 0.01pC)
(Flux accuracy default) = MAX(0.1% of flux, 0.01Weber/m2)
PSpice에서는 전압이나 전류가 부호를 바꾸는 영(zero)부분의 계산에서 전체 시간의 대부분을
차지하며, convergence error가 가장 많이 발생
33
g
일반적으로 PSpice에서는 12차의 크기를 사용하는데, 만일 kA 단위의 전류를 시뮬레이션 할 때
RETOL=0.01%, ABSTOL=1pA 일 경우
1pA의 12차 이상이 됨으로 convergence error가 발생할 소지가 있다.
☞ 전류나 전압의 order에 따라 ABSTOL과 VNTOL을 조절할 필요가 있다.
예) ABSTOL = 1uA ; kilo-ampere range
ABSTOL = 1mA ; mega-ampere range
VNTOL = 1uV ; kilo-volt range
Simulation Option ; Configuration Files Tab(Analog Simulation)-continues
MOSFET Options : Analog Simulation Option 중 MOSFET의 파라미터 설정에 관한 Options
DEFAD : MOSFET default drain area (AD)
DEFAS : MOSFET default source area (AS)
DEFL : MOSFET default length (L)
DEFW : MOSFET default width (W)
Advanced Options : 수치계산 및 Matrix 연산을 위한 Options
34
Advanced Options : 수치계산 및 Matrix 연산을 위한 Options
ITL5 : Total iteration limit(0=무한대)
PIVREL : matrix solution을 pivot하기 위한 상대적 크기
PIVTOL : matrix solution을 pivot하기 위한 절대적 크기
Simulation Option ; Configuration Files Tab (Gate-level Simulation)
35
Timing Mode : Simulation 시 Gate의 delay Minimum, Typical, Maximum, Worst-case(min/max)
4단계의 delay 정도 중 하나를 설정
Initialize all flip-flops : 모든 플립플롭의 초기치를 0, 1, X(don’t care) 중에서 설정
Default I/O level for A/D interface : I/O level을 1, 2, 3, 4 단계에서 하나를 설정
Simulation Option ; Configuration Files Tab (Gate-level Simulation)-continues
Advanced Options : 수치계산 및 Matrix 연산을 위한 Options
DIGDRVF : 최소 드라이브 저항(디지털)
DIGDRVZ : 최대 드라이브 저항(디지털)
DOGOVRDRV : 드라이브 저항의 비
36
DIGMNTYSCALE : typical delay로부터 minimum delay를 유도하는데 사용하는 scale factor
DIGTYMXSCALE : typical delay로부터 maximum delay를 유도하는데 사용하는 scale factor
DIGERRDEFAULT : 디지털 constraint 소자에 대한 에러 제한치
DIGERRLIMIT : 최대 디지털 에러 메시지 제한치
Simulation Option ; Configuration Files Tab (Output File)
37
OUTPUT FILE Options의 의미
ACCT : 모든 해석 후에 해석에 대한 정보의 summary 및 accounting information을
output 파일에 저장
EXPAND : subcircuit 확장에 의해 생성된 소자를 나열
Simulation Option ; Configuration Files Tab (Output File)-continues
LIBRARY : library 파일을 사용한 라인을 나열
LIST : 사용소자를 나열
NOBIAS : 바이어스포인트 계산결과를 표시하지 않는다.
NODE : 노드 연결상태 정보를 표시
NOEHCO : 입력파일을 표시하지 않는다.
NOMOD : 모델 파라미터 및 온도를 표시하지 않는다.
NOOUTMSG : 시뮬레이션 조건을 표시하지 않는다.
38
NOPAGE : output 파일의 주요부분에 banner를 표시하지 않는다.
NOPRBMSG : Probe data 파일에 시뮬레이션 조건을 기입하지 않는다.
NOREUSE : Parametric 해석과 같이 여러 번 시뮬레이션을 수행할 경우
automatic saving이나 바이어스 포인트의 restoring을 억제
NOPTS : 모든 options 값을 표시
Simulation Option ; DATA Collection
시뮬레이션 수행 시 저장할 데이터를 지정하는 것으로 회로상의 전압(Voltage), 전류(Current),
전력(Power), 디지털 논리(Digital), 노이즈(Noise) 항목에 각각 지정이 가능
39
Simulation Option ; Probe Window
Display Probe window when profile is opened : profile을open 할 때 Probe window를표시
Display Probe window
- during simulation : 시뮬레이션이 진행되는동안 probe window를표시
40
Show
- All Markers on open schematics : schematics 화면상에 표시한 모든 maker의 전압,
전류를 자동적으로 Probe 화면에 표시
- Last Plot : 자동적으로 가장 최근의 probe session을 재실행
- Nothing : 어떤 파형도 probe화면에 표시하지 않는다.
- after simulation hascompleted : 시뮬레이션이 끝난 후에probe window 표시
Menu > PSpice > New Simulation Profile
시뮬레이션 설정에 들어가기 전에 새로운 시뮬레이션
프로파일을 생성. 아래의 툴 메뉴를 선택하거나
단축아이콘을 클릭하면 다음과 같은 대화창이
Bias Point ;
C11
V1
10Vdc
R1
1k
R21k
output_nodeinput_node
41
Analysis Tab
단축아이콘을 클릭하면 다음과 같은 대화창이
생성된다. Simulation Flow의 기본적인 계산 과정의
하나로 노드와 디바이스의 초기조건과 소스에서
제공되는 회로의 DC bias를 계산한다.
New Simulation Profile을 생성 후 나타난 Analysis
Tab의 분석 Type을 Bias point를 클릭하면, 왼쪽의
그림과 같이 Output File Option이 나타나며, 각
분석할 내용을 설정한다.
시뮬레이션 설정 저장 후 PSpice / Run을 실행
결과 보기 : PSpice Probe창에 View Output을 클릭하여 계산된 결과를 확인한다.
0
- Include Detailed (.OP) …. 반도체 및 비선형 전원으로 제어되는 회로의 Bias를 상세하게 출력
- Sensitivity analysis (.SENS) …. 입력 전원의 변화에 대한 R2양단의 민감도를 해석.
DC SENSITIVITIES OF OUTPUT V(R_R2)
ELEMENT ELEMENT ELEMENT NORMALIZED
NAME VALUE SENSITIVITY SENSITIVITY
(VOLTS/UNIT) (VOLTS/PERCENT)
PSpice Probe Window > View > Output
Bias Point ; Output File Option
42
R_R1 1.000E+03 -1.250E-03 -1.250E-02
R_R2 1.000E+03 1.250E-03 1.250E-02
V_V1 5.000E+00 5.000E-01 2.500E-02(백분율 표현)
V_V1이 1V 변화에 대해서 R2의 전압은 0.5V식 변화함을 나타낸다.
V(R2) = R2/(R1+R2)* V1 R2에 대한 전압 관계식
R2에 대한 V(R2)의 민감도 0.00125
- Small-signal DC Gain (.TF) …. 입출력에 대한 DC Gain을 출력 각 노드에서의 임피던스 해석.
- Small-signal DC Gain (.TF) …. 입출력에 대한 DC Gain을 출력 각 노드에서의 임피던스 해석.
Bias Point ; Output File Option
U2uA741
+3
-2
V+7
V-4
OUT6
OS1 1
OS2 5
VCC
V2+15
V3-15V
VCC VEE
R2 10K
R1
1kV11Vdc
V
V
R3
43
SMALL-SIGNAL CHARACTERISTICS
V(R_R3)/V_V1 = -1.000E+01
INPUT RESISTANCE AT V_V1 = 9.999E+02
OUTPUT RESISTANCE AT V(R_R3) = -8.392E-03
전달함수를 계산하기 위해Bias point의 Small-signal DC Gain을선택 후 시뮬레이션을 실행하면다음과 같은 계산 결과가 출력된다. Output 파일에 나타난V(R_R3)/V_V1은 입력 대 출력의DC Gain을 의미하며 입력 1V에 대하여출력 전압 -10V를 의미한다.입력 임피던스 0.9999K, R3에서 본 임피던스 –8.392K임을 의미.
PSpice Probe Window > View > Output
VEE 0R41k
0
0V
1k
0
비선형 소자들도 특정 구간에서는 선형적으로 동작할 때가 있는데, 이 부분만 이용한 설계를 Linear 혹은 Small signal (소신호)설계라고 하며, 포화영역이나 과도영역의 비선형 지역까지 고려하여 설계하는 것을 Nonlinear 혹은 Large signal (대신호)설계라고 불리운다
DC 해석은 모든 전원을 DC로 간주하며, 이전에 다루었던 Bias point계산 및 회로내의 Capacitor는 Open,
Inductor는 단락으로 계산한다.
먼저 이전에 사용됐던 분압회로를 예제로 사용하며, 아래와 같이 시뮬레이션 설정으로 진행한다.
회로의 입력원으로 사용 목적에 따라 정확히 설정하여야 하며, 각 분석 Type별 Source를 선정하여야 한다.
New Simulation Profile / Analysis Tab(DC Sweep)선택 후 Sweep Variable과 Sweep Type을 설정.
Sweep Variable : DC 분석 중 Sweep 할 변수를 설정 Voltage Source Sweep : Source의 Reference Name.
DC Analysis ; DC Sweep setting & Source Attribute
DC Sweep : Source사용 시 DC Column의 값을 가지고 있어야 PSpice는 인식한다.
Tran : 과도분석에 해당하는 Source를 사용하며 구성해야 Attribute를 반드시 입력.
AC : AC Column의 값을 1V로 입력.
44
Sweep type : Sweep Variable의 적용 방법 및 범위 설정.
V15Vdc
R1
1k
R21k
C11n
0
V V-V+
W
I
output
V10Vdc
R1
1k
R21k
C11n
outin
V-V+
W
I
V
시뮬레이션 설정 후 시뮬레이션을 실행하기 전
오른쪽 그림과 같이 마커(Probe)를 배치한다.
단축 아이콘 및 PSpice Marker를 클릭하면,
전압, 전류, 전력, 양단간의 전압차를 측정할
수 있는 Marker의 종류가 있으며, 원하는
노드에 배치 가능하다.
Marker & Simulation Run
45
0
배치 방법
전압 Marker : Node
전류 Marker : Device Pin (소자의 핀 끝)
전력 Marker : Device (소자 중앙에 배치)
양단간의 전압 Marker : Node to Node
시뮬레이션 요약
V1을 0V에서 10V까지 0.2V씩 증가 시키면서 회로상에 배치한 각 Marker의 Type에 적용되는
크기(DC응답) 확인한다.
시뮬레이션 실행(PSpice > Run)
좌측에 나타난 창은 PSpice Probe Window이며, 좌표를 표시하는 2차원 면을PSpice 에서는 Plot이라 하며 파형을 Trace라한다.
때문에 여러 파형을 하나의 Plot에 또는
새로운 Plot을 추가하여 별개의 파형만
독립적으로 Display할 경우 유동적으로
각 기능들을 이용 가능하다.
<Plot 추가하기>
왼쪽의 Probe에 계산된 Wave는 각 측정
Probe ; Data Display, Add Plot
Plot
Trace
46
결과치의 크기 단위가 틀리기 때문에
하나의 Plot창에 같이 디스플레이 하기가
곤란하다.
이와 같은 경우 Plot을 추가하거나 Plot의 Y축을 크기 단위가 틀린 것으로 하나 더 추가 기능을 가지고 있다.
<Plot 추가>
Plot > Add plot to windows로 Plot를 추가하고 Trace name을 선택(적색변환) 후
Window기능인 Ctrl +C(Copy), X(Cut) 실행, 새로 생성시킨 Plot선택(Sel>> 이동) 이후 Ctrl + V(Paste)
<Y축 생성>
Plot > Add Y axis로 Y축 생성 후 Trace name선택(적색변환)
Window기능인 Ctrl + C(Copy), X(Cut) 실행, 새로 생성시킨 Y 축 클릭(Sel>> 이동) 이후 Ctrl + V(Paste)
V(INPUT) -I(R2) V(INPUT,OUTPUT)
Probe ; Data Copy, Axis Setting
<Axis Setting>
Probe Window의 Axis설정을 변경할 경우
필요한 축에서 마우스 더블클릭을 하면,
Axis Setting의 편집 창이 Open 된다.
- Axis Tab : X , Y Axis
Data Range, Scale, Fourier,
Performance 수행
G id b G id
47
<Data Copy>
위의 그림에서 Trace Name을 선택하게 되면 적색으로 변경된다.
변경된 상태에서 Ctrl + C를 클릭하게 되면 X , Y 좌표에 대한 Data Point들을 Copy하게 되며, 이 Point를
결정하는 것은 시뮬레이션 Setting에서 결정한 Sweep type의 Sweep 범위의 Incremental 및 Value list의 수
만큼 Point를 Copy하게 되며, 이 Data들은 일반 Window상에서 사용되는 Word 편집기로 바로 Copy할 수
있다. Graphic을 Copy하는 기능은 Probe Window의 Menu에서 Window > Copy to Clipboard를 클릭하고
Background색 설정하는 부분을 선택 후 Graphic 지원 프로그램에 붙여넣기로 이용 가능하다.
- Grid Tab : X, Y Grid
Spacing, Grid 설정V(INPUT) V(INPUT,OUTPUT) -I(R2) W(R2)1 2
Probe ; Add Trace, Trace Expression
Trace > Add Trace
출
48
회로내의 모든 출력 데이터는시뮬레이션이 실행되면 모두저장된다.
또, 회로 내의 각 노드의 계산치및 각종 수학적인 Function을이용하여 사용 가능하다.
Trace Expression에는 목적하는 출력의 예상치를 미리 확인하는 목적으로 사용되며 복잡한 함수식으로표현도 또한 가능하다.
예로서 R1에서 소비되는 전력을 계산하기 위해 I(R1)*(V(Input)-V(Output))으로 표현할 수 있으며,
Expression을 I(R1)*(V(Input)-V(Output));Power_R1이라고 표현하면 Probe Window에는 Power_R1만표현되고 앞의 수식은 보이지 않는다.
또는 10*log10(v(inoise)*v(inoise)/8.28e-19);Noise_Figure등과 같은 복잡한 수식으로 파형의 Display가가능하다.
Probe ; zoom, label, Cursor
View > Zoom
Fit : 시뮬레이션 범위의 Auto Range
In : 확대
Out : 축소
Area : 범위 지정 확대
Pan – New Center : 마우스 중심 확대
Plot > Label
Plot에 주석 달기 및 파형에 대한
49
설명으로 출력용 편집 기능.
Trace > Cursor
Display : 출력된 파형을 따라 이동 하며, 이동되는 좌표들을아래 Probe Cursor에 Display시킨다.
A1은 왼쪽 마우스 Cursor A2는 오른 쪽 마우스 Cursor
Dif는 A1 – A2로 나타낸다.
Peak 및 Mix , Max를 이용 가능하다.
Search Command
X축: search forward x value (100)
Y축: search forward level (-3)
DC Analysis
Simulation Flow (DC Sweep)1. 부품 배치 (Part P, GND G)
R – analog.olb, VDC – Source.olb
Q2SC1815 – Jbipolar.olb ( J는 일본, E는 유럽)
GND – source.olb
2. 배선 (Wire W)
3. 시뮬레이션 설정
(Pspice > New Simulation Profile)
4 Analysis Tab의 DC Sweep선택V1
0Vd
V20VdcR1
1k
R2
10k
Q1
Q2SC1815I
50
PSpice Model Name : Bipolar Tr인 경우 “Q~”로 Transistor Type결정
4. Analysis Tab의 DC Sweep선택
Primary Sweep V1 linear 0V 3V 0.01V
Secondary Sweep V2 linear 0V 12V 1V
5. Marker(전류 Probe - IC(Q1)) 배치 후 Run
0Vdc
0 0 0
4V
8V
12V1
0.4mA
0.8mA
1.2mA2V Curve I Curve
DC Analysis ; output result
V10Vdc
V212Vdc
R1
1k
R2
10k
Q1
Q2SC1815
V
I
51
0V 0.5V 1.0V 1.5V 2.0V1 V(Q1:c) 2 IC(Q1)
0V 0A>>
시뮬레이션 결과를 확인 시 위의 Plot을 두 개의 Y축을 생성 후 같은 X축 변화량(base voltage)에 대한
Q1(2sc1815)의 Correct단의 전압 및 전류의 동작 특성을 확인한다.
Y축 생성 : Probe 윈도우에서 Plot > Add Y axis를 클릭
여기서 Trace Name에 표현된 는 Y축의 1번과 2번으로 구분되며 >> 표시는 현재 선택된 Y축을나타낸다.
1
0 0 0
Frequency Analysis(Ac Sweep) ; Source, AC Sweep Setting, dB Marker
V11Vac
0Vdc VAC
R1
1k
C11n
C2
1nR21k
0
AC Sweep analysis, PSpice 소스의 주파수 변화에 회로의
small-signal반응을 계산한다.
이 정보를 사용하여 voltage의 크기와 위상을 포함한 Bode
Plot를 출력하여 확인한다.
AC Sweep는 아주 작은 signal analysis하는 법이다.
100이득에 입력 1V는 100V를 얻는다. 클리핑 같은 nonlinear
effects는 simulation을 할 수 없다.
또한 과도해석 후 퓨리에 해석이 실시간으로 이루어지며 위상,
직류분 등을 결과 파일로 출력 이에 대한 평균치 기본파
52
00
직류분 등을 결과 파일로 출력, 이에 대한 평균치, 기본파
실효치, 역률, THD등을 계산할 수 있는 장점이 있다.
<실행 순서>
1. 회로 구성
- R,C 배치 및 입력원 VAC 배치 Source.olb : AC Source는 항상 1V로 입력한다.
2. Simulation Setting
- AC Sweep / Noise Start Freq 에는 0Hz를 입력할 수 없다.
1 Hz ~ 100Meg Point / Dec 100
3. Marker 배치 Menu에서 PSpice > Marker > advance > DB, Phase Marker 배치
AC Sweep에서만 DB, Phase 관련 Marker가 활성화된다.
Frequency Analysis(Ac Sweep) ; Simulation Result
수동 Lowpass Filter ( 3dB 이하의 Cutoff Frequency )
n 1 10 9−⋅:= k 1 103⋅:=
C 1n:= R 1k:=
Fc1
2π R⋅ C⋅:=
F 1 592 105
53
Fc 1.592 105×=
Freq decibel
158763.257072753 -2.99961187749831
158854.674859646 -3.00210652016296
시뮬레이션 결과를 Cursor로 –3dB Cutoff Freq를 확인하고 그 Data를 확인하는 방법으로 Text
Output으로 출력 부분이 확인 가능하다. (File > Export > Text)
Frequency Analysis(Ac Sweep) ; Noise Analysis
Noise Analysis Setting : AC Sweep / Noise의 분석에서 Noise Analysis Enable한다.
Output Voltage : 출력 노드 설정V11Vac
R1
1k
C2
1nR21k
0
54
Output Voltage : 출력 노드 설정
I/V Source : 회로 내의 노이즈 발생원 설정
Interval : Hz단위로 입력
시뮬레이션 이후 Trace Add시 계산된 Noise량 측정
0Vdc VACC11n
00
Trace Add에 표현된 NTOT는 저항에서의 Total Noise를 Probe에 DisplayR (Resistor) NTOT (total noise)입력 실효치 V(INOISE)출력 실효치 V(ONOISE)TOTAL 실효치 SQRT(S(V(ONOISE)*V(ONOISE)))
회로 내에서 사용하는 저항과 반도체 소자는 주로 주파수에 영향을 받는 노이즈를 발생한다. 이러한 발생노이즈에 대해 해석하려면 교류 해석과 병행해야 한다. 즉 교류해석의 각 주파수에 대하여 회로내의 각소자에서 발생하는 노이즈량을 계산하고 출력 노드에 미치는 영향을 분석하고 입력전원과 출력전압 사이의이득을 계산한다. 이러한 계산을 토대로 하여 특정 전원에서의 등가 입력 노이즈량을 계산한다.
Frequency Analysis(Ac Sweep) ; Noise Analysis
V(ONOISE)
2.5nV
5.0nV
1.0u
2.0u
T
O
T
A
L
Output Voltage는 노이즈 해석을하고자 하는 노드의 전압을 입력하고I/V Source에는 등가노이즈원으로동작하는 전원명을 입력한다.
주의할 점은 V1은 노이즈 발생원이아니고
단지 로 환산한 등가노이즈원이라는 사실이다.
즉 등가노이즈원을 이용하여노이즈를 입력하여 출력되는노이즈량을 해석한다.
/V Hz
55
Frequency
1.0Hz 100Hz 10KHz 1.0MHz
0V
SQRT(S(V(ONOISE)*V(ONOISE)))
SQRT(S(V(ONOISE)*V(ONOISE)))V(ONOISE)
TOTAL 실효치를 오른쪽과 같이 계산식으로 표현할 수 있고, 이것을 그대로 Trace Add의대화창의 Expression에 표현한다.
Integral = S( )
Root = SQRT( )
Multi = * 으로 표현 할 수 있다.
Noise Variables = PSpice Help menu > Noise Analysis 참조.
UNIT
Scale Symbol Name10+12 T, t Tera-10+9 G, g Giga-10+6 MEG, Meg, meg Mega-10+3 K, k Kilo-
C, c Clock Cycle (digital)10-3 M, m Milli-
56
참고
PSpice단위는 위의 Table에서와 같이 대 소 문자를 구분하지 않고, 밀리와 메가 단위만 구분된다.
또, 단위 사용 시 인덕터(H) 및 콘덴서(F)의 용량의 단위는 무시되며, 사용하지 않은 것이 편리하다.
콘덴서의 용량의 단위를 사용할 경우 1F는 위의 10-15로서 Femto로 읽혀짐에 주의한다..
25.4*10-6 MIL, Mil, mil Mil10-6 U, u Micro-10-9 N, n Nano-10-12 P, p Pico10-15 F, f Femto-
PSpice Lab
57
Exam ; Gate Characteristics
CLKDSTM1
DELAY =
OFFTIME = .5uSONTIME = .5uS
OPPVAL = 1STARTVAL = 0 U1A
7408
1
23
U2A
7432
1
23
U4A
74041 2
U5A
7400
1
23
AND
OR NAND
NOT
V
V
V
V
V
58
CLKDSTM2
DELAY = 0.75uS
OFFTIME = .5uSONTIME = .5uS
OPPVAL = 1STARTVAL = 0
7432
U3A
7486
1
23
7400
U6A
7402
2
31
XORNOR
V
V
V
Time Time0s 0.5us 1.0us 1.5us 2.0us
DSTM1:1 DSTM2:1 AND OR XOR NOT NAND NOR
Digclock
Exam ; Full adder
CLKDSTM1
STARTVAL = 0
OFFTIME = .1uSONTIME = .1uS
OPPVAL = 1
CLKDSTM2
STARTVAL = 0
OFFTIME = .2uSONTIME = .2uS
OPPVAL = 1
CDSTM3
OFFTIME = .4uSONTIME = .4uS
U1A
7486
1
23
U2D
7408
12
1311
U3BS0
VV
VInput Output
A B C D C S
0 0 0 0 0 0
0 0 0 1 0 1
Time Time0s 0.4us 0.8us 1.2us 1.6us
DSTM1:1 DSTM2:1 DSTM3:1 DSTM4:1 S0 C S1
59
CLKSTARTVAL = 0OPPVAL = 1
CLKDSTM4
STARTVAL = 0
OFFTIME = .8uSONTIME = .8uS
OPPVAL = 1
U2B
7486
4
56
U2C
7486
9
108
7408
4
56
U3C
7408
9
108
U4A
7432
1
23
S0
S1
C
V
V
V
V
0 0 1 0 0 1
0 0 1 1 1 0
0 1 0 0 0 1
0 1 0 1 1 0
0 1 1 0 1 0
0 1 1 1 1 1
1 0 0 0 0 1
1 0 0 1 1 0
1 0 1 0 1 0
1 0 1 1 1 1
1 1 0 0 1 0
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 0
Digclock
Exam ; BJT Vc-Ice Characteristics
I15mA
Q1
Q2N2222V1
5Vdc
I
60
0 0 0
Exam ; Zener Diode BV Characteristics
V1
15Vdc
R1
1k
R2
1k
D1D1N3501
IN OUT
I
61
0
Exam ; Reset Circuit (A/D 혼재회로)
V15V
R110K
C1470u
D1D1N4001
U1A
7414
1 2U1B
7414
3 4trigger inv1 inv2
VVV
62
0 RC=τ
Exam ; Switch Time On/Off(Analyze the Charging of Capacitors)
U2
TOPEN = 0
Sw_tOpen
1 2
V15V
R1
0.6
L110uH
2
C1
V sw_tOpen / sw_tClose (anl_misc.olb)
: 특정 시간에 SW ON/OFF 기능
63
1C1
0.01n
0 0
전류측정
Exam ; Oscillator
R120k
L1100uH
1
2
C11n
U1
TO
PEN = 0
1
2
Q1
Q2N2222
C279n R2
1 R315k
C31n
R415k
0
0
V
64
V1
-20V
0
0
V210V
V3
-0.7V
0 0
0
Exam ; RC 충방전 회로 및 시정수
V1
5V
R1
100k
C1
100u
U1
TOPEN = 501 2
U2TCLOSE = 50
1
2
out
V
충전
65
0
Add Trace
충전
방전
Day 2전압원, 전류원 사용법예제회로(아날로그, 디지털)파라미터 사용법, 성능 분석
SOURCE I or V ; VSIN or ISIN
V1 VOFF = 0 4VVOFF+VAMPL
Voltage Sin or Current Sin Generate
⎟⎠⎞
⎜⎝⎛ ⋅+−⋅⋅⋅⋅⋅+= −⋅−
180πPHASETD][tFREQπ2sineVV(t)V TD])[tDF(
AMPLOFF1
⎟⎠⎞
⎜⎝⎛ ⋅⋅+=
180πPHASEsinVV(t)V AMPLOFF1
67
V1
FREQ = 5Khz
VAMPL = 1VVOFF = 0.4V
DF = 1000
PHASE = 30TD = 1ms
R110meg
0
0s 2.0ms 4.0ms 5.0ms
0V
1.0V
-0.6V
1.4V
DF(Damping Factor)TD(Time Delay)
VOFF+VAMPL
Voff -Vampl
VOFF(Offset Voltage)
SOURCE I or V ; VSFFM or ISFFM
Voff=offset
Vampl=amplitude
Fc=Frequence Carrier
Fm=Frequence Modulation
MOD M d l ti I d
Voltage SFFM(Single Frequency FM) or Current SFFM Generate
R1V1VAMPL = 1.5
VOFF = 1.5
FC = 8KHz
( ) ( )[ ]tFπ2sinmodtFπ2sinVV(t)V MCAMPLOFF2 ⋅⋅⋅⋅+⋅⋅⋅⋅+=
680s 0.5ms 1.0ms 1.5ms
1.0V
2.0V
3.0V
MOD=Modulation Index
0
10megFM = 1KHzMOD = 4
SOURCE I or V ; VEXP or IEXP
TD1 = 1차 Time Delay
TC1 = 1차 온도계수
TD2 = 2차 Time Delay
TC2 = 2차 온도계수
V2TC1
Voltage Exponential or Current Exponential Generate
69
R110meg
0
V2 TD1 = 0.5m
V1 = 1
TD2 = 1.5mTC1 = 0.1m
V2 = 5
TC2 = 1m
0s 2.0ms 4.0ms 6.0ms0V
2.5V
5.0V
V1
V2
TD1
TD2
TC1
TC2
SOURCE I or V ; VPULSE or IPULSE
V1,V2 = Pulse의 Offset,Peak Value
TD = Time Delay
TR = Rise Time
TF = Fall Time
PW = Pulse Width
PER = Period
R110meg
V3 TD = 1m
TF = 0.3mPW = 0.5mPER = 2m
V1 = 1
TR = 0.1m
V2 = 5
V
TR
Voltage Pulse or Current Pulse Generate
70
0
0s 2.0ms 4.0ms 5.0ms0V
2.5V
5.0V
V1
V1TFPWTR
PERTD
SOURCE I or V ; VPWL or IPWL
Voltage PWL(Piecewise Linear) or Current Pulse Generate
R110meg
V4
T1 = 0T2 = 0.5mT3 = 1mT4 = 2mT5 = 3mT6 = 4mT7 = 4.5mT8 = 5m
V1 = 0.5V2 = 1V3 = -1V4 = -3V5 = 2V6 = 3V7 = 0.5V8 = 0.5
Tn = Time
Vn = Voltage
4.0V
T2,V2
T5,V5
T6,V6
T8 V8
71
0
0s 2.0ms 4.0ms 5.0ms-4.0V
0V
T4,V4T1,V1
T3,V3
T7,V7T8,V8
SOURCE I or V ; VPWL_FILE or IPWL_FILE
Voltage PWL(Piecewise Linear) or Current Pulse Generate
Tn = Time Vn = Voltage
72
TSF :
Time Scale Factor
VSF :
Voltage Scale Factor
Stimulus Editor를 이용한 파형 만들기(삼각파)
73
VSTIM Part를 불러와서
Implementation 속성을 tri로 수정한다
Stimulus Editor를 이용한 파형 만들기(삼각파)
Part를 선택한 다음 마우스 오른쪽버튼을 눌러 Edit Pspice Stimulus를선택하면 Stimulus Editor가 실행된다
74
Stimulus Editor를 이용한 파형 만들기(삼각파)
삼각파를 만들기 위해 PULSE를 선택하고
각 항목값을 왼쪽과 같이 입력하는데
이 때 Pulse width와 같이 0이 되어야 하는
항목에 대해 아주 작은 값을 조금이라도
주어야 제대로 된 파형이 나온다.
75
Stimulus Editor를 이용한 파형 만들기(삼각파)
그래프가 너무 좁게 나오므로 Axis Settings에
X 축 시간을 줄여주면 부분 확대를 해서 볼 수 있다.
76
Stimulus Editor를 이용한 파형 만들기(삼각파)
77
이 파형 파일을 저장하고 회로도에 업데이트 시키면
왼쪽 그림과 같이 파형생성기를 이용한 시뮬레이션을
할 수 있다..
Stimulus Editor를 이용한 파형 만들기(VPWL)
Stimulus Editor를 이용한
VPWL 파형을 생성한다.
78
지우고 싶은 포인트를 클릭(빨갛게 변함)한 후
Delete 키를 누르면 새로 연결됨
Stimulus Editor를 이용한 파형 만들기(VPWL)
79
Stimulus Editor를 이용한 파형 만들기(VPWL)
80
Stimulus Editor를 이용한 파형 만들기(Digital Clock)
81
둘 중 한 방법(주파수값, 주기값)을 선택하여 적용
Stimulus Editor를 이용한 파형 만들기(Signal 펄스)
82
더블클릭하면 binary(값)
또는 signal(레벨) 형태로
바꿀 수 있다
Stimulus Editor를 이용한 파형 만들기(Signal 펄스)
83
Signal 파형을 더블 클릭하면
초기값을 변경할 수 있다.
Stimulus Editor를 이용한 파형 만들기(Bus Signal)
84
연필도구를 선택한 후 파형 변환을 원하는 점에
놓고 마우스를 클릭
원하는 값을 넣기 위해서 원하는 곳을
더블 클릭하고 Value 값을 바꾼다.
예) 4;H
버스 네임을 더블클릭하여 버스값 형태를
변경할 수 있다.(2,8,10,16진수)
Stimulus Editor를 이용한 파형 만들기(Bus Signal)
이전값을기준으로 3 감소된값을지정예) C – 3 = 9
85
Application Source ; use ABM(Analog Behavior Modeling) Library (MULT)
V1 FREQ = 5kVAMPL = 1VOFF = 0
V2 TD = 5m
TF = 0.3mPW = 0.5mPER = 2m
V1 = 0
TR = 0.1m
V2 = 5R110Meg
R21k
R31k
0
Source Generate use ABM(MULT)
SUM/ABM.olb DIFF/ABM.olb
86
0 0
0s 5ms 10ms-5.0V
0V
5.0V
Application Source ; use ABM(Analog Behavior Modeling) Library (Evalue)
Evalue의 Expression = IF(두 핀의 입력)<0,0,5) : 두 입력의 차가 0보다 작을 때 참이면 0, 거짓이면 5를 출력
V1 TD = 0
TF = 0.1uPW = 0.1uPER = 5u
V1 = 0
TR = 4.8u
V2 = 5
V2
FREQ = 10KHzVAMPL = 2VVOFF = 0
R11meg
R21meg
E1
IF(V(%IN+, %IN-)<0,0,5)
EVALUEOUT+OUT-
IN+IN-
SINOUTPULSE
V
V V
87
0s 20us 40us 60us 80us 100usV(PULSE) V(SIN)
-5.0V
0V
5.0VV(OUT)
0V
2.5V
5.0V
SEL>>
PER 5u FREQ = 10KHz 1meg
0 0 0
Source I & V ; use param/special.olb
Parameter를 이용한 Source 값 설정
아래와 같이 Special.olb라는 라이브러리의 Param이란 소자를 배치하게 되면, 도면에서 이용될 함수의Value를 선언문으로 사용할 수 있다.
VDC(V1)의 DC value의 값을 아래와 같은 계산 결과치 또는 일반 함수식으로서 실효치 및 목적하는 값을표현하여 사용되기도 한다.
V1 = 0V2 = {Vpeak}
R1
1k
PARAMETERS:Vpeak = 1
88
V1TD = {delay}TF = 1u
PW = {duty*1/frequency}PER = {1/frequency}
TR = 1u
V2 {Vpeak}
0
Vpeak = 1frequency = 1Kduty = 0.2delay = 0.2m
다음은 Pulse Wave를 제작하기 위해 아래와 같은 선언문을 사용하면, Pulse를 구성하는 Freq및 Duty만
조정하여 전체의 Attribute를 편집할 필요가 없게 된다.
Sin Wave Stimulus 만들기
1. 새로운 도면을 Open한다.
란 심벌을 불러 배치한다 l lb
SV3
Implementation =
Source I & V ; Use Stimulus Editor(sourcestm.olb)
SI1
Implementation =
Stimulus Editor (StmEd)는 transient analog 와digital sources를정의하는 그래픽적인 방법을 제공한다.
Stimulus Editor는 왼쪽의 Source와 같이 고유의 Implementation을가지고 있으며, 작업중의 도면에 고유의 Implementation name을변경하면, 저장된 입력원을 즉시 사용이 가능한 장점이 있음.
라이브러리 명칭은 VSTIM , ISTIM, DIGSTIM1 ~ 32의 이름으로Source.lib라이브러리의 경로를 가지고 있고, 하나의 프로젝트에 여러입력을 적용 시 유용하게 사용된다.
2. VSTIM 란 심벌을 불러 배치한다. Place > Part Sourcestm.olb
3. 배치한 VSTIM을 클릭 후 EDIT / PSpice Stimulus를 클릭하여
Stimulus Editor를 Open한다.
4. New Stimulus라는 대화창에 SIN radio 버튼을 선택한다.
5. Name란에 SIN이라는 Implementation Name을 입력한다.
6. OK .
7. dialog에서 Offset 난에 0을 넣고 Amplitude에 5 그리고 Frequency에 60을 넣는다. amplitude는
peak- to-peak이다.
8. OK 하면 60Hz sine sin wave를 볼 수 있다. File Save toolbar button을 클릭한다.
9. 도면의 VSTIM의 Implementation = SIN으로 Update되며, 설정 완료.
89
S1DSTM1
Implementation =
Source ; Digital Source
OrCAD PSpice 입력원으로 사용되는 source는 source.lib라는 라이브러리에 저장되어있고 라이브러리 내에는크게 전압원 , 전류원 , 디지털 source로 구분되어진다.
CLKDigClock
S1STIM1
S8STIM8
DigClock은 digital signal을 입력원으로 사용되는 source로서 특성은 반복적인 주기를 갖고digital signal을 만들어 낸다.
STIM1 COMMAND1 COMMAND2 COMMAND3
0s 0 1s 1 2s 0
반복적인 신호원이 아닌 임의의 시간과 값을 지정하여 입력원 생성.
STIM8의 8은 bit를 나타내며 8bit의 Signal source임(Bus 연결하므로 Bus Net Alias 표시)
COMMAND1 COMMAND2 COMMAND3
90
S8
F1
SIGNAME = signalFILENAME = file1.stm
FileStim1
COMMAND1 COMMAND2 COMMAND3
0s 00000000 1s 01010101 2s 10101010
File1.stm의 논리형식은 다음과 같다.
Signal : node명 SIGNAME과 같은 이름
0s일 때 1의 논리값, 1ms일 때 0의 논리값으로 정의
FileStim1은 아래의 메모장과 같은 편집기에서 설정한파일이 있어야 한다.
Symbol의 FILENEME에는 project와 같은 디렉토리에저장되어 있을 경우 file.stm을, 다른 디렉토리에 있을경우 경로명을 지정해 주어야 한다.
예 C:\my documents\file.stm
주의할 점은 SIGNAME과 논리값 지정은 한 줄 띄워 지정해야 하는 점을 유의할 것.
Transient Analysis ; Simulation Setting
아래의 도면을 예제로 사용하여 과도 분석과정을 살펴 보자.Transient analysis은 time domain simulation이고 회로의 과도 현상을 측정할 수 있다. Probe에서 본결과는 oscilloscope와 비슷하다. Time이 x축에 swept 값이고 voltage 와current는 y축이다.
입력으로 IPWL을 사용하며, 입력 전류는Step Pulse로 설정한다.
이후 L1(인덕터)에 인가되는 전류의 과도현상을 측정한다.
<실행 순서>
1.입력원 및 소자 배치
IPWL
I1I1 = 0I2 = 0
T1 = 0msT2 = 10ms
R10 5
L11
1
C11
I
91
1.입력원 및 소자 배치
2.소자값 설정
3.시뮬레이션 설정(Transient)
Run to time : 시뮬레이션 종료 시간
Start saving : 몇초 후부터 저장 시작
Max… : 계산되는 포인터들의 Step size
(시간간격으로 설정) Step Sailing(8.0v)
Skip… : 사용되는 Conductor 및Inductor의 초기치를 무시한다.
I2 = 0I3 = 1
T2 = 10msT3 = 10.1ms
0.5
2
0
Transient Analysis ; Simulation Result
아래의 시뮬레이션 결과에서 보이듯이 일정 시간을 갖고 서서히 전류량이 증가됨을 알 수 있다.
인덕터의 전형적인 충전 현상을 확인하며,
이러한 Curve의 특성은 R의 값에 민감하게
반응된다.
다시 R값을 1.5 ohm으로 변경 후 시뮬레이션
실행하여 인덕터의 전류 변화량을 확인한다.
0A
0.5A
1.0A
1.5AR = 1.5 ohm
R = 0.5 ohm
92
0s 5s 10s 15s 20s0A
위의 시뮬레이션 결과와 같이 저항값을 여러 범위 Value값으로 변경해 가면서 시뮬레이션이 가능하며, 이것은가변저항의 값을 일정 범위로 가변(Sweep)하면서 오실로스코프로 확인하는 것과 개념을 같이 한다.
<Place part > param / Special.olb>
R1{Rvar}
L1
1
PARAMETERS:Rvar = 0.5
Parametric Analysis ; Schematic Entry
1. 변경하고자 하는 Component Value의 값을 위의
도면과 같이 { 임의의 Variable }로 설정.
2. Place Part에서 Param / Special.olb 배치
I1I1 = 0I2 = 0I3 = 1
T1 = 0msT2 = 10msT3 = 10.1ms
R1{Rv ar}
L1{Lv ar}
1
2
C1{Cv ar}
I
PARAMETERS:
Lv ar = 1Cv ar = 1
Rv ar = 0.5
93
Variable 설정
- Param을 더블 클릭하여 Properties Editor를 Open한다.
- New Column의 버튼을 클릭하여 나타난 대화창에 R , L , C의 Component Variable에 대한 임의
이름으로 Column들을 생성
- Schematic 상에서 확인 가능하도록 Display 버튼을 이용하여 Format을 변경한다.
New Column : 새로 추가될 Column시 사용
Display : 도면상에 Display format 설정
0
Parametric Analysis ; Parametric Sweep Setting
1. 이전 Page에 이어 시뮬레이션 설정으로 넘어간다.
2. 왼쪽의 그림과 같이 Option에 Parametric Sweep을 체크 후
아래의 Sweep Variable과 Sweep Type을 결정한다.
3. 아래의 Sweep Variable의 Setting은 DC 분석의 General Setting과같다.
과도분석이 진행 되고 있는 가운데 Parametric Sweep을 Option화 함
94
시뮬레이션 진행 Flow
1. DRC check
2. Create Netlist
3. Bias Point Calculate
4. Transient analysis
5. Option Run(Parametric Sweep)
-- Rvar의 값이 0.1 ohm에서
3 ohm까지 0.2 ohm씩 증가하며,
Transient analysis을 15번의
Multi-Simulation이 진행.
Parametric Analysis ; Temperature Sweep
다이오드의 온도 특성순방향 전압 온도특성은 순방향 전압 Vf가 –2mV / C의 특성을 가지므로 순방향 전류가 일정한 상태에서 온도
증가에 따라 순방향 전압 Vf가 수평축 이동할 것이며 역방향 전류 온도특성은 역방향 전류가 온도 10도
증가에 따라 2배 증가할 것이다.시뮬레이션 조건(DC Sweep)
Sweep Variable
V1 start value : –1 end value : 2 Increment : 0.01V
Option Parametric SweepV1
0Vdc
R1
1
D1
I
95
Value list : -100, 0, 100
-1.0V -0.5V 0V 0.5V 1.0V 1.5V 2.0V-400mA
0A
400mA
800mA
0Vdc D1D1N4148
0
PARAMETERS:C 1
Performance Analysis ; Schematic Entry
Goals : Performance analysis를 수행하기 위해서는 Parametric analysis 또는 Monte carlo/worst case를
실행해야 한다.
이렇게 Multi simulation을 실행시 다수 실행에 대한 좀더 자세한 분석을 할 수 있다.
Cadence 14.xx 이 후 버전에서는 PSpice Measurement라는 기능으로 Multi- Simulation을 실행하지
않더라도 Goal Function을 이용하여 Simulation결과 Wave에 대한 찾고자 하는 Point를 찾아 준다.
전류 Probe Marker
I1I1 = 0I2 = 0I3 = 1
T1 = 0msT2 = 10msT3 = 10.1ms
R1{Rv ar}
L1{Lv ar}
1
2
C1{Cv ar}
0
I
Lv ar = 1Cv ar = 1
Rv ar = 0.5
96
위와 같이 R1을 0.1 ohm ~ 3 ohm으로 Parametric 분석 실행. Probe Window에서 Performance 분석 실행.
Performance Analysis ; Function Key
Performance Analysis 실행 순서 (Probe Window)
1. Trace / Performance Analysis… 클릭
2. 오른쪽 하단의 Performance Analysis 대화창 생성
3. Ok 버튼 클릭 시 : Goal Function 실행 Trace
Add를 통하여 목적하는 Goal Function을 설정.
Wizard 버튼 클릭 시 : 각 Step 별 진행
97
Performance Analysis Wizard를 통하여 Goal Function
설정 환경으로 진행 할 경우.
Performance Analysis의 대화창에서 OK를 클릭할 경우
새로운 plot창이 생성되고 X축은parameter의 변수로서
설정한 R1의 변경 값들이 나타난다.
Performance Analysis ; Wizard
이 과정은 OK를 클릭한 과정을 4단계로 나누어
Goal Function을 생성해 내는 과정이다.
Wizard를 이용할 경우 Goal Function에 표현 되지
않은 함수를 새롭게 만드는 기능도 가지고 있다.
일반적으로 지원되는 Function을 이용하여
사용하기로 한다.
먼저 회로에서 가변된 저항 값에 따라 L에 인가되어
지는 전류량을 해석하기 위해 Choose a
98
지는 전류량을 해석하기 위해 Choose a
Measurement에 Rise Time을 선택한다.
Risetime_StepResponse(trace name) StepResponse에 대한 임의의 Node에서 Risetime
Find the first and final Y values of the trace. Then find the difference between the X values of the points where the trace first crosses 10% then 90% of the range between its starting and final values with a positive slope. (Find the risetime of a step response curve.)
각 Wave 마다 위의 형식으로 하나의 파형의 전체 Rising Time중 초기 10% 되는 지점과 종료 90% 되는 지점의
Point를 찾고 두 Point에 대한 시간을 계산으로 설정되어 있다. 이것은 편집이 가능하다.
위와 같이 여러 가지의 Goal Function을 확인하고, 편집 모드는 Measurements를 클릭하여 실행한다.
이 후 Next로 다음 과정으로 넘어간다.
Performance Analysis ; Wizard
좌측의 대화창은 이전 단계에서 선택한 Goal
Function을 Evaluation하는 과정이다.
Simulation 결과로 출력되어 있는 -I(L1)을
Name of trace to search에 입력하여
측정되어야 할 Trace Name을 설정한다.
노드명에 대한 T N 은 단축아이콘을 클릭
99
노드명에 대한 Trace Name은 단축아이콘을 클릭
하여 실행 가능.
이 후 Next로 다음과정으로 넘어간다.
Performance Analysis ; Wizard
좌측에 계산된 Point들은
P1 : 초기 Rise되는 Point
P2 : 종료 Rise되는 Point
P3 : 전체 Rise되는 시간의 10% 지점
P4 : 전체 Rise되는 시간의 90% 지점
으로 표현된다.
100
이와 같이 Parametric analysis로 display되었던 파형들을 위와 같이 계산에 포함 되고,
나타날 Plot(probe Window)의 X축에는 가변 된 저항 값으로 표현, Y축에는 P3 Point에서 P4까지 걸린
시간이 표현된다.
Performance Analysis ; Simulation Result
5
10
15
Ris
ing T
ime
Rvar Risetime_StepResponse(-i(l1))
0.1 14.0608643631316
0.3 6.6194782745674
0.5 3.36360552663944
0.7 2.19733409612241
0.9 1.78767021209339
1.1 1.59234779154046
Performance Analysis Data
101
Rvar0 1.0 2.0 3.0
Risetime_StepResponse(-i(l1))
0
Risetime_StepResponse(-i(l1))
1.3 1.48241405912695
1.5 1.40519206680834
1.7 1.34757740416647
1.9 1.30334749400619
2.1 1.27157204034486
2.3 1.24445648074301
2.5 1.22103731545386
2.7 1.20014364137781
2.9 1.18130379477647
시뮬레이션 결과에 대한 오른 쪽 각 Point별 수치.
O.1 ohm일 경우 L1에 충전시간은 14.060~으로
확인 가능하다.
이 외에 Goal Function을 이용하여 저항의 변화량
에 따른 I(L1)의 Overshoot를 분석.
Parametric Variable : Source(전원)의 변동에 의한 영향
과도 분석과 Parametric 분석.
1. 회로 분석 목적.
- 입력(Vin)의 rise-edge trigger가 발생하면, 입력에 대해 1ms의 Delay된 출력 (Vo)를 발생하는 펄스 발생기
- Delay의 설계 공차는 상한치 1.1 ms, 하한치 0.9 ms
2. Parametric 분석을 통한 VDC전원 변동
{VDC}의 전원의 오차 범위를 10%로 가정하였을 때 시뮬레이션 실행 후 결과를 확인한다.
3. 먼저 회로도 작성
R-C low pass filter와 비교기를 이용하여 구성
Performance Analysis ; 전원 변동에 의한 시뮬레이션
102
R C low pass filter와 비교기를 이용하여 구성.
RC filter의 시정수 R*C =1ms가
되는 R, C조합을 만들고, 이때의 필터 출력
전압이 입력전압(VIN= 10V)의 약 63%가
되는 시점이므로, 비교 ref전압이
6.3V가 되는 분압 회로를 구성.
(Vdc:10V, Rup:3.7ohm, Rdown:6.3 ohm)
U1A
TL072/301/TI
+3
-2
V+8
V-4
OUT 1
VDC{VDC}
outV1
T1 = 0sT2 = 1msT3 = 1.01msV1 = 0V2 = 0V3 = 10
in
0
R1
Rbreak10k
R4
Rbreak{Rup}
R3
Rbreak{Rdown}
R5
Rbreak100k
Cbreak
C1
0.1u
PARAMETERS:
Rdown = 6.3
VDC = 10VRup = 3.7
V
VV
Parametric Analysis ; Simulation Result
전원 변동 영향
과도 분석과 Parametric 분석.
4. 시뮬레이션 설정
.TRAN 0 5ms 0
.STEP LIN PARAM vdc 9 10 0.01
5. Run Simulation
6. Probe Window에서 Performance Analysis 실행 후 Goal Function을 이용하여 VDC의 변화에 따른
V(out)의 변화량 확인
103
Probe Window >
Trace > Performance Analysis 실행
Parametric Analysis ; Performance Analysis
전원 변동 영향
과도 분석과 Parametric 분석.
7. Goal Function 선택
XatNthY(trace name, Y_value, n_occur)
Find the value of X corresponding to the nth occurrence of the given Y_value, for the specified trace.
XatNthY(V(out),5,1) : 찾고자 하는 파형의 Y값이 5를 갖는 첫번째 Point를 검색.
104
Parametric Analysis ; Param – Temperature – Performance Analysis
온도 변동 영향
과도 분석과 Parametric 분석.
1. 앞의 예제와 같이 온도 변화에 따른 Rise edge trigger Time을 확인한다.
2. 시뮬레이션 설정
.TRAN 0 5ms 0 5u
.STEP LIN TEMP 20 100 1
105
PSpice Lab
106
Exam
0V
1V
1ms 2ms 1ms 2ms
다음과 같은 입력 전압원 VPWL source 사용
107
-1V
PWL의 종류의 Source를 사용하여 Source를 만들어 보자.
Exam ; Maximum Power transfer(최대전력전달)
내부저항 Rs을 가진 전압원회로에 있어 그 부하에 최대의 전력을 전달하기 위해서는 부하저항 RL을
내부저항 Rs와 같은 값을 갖게 하면 부하에 최대의 전력량이 전달 Max Power 조건 : Rs = RL
40mW
60mW
80mW
100mW
(75.100,83.333m)RS75
RL
{Rvar}V1
PARAMETERS:Rvar = 1k
108
Rval0 50 100 150 200 250 300 350 400 450 500W(RL)
0W
20mW
0
5Vdc
W
Exam ; Exclusive OR
U1A
7404
1 2
U1B
7404
3 4
U2A
7408
1
23
U2B4
56
U3A
7432
12 3
S1A
COMMAND1 = 0s 0COMMAND2 = 1m 0COMMAND3 = 2m 1COMMAND4 = 3m 1COMMAND5 = 4m 0
S1B
COMMAND1 = 0s 0COMMAND2 = 1m 1COMMAND3 = 2m 1COMMAND4 = 3m 0
B
out
A
V
V
109
7404 7408COMMAND5 = 4m 0
V
stim1
Exam ; Johnson Counter
U1
S110
S09
SR2
A3
B4
C5
D6
QA15
QC13
11
QB 14SL7
QD12
HILO
DSTM1OFFTIME = .2uSONTIME = 1uS
Q2
Q1
Q0
Q3
Q[0..3]
V
Place power에서 선택
110
74194
CLK11 Q
CLR
1
U2A
7404
12
CLKONTIME = .1uSDELAY = 0STARTVAL = 0OPPVAL = 1
{ Q0 Q1 Q2 Q3} 또는 {Q[0:3]}
Exam ; Ripple Counter
U1A
PR
E2
J4
CLK1
Q15
U1B
PR
E7
J9
CLK6
Q11
U2A
PR
E2
J4
CLK1
Q15
U2B
PR
E7
J9
CLK6
Q11
HI
CLKCLK
D C B A
Q0 Q1 Q2 Q3
VVVV
V
DigClock/Source.olb
111
7476
CLK1
K16
CLR
3
Q 14
7476
CLK6
K12
CLR
8
Q 10
7476
CLK1
K16
CLR
3
Q 14
7476
CLK6
K12
CLR
8
Q 10
CLK
OFFTIME = .5uSONTIME = .5uSDELAY = 0STARTVAL = 0OPPVAL = 1
Exam ; R-L-C 회로
R1
1R2
1
R3
L1
{L1}
C1V1
TD = 1m
V1 = 0
TR 1
V2 = 1
PARAMETERS:C1 = 220uFL1 = 220uH
I
I
I
저주파 제한작용(C)
고주파 제한작용(L)
112
1 {C1}TF = 1nPW = 3mPER = 5m
TR = 1n
00
전류 제한작용(R)
스텝펄스의 입력에 대해 저항은 단지 전류의 양이 1A로 제한되고 코일의 경우는 스텝펄스의 고주파영역
즉 0V에서 1V로, 1V에서 0V로 천이되는 영역에서 통과가 억제되며 직류영역에서는 통과가 순조롭다.
콘덴서의 경우는 반대가 된다.
Exam ; Full-Wave Rectifier(전파정류, 평활회로)
V1
FREQ = 60VAMPL = 12VOFF = 0
R1
1
D1
D1N4001
D2
D1N4001
D3 D4
out
PARAMETERS:C1 = 1000u
V
V
113
0
V2
FREQ = 60VAMPL = 12VOFF = 0
R2
1
D3
D1N4001
D4
D1N4001 C1{C1}0
060Hz의 교류입력에 대해 직류화된 DC 출력이 나온다.
브릿지 다이오드 회로와 C1은 평활용 콘덴서에
충방전을 일으켜 직류로 변환
Exam ; Common Emitter Amplifier
R1
1k
R2
47k
R4
5k
C1
3u
C3
4u
V25V
Q1
Q2N2222
out
in
0
V
114
V1
FREQ = 10KHzVAMPL = 20mVVOFF = 0
R3
29k
R5
5k
R6
2kC275u
0
V
AQ2Q2N2907A
CLK
CLOCK
OFFTIME = 1mSONTIME = 1mSDELAY =STARTVAL = 0OPPVAL = 1
5VdcC Q4
IRF9140
DQ3IRF150Q1
Q2N2222
BR1
1K
R2
1K
R31K
R41K
R51KV
V
V
V
V
Exam ; Multi-Circuit(다단회로해석)
115
0
Clock Q1 Q2 Q3 Q4 A B C D
H ON ON ON ON L H L H
L OFF OFF OFF OFF H L H L
Exam ; Phase Control Circuit(위상제어회로)
R11k
out
V
V
V
V1
VAMPL = 12VOFF = 0
X1
2N1595
X2
2N1595
N1
N2
T1
T2
T3
116
0V
FREQ = 60VAMPL = 12
PHASE = 0 V2
FREQ = 60VAMPL = 12VOFF = 0
PHASE = -120 V3
FREQ = 60VAMPL = 12VOFF = 0
PHASE = -240 V4TD = 4.1667
TF = 1nPW = 1mPER = 16.687m
V1 = 0
TR = 1n
V2 = 10
X3 2N1595
V5TD = 4.1667
TF = 1nPW = 1mPER = 16.687m
V1 = 0
TR = 1n
V2 = 10 V6TD = 4.1667
TF = 1nPW = 1mPER = 16.687m
V1 = 0
TR = 1n
V2 = 10
0 0 00 0 0
N3
T1 T2 T3
Exam ; k_linear, L, vac, R, C 트랜스포머 예제
R1
50
C1
11.7uF
R240
Lpri200mH
1
Lsec
800mH
1out
K K1
COUPLING = 0.6K_Linear
L1 = LpriL2 = Lsec
V1ACMAG = 18VACPHASE = 0
V
K_Linear
VAC
117
2 2
0 0
Day 3
Monte-Carlo 해석법PSpice 모델 편집ABM 모델 응용
Monte Carlo / Worst-Case
Monte Carlo and worst-case analyses는 표준실행과 함께 다중실행을 할 때 소자의 LOT(무더기) 혹은 DEV
Tolerance를 바꾸는 것이다. 해석을 실행하기 전에 반드시 조사되어질 수 있는 모델 파라미터의 model 혹은
LOT Tolerance를 설정해야만 한다.
Monte Carlo 해석은 수행되어질 회로의 Monte Carlo(통계적인)해석을 유발한다. Tolerance가 제시되는
모든 소자의 모델 Parameter를 유효한 동안 random하게 변화시켜감으로써 부품의 값을 변화시켜 회로의
응답을 계산한다. 이것은 소자 변수의 변화의 순간에 통계적 Data를 제공한다.
119
Worst-Case 해석은 수행되어질 회로의 민감도와 worst-case해석을 유발한다.
Sensitivity/worst-case 해석은 random numbber를 사용하기 보다 Snsitivity data를 사용하는 Parameter를
계산하는데 있어서 Monte Carlo 해석과 다르다.
통계적 해석을 수행할 때 Monte Carlo 혹은 Worst-Case 해석중 하나를 실행할 수 있지만 동시에 두 개를
같이 실행할 수는 없다. Parameter들이 유효한 동안 선택된 해석의 다중실행은 행해진다.
다음 장에 설명하는 내용은 평균과 표준편차로서 통계적인 분석을 위한 기본적인 개념을 소개한다.
평균과 표준편차
우리생활에서 통계는 다양한 분야에서 많이 이용되고 있다. 특히 대량의 제품을 생산하는 곳에서는 통계의
이용이 필수적일 수 밖에 없다. 통계라는 것은 부분적인 측정과 조사로 관심대상의 전체를 추정하는 것이다.
이 추정이라는 것은 절대적일 수가 없다. 단지 추정한 것이 맞을 것이라는 가능성이 있을 뿐이다. 그 누구도
100%확신하는 추정은 불가능하다. 그렇다면 통계는 전부 불확실한 것뿐인가? 그렇지 않다. 측정을 하지
않은 상태에서 추측하는 것보다 훨씬 정확한 예측이 가능하게 해주므로 통계를 사용하지 않는 경우보다
정확하게 결정을 내릴 수 있다.
예를 들면 이제까지 우리는 어떤 제품이나 부품을 생산함에 있어서 그 제품이 불량이냐 아니냐를 판단하는데
대략 5개 정도의 Sample을 가지고 판정을 했다 다음의 경우를 보자
0
120
대략 5개 정도의 Sample을 가지고 판정을 했다. 다음의 경우를 보자.
어떤 제품에 들어가는 부품의 치수가 12±0.05 이라고 할 때 당일 생산한 1,000개의 부품 중 5개의 부품을
발췌하여 측정한 결과가 아래와 같을 때 과연 부품의 수준이 양호하다고 할 수 있는가? 불량은 몇 %?
측정결과 data:11.960 , 11.955 , 11.965 , 11.980 , 11.950
5개모두 규격안에들어가므로 문제 없어요!
5개의 Sample로과연 그렇게
확신할 수 있을까?
평균과 표준편차
5개의 Sample은 규격 안에 있으므로 문제가 없지만 나머지 995개의 제품에 대해서는 과연 양호하다고 말할 수없다. ”나머지는 측정을 해봐야 안다”는 식으로 하면 아무런 검사의 의미가 없을 것이다.부분적인 측정의 결과를 가지고 알고자 하는 전체를 추정할 수 있게 해주는 것이 통계이다.
위의 예에서 측정한 데이터의 결과를 보면 평균:11.962 표준편차:0.012 이다. 이 자료를 이용하여 정규분포그래프를 그려보면 아래와 같다. 규격을 벗어나는 불량은 13.5%로 나타난다. 물론 이것은 5개의 측정 데이터의평균과 표준편차로 한 경우이다. Sample의 갯수가 많아지면 평균과 표준편차 값이 바뀔 수도 있다.위의 결과로부터 통계적인 추정으로서 13.53%의 불량이 발생할 수 있다는 것이다.왜 이런 결과가 발생하는가? 문제는 개개의 데이터가 규격 안에 들어가는가 아닌가가 문제가 아니라전체의 산포가 어떻게 되느냐가 중요하다. 위의 예제의 경우는 측정한 sample의 개개의 데이터는 규격을만족하고 있으나 평균값이 규격의 중심에서 벗어나 있고 그 산포가 너무 커서 측정 Sample 수를 많이 했을 때
121
13.53%가 불량으로 될 가능성이 있다는 것이다.알고자 하는 대상의 평균과 표준편차를 정확하게 추정할 수 있다면 전체를 예측할 수 있다.
평균과 표준편차
어떤 목적성을 갖고 제작되거나 형성된 데이터의 집단은 그 특성을 갖게 되는데 그 집단의 특성을나타내는 값이 평균값과 표준편차이다. 여기서 이야기하는 평균과 표준편차는 표본(Sample)의 그것이다.평균은 그 집단의 현재 위치를 말해주는 지표이다. 그런데 평균은 동일하더라도 다른 여러 개의 집단이 있을수 있다.
즉 아래의 그림에서 양쪽 모두 평균은 5.0이지만 왼쪽의 경우 표준편차는 0.05이고 오른쪽은 표준편차가1.0이다. 위와 같이 평균은 동일하더라도 표준편차에 따라서 그 집단의 특성이 매우 다르게 됨을 알 수 있다.
표준편차는 그 집단의 데이타의 분포를 나타내는 특성으로서 개 개의 데이터가 평균값으로부터 얼마나떨어져 분포하고 있는가(산포의 정도)를 나타내는 매우 중요한 값이다.
122
평균과 표준편차
위의 데이터는 아래의 정규분포 그래프 형태로 표시된다. A의 경우는 산포가 적어 데이터가 평균값 부근에분포하고 B의 경우 평균값은 A와 같으나 산포가 커서데이터가 3에서 7이상까지 분포되고 있음을 볼 수 있다.여기서 앞의 그림에서는 3이하 7이상의 값이 나타나고있지 않으나 아래 정규분포 그림에서는 3이하 7이상의데이터가 존재하는 것은 앞의 그림은 몇 개의 표본만을가지고 나타낸 그림이고 아래의 경우는 표본의 갯수가무한히 많을 경우를 나타낸 것이다.표본이 적을 경우는 3이하 7이상의 값이 나타나지 않을수 있으나 표본의 수를 늘리면 3이하 7이상의 값이 나올수 있음을 보여주고 있다.
데이터의 측정 결과는 다음과 같은 두 가지의 문제로귀착된다. 최악의 경우 두 가지가 복합되어 나타나는경우(평균조정 및 산포조정)도 있다.
123
수 있음을 보여주고 있다. 정밀하나 정확하지 못함 : 평균조정 문제
정확하나 정밀하지 못함 : 산포 조정 문제
표준편차의 수학적 표현 따라서 각 편차를 제곱하여 합한 제곱 합(Sum of Square) 의 평방근을 사용하면 "0"이 아닌 특성 값을구할 수 있다.개개의 값이 평균에서 얼마나 떨어져 있나를 나타내기위해서는 S를 집단의 크기(N)로 나누면 된다.표본의 특성을 나타내기 위해서는 표본크기 n이 아닌자유도 n-1로 나눈다. 이때 표본의 특성을 나타내는 이 값을 표준편차라고한다. 따라서 표준편차는 어떤 집단에서 임의로 어떤데이터를 취했을 때 그 값이 평균값에서 얼마나 떨어져
7
6
5
4
3
평균=
x1
x2
x3
x4
x5
δ1
δ2
δ3
δ4
δ5
X
평균과 표준편차
124
데이터를 취했을 때 그 값이 평균값에서 얼마나 떨어져분포할 것 인가를 나타내는 특성치가 되는 산포를나타내는 값이다.
표준편차는 표본의 크기(갯수)가 클수록 정확한 값이되며 극단적으로 큰 경우에는 모집단의 표준편차와 같게된다.
54321
편차 xxσ ii −=
평균치에서 각 측정값이 떨어진 정도를 나타냄개개 편차를 합산하면”0”이 됨(평균보다 적은 값에 대한편차 는 음의 값이 되고 큰 값은 양의 값이 됨.)
iσ
( )
)xnxn,즉(0
xnxn
xxxx
i
i
ii
⋅=⋅=
⋅−⋅=
−=− ∑ ∑∑1n)x(xS2
i
−−
=
Monte Carlo / Worst Case ; Schematic Entry
회로정수 오차에 대한 Monte-Carlo시뮬레이션을 위해서는 사용 component의 tolerance정보를 입력하여야 함.PSpice의 경우, 사용자에 의해 component 특성 편집이 가능한 library를 별도로 제공함.( Breakout.lib)Breakout lib에는 각종 수동소자와 반도체 소자의 모델이 있고 Tolerance를 입력할 수 있도록 Edit할 수 있는라이브러리를 지원한다.
Ex) Resistor: RbreakCapacitor: CbreakInductor: LbreakDiode: Dbreak
R3
저항 R4에 대해서 Monte Carlo 분석을 실행하기 위해
Tolerance를 부여한다.
<Edit하는 순서>
1. 아래 그림과 같이 편집할 소자를 선택.(활성화)
2. Capture Menu > Edit > PSpice Model 클릭
3. 2번 실행 PSpice Model Editor가 Open 된다.
125
V10Vdc
0
Rbreak1k
R4
Rbreak1k
R 저항에 사용되는 ParameterR=1 : 저항치 비례상수DEV=5% : 저항 오차TC1=5e-4 : 선형 온도계수TC2=0 : 2차 온도계수
1. Tnom : 기준온도 ( default:27’C)
2. ANALYSIS SETUP의 OPTION에서 편집가능
3. T : 시뮬레이션 온도 ( default:27’C)
4. ANALYSIS SETUP의TEMPERATURE에서 편집가능
21 nom 2 nomvalue (1 TC (T T ) TC (T T ) )R=< > ⋅ ⋅ + − + −저항치
Monte Carlo / Worst Case ; Model Editor
PSpice Model Editor 편집 환경 ( 부품 선택 / Edit > PSpice Model 선택 후 편집)
126
이와 같이 다른 소자들도 편집이 가능하며, Rbreak란 이름은 Properties Editor에서 Implementation Name
으로 정의되어 있다.
위 Model editor환경에서 Rbreak(Model name)을 임의의 이름으로 변경 후 Capture환경에서는 이 이름만
변경할 경우 위의 모델 설정 내용을 따라가게 된다.
이 편집된 라이브러리는 현재 작업되고 있는 프로젝트에 프로젝트명.lib로 저장되며, Implementation name이
부여된 상태이다.
Monte Carlo / Worst Case ; Model editor
2 2l C (1 TC (T T ) TC (T T ) ) (1 VC V VC V )콘덴서 용량
Cbreak parameter
VC1 : 선형 전압 계수
VC2 : 2차 전압계수
DEV=5% : Conductance 용량 오차
TC1=5e-4 : 선형 온도계수
TC2=0 : 2차 온도계수
다른 소자들은 저항과 같은 형식으로 Modeling한다.
127
2 21 nom 2 nom 1 2value C (1 TC (T T ) TC (T T ) ) (1 VC V VC V )=< > ⋅ ⋅ + − + − ⋅ + ⋅ + ⋅콘덴서 용량
Lbreak parameter
DEV=5% : Inductance 용량 오차
TC1=5e-4 : 선형 온도계수
TC2=0 : 2차 온도계수
IL1 : 선형 전류 계수
IL2 : 2차 전류계수
2 21 nom 2 nom 1 2value L (1 TC (T T ) TC (T T ) ) (1 IL I IL I )=< > ⋅ ⋅ + − + − ⋅ + ⋅ + ⋅인덕터 용량
Monte Carlo / Worst Case ; Simulation Setting
1. ANALYSIS SETUP에서Monte Carlo와 Transient enable
2. Output variable 지정 V(out)
3. Monte Carlo option- Number : 시뮬레이션 횟수- Use : (Gaussian or uniform 선택)시뮬레이션 시 회로 정수값의 분포를 지정함
- Save data form :시뮬레이션 결과 저장 option임
128
Monte-Carlo Run시 설정된 오차범위에 의한 모든 소자들이 Random하게 변화되며,변화된 소자를 기준으로 계산된 결과를 출력하여 목적한 시뮬레이션 결과에 얼마만큼산포를 가지고 있는지 확인한다.
Monte Carlo / Worst Case ; Simulation Result
Monte Carlo Setting에 10번의 시뮬레이션 횟
수와 Uniform의 Distribution을 사용한 결과를
확인한다.
시뮬레이션 결과에서 보이듯이 사용된 저항의
오차의 범위에서 출력을 확인할 수 있으며
Monte carlo Simulation에서 가장 중요한
평균치와 표준편차를 확인할 수 있다.
129
앞에서 설명한 Parametric 분석 이후
Performance 분석을 실행한 기능을 그대로
이용 가능하며, 이를 이용시 Histogram을
지원한다.
Monte Carlo 실행 횟 수 : 400 회 실행
Trace > Performance Analysis.. 클릭
Monte Carlo / Worst Case ; Simulation Result
Trace > Performance Analysis 실행
Goal Function을 이용하여 Histogram 출력 후 Mean 과 Sigma를 확인한다.
10
20Percent
130
Max(V(out))100.0094.75 105.38
0
n samples = 400n divisions = 10mean = 99.9142
sigma = 2.06289minimum = 95.354210th %ile = 97.1858
median = 99.762490th %ile = 102.732maximum = 104.545
평균 : 99.99142V
표준편차 : 2.06289V
N samples : 실행 횟수 sigma : 표준편차 median : 중간 값
N divisions : 막대그래프의 수 minimum : 최소 값 90th %ile : 90%일 때의 값
Mean : 평균 값 10th %ile : 10%일 때의 값 maximum : 최대 값
Analog Behavior Modeling(ABM)
ABM(The Analog Behavioral Modeling)은 전달함수 또는 하나의 lookup table에 관계된 전기적 성분을
수학적으로 다양하게 표현하는 등 실제 전기적인 소자를 이용하지 않고도, 회로에 대한 수학적인
모델들을 이용하여 동작시킬 수 있다.
ABM . Olb 에 여러 종류의 라이브러리를 지원하며, limiter , 연산자 , 미적분기, Filter, S 영역에서의Laplace(전달함수), Table형태의 데이터, 종속 전원를 표현할 수 있는 라이브러리가 있다.
Analog behavioral parts : mathematical function & lookup table
131
Digital behavioral parts : functional and timing
- ABM library ; PSpice Template
E^@REFDES %out 0 VALUE { LOG(V(%in)) }
E^@REFDES ; standard.
“ E” (E device); Voltage Controled Voltage source
%in , %out ; input , output pins
VALUE { log(v(%in))} ; log 정의에 의한 E device 입력에 대한 출력 전압 expression.
E1
LOG(V(%IN+))EVALUE
OUT+OUT-
IN+IN-
Analog Behavior Modeling(ABM) ; Part edit
E3
V(%IN+, %IN-)EVALUE
OUT+OUT-
IN+IN-
왼쪽의 Symbol은 Evalue로서 앞 단원에서 Part Editor시 PSpice Template에 대한내용을 다루었다.
아래의 Evalue의 PSpice Template에서 볼 수 있듯이 Evalue에서 필수적으로
사용되는 핀은 out+핀과 out-핀의 정의로만 읽혀진다. 그리고 Value의 값은
{@EXPR}에 입력되는 형식을 따르는 Format인 것을 확인할 수 있다.
E^@REFDES %OUT+ %OUT- VALUE { @EXPR }
Part Editor [ Option > Part properties ] 클릭
132
Analog Behavior Modeling(ABM) ; trace expression examample
Examples Meaning of Output Variables
I I(R13) Imaginary part of the current through R13
IGG(m3) Group delay of M3’s gate current
IR(VIN) Real part if I(current) through VIN
IAG(T2) Group delay of current at port A of T2
V(2,3) Magnitude of complex voltage across nodes 2 & 3
VDB(R1) Db magnitude of V across R1
133
VDB(R1) Db magnitude of V across R1
VBEP(Q3) Phase of base-emitter V at Q3
VM(2) Magnitude of V at node 2
Analog Behavior Modeling(ABM) ; probe function and abm syntax
Probe Function Description Available inPSpice A/D?
ABS(x) |x| YES
SGN(x) +1 (if x>0), 0(if x=0), -1(if x<0) YES
SQRT(x) x½ YES
EXP(x) ex YES
LOG(x) ln(x) YES
LOG10(x) log(x) YES
134
LOG10(x) log(x) YES
M(x) Magnitude of x YES
P(x) Phase of x(degrees) YES
R(x) Real part of x YES
IMG(x) Imaginary part of x YES
G(x) Group delay of x(seconds) NO
PWR(x,y) |x|y YES
SIN(x) sin(x) YES
Analog Behavior Modeling(ABM) ; probe function and abm syntax
Probe Function
Description Available inPSpice A/D?
COS(x) cos(x) YES
TAN(x) tan(x) YES
ATAN(x)ARCTAN(x) tan-1 YES
d(x) Derivative of x with respect to the x-axis variable YES*
s(x) Integral of x over the range of the x-axis variable YES**
135
( ) g g
AVG(x) Running average of x over the range of the x-axis variable
NO
AVGX(x,d) Running average of x from X_axis_value(x)-d to X_axis_value(x)
NO
RMS(x) Running RMS average of x over the range of the x-axis variable
NO
DB(x) Magnitude in decibels of x NO
MIN(x) Minimum of the real part of x NO
MAX(x) Maximum of the real part of x
Analog Behavior Modeling(ABM) ; Evalue - EXPR
ABM(The Analog Behavioral Modeling)은 전달함수 또는 하나의 lookup table에 관계된 전기적 성분을
다양하게 표현하는 등 실제 전기적인 소자를 이용하지 않고도, 회로에 대한 수학적인 모델들을 이용하여
Test를 할 수 있다.
ABM . Olb 에 여러 종류의 라이브러리를 지원하며, limiter , 연산자 , 미 적분기, Filter, S영역에서의Laplace(전달함수), Table형태의 데이터, 종속 전원를 표현할 수 있는 라이브러리가 있다.
예제. E1
EVALUE
OUT+OUT-
IN+IN-1.0ms0s
1.0ms0s
136
ABS(V(%IN+, %IN-))*gainV1
FREQ = 1KVAMPL = 5VVOFF = 0
R11k
0 00 0
PARAMETERS:gain = 1
위와 같이 EVALUE라는 전압제어 전압원을 사용하여 정류 회로를 표현 가능하다.
ABM 라이브러리에는 수학적인 표현을 할 수 있도록 EXPR의 Column을 지원하며, 이것은 Probe
Window의 Trace Expression과 같은 역할을 한다.
ABS( ) ( )의 절대값
V(%IN+, %IN-) 전압제어 전압원의 고유 특성을 갖는 두 입력 핀의 전압 차를 표현.
Analog Behavior Modeling(ABM) ; Evalue - Netalias
i
아래의 예제는 회로 내의 Net Alias로 선언된 Data도 Expr에서 표현이 가능하다.
Expr의 표현 형식을 확인 후 Simulation 으로 같은 결과를 확인한다.
회로도 작성
Expr = ABS(V(vin))*gain으로 입력
시뮬레이션 설정
Tran. 0 2ms 0
Run Simulation
137
1.0ms0s 1.0ms0sE1
ABS(V(vin))*gainEVALUE
OUT+OUT-
IN+IN-V1
FREQ = 1KVAMPL = 5VVOFF = 0
R11k0
000
vin
PARAMETERS:gain = 1
R21k
Analog Behavior Modeling(ABM) ; EFREQ – Table <LPF>
아래의 예제에서 사용된 EFREQ에는 EXPR 이외에 TABLE이란 DATA를 선언할 수 있다.
Table의 기본 Format인 (0, 0, 0)는
(Freq, DB의 크기/DC성분, 위상)으로
표현된다.
예로 (5k, 0, -5760)은
5KHz일 때 0db의 크기와 위상차는
기준이 0도에서 –5760느림을 의미한다.
TABLE = (0,0,0) (5Khz,0,-5760) (6Khz,-60,-6912)
V11Vac0Vdc
R11k
0 00 0
E1
V(%IN+, %IN-)EFREQ
OUT+OUT-
IN+IN-
out
138
회로 작성 후 시뮬레이션 실행.0 00 0
Frequency
1.0KHz 3.0KHz 5.0KHz 7.0KHz10KHz
VDB(OUT)VP(OUT)
-60
-40
-20
-0
DB
-6.0Kd
-4.0Kd
-2.0Kd
0.0KdPhase
>>
Low Pass Filter의 특성을 모델링. 5kHz에서의 응답을 보면 0dB의
주파수 응답을 6kHz에서의 응답을보면 –60dB의 응답을 볼 수 있다.
- Table(X,X1,Y1,X2,Y2…..) : X(node name)가 입력 X1일 경우 Y1을 출력Ex) Table(V(in),v(in)>0,10,v(in)<0,-10)
V(in)의 노드 전압이 +인 경우 10V을 출력하고, -인 경우 –10V을 출력.
- SDT(X) : Integral = S(X)- DDT(X) : Derivative = D(X)
- MIN(X,Y) : X와 Y의 값을 비교하여 출력으로 최소값을 출력
- MAX(X,Y) : X와 Y의 값을 비교하여 출력으로 최대값을 출력
Analog Behavior Modeling(ABM) ; other fuction
139
- LIMIT(X,min,max) : if X < min , then min … if X > max , then max , else x
- SGN(X) : ( if X > 0 +1 ), ( if X < 0 -1 ) , ( if X=0 0 )
- STP(X) : if X > 0 1 , otherwise 0
- IF(X,Y,Z) : X가 참이면, Y값을 출력하고, 거짓이면, Z값을 출력.
종합적인 예,
IF(i(V2)>0,TABLE(i(V2),30A,0.5, 100A,8.0),TABLE(i(V2), -100A,8.0, -30A,0.5))))*SDT(v(%in+, %in-))
1.000
CONST
SUM
MULT
1E3
GAIN
DIFF
ABM 모델(1) - (CONST, GAIN, SUM, MULT, DIFF, VCC)
4.000
1.000
1 000 3
OUT
V
V
V
V
140
1.000 3
VVV
ABM : 0개의 입력에 대한 하나의
출력전압을 도출하는 전달함수
ABM1 : 1개의 입력에 대한 하나의
출력전압을 도출하는 전달함수
ABM2 : 2개의 입력에 대한 하나의
출력전압을 도출하는 전달함수
ABM3 : 3개의 입력에 대한 하나의
출력전압을 도출하는 전달함수
ABM/I : 0개의 입력에 대한 하나의
출력전류를 도출하는 전달함수
ABM1/I : 1개의 입력에 대한 하나의
ABM 모델(2) - (ABM, ABM1, ABM1/I, ABM2, ABM2/I, ABM3, ABM3/I)
3.14159265 1.4142136
(V(%IN) * 100)/1000 (V(%IN) + 100) / 1000
( V(%IN1)1 (V(%IN1) + V(%IN2)) / 2.0
R1
1k
R2
1k
R3
V1
V1
V1
V1
0
0
ABM
ABM1
출력전류를 도출하는 전달함수
ABM2/I : 2개의 입력에 대한 하나의
출력전류를 도출하는 전달함수
ABM3/I : 3개의 입력에 대한 하나의
출력전류를 도출하는 전달함수
141
+V(%IN2) ) / 2.0 32
( V(%IN1)+V(%IN2)+V(%IN3) ) / 3.0
(V(%IN1)+V(%IN2)+V(%IN3)) / 3.0
1k
R4
1k
V11V
V21V
V31V
V2
V1
V1V2V3
V1
V2
V1V2V3
V1 V2 V3
0 0 0
0
0
ABM2
ABM3
ABM 모델(3) -(CONST,ABS,PWR,PWRS,SQRT,EXP,LOG,LOG10,SIN,COS,TAN,ATAN)
CONST : 일정한 상수값을 내는 함수
ABS : 입력값을 절대값으로 변환
PWR : 입력값을 절대값으로 취한 후 N승
PWRS : 입력값을 N승
SQRT : 입력값을 ROOT로 변경
EXP : 지수값으로 변경
LOG : 자연 LOG로 변경
LOG10 : 10 LOG로 변경
SIN : 입력값에 대해 SIN값으로 변경
COS : 입력값에 대해 COS값으로 변경
TAN : 입력값에 대해 TAN값으로 변경
ARCTAN = ATAN : TAN 역수로 변경
142
E : 두 입력간의 전압에 이득이
곱해져서 출력전압을 도출
EVALUE : 두 입력간의 전압에
ETABLE : (두 입력간, 두 출력간 전압)의
여러 조형태인 Lookup Table
GTABLE : (두 입력간 전압, 출력전류)의
여러 조형태인 Lookup Table
ESUM : (V1-V2)+(V3-V4)로 연산한
결과를 출력전압으로 도출
GSUM : (V1-V2)+(V3-V4)로 연산한
결과를 출력전류로 도출
ABM 모델(4) - (E,EVALUE,G,GVALUE,EMULT,GMULT,ETABLE,GTABLE,ESUM,GSUM)
E
EVALUE
ETABLE
R1 1k
R2 1k
R3 1k
0
V14V
V20V
V32V
V1 V2
V3
0 0
V40V
V4
-+
+-
E1
E
E2
V(%IN+, %IN-)EVALUE
OUT+OUT-
IN+IN-
+-
G1
G
G2
E3
V(%IN+, %IN-)ETABLE
OUT+OUT-
IN+IN-
G3
GTABLE
OUT+OUT-
IN+IN-
0
0
0
V1V2
V1V2
V1V2
V5
V5
0
표현식에 의해
출력전압을 도출
G : 두 입력간의 전압에 이득이
곱해져서 출력전류를 도출
GVALUE : 두 입력간의 전압에
표현식에 의해
출력전류를 도출
EMULT : (V1-V2)*(V3-V4)로
연산한 결과를
출력전압으로 도출
GMULT : (V1-V2)*(V3-V4)로
연산한 결과를
출력전류로 도출
143
0R2 1k
0
0
R4 1k
0
R5 1k
0
0 0
EMULT ESUM
0
V51V
V5
0
V(%IN+, %IN-)GVALUE
OUT+OUT-
IN+IN-
V(%IN+, %IN-)GTABLE
E4
EMULT
IN1+IN1-
IN2+IN2-
OUT+
OUT-
E5
ESUM
IN1+IN1-
IN2+IN2-
OUT+
OUT-
G4
GMULT
IN1+IN1-
IN2+IN2-
OUT+
OUT-
G5
GSUM
IN1+IN1-
IN2+IN2-
OUT+
OUT-
V1V2
V1V2
V3V4
V1V2
V3V4 V4
V3
V2V1
V4V3
V2V1
0
V1
E1
V(%IN+, %IN-)ELAPLACE
XFORM = 1/(1 + 0.00016*s)
OUT+OUT-
IN+IN-
G1
GLAPLACE
OUT+OUT-
IN+IN-
V1
V1
0
R1
1k
0
ELAPLACE
V11Vac
VD
B
IDB
ABM 모델(5) - (ELAPLACE, GLAPLACE, EFREQ, GFREQ)
0
V(%IN+, %IN-)XFORM = 1/(1 + 0.00016*s)
E2
V(%IN+, %IN-)EFREQ
TABLE = (10,0,0) (1k,-3,-45) (10k,-10,90)
OUT+OUT-
IN+IN-
G2
V(%IN+, %IN-)GFREQ
TABLE = (10,0,0) (1k,-3,-45) (10k,-10,90)
OUT+OUT-
IN+IN-
V1
V1
0
0
0
R2
1k
0
0
0
EFREQ
1Vac0Vdc
IDB
VD
B
144
In Out0v 0v1v 1v2v 4v3v 9v4v 16v
TABLE
freq dB deg
FTABLE
VD
B
V V
TABLE
FTABLEV1
FREQ = 1KVAMPL = 4VOFF = 0
AC = 1DC = 0
DC,Tran 해석용
ABM 모델(6) - (TABLE, FTABLE)
freq dB deg10Hz -1 020Hz -3 -3030Hz -6 -9040Hz -10 -12050Hz -15 -150
VP
0
DC = 0
TABLE : 입력에 대해 Row1-5의 IN, OUT에 주어진 대로 출력값을
내며 그 중간값들은 interpolation(보간)하여 나타낸다.
FTABLE : 입력에 대해 Row1-5의 freq, dB, deg에 주어진대로
출력값을 내며 그 중간값들은 보간하여 나타낸다.
AC 해석용
145
10
-10
LIMIT
1
5
-5
GLIMIT
12.5
-2.5
SOFTLIM
IN
VVVV
0
OUT
V1
FREQ = 1KVAMPL = 15VOFF = 0
ABM 모델(7) - (LIMIT, GLIMIT, SOFTLIM)
0
LIMIT : 규정된 상측과 하측값 외의 값을 자른다
GLIMIT : GAIN 요소가 포함된 LIMIT
SOFTLIM : GAIN 요소가 포함된 LIMIT이며 자를 때
SOFT하게 처리
146
V1TD = 0
TF = 1nPW = 10uPER = 20u
V1 = 0
TR = 1n
V2 = 10v
1.0 d/dt1.0
INTV VV
IN INT_DIF
ABM 모델(8) - (INTEG, DIFFER)
PER 20u0
INTEG : GAIN 요소를 가진 적분기
DIFFER : GAIN 요소를 가진 미분기
147
1.2KHz800Hz
0.1dB 50dBLOPASS
1.2KHz800Hz
0.1dB 50dBHIPASS
HPF
VD
BV
DB
LPF
ABM 모델(9) - (LOPASS, HIPASS, BANDPASS, BANDREJ)
HIPASS
0.1dB 50dB800Hz
1.2KHz2KHz3KHz
BANDPASS
0.1dB50dB800Hz
1.2KHz2KHz3KHz
BANDREJ
V11Vac0Vdc BPF
BRF
VD
BV
DB
0
148
Model Editor ; Schematic Entry
때때로 기존의 PSpice model을 수정하는 것이 필요하다. 이것은 한 두개의 parameter를 변경하여 기존의
model과 비슷한 model을 만들 수 있고 MonteCarlo 혹은 Worst Case analysis 수행하기 위해 오차를
추가할 수 있다.
model을 수정하는 몇 가지 방법이 있다. 모든model libraries가 ASCII text files로 되어 있어서 text editor로
수정 할 수 있다. Schematics에서 model editor을 제공한다.
이 두 방법은 자동적으로 새로운 라이브러리 환경을 구성하고 파일이 중복되는 것을 막는다.
R11. 회로 구성 : VDC, R, AGND, D1N750심벌을 사용한다.
149
1k
D1D1N750
V10Vdc
0
V 2. 그림처럼 Voltage marker를 배치한다.
시뮬레이션 설정
.DC V1 10V
3. Simulate 하고 Probe에서 결과를 본다. 4-5V에서 클립된
전압을 보게 된다.
4. D1N750 symbol을 클릭한다.
Edit > PSpice Model 선택 후 View Model Editor을
시작한다.
Model Editor ; use Model Editor
D1D1N750
편집하고자 하는 부품 선택.
Capture Menu > Edit > Pspice Model 클릭.
Model Editor 실행.
Monte Carlo에서 저항에 오차를 입력하는방법과 동일함.
xxx.olb 파일xxx.lib 파일
150
Model Editor에서 보이듯이 D1N750의 제너 전압은 BV에 의해 Set되어 있으며, BV는 Breakdown Voltage
이다. 원본의 D1N750의 BV는 4.7로 SET되어 있지만 이것을 8.0으로 변경 시 Models list란의 Attribute가
수정됐음을 확인할 수 있다.
여기서 BV를 8.0으로 변경 후 저장한다. 저장된 파일은 Capture에서 작업 중인 프로젝트에 저장되며, 원본에
Save As 형식으로 저장된다.
Model Editor ; Edit model
.model D1N750 D(Is=880.5E-18 Rs=.25 Ikf=0 N=1 Xti=3 Eg=1.11 Cjo=175p M=.5516
+ Vj=.75 Fc=.5 Isr=1.859n Nr=2 Bv=8 Ibv=20.245m Nbv=1.6989
+ Ibvl=1.9556m Nbvl=14.976 Tbv1=-21.277u)
* Motorola pid=1N750 case=DO-35
* 89-9-18 gjg
* Vz = 4.7 @ 20mA, Zz = 300 @ 1mA, Zz = 12.5 @ 5mA, Zz =2.6 @ 20mA
PSpice에서 정의하는 Model Format은 아래와 같이 .model로 시작되며, Model name의 첫 문자는 숫자로입력되어 질 수 없다. 이 후 model Type을 입력해야 하며, 이 Type들은 아래와 같다.
Model Editor-supported device types
151
Diode .MODEL D bipolar transistor .MODEL QDarlington model .SUBCKT X IGBT . .MODEL ZJFET . .MODEL J power MOSFET .MODEL Moperational amplifier** .SUBCKT X voltage comparator** .SUBCKT X
nonlinear magnetic core .MODEL K voltage reference** .SUBCKT X
voltage regulator** .SUBCKT X
.model <<Model name>> <<Model Type>>(Model Parameter…….
+ Model parameter…
+ Model parameter…
.end 마지막 명령 종료.
Model Editor ; Edit model
Pspice에서의 Model Editing 하는 방법으로 다음과 같이도 가능하다.
Parametric Sweep에서
- Model Parameter를 선택한 다음
- Model type과 Model name을 설정
- 변화를 시키고자 하는 Parameter
name을 입력시킨 다음
- Sweep type에서 값을 지정
152
V_V1
3.0V 4.0V 5.0V 6.0V2.5V 6.5V... V(R1:2)
2.0V
4.0V
6.0V
Simulation 결과
- 오른쪽 그림과 같이 Bv에 따라서 값의 변화를 볼 수 있다.
거의 모든 Model에서 값의 변화를 줄 수가 있다.
Subcircuit Subcircuit 제작법은 여러 가지 방법이 있다.
결과적으로 ASCII의 format으로 이루어진 lib 파일을 제작하는 것이 목적이며, 이전 단원에서 사용한 Model
Editor에서는 Capture에서 사용되는 Olb파일을 자체적으로 생성시켜 준다.
Lib 파일을 만드는 방법에는 반도체 벤더 Web page에 Open된 라이브러리를 개인 pc로 불러 들이는 방법과
작업 중 Schematic을 lib format으로 제작하는 방법이 있다.
두 번째 언급한 Schematic을 lib format으로 제작하는 방법에는 Capture에서 지원되는 Create Netlist를 이용
할 수 있으며, Hierarchy형식 및 Subcircuit형식을 이용 가능하다.
일반 .model 형식과 구분되는 것은 Capture에서 사용되는 심벌을 지원하지는 않으며, Subckt format이 아래와
같이 차이가 있다. <format을 이해하고, Capture에서 netlist 생성시 필요한 Subckt 핀을 자체 생성해 주어야 함.
153
* Subckt model format
. Subckt <<subckt name>> <<pin name>>
Schematic netlist
….
…. (Subckt 회로 구성도)
. Model ……. (사용된 Model 정의)
. Ends (명령 종류)
* connections: non-inverting input* | inverting input* | | positive power supply* | | | negative power supply* | | | | output* | | | | |.subckt LF411 1 2 3 4 5~ ~vln 0 92 dc 25.model jx NJF(Is=12.50E-12 Beta=743.3E-6 Vto=-1).ends
U1
LF411
+3
-2
V+7
V-4
OUT 6
B1 1
B2 5
Lsec1
356
1
Rs21 AC_IN
D1
D1N4004
D2
D1N4004
D3 D4
AC_SEC1
C1
680u
1
2
R11k
2
1
DC_SEC1K
COUPLING=
K1
0.85K1041T060_3E2A
L1 = LpriL2 = Lsec1L3 = Lsec2
V+
V+
트랜스포머 SubCircuit(K1041T060_3E2A, [R,L,C:analog_p.olb])(1)
V1
FREQ = 60VAMPL = 230VOFF = 0
Lpri5200
1
2
356
2
Rvg
1G
2 1
0.01
0
D1N4004 D1N4004
2 1
Lsec2
271
1
2
D5
D1N4004
D6
D1N4004
D7
D1N4004
D8
D1N4004
AC_SEC2
C2
220u
1
2
R21k
2
1
DC_SEC2
V
V-
V+
V-
V-
V+
V-
154
RS
0 01 1
Lsec1
356
1
2VAC
SEC1
AC_IN
SEC1K
COUPLING=
K2
0.85K1041T060_3E2A
L1 = LpriL2 = Lsec1L3 = Lsec2
트랜스포머 모델 만들기(핀 정의)(2)
0.01
RVG
1G
SEC2
Lpri
5200
1
2
2V
Lsec2
271
1 2
GND
SEC_VG
SEC2
SEC_VG
155
트랜스포머 Netlist 만들기(3)
모델명 수정
핀 순서
156
트랜스포머(Model Editor에서 Capture용 라이브러리 만들기)(4)
157
C:\OrCAD_Data\my_xfrm.olb를 찾아 선택
트랜스포머(라이브러리 추가)(5)
모델 수정
158
트랜스포머(라이브러리 디자인 추가)(6)
159
U1
1
2
3
4
5
V1
FREQ = 50VAMPL = 230VOFF = 0
R11k
0
SEC1
V
V-
V-
V+
트랜스포머(Sub Circuit Model을 이용한 해석)(7)
MY_XFRM
R21k
SEC2
V+
160
- PSpice Model Down load Sitehttp://www.orcadpcb.com (PSpice Category)
All semiconductor manufacture company
- PSpice Model 다운 받은 후 Capture library 제작 방법.1. down 받은 파일 형식은 *.lib or *.mod or *.txt
2. Model editor 실행하여 다운받은 파일 Open
( lib파일의 형식이 아닌 경우 Open 후 Save as하여 lib파일 형식으로 저장한다. )
Vender Model
161
( 파일의 형식이 아닌 경우 p 후 하여 파일 형식 저장한다 )
3. Model editor > File Menu > Export to Capture part.
4.다운 받은 lib파일을 불러오기
Olb파일 저장위치 선정
Create parts for library의 대화창은 다운
받은 lib파일의 형식을 Capture에서 사용할
수 있도록 Capture용 라이브러리를 자동
생성해 주는 기능이며, 앞 절에서 설명한
Capture에서 사용되는 각종 속성들을 자동
생성해 준다.
PSpice Lab
162
V1
FREQ = 1kVAMPL = 50VOFF = 0
R1
0.5
R2
0.5
R3
1k
TX2
L1_TURNS = 2000L2_TURNS = 1000COUPLING = 0.99
V
V
( ) 2 2 1
1 1 2
a V IV I
= ≈= 권선수 비
( )1 2
MKL L
=Coupling계수 L1,L2 : 각 코일의 자기(Self) 인덕턴스M : 상호(Mutual) 인덕턴스K : 두 진동 시스템이 얼마나 잘 연결되어
있는지를 판단할 수 있는 수
트랜스포머(비선형: XFRM_NONLINEAR) – 강압 변압기
0 0
TN33_20_11_2P90
R4 1G(접지분리)
163
V1
FREQ = 1kVAMPL = 50VOFF = 0 R2
1k
-+
+-
E1
E
GAIN = 0.5
VV
E-전원 변압기(E/analog.olb)
0 0RG 1G(접지분리)
164
R2100k
V
V
V1
FREQ = 1kVAMPL = 50VOFF = 0
R1
0.01
R3
100k
TX1
COUPLING = 0.94L1_VALUE = 10mHL2_VALUE = 30mH
( ) 1 2M K L L=상호인덕턴스
트랜스포머(선형 : XFRM_LINEAR) – 승압기
0
R4 1G
0
165
Exam ; BJT를 이용한 정 전압 회로
R1750
R22.7k
R3 10
R4
300
R6100k
Q1Q2N3904
Q2Q2N3904
Q3Q2N2222
V1
{DC}
out
IV
I(R6)
V(R6)
166
R52.7k
C10.1uD1
D1N750
0
PARAMETERS:DC = 30V
V(R6)
Exam ; Steady State Data <vibrator>
10V
167
아래내용을 체크하여 정상 가동 상태(Steady State)의 시뮬레이션을 실행한다.
또는 C3의 초기값을 입력하거나 Special lib에서 IC의 소자를 이용 가능하다.
Time
0s 5ms 10ms 15ms 20ms 25ms 30msV(D1:1)
-10V
0V
10V
Exam ; Tri_Red_OSC
U3A
LM324
+3
-2
V+4
V-11
OUT 1
U4A
LM324
+3
-2
V+4
V-11
OUT 1
C1
0.01uF
R
100k
R2 200k
TRI
REC
0
0
V
V
IC= 12
+
VCC
VCC
VEE
VEE
펄스파 및 삼각파 생성기
168
R1 100k
200k
Time
0s 2ms 4ms 6ms 8ms 10msV(TRI) V(REC)
-20V
-10V
0V
10V
20V
Exam ; Steady State Data <vibrator>
* Specifications Harris
data books
* 1 ANALOG INPUT
* 2 ANALOG OUTPUT
* 3 CONTROL
* 4 VDD (POSITIVE SUPPLY)
* 5 VSS (NEGATIVE SUPPLY)
U2
GND
TRIGGER2
OUTPUT3
RESET4
CONTROL5
THRESHOLD6
DISCHARGE7
VCC
8
0
V110V
R210k
R1
20k
VV
V
U1A
CD4016B
IN1
OUT2
VC13
VD
D14
VSS
7 R31k
in
V2
FREQ = 60VAMPL = 5VOFF = 5V
in
0
CD4016B : CMOS QUAD BILATERAL SWITCH
169
1C1 C2
1u
* 5 VSS (NEGATIVE SUPPLY)
Time
0s 10ms 20ms 30ms 40msV(U1A:VC) V(U1A:IN)
-10V
0V
10VV(R3:2)
-10V
0V
10V
SEL>>
Simulation Setting (Steady State)
샘플링 신호
및 변조신호
피변조 신호
555B
GND
0
100n
IC = 0
0
C)R2(R
1.44T1fT
ba
⋅⋅+
===
Exam ; N배 반전기
V1
FREQ = 1k
VOFF = 0VAMPL = 1
+-
VCC
OUT
R2 {rval}
V2
12V
+-
U2
ua741
3
2
74
6
1
5+
-
V+
V-
OUT
OS1
OS2
PARAMETERS:RVAL = 10k
VEE
0
VCCR1
10k V3
-12V
+-
VEE
V
OPAMP를 이용한 N배 반전증폭기
회로이며 Vo / Vi 의 전달함수는
반전증폭기의 회로계산법에서 -( R2/R1 )이므로 R1=10kΩ, R2를 10kΩ,
15kΩ, 20kΩ, 25kΩ, 30kΩ으로 각각
바꿀 경우 Av는 각각
Av = -1, -1.5, -2, -2.5, -3 으로 된다
170
00
Time0s 0.5ms 1.0ms 1.5ms 2.0ms 2.5ms 3.0ms
V(OUT)-4.0V
-2.0V
0V
2.0V
4.0V
Exam ; Voltage control Oscillator(VCO):전압제어발진기
Vin에 인가하는 직류 전압값에 따라 fout에서 출력되는 발진신호의 주파수가 달라지는 회로로 이러한
발진기를 VCO라 하며 PLL(Phased Locked Loop)회로의 한 요소로 사용되는 회로이다.
발진주파수 fout는 인가하는 전압 Vin에 비례하여 높아진다.
V
R3
100kLM324
2
11
- V-
R4
Vin+
LM324
2
11
1
- V-
OUT
C1
1000pF
VEE
VEE
VIN = 3, 6 V일때의 Fout의
변화량{Vin}으로 변경
171
VCC
VCC
U8A3
4
1
+ V+
OUT
Q1
Q2N3904R6 100kD1
D1N4148
R5
100k
0R7 120kV2
-12V
+
-
R4
100k
0
2V-
R2 50k
U7A3
4+ V
+
VCC
fout
0
R1
100k
0
VEE
0
V3
12V
+
-
Exam ; Multi-Vibrator with 555 Timer
V
U1
OUTPUT3
RESET
4
CONTROL 5
THRESHOLD6
DISCHARGE7 VCC
8
V1 R2
3.3k
R1
6.8k
R3
out
172
TH = (0.693 * (R1 + R2) * C1)
V
555altGND
1
TRIGGER
2
5V
R31k
C10.22uIC = 0
C20.1u
trigger
0TL = (0.693 * R2 * C1)
Exam ; 리사쥬 도형
V1
FREQ = 1KVAMPL = 1VOFF = 0
PHASE = 0
V2
FREQ = 2KVAMPL = 1VOFF = 0
PHASE = 30
YX
VV
일단 시간해석
V(Y)
V(X)
173
0
X축 더블클릭 후 버튼 누름
V(Y) 클릭하면 X축이V(Y) 값이 됨
Exam ; 트랜지스터를 이용한 멀티바이브레이터
out1 V15Vdc
IC=5
R1680
R282k
R382k
R4680
C1
1u
C2
1uout2
174
0
IC=5+
VV
Q1
Q2N3904
Q2
Q2N3904
신호원이 없는 발진회로이므로 IC라는 초기조건을 이용해야 하며 5V의 짧은 순간의 전압을 인가한다.
• 스테핑 모터 : 매 펄스 수에 따라 모터의 축은 정해진 각도로 회전하며펄스간격을 알맞게 조정하면 구동방식과 속도제어를 할 수 있는 모터로 스텝모터는 내부를 구성하는 고정자라 불리우는 극의 수에 따라 단상(1상), 2상, 3상, 4상 등의 종류가 있다. 여기서 말하는 상이란 위상을 말하며 모터의내부에 몇조의 코일을 고정자에 감겨있는 코일) 갖고 있느냐를 말한다.
a
스테핑 모터 1상 여자 방식(1)
1a
3a
2a
4a
b
4상 스테핑 모터구조
175
U1
O0 3
O1 2
O2 4
O37
O410
O51
O65
O7 6
O8 9
O9 11
CLK14
CLKINHIBIT13
ES
ET
SSCARRYOUT12
CLKDSTM1
OFFTIME = 1msONTIME = 1msDELAY =STARTVAL = 0OPPVAL = 1 LO
1a
2a1b
2b
Q1
TIP122
RB_1a
6.2k
211a
0Q2
TIP122
RB_1b
6.2k
211b
R_1a
3021
R_1b
3021
12V
VV
VV
스테핑 모터 회로(2)
CD4017B
RE
15
VS
8
CARRYOUT
R13k
2
1
0
0
V112V
0
12V
0Q3
TIP122
RB_2a
6.2k
21
0
2a
Q4
TIP122
RB_2b
6.2k
212b
0
R_2a
3021
R_2b
3021
12V
여자 펄스 발생회로
Stepping 모터 구동회로
Stepping 모터
176
1a
1b
2a
2b
step 1a 1b 2a 2b HEX
CW 1 1 0 0 0 8
1상 여자 스텝 모터 각 방향에 대한 값(3)
CW 1 1 0 0 0 8
2 0 1 0 0 4
3 0 0 1 0 2
4 0 0 0 1 1
5 1 0 0 0 8
6 0 1 0 0 4
7 0 0 1 0 2
8 0 0 0 1 1
177
1a
1b
2a
2b
2a
2b
1상 여자 스텝 모터 각 방향(4)
1a
1b
1a
1b
2a
2b
178
1a
1b
2a
2b
step 1a 1b 2a 2b HEX
CW 1 1 0 0 1 9
2상 여자 스텝 모터 각 방향에 대한 값(5)
2 1 1 0 0 C
3 0 1 1 0 6
4 0 0 1 1 3
5 1 0 0 1 9
6 1 1 0 0 C
7 0 1 1 0 6
8 0 0 1 1 3
179
1a
1b
2a
2b
2a
2b
2상 여자 스텝 모터 각 방향(6)
1a
1b
1a
1b
2a
2b
180
스테핑 모터 출력펄스(7)
181
Sample and Hold Circuit
V1
FREQ = 1kVAMPL = 50VVOFF = 0
+ -
+ -
SbreakS1
V1 = 0V2 = 5
C11u
R110k0
0
V
V
182
V2TD = 0
TF = 0PW = 0.001mPER = 0.1m
TR = 0
V2 5 10k
0
00
Sbreak : 전압제어 스위치로 신호원이 정확히
전압제어를 하지 못할 때
정밀한 스위칭 제어시 사용
DAC 회로
0
Mod-128Mod-64Mod-32Mod-16Mod-8Mod-4Mod-2CLK
R1
1k
V110V
V
V
VV
V
U1
DAC8break
DB713
DB612
DB511
DB410
DB39
DB28
DB17
DB06
AGND
OUT3
REF4
CLKMod-128OFFTIME = 64uS
ONTIME = 64uSDELAY =STARTVAL = 0OPPVAL = 1
CLKMod-64OFFTIME = 32uS
ONTIME = 32uSDELAY =STARTVAL = 0OPPVAL = 1
CLKMod-32OFFTIME = 16uS
ONTIME = 16uSDELAY =
CLKMod-8OFFTIME = 4uS
ONTIME = 4uSDELAY =STARTVAL = 0OPPVAL = 1
Mod-128
Mod-32
Mod-64 CLKMod-4OFFTIME = 2uS
ONTIME = 2uSDELAY =STARTVAL = 0OPPVAL = 1
CLKMod-2OFFTIME = 1uS
ONTIME = 1uSDELAY =
Mod-8
Mod-2
Mod-4
183
00
VV
VV
DAC8break5
DELAY =STARTVAL = 0OPPVAL = 1
CLKMod-16OFFTIME = 8uS
ONTIME = 8uSDELAY =STARTVAL = 0OPPVAL = 1
Mod-16
DELAY =STARTVAL = 0OPPVAL = 1
CLKCLKOFFTIME = .5uS
ONTIME = .5uSDELAY =STARTVAL = 0OPPVAL = 1
CLK