[SI-LIST] Re: HSPICE - adding jitter to ethernet serial link

  • From: "Beal, Weston" <weston_beal@xxxxxxxxxx>
  • To: <si-list@xxxxxxxxxxxxx>
  • Date: Wed, 15 Feb 2006 10:45:13 -0800


This approach is adequate for most situations, but changing the random
numbers can be laborious. If you like this approach you will like my bit
pattern generator utility. Pulse Train Generator can easily output a
similar bit of text and with the GUI it's easy to change the random
numbers, the bit pattern, and the number of bits. You can get it free at
http://www.si-list.org/files/tools/ptgen235.zip


=20

-----Original Message-----
From: si-list-bounce@xxxxxxxxxxxxx [mailto:si-list-bounce@xxxxxxxxxxxxx]
On Behalf Of Hassan O. Ali
Sent: Wednesday, February 15, 2006 9:03 AM
To: si-list@xxxxxxxxxxxxx
Subject: [SI-LIST] Re: HSPICE - adding jitter to ethernet serial link

A piece-wise linear (PWL) source implemented as below in an HSPICE
subcircuit may be used to simulate RJ and DJ effects on the output.

The total jitter (J) factors (e.g. 0.512, 0.221, etc.) in this case were
generated with a random number generator. The bit pattern is random but
is supposed to mimic an 8B/10B encoding where the maximum run-length
(maximum number of consecutive 1's or 0's) is 5.=20
The pattern length was arbitrarily chosen as 160 bits.

Mind you, this is just one arbitrary way of including DJ and RJ effects.
I'm sure more elaborate ways exist.

Best regards.

Hassan.


