Professional Documents
Culture Documents
1. Introduction:
This document contains the description of the ArmstrongGX SI directory structure, links, and spice files. It contains 3
different spice templates for TX, RX. The TX by itself has a TX driver with 100-ohm internal termination resistor. The RX
by itself has a RX receiver with 100-ohm internal resistor; a sample backplane and ideal driver is included.
2. Directory Structure:
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
There are 4 directories under armGX/. Inc directory contains all files called by spice files. Tx, rx, and tx_rx directories contains
spice template that can be modified depending on the application.
./inc/ : this directory contains the following:
include files (parameters, options,)
patterns (input, ouput, prbs, ), and script to generate data input pattens
spice netlists of drivers/receivers
./tx/ : contains the spice template to run TX block.
3. Spice simulation:
i. tx.cir:
ii. rx.cir:
TX driver netlist
RX receiver netlist
- Process Corner:
i. 2sgx_tt.inc : Typical / Typical process corner
ii. 2sgx_ff.inc : Fast / Fast process corner
iii. 2sgx_ss.inc : Typical / Typical process corner
- Data input
i. tx_data_input: TX input data
- Scripts:
i.
ii.
iii.
iv.
v.
vi.
tx_ingen: generates the spice input patterns for TX. Type tx_ingen in ./inc/ directory for instruction.
d0_gen, d1_gen, d2_gen, & d3_gen: sub-scrips of tx_ingen.
rx_ingen: generates the spice input patterns for RX.
rgen: a sub-script of rx_ingen
prbs7.bit: a sample of prbs7 binary bits.
Example: When 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.
b. TX Driver:
VCCHX
VID
VCCHTX
VCCTX
Below (figure 1) is the TX driver block diagram. The left has one TX input signal (VID) and the rest are RAM bits to control
the eye opening, the pre-emphasis, the slew rate, the termination resistor, and the common mode voltage. 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 detail of every pin.
TX_VOD_SEL[2:0]
TX_PRE_EM_1T[3:0]
TXP_NEAR
TX_PRE_EM_2T[2:0]
TX
Driver
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
TX_PRE_EM_PT[2:0]
TX_SIGINV_2T
TXN_NEAR
TX_SIGINV_PRE
TX_R_SLEW
VSSX
TX_TERM_SEL[1:0]
TX_VTT[1:0]
Pin description:
i. TX data input
a. VID: TX data input. Data input can be any data pattern.
TX_VOD_SEL[2:0]
000
001
010
011
100
101
110
111
Hspice Setting
vod_2ma
vod_4ma
vod_6ma
vod_8ma
vod_10ma
vod_12ma
vod_14ma
vod_reserve
iii. Pre-emphasis:
a.
Hspice Setting
tx_1tap0
tx_1tap0p5
tx_1tap1p0
tx_1tap1p5
0100
0101
0110
0111
1000
1001
1010
1011
1100
b.
2.0mA
2.5mA
3.0mA
3.5mA
4.0mA
4.5mA
5.0mA
5.5mA
6.0mA
tx_1tap2p0
tx_1tap2p5
tx_1tap3p0
tx_1tap3p5
tx_1tap4p0
tx_1tap4p5
tx_1tap5p0
tx_1tap5p5
tx_1tap6p0
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
TX_PRE_EM_2T[2:0]
000
001
010
011
100
101
110
111
c.
TX_PRE_EM_PT[2:0]
000
001
010
011
100
101
110
111
d.
e.
TX_TERM_SEL[1:0]
00
01
120 Ohms
10
100 Ohms
11
r120_tt
r120_ff
r120_ss
r100_tt
r100_ff
r100_ss
rext
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
TX_VTT[1:0]
00
01
10
11
$ 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
v. Power/ground:
.param pwrq=1.2v
.param pwrqh=3.3v
.param pwrqm=1.5v
vcchx vcchx 0 pwrqh
vcchtx vcchtx 0 pwrqm
vcctx vcctx 0 pwrq
vssx vssx 0 0
vi. Temperature:
.temp 85
$ Typical temperature
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
c. RX Receiver:
VCCRX
Below (figure 2) 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
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
RXP
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
RX
Driver
RXN
RX_RBIT_DC[1:0]
RX_VTT[2:0]
VSSX
RX_TERM[1:0]
Pin description:
i. RX data input
a. RX_INP: positive RX data input.
b. RX_INN: negative RX data input
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
Hspice Setting
dc_gain0
dc_gain1
dc_gain2
dc_gain3
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
RX_TERM[1:0]
00
01
10
11
AC Coupled
RXIPPAD
PORT1
BP
INPP
RXP
RX_INP
Ideal
Driver
Rx
PORT3
BP
INNN
RX_INN
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
RXINPAD
RXN
DC Block
(AC cap)
Encrypted
Figure 3: A ideal driver drives Altera RX receiver through a backplane and an AC cap.
i. <rx_spice_file>.spi : RX spice template which can be modified depending on the application.
ii. Netlist:
.include ../inc/rx.cir
v. Power/ground:
.param pwrq=1.2v
vccrx vccrx 0 pwrq
vvssx vssx 0 0
vi. Temperature:
$ 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
.temp 85
vii. Input data pattern
.param tdrate=6.5e9
.param trfx=10ps
.param vlox=-0.3v
.param vhix=0.3v
.param vcom=0v
.param bit_num=300
.inc ../inc/rx_data_input
$ Typical temperature
Al
M ter
en a
to Co
r G nf
ra ide
ph nt
ics ial
viii. Ideal driver: This ideal driver can be replaced with any real driver.
.include ../inc/filter_enc.inc
$ Ideal driver filter
X1_filt rxippad port1 vssx synth_driver $ Ideal driver hooks to rxippad port
X1_filt rxinpad port3 vssx synth_driver $ Ideal driver hooks to rxinpad port
ix. Backplane connection:
S1 port1 inpp port3 innn vssx mname=bp_name
.model bp_name s tstonefile=s.channel1.s4p
x. AC couple capacitance:
Cacp inpp rx_inp 1mf
Cacp innn rx_inn 1mf