Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chirp spectrum wikipedia , lookup
Utility frequency wikipedia , lookup
Immunity-aware programming wikipedia , lookup
Mathematics of radio engineering wikipedia , lookup
Sound level meter wikipedia , lookup
Multidimensional empirical mode decomposition wikipedia , lookup
Scattering parameters wikipedia , lookup
Rectiverter wikipedia , lookup
Agenda DAY 2 Synopsys 60-I-032-BSG-005 4 S-Parameters and Linear Analysis 5 Transmission Lines and Field Solver 6 IBIS © 2007 Synopsys, Inc. All Rights Reserved 4- 1 Unit Objectives After completing this unit, you should be able to: Use linear analysis to extract network parameters Use S-elements 4- 2 S-Parameter Basics S (or scattering) parameters is another way to describe a linear multi-terminal network The independent variables are the injection wave (a) and the reflection wave (b) (a) and (b) are column vectors while (S) is a square matrix consists of reflection coefficients sij: (b) = (S)(a) ai is the normalized injection wave of port i bi is the normalized reflection wave of port i sij = bi/aj when matched impedances are connected to the ports other than port j sii = bi/ai when matched impedances are connected to the ports other than port i 4- 4 3 Two-Port Scattering Parameters s21 s11 Black box s22 s12 S11 = input reflection coefficient S21 = forward transmission coefficient (gain) S12 = reverse transmission coefficient (isolation) S22 = output reflection coefficient S-parameter matrix: s11 s12 S s21 s22 4- 6 4 Linear Multi-Port Parameter Analysis A linear N-port network is completely characterized at each frequency by a complex NxN signal-transfer matrix and a complex NxN noise correlation matrix The .LIN analysis will automatically extract these matrices for a multi-port network and make available a broad set of derived measurements (makes .NET obsolete) This analysis will internally compute Full S-parameter matrix Noise parameters (reduced to 2-port) P1 b=Sa P2 Requires identification of the port terminals Use new “P” port element 4- 8 5 Linear Characterization HSPICE capable of extracting: [S], [Y], [Z], [H] parameters, VSWR Noise parameters (with correlation) Maximum, available, and associated gains Stability factors Impedance matching coefficients Output file formats Sc0, TouchStone, CITIFILE 4- 10 6 Port (P) Element Identifies the ports used in .LIN analysis Behaves as either a noiseless resistance or a voltage source in series with the port impedance for all analyses types Each port number must be a unique number No shared ports Port numbers must be sequential Each port has an associated system impedance, Z0 If not specified, Z0=50 The system impedance can be overridden for a specific analysis type using the keywords rdc, rac, or rtran 4- 12 7 Port Element Syntax Pxxx p n port=number + <dc mag> <ac <mag <phase>>> + <one tran waveform> + <zo=val> <rdc=val> <rac=val> + <rtran=val> Examples: P1 in 0 port=1 ac=1 p2 out 0 port=2 4- 14 8 .LIN Analysis Syntax .LIN <sparcalc = [1|0] <modelname = …> + <filename = …> <format=[selem|citi|touchstone]> + <noisecalc = [0|1]> <gdcalc = [0|1]>> Examples: .LIN sparcalc=1 modelname=custom + filename=cad1 format=touchstone + noisecalc=1 gdcalc=1 .LIN sparcalc=1 modelname=bpf + format=selem 4- 16 9 .LIN Keywords Sparcalc Modelname S element (.sc#) file, citi file format, touchstone format Noisecalc Output filename (default is the netlist name) Format Model name in the .model statement listed in the .sc# file Filename Calculate S-parameters (default=1) If 1, extract 2-port noise parameters (default=0) Gdcalc If 1, extract group delay analysis (default=0) 4- 18 10 HSPICE Linear Characterization Setup as .AC swept frequency analysis P1 LNA P2 Add port elements *HSPICE Linear LNA Analysis Add .LIN command Several new .LIN measurements then available *… P1 in gnd port=1 z0=50 xLNA in out LNA P2 out gnd port=2 z0=50 .AC LIN 101 100MEG 10G .LIN noisecalc=1 .PROBE AC S11 S12 S21 S22 .PROBE AC NFMIN RN GAMMA_OPT Dumps *.sc0 data file with Scattering and noise parameters 4- 20 11 .LIN Parameter Definitions (1/4) Network Parameters S - scattering parameters Y - admittance parameters Z - impedance parameters H – hybrid parameters 1 and 2 port only, derived from S-parameters If more than 2 ports, ports numbered 3 and above are terminated in their port characteristic impedance 4- 22 12 .LIN Parameter Definitions (2/4) Optimum Matching for Noise Parameters ZOPT - source impedance which achieves minimum noise YOPT - source admittance which achieves minimum noise Noise Figure NF - noise figure NFMIN - noise figure minimum (source at ZOPT) Group delay T, TD - group delay from port=1 to port=2 4- 24 13 .LIN Parameter Definitions (3/4) Noise correlation RHON - Correlation coefficient between the input noise voltage and the input noise current Equivalent noise resistance and conductance RN - noise equivalent resistance GN - noise equivalent conductance Noise correlation impedance and admittance ZCOR - Noise correlation impedance YCOR - Noise correlation admittance 4- 26 14 .LIN Parameter Definitions (4/4) Stability Parameters K_STABILITY_FACTOR - Rollett stability factor Gain Parameters G_AS - associate gain - maximum gain at the minimum noise figure G_MAX - maximum available/operating power gain Matching for optimum gain parameters GAMMA_S_OPT - source reflection coefficient which achieves maximum available power gain GAMMA_L_OPT - load reflection coefficient which achieves maximum operating power gain 4- 28 15 Introduction to Noise Analysis (1/3) Random disturbance signal in circuit Device noise is noise from circuit elements (random/stochastic) Flicker Noise Thermal Noise Shot Noise Interference noise is noise from circuit environment Ground bounce Crosstalk Substrate noise 4- 30 16 Introduction to Noise Analysis (2/3) Device noise models are native to HSPICE devices .LIN and .AC analysis are used to perform the noise analysis Noise is modeled in frequency domain (FD) Noise amplitude is random in time domain (TD) Noise power is finite if signal is bandwidth limited Power Spectral Density (PSD) in FD HSPICE and SPICE random device noise models are not evaluated with .TRAN analysis 4- 32 17 Introduction to Noise Analysis (3/3) Two types of PSD profiles for standard noise sources Bandwidth limited where power concentrated in a frequency range Flicker noise Flat power distribution across all frequencies (white noise) Thermal noise Shot noise 4- 34 18 Noise Representation (1/2) Total power of a noise signal is the integral of the PSD function with respect to frequency Vrms of the noise signal represent RMS of average power carried by a noise source in a 1-Hz bandwidth around f with 1 normalized load Reference noise signal to input sinusoidal signal Noise limits the smallest input signal the circuit can handle Allow a fair comparison of different circuit topology 4- 36 19 Noise Representation (2/2) HSPICE noise calculation based on AC nodal voltages HSPICE calculates the noise generated in each device and its contribution to the noise output Total output noise voltage is the RMS sum of the individual noise sources 4- 38 20 Noise Types (1/3) Thermal Noise Random movements of electrons in a conductor Independent of DC current (resistor only) Proportional to temperature Gaussian amplitude distribution, Independent of frequency, white spectrum 4- 40 21 Noise Types (2/3) Shot Noise Random passage of electrons and holes across a potential barrier (P-N junction) Dependent of DC current Proportional to DC bias current Gaussian amplitude distribution, independent of frequency, white spectrum 4- 42 22 Noise Types (3/3) Flicker Noise (1/f Noise) Fluctuations in the average current travel time in a conductor Dependent of DC current Native to all active devices Manufacturing process related Non-Gaussian amplitude distribution, Dependent of frequency, pink spectrum 4- 44 23 Noise Calculation Example Setup as .AC swept frequency analysis Add port elements Add .LIN command with noisecalc=1 Several new .LIN measurements then available * A Common Source NMOS amplifier .options list post .model n_tran nmos level=49 version=3.22 AF=.826 KF=4e-29 vdd vdd 0 DC=5 p1 in 0 port=1 ac=0.1 dc=2.1 z0=50 p2 out vdd port=2 z0=20k rs in g1 50 m1 out g1 0 0 n_tran l=1.5u w=40u .ac dec 10 10Meg 10G .lin noisecalc=1 .print ac v(out) onoise .end Dumps *.sc0 data file with Scattering and noise parameters 4- 46 24 S-Element Two types of S-element are supported: S-parameter Y-parameter Y-parameter is the traditional admittance matrix for a multi-terminal network: (I)=(Y)(U) (I) is a column vector representing the current of each port (U) is a column vector representing the voltage of each port (Y) is the admittance matrix of the multi-terminal network 4- 48 25 S-Element Syntax Sxxx nd1 nd2 ... ndN nd_ref + <MNAME = S_model_name> <FQMODEL=sp_model_name> + <TYPE=[S|Y]> <INTDATTYP =[RI|MA|DBA]> + <Zo=[value|vector_value]> + <FBASE=base_frequency> <FMAX=maximum_frequency> + <PRECFAC=val> + <DELAYHANDLE=[1|0|ON|OFF]> <DELAYFREQ=val> + <INTERPOLATION=STEP|LINEAR|SPLINE> + <HIGHPASS=[3|2|1|0]> <LOWPASS=[2|1|0]> + <DTEMP=val> + <NOISE=[1|0]> 4- 50 26 S-Element Rules The only required field is the nodes and must be defined before any optional parameters If MNAME is not specified, FQMODEL must be set The optional arguments may come in any order All the optional parameters except MNAME may be set in both the S-element statement and the S model statement Parameters in the element statement have higher priority 4- 52 27 S-Element Keywords (1/4) nd1 nd2 … ndN: N signal nodes nd_ref: reference node MNAME: S model name FQMODEL: SP model name TYPE: parameter type S: scattering parameter, default Y: Y parameter Zo: characteristic impedance value of the reference line Default is 50 ohms TSTONEFILE: name of the Touchstone file containing frequency-dependent data Touchstone file must follow the file extension rule: filename.s#p, where # represents the dimension of the network CITIFILE: Name of the citifile containing frequency dependent data 4- 54 28 S-Element Keywords (2/4) FBASE: Base frequency used for transient analysis Default value of FBASE is reciprocal value of the transient period (1/TSTOP) S-parameters are converted in to time domain for transient analysis using IFFT (Inverse Fast Fourier Transform) FBASE is the sampling frequency Lower values of FBASE will give more accurate results but, will increase simulation time Samples taken at f=0, FBASE,2*FBASE, 3*FBASE …, N*FBASE – where N*FBASE < FMAX Interpolation and extrapolation are used to obtain the sampled frequency points If the S-parameter file contains a sufficient number of points, there will be no error introduced in the IFFT If FBASE is set smaller than the reciprocal value of the transient period, the transient analysis will perform circular convolution, with the reciprocal value FBASE as the base period 4- 56 29 S-Element Keywords (3/4) FMAX: Maximum frequency used in transient analysis INTDATTYP: Data type for the linear interpolation of the complex data Maximum frequency point for Inverse Fourier Transformation The default value of FMAX is reciprocal of the rise time of the voltage source used in the transient analysis During the transient analysis, extrapolation is performed if sufficient frequency range is not specified in the S-parameter file RI – real, imaginary MA – magnitude, angle DBA – magnitude in dB, angle PRACFAC: Precondition factor Precondition is used to avoid infinite admittance matrix Default = 0.75 (good for most cases) 4- 58 30 S-Element Keywords (4/4) DELAYHANDLE: Delay handler DELAYFREQ: Delay frequency Activates the measurement of group delay for transmission-line type parameters Group delay is the rate of change of phase with frequency, d/df DELAYHANDLE = ON (or 1) to turn on delay handle Default = OFF(or 0) Sets the frequency point at which finite difference computation of group is carried out when DELAYHANDLE=1 Default = FMAX (good for most cases) If the S-parameter file contains noisy data around the maximum frequency range, numerical errors may occur, then set DELAYFREQ to a value lower than FMAX If DELAYHANDLE is set OFF but, DELAYFREQ is nonzero, the S-element will be simulated in delay mode INTERPOLATION: The interpolation method STEP: piecewise step LINEAR: piecewise linear SPLINE: b-spline curve fit 4- 60 31 S-Element Keywords (5/5) HIGHPASS: Method to extrapolate higher frequency points LOWPASS: Method to extrapolate lower frequency points 0: cut off 1: use the magnitude of the lowest point 2: perform linear extrapolation using the magnitude of the lowest two points DTEMP - Temperature difference between the element and the circuit in degrees Celsius 0: cut off 1: use highest frequency point 2: perform linear extrapolation using the highest 2 points 3: apply the window function to gradually approach the cut-off level (default) Default=0 NOISE – Activate or de-activate thermal noise Noise=1 – The element will generate thermal noise (default) Noise=0 – The element will be considered noiseless 4- 62 32 S-Parameter Model Syntax .MODEL Smodel_name S <N=dimension> + [FQMODEL=sp_model_name|TSTONEFILE=filename| + CITIFILE=filename] + <TYPE=[S|Y]> <Zo=[value|vector_value]> + <FBASE=base_frequency> + <FMAX=maximum_frequency> <PRECFAC=val> + <DELAYHANDLE=[1|0|ON|OFF]> <DELAYFREQ=val> Smodel_name, S, and, FQMODEL are required Only one model type, FQMODEL, TSTONEFILE or, CITIFILE should be specified If more than one method is specified, the first one will be used and a warning message will be issued 4- 64 33 SP Model Syntax .model modelname sp [N=val FSTART=val FSTOP=val + NI=val SPACING=val MATRIX=val VALTYPE=val + INFINITY=matrixval DC=matrixval + INTERPOLATION=val EXTRAPOLATION=val] + [DATA=(npts …)] [DATAFILE=filename] SP models are generated when the default format is used for linear analysis The *.sc0 file will contain .model lines for both SP model and S model 4- 66 34 SP Model Keywords (1/3) N: Matrix dimension (# of terminals), default=1 FSTART: starting frequency, default=0 FSTOP: final frequency (use for LOG or LIN spacing) NI: number of frequency points per interval (only for DEC and OCT spacing) Npts: number of data points SPACING: Data sample spacing format: LIN: uniform spacing OCT: octave variation DEC: decade variation LOG: logarithmic spacing POI: nonuniform spacing 4- 68 35 SP Model Syntax (2/3) MATRIX: Matrix (data point) format: SYMMETRIC: symmetric matrix, default HERMITIAN: similar to symmetric but off-diagonal terms are complex-conjugate of each other NONSYMMETRIC: A full matrix is specified VALTYPE: data type of matrix elements: REAL: real entry CARTESIAN: complex number in real/imaginary format, default POLAR: complex number in polar format (angles in radians) INFINITY: Data point at infinity, not counted in number of points DC: Data point at frequency=0, not counted in number of points: Required to specify INFINITY for L&C Required if there is no data point at frequency=0 4- 70 36 SP Model Syntax (3/3) INTERPOLATION: interpolation scheme: STEP: piecewise step (default) LINEAR: piecewise linear SPLINE: use B-spline EXTRAPOLATION: extrapolation scheme: NONE: no extrapolation is allowed STEP: the last boundary point is used (default) LINEAR: linear extrapolation using last two points DATA: specifies data points: LINEAR, OCT, DEC case: data=npts d1 d2 … POI case: data=npts f1 d1 f2 d2 … 4- 72 37 SP Model Example Example of a SP Model File: .MODEL fmod sp N=3 FSTOP=30MegHz + DATA= 2 + 1.0 0.0 + 0.0 0.0 1.0 0.0 + 0.0 0.0 0.0 0.0 1.0 0.0 + 0.97409 -0.223096 + 0.00895303 0.0360171 0.964485 -0.25887 + -0.000651487 0.000242442 0.00895303 + 0.0360171 0.97409 -0.223096 Values are expressed as real, imaginary 4- 74 38 Using S-Parameters Example * run S-element in time domain .option post .tran 1n 80n Vin in 0 DC=1v AC=1v pulse(0 1 0 5n 5n 10n 40n) ***** original circuit (for comparison) ***** L1 inOrg outOrg C1 outOrg 0 5n 100p Rin in inOrg 50 Rout outOrg 0 50 ***** S-parameter representation ***** S1 s1in s1out 0 mname=Smodel .MODEL Smodel S TSTONEFILE=lc.s2p TYPE=S FMAX=5e10 Rin1 in s1in 50 Rout1 s1out 0 50 .end 4- 76 39 Mixed Mode S-Parameters Coupled transmission line schematic port 1 port 2 i1 i2 Line A V1 V2 i3 i4 Line B V3 V4 4- 78 40 Mixed Mode Port Element Required to extract mixed mode S-Parameters .LIN internally sets the necessary drive mode (common/differential) For analyses other than the .LIN analysis, acts as a differential driver Positive nodes with half of their specified voltage Negative nodes with a negated half of the specified voltage 4- 80 41 Extracting Mixed-Mode S-Parameters (1/3) New keyword in the .LIN command .LIN … + [ mixedmode2port = dd|dc|ds|cd|cc|cs|sd|sc|ss ] 4- 82 42 Extracting Mixed-Mode S-Parameters (2/3) To print or probe parameters S|Y|Z<xy>nm<(t)> xy defines the port type If xy is not specified, the value of mixedmode2port will be used nm is the port number (t) is the type D – differential C – common S – single-ended dB, m, p, r, i Print/Probe Format Examples .print sdd11(db) sdd21(db) sdd22(db) .print zds11(m) zds22(m) .print yss11(m) yss22(m) 4- 84 43 Extracting Mixed-Mode S-Parameters (3/3) Default and available values for mixedmode2port keyword depends on port configuration For both port 1 and port 2 single ended For both port 1 and port 2 balanced Available keywords: dd,cd,dc,cc Default: dd For port 1 balanced and port 2 single Available keyword: ss Default: ss Available keywords: ds,cs Default: ds For port 1 single and port 2 balanced Available keywords: sd,sc Default: sd 4- 86 44 Mixed Mode S-Parameter Example *Mixed Mode S-Parameter Example: *Network X1 in1 in2 out1 out2 0 diffnet *Define Ports P1 in1 in2 0 ac=1 Zo=50 port=1 P2 out1 out2 0 Zo=50 port=2 *Define .AC and .LIN .ac lin 1000 1e7 1e10 .lin format=touchstone mixedmode2port=dd : .end 4- 88 45 Mixed-Mode S-Parameter Example Results (1/2) In the S-parameter file, the following parameters are calculated at each frequency ! S(1,1) = SDD(1,1) ! S(1,2) = SDD(1,2) ! S(1,3) = SDC(1,1) ! S(1,4) = SDC(1,2) ! S(2,1) = SDD(2,1) ! S(2,2) = SDD(2,2) ! S(2,3) = SDC(2,1) ! S(2,4) = SDC(2,2) ! S(3,1) = SCD(1,1) ! S(3,2) = SCD(1,2) ! S(3,3) = SCC(1,1) ! S(3,4) = SCC(1,2) ! S(4,1) = SCD(2,1) ! S(4,2) = SCD(2,2) ! S(4,3) = SCC(2,1) ! S(4,4) = SCC(2,2) 4- 90 46 Mixed-Mode S-Parameter Example Results (2/2) If you add the following statement to the netlist .print sdd11(db) sdd21(db) sdd22(db) Results freq sdd11 sdd21 db sdd22 db db 1.0000e+07 -3.121e+01 -2.542e-01 -3.121e+01 2.0000e+07 -2.969e+01 -3.022e-01 -2.969e+01 3.0000e+07 -2.825e+01 -3.420e-01 -2.825e+01 4.0000e+07 -2.691e+01 -3.784e-01 -2.691e+01 5.0000e+07 -2.572e+01 -4.131e-01 -2.572e+01 4- 92 47 Using Mixed Mode S-Parameters (1/2) S-element syntax Sxxx p1+ <p1-> p2+ <p2-> ref mname=Smodel Rules Pn+ and pn- are the positive and negative terminals of the port n, respectively If the port is mixed mode (balanced) then, both positive and negative terminal names are required If the port is single ended then, only one terminal name is required The port numbers must be in increasing order corresponding to the S-matrices notation 4- 94 48 Using Mixed Mode S-Parameters (2/2) S-model syntax .model Smodel S … [mixedmode=<0|1>] + [datatype=XiYjZk] Keywords Mixedmode – Sets type of S-parameter representation to use 1 – Mixed mode S-parameters 0 – (default) Standard S-parameters Datatype – A string that defines the order of indices of the incident/reflected vectors (a and b) Default datatype is a 2 balanced port network, D1D2C1C2 The string must be an array of letter and number pairs, “Xn” – ‘X’ = ‘D’ or ‘d’ indicates differential term – ‘X’ = ‘C’ or ‘c’ indicates common term – ‘X’ = ‘S’, ’s’, ‘G’ or ‘g’ indicates single (grounded) term ‘n’ = port number 4- 96 49 Lab 4: Using .LIN and S-Parameters During this lab, you will: 45 minutes 1. Use the .LIN command to extract S-parameters. Extract S-parameters Use S-element 2. Simulate a circuit containing an Selement. 3. Use the .LIN command to extract noise parameters 4- 98 50