************************************************
* HSPICE PWL voltage source
* Parameter description:
* TR - Rise/Fall time of the PWL source
* UI - Unit Interval time (Bit width =3D 1/BitRate)
* HI - Voltage value representing bit "1"
* LO - Voltage value representing bit "0"
* JD - Peak-to-peak deterministic jitter
* JR - Peak-to-peak random jitter
************************************************
.SUBCKT pwl_source node1 node2
+TR=3DTRval UI=3DUIval HI=3DHIval LO=3DLOval
+JD=3DJDval JR=3DJRval
.param J=3D'(JD+JR/2)'
vsrc node1 node2 PWL
+ 0.0    'HI', '0.512*J+UI*1'    'HI',
+ '0.512*J+UI*1+TR'   'LO', '0.221*J+UI*2'    'LO',
+ '0.221*J+UI*2+TR'   'LO', '0.868*J+UI*3'    'LO',
+ '0.868*J+UI*3+TR'   'LO', '0.358*J+UI*4'    'LO',
+ '0.358*J+UI*4+TR'   'LO', '0.379*J+UI*5'    'LO',
+ '0.379*J+UI*5+TR'   'HI', '-0.003*J+UI*6'    'HI',
+ '-0.003*J+UI*6+TR'   'LO', '0.2*J+UI*7'    'LO',
+ '0.2*J+UI*7+TR'   'LO', '0.238*J+UI*8'    'LO',
+ '0.238*J+UI*8+TR'   'LO', '0.197*J+UI*9'    'LO',
+ '0.197*J+UI*9+TR'   'LO', '-0.424*J+UI*10'    'LO',
+ '-0.424*J+UI*10+TR'   'HI', '-0.608*J+UI*11'    'HI',
+ '-0.608*J+UI*11+TR'   'HI', '-0.47*J+UI*12'    'HI',
+ '-0.47*J+UI*12+TR'   'LO', '-0.124*J+UI*13'    'LO',
+ '-0.124*J+UI*13+TR'   'LO', '-0.094*J+UI*14'    'LO',
+ '-0.094*J+UI*14+TR'   'LO', '-0.657*J+UI*15'    'LO',
+ '-0.657*J+UI*15+TR'   'HI', '0.48*J+UI*16'    'HI',
+ '0.48*J+UI*16+TR'   'LO', '-0.052*J+UI*17'    'LO',
+ '-0.052*J+UI*17+TR'   'LO', '0.208*J+UI*18'    'LO',
+ '0.208*J+UI*18+TR'   'HI', '-0.15*J+UI*19'    'HI',
+ '-0.15*J+UI*19+TR'   'HI', '-0.097*J+UI*20'    'HI',
+ '-0.097*J+UI*20+TR'   'LO', '0.089*J+UI*21'    'LO',
+ '0.089*J+UI*21+TR'   'LO', '-0.535*J+UI*22'    'LO',
+ '-0.535*J+UI*22+TR'   'LO', '0.096*J+UI*23'    'LO',
+ '0.096*J+UI*23+TR'   'LO', '-0.433*J+UI*24'    'LO',
+ '-0.433*J+UI*24+TR'   'LO', '0.603*J+UI*25'    'LO',
+ '0.603*J+UI*25+TR'   'LO', '-0.119*J+UI*26'    'LO',
+ '-0.119*J+UI*26+TR'   'HI', '-0.847*J+UI*27'    'HI',
+ '-0.847*J+UI*27+TR'   'HI', '-0.234*J+UI*28'    'HI',
+ '-0.234*J+UI*28+TR'   'HI', '-0.056*J+UI*29'    'HI',
+ '-0.056*J+UI*29+TR'   'LO', '-0.535*J+UI*30'    'LO',
+ '-0.535*J+UI*30+TR'   'LO', '-0.564*J+UI*31'    'LO',
+ '-0.564*J+UI*31+TR'   'HI', '-0.191*J+UI*32'    'HI',
+ '-0.191*J+UI*32+TR'   'LO', '0.16*J+UI*33'    'LO',
+ '0.16*J+UI*33+TR'   'LO', '-0.552*J+UI*34'    'LO',
+ '-0.552*J+UI*34+TR'   'LO', '0.277*J+UI*35'    'LO',
+ '0.277*J+UI*35+TR'   'HI', '-0.491*J+UI*36'    'HI',
+ '-0.491*J+UI*36+TR'   'LO', '0.463*J+UI*37'    'LO',
+ '0.463*J+UI*37+TR'   'LO', '-0.166*J+UI*38'    'LO',
+ '-0.166*J+UI*38+TR'   'HI', '-0.592*J+UI*39'    'HI',
+ '-0.592*J+UI*39+TR'   'HI', '0.667*J+UI*40'    'HI',
+ '0.667*J+UI*40+TR'   'LO', '-0.296*J+UI*41'    'LO',
+ '-0.296*J+UI*41+TR'   'LO', '-0.11*J+UI*42'    'LO',
+ '-0.11*J+UI*42+TR'   'HI', '-0.608*J+UI*43'    'HI',
+ '-0.608*J+UI*43+TR'   'HI', '-0.351*J+UI*44'    'HI',
+ '-0.351*J+UI*44+TR'   'LO', '0.818*J+UI*45'    'LO',
+ '0.818*J+UI*45+TR'   'HI', '-0.365*J+UI*46'    'HI',
+ '-0.365*J+UI*46+TR'   'LO', '0.201*J+UI*47'    'LO',
+ '0.201*J+UI*47+TR'   'LO', '-0.247*J+UI*48'    'LO',
+ '-0.247*J+UI*48+TR'   'LO', '0.446*J+UI*49'    'LO',
+ '0.446*J+UI*49+TR'   'HI', '0.329*J+UI*50'    'HI',
+ '0.329*J+UI*50+TR'   'LO', '0.706*J+UI*51'    'LO',
+ '0.706*J+UI*51+TR'   'HI', '-0.165*J+UI*52'    'HI',
+ '-0.165*J+UI*52+TR'   'LO', '0.302*J+UI*53'    'LO',
+ '0.302*J+UI*53+TR'   'LO', '0.03*J+UI*54'    'LO',
+ '0.03*J+UI*54+TR'   'HI', '0.152*J+UI*55'    'HI',
+ '0.152*J+UI*55+TR'   'LO', '-0.255*J+UI*56'    'LO',
+ '-0.255*J+UI*56+TR'   'HI', '-0.237*J+UI*57'    'HI',
+ '-0.237*J+UI*57+TR'   'LO', '0.014*J+UI*58'    'LO',
+ '0.014*J+UI*58+TR'   'LO', '0.64*J+UI*59'    'LO',
+ '0.64*J+UI*59+TR'   'LO', '-0.162*J+UI*60'    'LO',
+ '-0.162*J+UI*60+TR'   'LO', '0.311*J+UI*61'    'LO',
+ '0.311*J+UI*61+TR'   'LO', '0.33*J+UI*62'    'LO',
+ '0.33*J+UI*62+TR'   'LO', '-0.301*J+UI*63'    'LO',
+ '-0.301*J+UI*63+TR'   'HI', '-0.513*J+UI*64'    'HI',
+ '-0.513*J+UI*64+TR'   'LO', '0.102*J+UI*65'    'LO',
+ '0.102*J+UI*65+TR'   'LO', '-0.695*J+UI*66'    'LO',
+ '-0.695*J+UI*66+TR'   'LO', '-0.308*J+UI*67'    'LO',
+ '-0.308*J+UI*67+TR'   'LO', '-0.444*J+UI*68'    'LO',
+ '-0.444*J+UI*68+TR'   'LO', '0.387*J+UI*69'    'LO',
+ '0.387*J+UI*69+TR'   'LO', '-0.031*J+UI*70'    'LO',
+ '-0.031*J+UI*70+TR'   'HI', '-0.599*J+UI*71'    'HI',
+ '-0.599*J+UI*71+TR'   'LO', '-0.071*J+UI*72'    'LO',
+ '-0.071*J+UI*72+TR'   'LO', '0.077*J+UI*73'    'LO',
+ '0.077*J+UI*73+TR'   'HI', '0.663*J+UI*74'    'HI',
+ '0.663*J+UI*74+TR'   'HI', '-0.526*J+UI*75'    'HI',
+ '-0.526*J+UI*75+TR'   'LO', '0*J+UI*76'    'LO',
+ '0*J+UI*76+TR'   'LO', '0.193*J+UI*77'    'LO',
+ '0.193*J+UI*77+TR'   'LO', '0.479*J+UI*78'    'LO',
+ '0.479*J+UI*78+TR'   'LO', '-0.055*J+UI*79'    'LO',
+ '-0.055*J+UI*79+TR'   'HI', '0.161*J+UI*80'    'HI',
+ '0.161*J+UI*80+TR'   'LO', '0.404*J+UI*81'    'LO',
+ '0.404*J+UI*81+TR'   'LO', '-0.249*J+UI*82'    'LO',
+ '-0.249*J+UI*82+TR'   'HI', '-0.255*J+UI*83'    'HI',
+ '-0.255*J+UI*83+TR'   'LO', '-0.668*J+UI*84'    'LO',
+ '-0.668*J+UI*84+TR'   'HI', '-0.481*J+UI*85'    'HI',
+ '-0.481*J+UI*85+TR'   'LO', '0.553*J+UI*86'    'LO',
+ '0.553*J+UI*86+TR'   'LO', '0.16*J+UI*87'    'LO',
+ '0.16*J+UI*87+TR'   'HI', '0.392*J+UI*88'    'HI',
+ '0.392*J+UI*88+TR'   'LO', '-0.056*J+UI*89'    'LO',
+ '-0.056*J+UI*89+TR'   'LO', '0.267*J+UI*90'    'LO',
+ '0.267*J+UI*90+TR'   'LO', '0.384*J+UI*91'    'LO',
+ '0.384*J+UI*91+TR'   'LO', '0.79*J+UI*92'    'LO',
+ '0.79*J+UI*92+TR'   'LO', '-0.734*J+UI*93'    'LO',
+ '-0.734*J+UI*93+TR'   'LO', '-0.006*J+UI*94'    'LO',
+ '-0.006*J+UI*94+TR'   'HI', '-0.01*J+UI*95'    'HI',
+ '-0.01*J+UI*95+TR'   'HI', '-0.039*J+UI*96'    'HI',
+ '-0.039*J+UI*96+TR'   'LO', '0.648*J+UI*97'    'LO',
+ '0.648*J+UI*97+TR'   'HI', '0.099*J+UI*98'    'HI',
+ '0.099*J+UI*98+TR'   'LO', '0.409*J+UI*99'    'LO',
+ '0.409*J+UI*99+TR'   'HI', '0.808*J+UI*100'    'HI',
+ '0.808*J+UI*100+TR'   'HI', '0.458*J+UI*101'    'HI',
+ '0.458*J+UI*101+TR'   'LO', '0.709*J+UI*102'    'LO',
+ '0.709*J+UI*102+TR'   'LO', '0.489*J+UI*103'    'LO',
+ '0.489*J+UI*103+TR'   'HI', '0.309*J+UI*104'    'HI',
+ '0.309*J+UI*104+TR'   'LO', '0.637*J+UI*105'    'LO',
+ '0.637*J+UI*105+TR'   'LO', '0.225*J+UI*106'    'LO',
+ '0.225*J+UI*106+TR'   'LO', '-0.052*J+UI*107'    'LO',
+ '-0.052*J+UI*107+TR'   'HI', '-0.1*J+UI*108'    'HI',
+ '-0.1*J+UI*108+TR'   'HI', '0.288*J+UI*109'    'HI',
+ '0.288*J+UI*109+TR'   'LO', '-0.219*J+UI*110'    'LO',
+ '-0.219*J+UI*110+TR'   'LO', '-0.129*J+UI*111'    'LO',
+ '-0.129*J+UI*111+TR'   'LO', '0.035*J+UI*112'    'LO',
+ '0.035*J+UI*112+TR'   'LO', '0.131*J+UI*113'    'LO',
+ '0.131*J+UI*113+TR'   'HI', '-0.23*J+UI*114'    'HI',
+ '-0.23*J+UI*114+TR'   'LO', '0.24*J+UI*115'    'LO',
+ '0.24*J+UI*115+TR'   'LO', '0.684*J+UI*116'    'LO',
+ '0.684*J+UI*116+TR'   'LO', '0.027*J+UI*117'    'LO',
+ '0.027*J+UI*117+TR'   'HI', '0.351*J+UI*118'    'HI',
+ '0.351*J+UI*118+TR'   'LO', '-0.562*J+UI*119'    'LO',
+ '-0.562*J+UI*119+TR'   'LO', '0.831*J+UI*120'    'LO',
+ '0.831*J+UI*120+TR'   'LO', '-0.524*J+UI*121'    'LO',
+ '-0.524*J+UI*121+TR'   'HI', '-0.041*J+UI*122'    'HI',
+ '-0.041*J+UI*122+TR'   'HI', '0.675*J+UI*123'    'HI',
+ '0.675*J+UI*123+TR'   'HI', '-0.035*J+UI*124'    'HI',
+ '-0.035*J+UI*124+TR'   'HI', '0.083*J+UI*125'    'HI',
+ '0.083*J+UI*125+TR'   'LO', '-0.247*J+UI*126'    'LO',
+ '-0.247*J+UI*126+TR'   'HI', '-0.372*J+UI*127'    'HI',
+ '-0.372*J+UI*127+TR'   'LO', '-0.44*J+UI*128'    'LO',
+ '-0.44*J+UI*128+TR'   'HI', '-0.861*J+UI*129'    'HI',
+ '-0.861*J+UI*129+TR'   'LO', '0.162*J+UI*130'    'LO',
+ '0.162*J+UI*130+TR'   'HI', '-0.228*J+UI*131'    'HI',
+ '-0.228*J+UI*131+TR'   'HI', '0.606*J+UI*132'    'HI',
+ '0.606*J+UI*132+TR'   'HI', '-0.002*J+UI*133'    'HI',
+ '-0.002*J+UI*133+TR'   'LO', '0.385*J+UI*134'    'LO',
+ '0.385*J+UI*134+TR'   'HI', '0.012*J+UI*135'    'HI',
+ '0.012*J+UI*135+TR'   'LO', '0.14*J+UI*136'    'LO',
+ '0.14*J+UI*136+TR'   'LO', '-0.286*J+UI*137'    'LO',
+ '-0.286*J+UI*137+TR'   'HI', '-0.124*J+UI*138'    'HI',
+ '-0.124*J+UI*138+TR'   'HI', '0.132*J+UI*139'    'HI',
+ '0.132*J+UI*139+TR'   'HI', '0.65*J+UI*140'    'HI',
+ '0.65*J+UI*140+TR'   'LO', '0.422*J+UI*141'    'LO',
+ '0.422*J+UI*141+TR'   'HI', '-0.173*J+UI*142'    'HI',
+ '-0.173*J+UI*142+TR'   'HI', '-0.701*J+UI*143'    'HI',
+ '-0.701*J+UI*143+TR'   'HI', '0.674*J+UI*144'    'HI',
+ '0.674*J+UI*144+TR'   'LO', '-0.063*J+UI*145'    'LO',
+ '-0.063*J+UI*145+TR'   'LO', '0.697*J+UI*146'    'LO',
+ '0.697*J+UI*146+TR'   'HI', '-0.464*J+UI*147'    'HI',
+ '-0.464*J+UI*147+TR'   'HI', '0.241*J+UI*148'    'HI',
+ '0.241*J+UI*148+TR'   'LO', '0.158*J+UI*149'    'LO',
+ '0.158*J+UI*149+TR'   'HI', '0.725*J+UI*150'    'HI',
+ '0.725*J+UI*150+TR'   'LO', '-0.715*J+UI*151'    'LO',
+ '-0.715*J+UI*151+TR'   'HI', '0.379*J+UI*152'    'HI',
+ '0.379*J+UI*152+TR'   'HI', '-0.341*J+UI*153'    'HI',
+ '-0.341*J+UI*153+TR'   'LO', '0.387*J+UI*154'    'LO',
+ '0.387*J+UI*154+TR'   'HI', '-0.158*J+UI*155'    'HI',
+ '-0.158*J+UI*155+TR'   'LO', '0.637*J+UI*156'    'LO',
+ '0.637*J+UI*156+TR'   'LO', '-0.883*J+UI*157'    'LO',
+ '-0.883*J+UI*157+TR'   'LO', '-0.083*J+UI*158'    'LO',
+ '-0.083*J+UI*158+TR'   'HI', '-0.087*J+UI*159'    'HI',
+ '-0.087*J+UI*159+TR'   'HI', '0.573*J+UI*160'    'HI',
.ends





