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

  • From: Ed Sayre III <esayre3@xxxxxxxx>
  • To: Chris.Cheng@xxxxxxxxxxxx
  • Date: Wed, 15 Feb 2006 14:30:15 -0500

Chris,
   If your Bit pattern is set by the input of a PWL source, then you only 
get one run though the link before the "random" pattern is 
repeated.  HSPICE cannot change the PWL source on the fly.  That being 
said, the longer the input pattern the more random the distribution.
    One idea, of the top of my head,  might use the .alter statement to 
change a random variable generator constant to recreate the variability in 
the pattern for each pattern pass.   I have not done this, but I think it 
would be straight forward with a bit of parsing in the end to extract the 
different data streams.

Regards
-Ed






At 10:19 AM 2/15/2006 -0800, you wrote:
>If your channel response is linear. How does a separate analysis with Rj 
>only convoluted with the impulse response of the channel different from 
>what you are doing ? How many bit do you think is need to simulate in 
>SPICE a BERT of 10e-14 or -18 ?
>
>________________________________
>
>From: si-list-bounce@xxxxxxxxxxxxx on behalf of Hassan O. Ali
>Sent: Wed 2/15/2006 9:02 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.
>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 = 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=TRval UI=UIval HI=HIval LO=LOval
>+JD=JDval JR=JRval
>.param J='(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:
> >
> > May be its just me but Rj only makes sense when you are trying to 
> 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:
> > >
> > >> Hi,
> > >>
> > >>
> > >> I am running gigabit Ethernet link simulation using HSPICE and have a=20
> > >> question on adding jitter to the transmitted data. Is there any way 
> to=20
> > >> add Gaussian jitter to the transmitted data?  I know that tools such as
> > >>
> > >
> > >
> > >> 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:
>                 //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
>
>
>
>
>
>------------------------------------------------------------------
>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
>
>
>
>!DSPAM:43f3712f305531194239245!

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