Академический Документы
Профессиональный Документы
Культура Документы
Stratix-II GX HSSI
Encrypted Spice Model
User Guide
ALTERA Corporation
Confidential
Release 0.2
1. Introduction:
This document is the spice model user guide for the High Speed Serial Interface (HSSI) Transmitter and Receiver for
Stratix II GX product family. The information in this document enables the user to configure the spice models to his/her
requirement. It contains 3 different spice templates for TX, RX and TX+RX combined.
The document will discuss the naming convention for the spice models, file layout and organization, control nodes for the
transmitter and receiver along with the procedure for using the various settings. Please go over the document before running
the simulations.
2. Directory Structure:
Figure 1 shows the directory structure of the Stratix II GX spice model kit.
SIIGX_IO
|_______inc
|
|
|_______ tx
|
|
|_______ rx
|
|
|_______ tx_rx
inc: This directory contains the encrypted spice netlists for the I/O structures, the encrypted transistor process model libraries,
control setting files, data input files and script to generate data input patterns. Here is the detailed description of files under ../inc/
directory.
- Netlist:
i. tx.cir:
Encrypted TX driver netlist
ii. rx.cir:
Encrypted RX receiver netlist
iii. rx_run_w_tx_only.cir: Reduced RX receiver netlist when running with Altera TX (a few shared subckts are
taken out to avoid duplicated subckts get to redefined twice).
- Process Corner:
i. 2sgx_tt.inc : Encrypted process model for typical/typical corner
ii. 2sgx_ff.inc : Encrypted process model for fast/fast corner
iii. 2sgx_ss.inc : Encrypted process model for slow/slow corner
- Data input
i. tx_data_input: TX input data file
ii. rx_data_input: RX input data file (when running signal generator T-line RX)
iii. signal_generator.inc: Signal generator source
- Scripts:
i. tx_ingen: generates the spice input data file for TX. Type tx_ingen in ./inc/ directory for instruction. The
scripts can only be used under UNIX platform.
ii. de_gen & do_gen: sub-scripts of tx_ingen.
iii. rx_ingen: generates the spice input data file for RX.
iv. rgen: sub-script of rx_ingen
v. prbs7.bit: a sample of prbs7 binary bits.
vi. Example: Executing the command ./tx_ingen prbs7.bit inside the ./inc/ directory, a tx_data_input file will be
generated. Prbs7.bit can be replaced with any other binary file with 0100101011 pattern.
ALTERA Corporation
Confidential
Release 0.2
Note: Change the permission for above scripts to executable by typing the following line in Unix/Linux window
under./inc/ directory: chmod a+x *gen*.
- Control setting files:
i. tx_setting.inc: library file to control all TX settings
ii. rx_setting.inc: library file to control all RX settings.
- Spice output file :
i. tx_probe.inc: probing nodes of TX blocks
ii. rx_probe.inc: probing nodes of RX block
tx: this directory contains the sample spice template using the transmitter model.
-
rx: this directory contains the sample spice template using the receiver model.
-
tx_rx: this directory contains the sample spice template using both the transmitter and receiver model.
- tx_bp_rx.spi: spice template for TX Backplane (T-line) RX simulation
3. Transmitter
Driver Model:
Figure 2 is the TX driver block diagram. The left side are the TX input signals (VID) and the control nodes for pre-emphasis
settings, slew rate settings, termination resistor settings, and common mode voltage settings. The top has the power pins and
the bottom has the ground pins. The right has the near-end output pins (TXP_NEAR/TXN_NEAR). See the pin description
for more details.
TX_VOD_SEL[2:0]
VCCHTX
TX_CLK/TX_CLKB
VCCTX
VID
TX_PRE_EM_1T[3:0]
TX_PRE_EM_2T[2:0]
TX_PRE_EM_PT[2:0]
TX_SIGINV_2T
TX_SIGINV_PRE
TX
Driver
TXP_NEAR
TXN_NEAR
TX_R_SLEW
VSSX
TX_TERM_SEL[1:0]
TX_50[4:0]
TX_VTT[1:0]
Pin description:
i. TX data input & Clocks
a. VID: TX input signals. VID is a short representation of 4 differential input signals (2 pairs). These 2
pairs are:
TX_DE/TX_DEB: Differential pair of TX even data inputs
TX_DO/TX_DOB: Differential pair of TX odd data inputs.
ALTERA Corporation
Confidential
Release 0.2
Note: The odd/even data input is running at half the real data rate. They are combined and serialized
into a single serial data inside the TX block. They are taken care in the tx_data_input file (which can
be automatically generated using the tx_ingen script).
For example:
TX_DE:
TX_DO:
TX_CLK
TX_CLKB
VID (Serial Input data):
b.
0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0
1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1
10101010101010101010101010101010101010101010
01010101010101010101010101010101010101010101
____________________________________________
01010001011111010110111010011101010011011101
The bit patten of the serial input data (input to TX driver) is the same as the serial output data at
TXP_NEAR pin.
TX_CLK/TX_CLKB: Differential pair of Clocks to capture the above even/odd data and shift into the
TX driver. TX_CLK samples TX_DE & TX_CLKB samples TX_DO to produce VID.
ALTERA Corporation
Confidential
Release 0.2
TX_PRE_EM_2T[2:0]: level control for the pre-emphasis 2nd tap.
Table3: Second tap pre-emphasis settings
TX_PRE_EM_2T[2:0]
2nd Tap Pre-em Level
Hspice Setting
000
Disable the pre-emphasis 2nd tap
tx_2tap0
001
1
tx_2tap1
010
2
tx_2tap2
011
3
tx_2tap3
100
4
tx_2tap4
101
5
tx_2tap5
110
6
tx_2tap6
111
7
tx_2tap7
Note: Please refer to table 5 for LEGAL pre-emphasis settings with different VOD voltage levels
b.
c.
Note:
refer to
LEGAL
emphasis
with
VOD
levels
d.
Please
table 5 for
presettings
different
voltage
TX_SIGIN
Table 5: LEGAL Hspice Settings for Pre-Emphasis taps with different VOD levels
ALTERA Corporation
Confidential
Release 0.2
Level
VOD
(mv)
ALTERA Corporation
Pre_Tap
1st Tap
2nd
Taps
Confidential
Level
VOD
(mv)
Pre_Tap
1st Tap
2nd Taps
Release 0.2
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
200
200
200
200
200
200
200
200
200
200
200
200
400
400
400
400
400
400
400
400
400
400
400
400
600
600
600
600
600
600
600
600
600
600
600
600
800
800
800
800
800
800
800
800
800
800
800
800
Tx_prtap1
Tx_prtap2
Tx_prtap3
Tx_prtap4
Tx_prtap5
NaN
NaN
NaN
NaN
NaN
NaN
NaN
Tx_prtap1
Tx_prtap2
Tx_prtap3
Tx_prtap4
Tx_prtap5
Tx_prtap6
Tx_prtap7
NaN
NaN
NaN
NaN
NaN
Tx_prtap1
Tx_prtap2
Tx_prtap3
Tx_prtap4
Tx_prtap5
Tx_prtap6
Tx_prtap7
NaN
NaN
NaN
NaN
NaN
Tx_prtap1
Tx_prtap2
Tx_prtap3
Tx_prtap4
Tx_prtap5
Tx_prtap6
Tx_prtap7
NaN
NaN
NaN
NaN
NaN
tx_1tap1
tx_1tap2
tx_1tap3
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
tx_1tap1
tx_1tap2
tx_1tap3
tx_1tap4
tx_1tap5
tx_1tap6
NaN
NaN
NaN
NaN
NaN
NaN
tx_1tap1
tx_1tap2
tx_1tap3
tx_1tap4
tx_1tap5
tx_1tap6
tx_1tap7
tx_1tap8
tx_1tap9
tx_1tap10
NaN
NaN
NaN
tx_1tap2
tx_1tap3
tx_1tap4
tx_1tap5
tx_1tap6
tx_1tap7
tx_1tap8
tx_1tap9
tx_1tap10
tx_1tap11
tx_1tap12
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
NaN
NaN
NaN
NaN
NaN
NaN
NaN
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
Note:
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1200
1400
1400
1400
1400
1400
1400
1400
1400
1400
1400
1400
1400
tx_prtap1
tx_prtap2
tx_prtap3
tx_prtap4
tx_prtap5
tx_prtap6
tx_prtap7
NaN
NaN
NaN
NaN
NaN
tx_prtap1
tx_prtap2
tx_prtap3
tx_prtap4
tx_prtap5
tx_prtap6
tx_prtap7
NaN
NaN
NaN
NaN
NaN
tx_prtap1
tx_prtap2
tx_prtap3
tx_prtap4
tx_prtap5
tx_prtap6
tx_prtap7
NaN
NaN
NaN
NaN
NaN
NaN
NaN
tx_1tap3
tx_1tap4
tx_1tap5
tx_1tap6
tx_1tap7
tx_1tap8
tx_1tap9
tx_1tap10
tx_1tap11
tx_1tap12
NaN
NaN
NaN
tx_1tap4
tx_1tap5
tx_1tap6
tx_1tap7
tx_1tap8
tx_1tap9
tx_1tap10
tx_1tap11
tx_1tap12
NaN
NaN
NaN
NaN
tx_1tap5
tx_1tap6
tx_1tap7
tx_1tap8
tx_1tap9
tx_1tap10
tx_1tap11
tx_1tap12
NaN
= illegal
settings
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
tx_2tap1
tx_2tap2
tx_2tap3
tx_2tap4
tx_2tap5
tx_2tap6
tx_2tap7
NaN
NaN
NaN
NaN
NaN
Confidential
Release 0.2
TX_TERM_SEL[1:0]
00
01
10
11
Note: TX_50[4:0] are internal control signals for termination resistance values. The user does not need to
worry about these nodes. The above HSpice settings (table 6) will take care of them.
v. Common mode voltage control:
TX_VTT[1:0]: control signals for common-mode termination voltage
TX_VTT[1:0]
00
01
10
11
ALTERA Corporation
Confidential
Release 0.2
.include ../inc/tx.cir
Below statement assigns all the pin names to the TX_TOP sub-circuit instance.
XTX TXN_NEAR TXP_NEAR TX_504 TX_503 TX_502 TX_501 TX_500 TX_CLK TX_CLKB TX_DE
+ TX_DEB TX_DO TX_DOB TX_PRE_EM_1T3 TX_PRE_EM_1T2 TX_PRE_EM_1T1 TX_PRE_EM_1T0
+ TX_PRE_EM_2T2 TX_PRE_EM_2T1 TX_PRE_EM_2T0 TX_PRE_EM_PT2 TX_PRE_EM_PT1
+ TX_PRE_EM_PT0 TX_R_SLEW TX_SIGINV_2T TX_SIGINV_PRE TX_TERM_SEL1 TX_TERM_SEL0
+ TX_VOD_SEL2 TX_VOD_SEL1 TX_VOD_SEL0 TX_VTT1 TX_VTT0 VCCHTX VCCTX VSSX TX_TOP
+ s=1u
Note: s=1u specifies all device parameters inside the TX_TOP subckt are scaled with 1um.
$ Hierarchical scale
$ Final Scale = scale * s = 1.0 * 1u = 1um
Note: when using this model with another device model other than Alteras, please make sure that these
scale options are set correctly. The default settings are s=1u in the subckt call, scale=1.0 and .option
hier_scale=1 is turned ON. If other device(s) use scale=1u or scale=1e-6, then the s=1u in the
subckt call should be changed to s=1 because the final scale is the product of these two scales.
.options badchr co=132 acct ingold=2 nomod probe captab=0
*.options badchr co=132 acct post=1 nomod probe captab=0
The first option line is for Viewtrace display, the second one is for Awave display.
badchr
$ warns if a nonprintable character in input
co=132
$ Set number of columns of output
scale=1e-6
$ Linear scaling factor for L & W dimensions (um)
acct
$ generate a detail accounting/statistic report.
ingold=2
$ Define output format as exponential
nomod
$ Suppress model parameter output
probe
$ Suppress post-analysis output to only variables in
$.probe, .print, .plot, & .graph statements
captab=0
$ 1=Report node capacitances at each operating point
csdf=2
$ Set output for Viewtrace element templates display
post=1
$ Set output for Awave element template display
accurate
$ 1= Sets timestep to give better TRAN accuracy
See spice manuals for more options.
iii. Process corner
.inc ../inc/2sgx_tt.inc
$ Typical/Typical corner
$ For Fast/Fast corner, change 2sgx_tt.inc to 2sgx_ff.inc
$ For Slow/Slow corner, change 2sgx_tt.inc to 2sgx_ss.inc
iv. Power/ground:
.param pwrq=1.2v
.param pwrqm=1.5v
vcchtx vcchtx 0 pwrqm
vcctx vcctx 0 pwrq
vssx vssx 0 0
v. Temperature:
.temp 25
$ Typical temperature
ALTERA Corporation
Release 0.2
vii. Clocks:
vtx_clk tx_clk 0 pulse(0 pwrq '1/tdrate-trfx/2' trfx trfx '1/tdrate-trfx' '2/tdrate')
Etx_clkb tx_clkb 0 VOL='( (v(tx_clk)-pwrq)*(-1) )'
viii. Pre-emphasis setup:
.lib ../inc/tx-setting.inc tx_prtap0 $ Disable the pre-tap pre-emphasis. See table 4 for more settings.
.lib ../inc/tx_setting.inc tx_1tap0 $ Disable the 1st tap pre-emphasis. See table 2 for more settings.
.lib ../inc/tx_setting.inc tx_2tap0 $ Disable the 2nd tap pre-emphasis. See table 3 for more settings.
ix. Termination resistor:
.lib ../inc/tx_setting.inc r100_tt
4. RX Receiver:
Below (Figure 3) is the RX driver block diagram. The left has two TX input signals (RX_INP/RX_INN) and the rest are
RAM bits to control the equalizer, the dc gain, the common mode voltage, and the termination resistor. The top has the
ALTERA Corporation
Confidential
10
VCCRX
Release 0.2
power pins and the bottom has the ground pins. The right has RX output pins (RXP/RXN) to the CDR. See the pin
description for more detail of every pin.
RX_INP
RX_INN
RX_RBIT_DC[1:0]
RXP
RX
Driver
RXN
RX_VTT[2:0]
RX_TERM[1:0]
VSSX
RX_B50[4:0]
Pin description:
i. RX data input
a. RX_INP: positive RX data input.
b. RX_INN: negative RX data input
ii. Equalizer gain:
a. RX_EQ: table 8 shows 16 available equalizer settings for RX driver
Gain level
Bypass (0dB)
Low Gain
(3-7dB)
Med Gain
(8-12dB)
High Gain
(12-16dB)
Hspice Setting
EQ_BP
EQ_L0
EQ_L1
EQ_L2
EQ_L3
EQ_L4
EQ_M0
EQ_M1
EQ_M2
EQ_M3
EQ_M4
EQ_H0
EQ_H1
EQ_H2
EQ_H3
EQ_H4
ALTERA Corporation
11
Release 0.2
RX_RBIT_DC[1:0]
00
01
10
11
DC gain level
0 dB
3 dB
3 dB
6 dB
Hspice Setting
dc_gain0
dc_gain1
dc_gain2
dc_gain3
RX_B50[4:0]: are internal controlled signals for termination resistance values. The user needs not to worry
about these nodes. The above hspice settings (table 11) will take care of them.
vi. Power and Ground:
VCCRX: 1.2v power supply for RX driver
VSSX:
Common ground
vii. RX data output to the CDR:
RXP: Positive differential output pin
RXN: Negative differential output pin
ALTERA Corporation
Confidential
12
Release 0.2
Inputs Must Start from a
common point
AC Coupled
RXIPPAD
SG_P
INPP
BP
Signal
Generator
RXINPAD
RXP
RX_INP
Rx
SG_N
BP
INNN
RX_INN
RXN
DC Block
(AC cap)
Figure 4: A signal generator drives Altera RX receiver through a backplane and an AC cap.
i. siggen_bp_rx.spi: RX spice template which can be modified depending on the application.
ii. Netlist:
.include ../inc/rx.cir
Below statement assigns all the pin names to the RX_TOP sub-circuit instance.
XRX_TOP RX_EQA RX_EQB RX_EQC RX_EQD RX_EQV RX_INP RX_INN RX_RBIT_DC1
+ RX_RBIT_DC0 RXP RXN RX_B504 RX_B503 RX_B502 RX_B501 RX_B500 RX_TERM1
+ RX_TERM0 RX_VTT2 RX_VTT1 RX_VTT0 VCCRX VSSX RX_TOP
+ s=1u
Note: s=1u specifies all device parameters inside the TX_TOP subckt are scaled with 1um.
$ Hierarchical scale
$ Final Scale = scale * s = 1.0 * 1u = 1um
Confidential
13
Release 0.2
accurate
$ 1= Sets timestep to give better TRAN accuracy
See spice manuals for more options.
iv. Process corner
.inc ../inc/2sgx_tt.inc
v. Power/ground:
.param pwrq=1.2v
vccrx vccrx 0 pwrq
vvssx vssx 0 0
vi. Temperature:
.temp 25
$ Typical/Typical corner
$ For Fast/Fast corner, change 2sgx_tt.inc to 2sgx_ff.inc
$ For Slow/Slow corner, change 2sgx_tt.inc to 2sgx_ss.inc
$ Low voltage power supply
$ 1.2v power supply
$ Ground
$ Typical temperature
viii. Ideal driver: This ideal driver can be replaced with any real driver.
.include ../inc/signal_generator.inc
$ Ideal Signal Generator
Xsiggen_p rxippad sg_p vssx signal_gen $ Signal generator hooks to rxippad port
Xsiggen_n rxinpad sg_n vssx signal_gen $ Signal generator hooks to rxinpad port
ix. Backplane connection:
*** Loss Less T-line ****
T_lossless_p sg_p vssx inpp vssx ZO=50 TD=0.05ns
T_lossless_n sg_n vssx innn vssx ZO=50 TD=0.05ns
For the backplane, a loss less transmission line is used here. The customer can replace the T-line with
his/her backplane S-parameter by replacing the T_lossless_p/_n with S1 (as shown below).
your_backplane.s4p is the s-parameter file name of the customer backplane.
*** S-parameter Backplane ***
S1 sg_p inpp sg_n innn vssx mname=bp_name
.model bp_name s tstonefile='../inc/your_backplane.s4p'
x. AC couple capacitance:
Cacp inpp rx_inp 1mf
$ AC cap on rx_inp node
Cacp innn rx_inn 1mf
$ AC cap on rx_inn node
Note: the capacitance value can be varied depending on the customers application.
xi. Equalizer gain setting:
.lib ../inc/rx_setting.inc EQ_BP
ALTERA Corporation
Confidential
14
Release 0.2
xiv. Termination resistor:
.lib ../inc/rx_setting.inc r100_tt
X1_eye
Y_eye
X2_eye
Figure 5: Eye mask for the differential output of the RX
5. TX BP RX:
This section shows the Altera TX driver that drives the Altera RX receiver block through a backplane and AC caps. Figure 6
shows a simplified diagram for the connection of these two blocks. Please refer to the TX and RX sections for the settings.
ALTERA Corporation
Confidential
15
Release 0.2
AC Coupled
TXP_NEAR
VID
BP
RXP
RX_INP
TX
Rx
TXN_NEAR
BP
INPP
INNN
RX_INN
RXN
DC Block
(AC cap)
Pin description:
Please refer to the TX Driver and RX receiver sections for pin description and settings.
Note:
1.
2.
ALTERA Corporation
Please refer to the TX driver and RX receiver sections for more information.
The value of the AC caps varies depending to the customers application. If bigger cap value is used,
then it takes longer time for the TXP_NEAR/TXN_NEAR to settle down longer simulation run
time is needed.
Confidential
16
Release 0.2
Release History
version
Date
Details of Release
0.1
February 2006
0.2
March 2007
ALTERA Corporation
Confidential
17
Release 0.2
Copyright 2006 Altera Corporation. All rights reserved. Altera, The Programmable Solutions
Company, the stylized Altera logo, specific device designations and all other words and logos
that are identified as trademarks and/or service marks are, unless noted otherwise, the
trademarks and service marks of Altera Corporation in the U.S. and other countries.* All other
product or service names are the property of their respective holders. Altera products are
protected under numerous U.S. and foreign patents and pending applications, mask work
rights, and copyrights.
Note: This is a non-public, draft document that is not intended or approved for release or
distribution outside of Altera or for any use by a third party, except pursuant to an executed
non-disclosure agreement. The specifications, data and information contained herein are
merely preliminary and may not be relied upon for any purpose unless and until a final
document has been published by Altera. Accordingly, except as expressly agreed to in a
writing signed by an officer of Altera, Altera and its licensors (i) assume no responsibility or
liability arising out of the application or use of any specifications, data, information, product, or
service described or provided herein, (ii) make no warranties, representations or guarantees
as to the accuracy, completeness or genuineness of such specifications, data, information,
product, or service, and (iii) specifically disclaim any implied warranties of merchantability, noninfringement, or fitness for a particular purpose as to such items.
ALTERA Corporation
Confidential
18