On Feb 15, "Chris Cheng" <Chris.Cheng@xxxxxxxxxxxx> wrote:
>=20
> May be its just me but Rj only makes sense when you are trying to=20
> extract a BERT curve
which seems to be a MATLAB job.
> If you have your Tx Rj, channel model and jitter transfer of your CDR,

> the rest of the
work is straight forward.
> >
> >
> > At 10:40 AM 2/7/2006 -0800, Ali Burney wrote:
> > =20
> >> Hi,
> >>
> >>
> >> I am running gigabit Ethernet link simulation using HSPICE and have

> >> a=3D20 question on adding jitter to the transmitted data. Is there=20
> >> any way to=3D20 add Gaussian jitter to the transmitted data?  I =
know=20
> >> that tools such as
> >>   =20
> >
> > =20
> >> Hyperlynx allow you to add transmit jitter.
> >>
> >>
> >>
> >> Thanks and best regards,
> >>
> >>
> >>
> >> A Burney
> >>
> >>
> >>
> >>

------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:    =20
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
 =20

------------------------------------------------------------------
To unsubscribe from si-list:
si-list-request@xxxxxxxxxxxxx with 'unsubscribe' in the Subject field

or to administer your membership from a web page, go to:
//www.freelists.org/webpage/si-list

For help:
si-list-request@xxxxxxxxxxxxx with 'help' in the Subject field

List FAQ wiki page is located at:
                http://si-list.org/wiki/wiki.pl?Si-List_FAQ

List technical documents are available at:
                http://www.si-list.org

List archives are viewable at:     
                //www.freelists.org/archives/si-list
or at our remote archives:
                http://groups.yahoo.com/group/si-list/messages
Old (prior to June 6, 2001) list archives are viewable at:
                http://www.qsl.net/wb6tpu
  

Other related posts: