Day 1 - Tistory

92
Cadence OrCAD PSpice V16 Training Guide ㈜나인플러스정보기술 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-4866 http://www.orcad.net [email protected] 담당 : 김태형 연구원, 이양재 대리 Day 1 기본 회로 작업 환경 설정 Tran, DC, AC, BP 해석 P b 윈도우 사용법 Probe 윈도우 사용법

Transcript of Day 1 - Tistory

Page 1: 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 윈도우 사용법

Page 2: Day 1 - Tistory

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로 볼 수 있는 창

Page 3: Day 1 - Tistory

도면 작성 순서

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)를 같은 방법으로 배치.

Page 4: Day 1 - Tistory

- 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에서 이용되는 파일은 그래픽파일이며, 시뮬레이션에서는 그래픽 파일로이용된 데이터가 필요하다.

Page 5: Day 1 - Tistory

부품 선택 후 오른 쪽 마우스를 클릭하여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

Page 6: Day 1 - Tistory

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를 소개한다.

Page 7: Day 1 - Tistory

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

Page 8: Day 1 - Tistory

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

Page 9: Day 1 - Tistory

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로 바꾸면 사용이 가능하다.

Page 10: Day 1 - Tistory

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

Page 11: Day 1 - Tistory

시뮬레이션의 원활한 수행을 위해서는 이에 대한 기본적인 지식을 필요로 하기 때문에 시뮬레이션 설정에대한 내용을 다루기로 한다.

회로 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

Page 12: Day 1 - Tistory

시간을 증가시켜 가면서 회로의 전압, 전류, 디지털 회로의 논리상태 등의 과도상태를 계산한다.

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… : 반도체, 비선형 전원의

바이어스 포인트 데이터의 저장 유무 선택

Page 13: Day 1 - Tistory

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단위로 입력.

Page 14: Day 1 - Tistory

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

Page 15: Day 1 - Tistory

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

를 이용하여야 할 경우 위의 환경 창에 새로운(편집 된) 파일을 링크 하여야만 사용할 수 있다.

Page 16: Day 1 - Tistory

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 값을 변경하여 이를 피할 수 있다.

Page 17: Day 1 - Tistory

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하기 위한 절대적 크기

Page 18: Day 1 - Tistory

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 : 최대 디지털 에러 메시지 제한치

Page 19: Day 1 - Tistory

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 값을 표시

Page 20: Day 1 - Tistory

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 표시

Page 21: Day 1 - Tistory

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을 출력 각 노드에서의 임피던스 해석.

Page 22: Day 1 - Tistory

- 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

Page 23: Day 1 - Tistory

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)

Page 24: Day 1 - Tistory

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가가능하다.

Page 25: Day 1 - Tistory

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

Page 26: Day 1 - Tistory

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가 활성화된다.

Page 27: Day 1 - Tistory

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)))

회로 내에서 사용하는 저항과 반도체 소자는 주로 주파수에 영향을 받는 노이즈를 발생한다. 이러한 발생노이즈에 대해 해석하려면 교류 해석과 병행해야 한다. 즉 교류해석의 각 주파수에 대하여 회로내의 각소자에서 발생하는 노이즈량을 계산하고 출력 노드에 미치는 영향을 분석하고 입력전원과 출력전압 사이의이득을 계산한다. 이러한 계산을 토대로 하여 특정 전원에서의 등가 입력 노이즈량을 계산한다.

Page 28: Day 1 - Tistory

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-

Page 29: Day 1 - Tistory

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

Page 30: Day 1 - Tistory

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

Page 31: Day 1 - Tistory

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=τ

Page 32: Day 1 - Tistory

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

Page 33: Day 1 - Tistory

Exam ; RC 충방전 회로 및 시정수

V1

5V

R1

100k

C1

100u

U1

TOPEN = 501 2

U2TCLOSE = 50

1

2

out

V

충전

65

0

Add Trace

충전

방전

Day 2전압원, 전류원 사용법예제회로(아날로그, 디지털)파라미터 사용법, 성능 분석

Page 34: Day 1 - Tistory

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

Page 35: Day 1 - Tistory

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

Page 36: Day 1 - Tistory

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

Page 37: Day 1 - Tistory

Stimulus Editor를 이용한 파형 만들기(삼각파)

73

VSTIM Part를 불러와서

Implementation 속성을 tri로 수정한다

Stimulus Editor를 이용한 파형 만들기(삼각파)

Part를 선택한 다음 마우스 오른쪽버튼을 눌러 Edit Pspice Stimulus를선택하면 Stimulus Editor가 실행된다

74

Page 38: Day 1 - Tistory

Stimulus Editor를 이용한 파형 만들기(삼각파)

삼각파를 만들기 위해 PULSE를 선택하고

각 항목값을 왼쪽과 같이 입력하는데

이 때 Pulse width와 같이 0이 되어야 하는

항목에 대해 아주 작은 값을 조금이라도

주어야 제대로 된 파형이 나온다.

75

Stimulus Editor를 이용한 파형 만들기(삼각파)

그래프가 너무 좁게 나오므로 Axis Settings에

X 축 시간을 줄여주면 부분 확대를 해서 볼 수 있다.

76

Page 39: Day 1 - Tistory

Stimulus Editor를 이용한 파형 만들기(삼각파)

77

이 파형 파일을 저장하고 회로도에 업데이트 시키면

왼쪽 그림과 같이 파형생성기를 이용한 시뮬레이션을

할 수 있다..

Stimulus Editor를 이용한 파형 만들기(VPWL)

Stimulus Editor를 이용한

VPWL 파형을 생성한다.

78

Page 40: Day 1 - Tistory

지우고 싶은 포인트를 클릭(빨갛게 변함)한 후

Delete 키를 누르면 새로 연결됨

Stimulus Editor를 이용한 파형 만들기(VPWL)

79

Stimulus Editor를 이용한 파형 만들기(VPWL)

80

Page 41: Day 1 - Tistory

Stimulus Editor를 이용한 파형 만들기(Digital Clock)

81

둘 중 한 방법(주파수값, 주기값)을 선택하여 적용

Stimulus Editor를 이용한 파형 만들기(Signal 펄스)

82

더블클릭하면 binary(값)

또는 signal(레벨) 형태로

바꿀 수 있다

Page 42: Day 1 - Tistory

Stimulus Editor를 이용한 파형 만들기(Signal 펄스)

83

Signal 파형을 더블 클릭하면

초기값을 변경할 수 있다.

Stimulus Editor를 이용한 파형 만들기(Bus Signal)

84

연필도구를 선택한 후 파형 변환을 원하는 점에

놓고 마우스를 클릭

Page 43: Day 1 - Tistory

원하는 값을 넣기 위해서 원하는 곳을

더블 클릭하고 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

Page 44: Day 1 - Tistory

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를 편집할 필요가 없게 된다.

Page 45: Day 1 - Tistory

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과 논리값 지정은 한 줄 띄워 지정해야 하는 점을 유의할 것.

Page 46: Day 1 - Tistory

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

Page 47: Day 1 - Tistory

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이 진행.

Page 48: Day 1 - Tistory

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 분석 실행.

Page 49: Day 1 - Tistory

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로 다음 과정으로 넘어간다.

Page 50: Day 1 - Tistory

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까지 걸린

시간이 표현된다.

Page 51: Day 1 - Tistory

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

Page 52: Day 1 - Tistory

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

Page 53: Day 1 - Tistory

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

Page 54: Day 1 - Tistory

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

Page 55: Day 1 - Tistory

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]}

Page 56: Day 1 - Tistory

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로 천이되는 영역에서 통과가 억제되며 직류영역에서는 통과가 순조롭다.

콘덴서의 경우는 반대가 된다.

Page 57: Day 1 - Tistory

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

Page 58: Day 1 - Tistory

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

Page 59: Day 1 - Tistory

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 모델 응용

Page 60: Day 1 - Tistory

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로과연 그렇게

확신할 수 있을까?

Page 61: Day 1 - Tistory

평균과 표준편차

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

Page 62: Day 1 - Tistory

평균과 표준편차

위의 데이터는 아래의 정규분포 그래프 형태로 표시된다. 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”이 됨(평균보다 적은 값에 대한편차 는 음의 값이 되고 큰 값은 양의 값이 됨.)

( )

)xnxn,즉(0

xnxn

xxxx

i

i

ii

⋅=⋅=

⋅−⋅=

−=− ∑ ∑∑1n)x(xS2

i

−−

=

Page 63: Day 1 - Tistory

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이

부여된 상태이다.

Page 64: Day 1 - Tistory

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하게 변화되며,변화된 소자를 기준으로 계산된 결과를 출력하여 목적한 시뮬레이션 결과에 얼마만큼산포를 가지고 있는지 확인한다.

Page 65: Day 1 - Tistory

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 : 최대 값

Page 66: Day 1 - Tistory

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

Page 67: Day 1 - Tistory

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

Page 68: Day 1 - Tistory

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-) 전압제어 전압원의 고유 특성을 갖는 두 입력 핀의 전압 차를 표현.

Page 69: Day 1 - Tistory

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의 응답을 볼 수 있다.

Page 70: Day 1 - Tistory

- 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

Page 71: Day 1 - Tistory

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

Page 72: Day 1 - Tistory

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

Page 73: Day 1 - Tistory

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

Page 74: Day 1 - Tistory

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

Page 75: Day 1 - Tistory

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 형식으로 저장된다.

Page 76: Day 1 - Tistory

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에서 값의 변화를 줄 수가 있다.

Page 77: Day 1 - Tistory

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

Page 78: Day 1 - Tistory

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

Page 79: Day 1 - Tistory

트랜스포머(Model Editor에서 Capture용 라이브러리 만들기)(4)

157

C:\OrCAD_Data\my_xfrm.olb를 찾아 선택

트랜스포머(라이브러리 추가)(5)

모델 수정

158

Page 80: Day 1 - Tistory

트랜스포머(라이브러리 디자인 추가)(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

Page 81: Day 1 - Tistory

- 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

Page 82: Day 1 - Tistory

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

Page 83: Day 1 - Tistory

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)

Page 84: Day 1 - Tistory

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

Page 85: Day 1 - Tistory

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

Page 86: Day 1 - Tistory

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)

Page 87: Day 1 - Tistory

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의 짧은 순간의 전압을 인가한다.

Page 88: Day 1 - Tistory

• 스테핑 모터 : 매 펄스 수에 따라 모터의 축은 정해진 각도로 회전하며펄스간격을 알맞게 조정하면 구동방식과 속도제어를 할 수 있는 모터로 스텝모터는 내부를 구성하는 고정자라 불리우는 극의 수에 따라 단상(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

Page 89: Day 1 - Tistory

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

Page 90: Day 1 - Tistory

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

Page 91: Day 1 - Tistory

스테핑 모터 출력펄스(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 : 전압제어 스위치로 신호원이 정확히

전압제어를 하지 못할 때

정밀한 스위칭 제어시 사용

Page 92: Day 1 - Tistory

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