Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 44050

Article: 44050
Subject: Re: synthesis query: Xilinx + Synplify
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Tue, 11 Jun 2002 08:50:02 +0100
Links: << >>  << T >>  << A >>


Rick Filipkiewicz wrote:

> Is there any way of re-wrting the following simple counter code so that
> Synplify will merge the or'ed incrementer into the 1st LUT of the adder
> chain ? Or am I going to have to instantiate everything ?
>
> always @(posedge clk)
>     if (reset)
>         ra <= 0;
>     else
>         ra <= fra;
>
>     wire [5:0] fra = ra + ((count_en[0] | count_en[1]) ? 1 : 0);

In fact I think this is a small example of a bigger thing where Synplify
fails to take advantage of the Xilinx architecture to synthesise fast [and
predictable] wide logic functions using the carry chains. In the same
struggle to grind down some timing paths I had to work on this function:

reg [8:0] addr, mask;
....

assign out = (addr & mask != 0);

It had been o.k. when the 2 vectors were only 8 bits but failed when
extended to 9. Doing it 2 bits at a time and using the carry chain to
propagate and voila ... *that* part of problem solved even unto 10 bits and
probably 12. Only downside was having to instantiate the MUXCYs although
Synplify 7.x & ModelSim 5.5+ can handle arrays of instances so it wasn't
too bad.


Article: 44051
Subject: Re: synthesis query: Xilinx + Synplify
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Tue, 11 Jun 2002 10:34:23 +0100
Links: << >>  << T >>  << A >>


John_H wrote:

> Okay, so Synplify is getting edgy about forcing the .CI input...
> I actually synthesized my suggestion and saw your troubles.
> So.  Assuming the LUT1_2 elements are all where they're really needed
> (sometimes they aren't), the following code synthesizes great:
>
> module counters ( clk, reset, count_en, ra );
>
> input        clk, reset;
> input  [1:0] count_en;
> output [5:0] ra;
>
> wire [5:0] fra;
> reg  [5:0] ra;
>
> always @(posedge clk)
>   if( reset )  ra <= 0;
>   else         ra <= fra;
>
> assign fra = {ra[5:1],|count_en} + ra[0];
>
> endmodule
>
> You can probably skip the wire and do the addition inline.  I just
> convinced the synthesizer to do the carry-in differently by swapping the
> LSbits.  Not pretty but it works.  The synthesis SHOULD push everything
> into the bottom LUT without a carry-in.  At least this way is "better."
>

Nice! I was so focussed on trying to presuade Synplify to put ra[0] and count
into the same LUT I hadn't thought of just getting it to swap the CIN signal.

Just a couple of additional complications:

o Synplify doesn't seem to use the carry chain for the increment-by-1
function for widths < 6. => since I only need width 4 this has to go into a
module of width 6 and throw away 2 bits.

o I use the |count elsewhere so, cunningly, Synplify optimises and uses a
separate LUT for this which it then feeds into the adder !! => the counter
module needs to have syn_hier="hard".

Sometimes its hard to keep to the "pure RTL" paradigm ... sigh ... but maybe
it means there's a whole slew of performance improvements for Synplify v8.


Article: 44052
Subject: IBIS to Spice Translation (part1)
From: nospam@needed.com (Paul)
Date: Tue, 11 Jun 2002 06:07:04 -0400
Links: << >>  << T >>  << A >>
Since posting a reply about using Spice a while ago, I took a crack
at trying to use an IBIS model within a "free" Spice. The versions of
Spice I've been trying are:

http://sourceforge.net/projects/ngspice/   (under FreeBSD 4.5)
http://www1.linear.com/software/           (SwitcherCad for Windows)

I needed an IBIS to Spice translator, and had located a free one at
the Intusoft web site. This is also a tool that runs under Windows...

http://www.intusoft.com/utilities.htm      (IBIS to SPICE converter)

Finally, for completeness, you can convert the SPICE deck back to IBIS
using the NCSU "S2IBIS2" package. In theory, this should give back the
original IBIS file (but it doesn't...)

http://www.eigroup.org/IBIS/tools.htm             (pointer to tools)
http://www.eda.org/pub/ibis/s2ibis/s2ibis2_v1.1   (the two files)

The IBIS spec is available at:

http://www.eigroup.org/IBIS/specs.htm

********************************************************************

There have been a couple of requests over the years, as to how to 
translate the output of the Intusoft IBIS2SPICE tool, so it can run
under Spice. Spice doesn't have the if-then-else clause used by
IBIS2SPICE, so I had to find another way to input a piecewise
linear data table into Spice. I started with unit step functions, 
as they could switch on y=ax+b equations over the appropriate
interval.

When I first tried using unit step functions, I had syntax problems 
which would cause both of the above Spice programs to hang in a 
loop. I decided to try fitting a mathematical function to
the data instead -- to keep a long story short, the fitting method
wasn't successful, as the curve fitting I tried didn't have a low 
enough error compared to the original data. (I tried a high order 
Chebyshev polynomial basis set and also a rational P(x)/Q(x) 
polynomial fit and both were bad, but for different reasons.)

Eventually, I added a few printf's to ngspice, to determine where in
the three pass parser that Spice was hanging. It turned out that
the current Spice parser doesn't like  (a + -b), but does like
(a - b). So, a unary minus is not handled properly. Once I tracked
this down, the rest of the conversion was straight forward.

I've written an awk script that encapsulates the changes needed to
go from the Intusoft IsSpice acceptable format to Spice 3F5
acceptable format. Here is the script entitled "i2sfix.awk". Lines
with a # are comments -- you can snip these if you wish.

Note: I've only tried this with a 3.3V CMOS I/O. I don't know exactly
how many different I/O types the Intusoft tool supports, so other I/O
types are left as an exercise :-)

#****************************** i2sfix.awk *****************************
#
# Intusoft has graciously provided a free tool for converting IBIS
# models back to spice-like form. The "template.mdl" file provided
# with the tool is supposed to be customizable to work with any Spice
# but there are some limitations. There are two options in the 
# ibis2spice, to format the power_clamp, gnd_clamp, pullup, and pulldown
# characteristics, and neither option is directly useful in Spice 3F5.
# This awk script finds "chunks" of these piecewise linear tables
# and replaces them with unit step functions. (Select "Option2" in
# the ibis2spice format pulldown.) My efforts have concentrated on
# ngspice (Spice 3F5 based), so I don't know if this will work in 2G6.
# Tested with version 1.4 of ibis2spice (see their Help:About menu).
#
# To use:
# 1) ibis2spice - generate blah.lib from blah.ibs
#                 select the option that generates lines like
# + (V(1,2) < -3.300 ) ?   1.000n * V(1,2) + -1.286  :
# + (V(1,2) < -3.200 ) ? 540.000m * V(1,2) + 496.000m :  ; -3.200 -1.232
#
# 2) Find a copy of awk and execute
#
#    awk -f i2sfix.awk blah.lib >blah.fix
#
# 3) Use .include blah.fix in the spice deck, to make the blah subcct 
#    available for simulation. 
# 4) I recommend setting up the test load for the golden 
#    waveforms in the original blah.ibs and compare the 
#    waveforms with those obtained from the translated
#    model. You may want to adjust the ramp generators RTR / RTF
#    to get the rise/fall times listed in the original ibis file
#    as the 20% to 80% time. 
#
# Note: This conversion script modifies the Intusoft design intent
# slightly. The IBIS standard says only one of XPULLUP or XPULLDOWN
# should be turned on at any one time, so I added an enable pin to
# each model. This turned out to make a difference, only if the
# original model data didn't pass through (0,0). So, for good models,
# this doesn't do anything. Also, I replaced V7 with E7, to isolate
# the switching current from the ramp generators from the output --
# again only theoretically necessary.
#
# PN: June 10, 2002.

BEGIN {
   # Please excuse my crappy awk scripting! I'm pretty rusty.
   # a_chunk_line is 1 when a piecewise linear table entry is found
   a_chunk_line = 0
   # in_chunk is 1 when we're somewhere in the middle of a table
   in_chunk = 0
   # Bracket balance for PULLUP and PULLDOWN
   extra_closing_bracket = 0
}

# computed boolean - 1 if matches the first three fields of...
#+ (V(1,2) < 900.000m) ? 27.300m * V(1,2) + 11.270m : ; 900.000m 35.840m
# Done here, as this is common to chunk processing
{  a_chunk_line = ( $1 == "+" && $2 == "(V(1,2)" && $3 == "<" ) 
   # Note: The following adds a space between 900.000m and the ")"
   if ( a_chunk_line == 1 ) {
      gsub( "m)", "m )", $0 )
   }
}

# No case statement in awk, so if-then-else

{  # Simple translations from Intusoft IsSpice to Spice3f5
   if ( $1 == "*DEFINE" && $2 == "{RTF}=" ) {
      rtf = $3
   } else if ( $1 == "*DEFINE" && $2 == "{RTR}=" ) {
      rtr = $3
   } else if ( $0 == "B1 820 0 V=V(100) & V(500)" ) {
      print "* Unit step functions replace the original syntax"
      print "B1 820 0 V=2.4*U( V(100)-1.2 )*U( V(500)-1.2 )"
   } else if ( $0 == "B2 830 0 V= V(500) & ~V(100)" ) {
      print "B2 830 0 V=2.4*U( V(500)-1.2 )*U( 1.2-V(100) )"
   } else if ( $1 == "B3" ) {
      # B3 300 850 I= V(830) > 1.2   ? 0 : V(300,850) / {RTR}
      print "B3 300 850 I=U( 1.2-V(830) )*V(300,850) / " rtr
   } else if ( $1 == "B4" ) {
      # B4 840 400 I= V(820) > 1.2 ? 0 : V(840,400) / {RTF}
      print "B4 840 400 I= U( 1.2-V(820) )*V(840,400) / " rtf
   } else if ( $0 == "XPULL_DOWN 2 400 8 840 PULL_DOWN" ) {
      print "XPULL_DOWN 2 400 8 840 830 PULL_DOWN"
   } else if ( $0 == "XPULL_UP 3 300 850 8 PULL_UP" ) {
      print "XPULL_UP 3 300 850 8 820 PULL_UP" 
   } else if ( $0 == "V5 6 5 " ) {
      print "V5 6 5 DC 0.0"
   } else if ( $0 == "V6 8 6 " ) {
      print "V6 8 6 DC 0.0"
   } else if ( $0 == "V7 220 8 " ) {
      print "* Using E7 to isolate S1/S2 switching noise from node 8"
      print "E7 220 0 8 0 1.0"
   } else if ( $0 == ".SUBCKT PULL_UP 3    4   1   2" ) {
      print "* Added enable signal to PULL_UP model"
      print ".SUBCKT PULL_UP 3    4   1   2  5"
      print "* Connections   Out+ Out In+ In Enable"
      getline
   } else if ( $0 == "BPULL_UP 3 4 V=" ) {
      print "BPULL_UP 3 4 V=U( V(5)-1.2 )*("
      extra_closing_bracket = 1
   } else if ( $0 == ".SUBCKT PULL_DOWN 3    4   1   2" ) {
      print "* Added enable signal to PULL_DOWN model"
      print ".SUBCKT PULL_DOWN 3    4   1   2  5"
      print "* Connections     Out+ Out In+ In Enable"
      getline
   } else if ( $0 == "BPULL_DOWN 3 4 V=" ) {
      print "BPULL_DOWN 3 4 V=U( V(5)-1.2 )*("
      extra_closing_bracket = 1
   } else if ( $1 == ".ENDS" ) {
      extra_closing_bracket = 0
      print
   } else if ( a_chunk_line == 1 && in_chunk == 0 ) {
      # + (V(1,2) <   -3.300 ) ?    1.000n * V(1,2) +   -1.000m :
      # First line of a table. Only needs one unit step to handle
      # less than or equal to this voltage. Intusoft adds this
      # entry to define voltages outside the defined range.
      in_chunk = 1
      # Spice hates unary - and + !
      if ( substr($11,1,1) == "-" ) {
         sub( "-", "", $11 )
         $10 = "-"
      }
      printf("+ U( %s-V(1,2) )*( %s%s%s%s%s )\n", 
             $4, $7, $8, $9, $10, $11)
      # Now, remember the voltage limit used, 
      # for lines other than the first or last of a chunk.
      lower_v = $4
   } else if ( a_chunk_line == 1 && in_chunk == 1 ) {
      # + (V(1,2) < -2.500 ) ? -500.000u * V(1,2) + -2.050m 
      sign = "-"
      if ( substr(lower_v,1,1) == "-" ) {
         sub( "-", "", lower_v )
         sign = "+"
      }
      if ( substr($11,1,1) == "-" ) {
         sub( "-", "", $11 )
         $10 = "-"
      }
      # 2nd to n-1 th line case. 
      # The first of two plus signs is the "continuation" character.
      printf("++ ( U( V(1,2)%s%s )+U( %s-V(1,2) )-1 )*", 
             sign, lower_v, $4)
      printf("( %s%s%s%s%s )\n", $7, $8, $9, $10, $11)
      lower_v = $4
   } else if ( a_chunk_line == 0 && in_chunk == 1 ) {
      # last line of a chunk. Intusoft adds this entry to define
      # voltages outside the defined range (a good thing).
      # + 1.000n * V(1,2) + -1.300
      sign = "-"
      if ( substr(lower_v,1,1) == "-" ) {
         sub( "-", "", lower_v )
         sign = "+"
      }
      if ( substr($6,1,1) == "-" ) {
         sub( "-", "", $6 )
         $5 = "-"
      }
      printf("++ U( V(1,2)%s%s )*( %s%s%s%s%s )", 
             sign, lower_v, $2, $3, $4, $5, $6)
      if (extra_closing_bracket == 1) {
         print " )" 
      } else {
         print ""
      }
      in_chunk = 0
      # invalidate lower_v - this value should never be printed
      lower_v = "FIX_ME"
   } else { # for all other lines, just print them
      print 
   }
}

#************************** end i2sfix.awk *****************************

(I placed a PostScript picture in a second post. This text description
is with respect to the picture, so convert the "part 2" post before
reading this...)

I understand some of this model, but not all of it. The model starts in
the upper right corner. Two logic gates (emulated with unit step 
functions), turn on the upper or the lower half of the driver circuit.
The rise and fall times of the model are controlled by the ramp 
generators (upper and lower left corners of the figure).

Before a 0 to 1 transition, switch S1 is closed, which causes node 850
to be at 0.0 volts. When the INPUT changes from 0 to 1 (and ENABLE is
asserted), switch S1 releases, and the B3 switched resistor is turned
on. B3 pulls the lower side of capacitor C1 to the plus rail, with time
constant RTR*C1 (parameter RTR is the rise time in the IBIS file). 
When the ramp reaches the positive rail voltage, the XPULLUP applies
the full value of the lookup table inside it. The "force" applied is
a function of how much difference there is between the current output
voltage (node 8) and the voltage the driver is trying to make (the 
logic 1 provided by node 850). When the driver output (as seen at node
8) reaches the positive rail, XPULLUP stops requesting more drive.

The PULLUP drive consists of several conversion steps. The input to
XPULLUP is effectively Vtable = VCC-Voutput, and since XPULLUP is a 
VCVS (voltage controlled voltage source), a voltage is produced which
is referenced to the positive rail. This, in turn, is applied to 
VCCS (voltage controlled current source) G2, which has a 1:1 gain. If
XPULLUP outputs 1 volt, then G2 will output 1 amp. Now, the curious
part is the role of resistors R1 and R2. Instinct says they are being
used to convert from current to voltage (as if a voltage source is
desired as the output characteristic of the driver). By using S2IBIS2,
the proper output impedance characteristic is seen, looking into this
network (because it is the slope of V versus I that counts, as opposed
to the instantaneous value). However, be aware that if you are using
node 300 to monitor power consumption, you will find too much current
flowing into this node. 

I tried constructing my own driver, by using a B element to place a 
non-linear resistance between the positive rail and the output node, 
and the output waveform had the right shape, but it had small 
stairsteps along its edge. So, the voltage-current-voltage chain used
by Intusoft has more merit than going directly with a non-linear
resistor.

Another question is the design of the ramp generator. To me, the shape
of the ramp is arbitrary. Intusoft chose an RC charging curve, whereas
I would have chosen a linear ramp (which can be achieved with
a switched constant current source into a capacitor). A linear ramp
would at least make it easier to adjust the subcircuit to get the 
correct value of rise/fall times. I don't think the IBIS spec defines
how PULLUP or PULLDOWN turn on.

Voltage sources V7, V6, and V5 are zero volt sources, used to allow
Spice to monitor the current flow. The XPWRCLAMP and XGNDCLAMP are
non-linear resistors which are always enabled, and these give the 
clamping characteristic of the input gate ESD protection diodes. 

************************************************************************

Miscellaneous notes:

Software issues:

1a) ngspice:

  The LTRA transmission line doesn't work in ngspice-rework14. Since
  I don't understand all the matrix stuff/time steps/Newton-Raphson in
  Spice, I don't know exactly why. What I notice is that someone has
  removed some heuristic time stepping cruft from the original code and
  replaced it with a simplified approach. The observed symptoms are that
  at the propagation delay time of the line (24 inches would be roughly
  4.4ns), I get a "time step too small" error. I can change the PULSE
  source delay from the shown value of 1ns, and the time step error
  still occurs at 4.38ns. Here is a test deck (that works in 
  SwitcherCad). This test is of a matched series damped termination
  into a transmission line. It should give a delayed and correct 
  amplitude signal at the output node 3.) Placing loads on the output of
  the transmission line doesn't help. The option method=gear usually 
  helps with time step too small problems.
  
From ltra_1.cir of Spice3F5, simplified, 24inch lossy line
.options method=gear
v1 1 0 pulse(0 4 1ns 1ns 1ns 20ns 40ns)
rseries 1 2 50
o2 2 0 3 0 lline
.model lline ltra r=0.2 g=0 l=9.13e-9 c=3.65e-12 len=24 truncnr
.save v(1) v(2) v(3)
.tran 0.01ns 60ns 0 0.1ns
.end
  
  doAnalyses: TRAN:  Timestep too small; time = 4.3812e-09, 
                     timestep = 1.25e-22: cause unrecorded. 

1b) ngspice:

  Parser has a few problems. Firstly, for B models, if there is a syntax
  error, ngspice will hang without printing any details about the error.
  In particular, expressions of the form (a + -b) cause problems. To 
  debug this, I added printf statements to inppas1.c, inppas2.c, and 
  inppas3.c, to identify where the hang might be occurring. I changed 
  the source deck to suit the parser.
  
1c) ngspice:

  Include files don't work. If you place ".include blah.lib" in the main
  .cir file, the program complains about freeing some pointer. This 
  turned out to be an uninitialized pointer in inpcom.c. The fix was 
  "copys = NULL" just before "if (*s == '~')".

2a) s2ibis2:
   The program had trouble creating the golden waveforms for the IBIS
   file. Turned out that it was duplicating its own dummy node names.
   In s2ispice.c, around line 2137, there are some references to 
   nodelist[]. There is a potential order of evaluation problem, as 
   "nodelist[nodeIndex]" and "nodeList[++nodeIndex]" appear in the same
   line. I changed the second one to "nodeList[nodeIndex+1]" and did
   the increment in a separate statement. There are multiple lines
   like this.
   
   s2ibis2 also has some strange ideas about data reduction. The IBIS
   standard says that tables should have 100 or fewer entries. s2ibis2
   removes data points from the table according to its own definition 
   of "interesting" areas of the curve. This is dangerous, because it
   assumes that no one will be using a novel pad design. This is why
   some commercial IBIS files are missing data between -1.0 and -1.5
   volts. If you are making IBIS models professionally, I'd consider
   taking this clever code out. Similarly, there are comparisons to
   "clamptol" and the like, for current values in V/I tables. Why
   not just leave the data points alone, in the form they were
   delivered from the spice simulation? Changing the data can
   affect the following test...
   
   Right now, if I use IBIS2SPICE, followed by s2ibis2, I don't get 
   back the original driver impedance characteristic. I'm not sure
   the IBIS standard is rigorous enough to pass this test. Maybe 
   someone who has access to HSPICE can test s2ibis2 against the
   HSPICE built-in IBIS conversion method, to see if it is possible
   to get back an IBIS model with the same drive strength.
   
   (When downloading the source, there is a fix file as well, which
   has a replacement source file. Do "make depend" and "make sun4"
   if using FreeBSD. You may also want to set YACC=yacc.)
   
3a) Switchercad:
   I'm getting the occasional internal error from this program, while
   running a converted ibis subckt along with a length of LTRA 
   transmission line. The message is "internal error #62 - read 20480
   expected 22876". I'm using version 1.12j. The workaround is to 
   restart the program and try again. The output of the LTRA model
   reminds me of stuff I was seeing 10 years ago -- it is not the 
   same as Hspice and seems too pessimistic when it comes to 
   reflections. So, the final hurtle to a free simulation environment
   is finding a better transmission line model. (Some suggests of how
   to do this can be found in the ltra test circuits in the examples
   directory of the Berkeley 3F5 package. 
   See ftp://ic.eecs.berkeley.edu/pub/Spice3/sp3f4.kit.tar.Z which
   contains these examples. I haven't tried the alternatives yet.)
   
   Enjoy,
          Paul

Article: 44053
Subject: Problems initialising an FPGA - SPARTAN II
From: "Benjamin Todd" <Benjamin.Todd@cern.ch>
Date: Tue, 11 Jun 2002 12:14:09 +0200
Links: << >>  << T >>  << A >>
Hi all, firstly apologies for the double post; but i'm having a bit of
difficulty:  I've already tried Xilinx Forum with this one and no luck there
either!

I need some feedback on a problem:

I have just moved from a -5 Spartan II to the faster -6... not a big change,
i know, but I have observed a strange effect in two test cards; the PCB is
not to blame, it is something more sinister than that...

I am using tried and tested circuit techniques, that work well in other
designs, but for some reason i've managed to break two Spartan-II FPGA in as
many days:

Firstly the symptoms: when I first power up the FPGA, a pin (number 41 in
the TQ144 package) becomes connected to both GND and VCCO - causing a short
circuit.  physiclly this pin is +5 or 0V, admittedly this is higher than
3.3V (VCCO) but why should it cause the FPGA to break like this?
What should I change on my PCB to stop this happenning again?
Anyways I thought that all pins on the FPGA, not connected with the
configuration were high-Z before configuration was completed?
I also thought that Spartan II was 5 v compliant?

Could this be to do with the 1.8A current spike I have read about on various
newsgroups?  I have a regulator that can deliver 1.0A per channel (i.e. both
on VCCO and VCCINT)
would you think that is too low (although the junction temperature is
definitely above freezing)?

any suggestions more than welcome
Many thanks for any feedback.
--
Benjamin Todd
European Organisation for Particle Physics
SL SPS/LHC -- Control -- Timing Division
CERN, Geneva, Switzerland,  CH-1211
Building 864 Room 1 - A24



Article: 44054
Subject: IBIS to Spice Translation (part2)
From: nospam@needed.com (Paul)
Date: Tue, 11 Jun 2002 06:19:35 -0400
Links: << >>  << T >>  << A >>
This figure is to accompany the text description in my previous post.

It is a PostScript picture of the Intusoft subcircuit representation
of the IBIS driver. The picture should be viewable in GhostScript or 
distillable with Acrobat Distiller. Keep everything from
"%!PS-Adobe-3.0" to "%%EOF".

***************** Intusoft IBIS2SPice Subcct Schematic *****************
%!PS-Adobe-3.0
%%BeginResource: procset (Tailor_Mac_Gen) 2.0 7
/TailorDict 200 dict def TailorDict begin/bd{bind def}bind def/ld{load
def}bd/setoverprint where{pop}{/setoverprint{pop}bd}ifelse/setcmykcolor
where{pop}{/setcmykcolor{1 exch sub dup dup 6 -1 roll sub dup 0 lt{pop
0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup
0 lt{pop 0}if setrgbcolor}bd}ifelse/TailorGroupBegin{pop}bd
/TailorGroupEnd{}bd/TailorSetUniformStroke{pop}bd/TailorSetSpotColor
{pop pop}bd/setdefaults{0 setgray false setoverprint 1 setlinewidth 0 
setlinecap 0 setlinejoin 10 setmiterlimit[]0 setdash false 
TailorSetUniformStroke M0 setmatrix 1 0 0 1 0 0 M1 astore pop}bd/S0 0
def/M0 matrix def/M1 matrix def/BP {/S0 save def 0 ne{90 rotate 0 6 
index neg translate}if translate 0 eq{pop pop pop pop}{moveto 1 index
0 rlineto 0 exch rlineto neg 0 rlineto closepath clip newpath}ifelse M0
currentmatrix pop setdefaults}bd/EP {S0 restore}bd/BG{TailorGroupBegin}
bd/EG{TailorGroupEnd}bd/BM{gsave TailorGroupBegin}bd/EM{TailorGroupEnd
grestore setdefaults}bd/N{M0 setmatrix 1 0 0 1 0 0 M1 astore pop}bd/M
{M0 setmatrix M1 astore concat}bd/X{M0 setmatrix M1 exch 4 exch put M1
concat}bd/Y{M0 setmatrix M1 exch 5 exch put M1 concat}bd/Z{M0 setmatrix
M1 exch 5 exch put M1 exch 4 exch put M1 concat}bd/G{setgray}bd
/R{setrgbcolor}bd/K{setcmykcolor}bd/S{TailorSetSpotColor}bd/O
{0 ne setoverprint}bd/W/setlinewidth ld/C/setlinecap ld/J/setlinejoin
ld/L/setmiterlimit ld/D/setdash ld/U {0 ne TailorSetUniformStroke}bd
/m/moveto ld/l/lineto ld/c/curveto ld /h/closepath ld/r/stroke ld
/f/fill ld/g/eofill ld/p{clip newpath}bd/q{eoclip newpath}bd end
%%EndResource
%%BeginResource: procset (Tailor_Mac_Text) 2.0 7
TailorDict begin/TailorEncoding[StandardEncoding 0 39 getinterval aload
pop/quotesingle StandardEncoding 40 56 getinterval aload pop/grave
StandardEncoding 97 31 getinterval aload pop 128{/.notdef}repeat]def
/EncodingsDict 0 def/BE{/EncodingsDict exch dict def}bd/DE
{TailorEncoding 256 array copy dup 128 4 -1 roll putinterval 
EncodingsDict 3 1 roll put}bd/FontsDict 0 def/BF{/FontsDict exch dict
def}bd/EF{cvn findfont dup length dict begin{1 index/FID ne{def}{pop 
pop}ifelse}forall dup type/nametype eq{/Encoding exch EncodingsDict 
exch get def}{pop}ifelse dup currentdict end definefont dup setfont 
FontsDict 3 1 roll put}bd/F{FontsDict exch get setfont}bd/s{0.0 0.0 
moveto show}bd/a{0.0 0.0 moveto exch 1000.0 div exch 0.0 exch ashow}bd
/b{0.0 0.0 moveto 3 1 roll 1000.0 div 3 1 roll 1000.0 div 3 1 roll 
ashow}bd/v{0.0 0.0 moveto 3 2 roll 1000.0 div 0.0 4 2 roll widthshow}bd
/w{0.0 0.0 moveto 4 2 roll 1000.0 div 4 1 roll 1000.0 div 4 1 roll 
widthshow}bd/z{0.0 0.0 moveto 6 1 roll 1000.0 div 6 1 roll 1000.0 div 6
2 roll 1000.0 div 6 1 roll 1000.0 div 6 1 roll awidthshow}bd end
%%EndResource
%%BeginPageSetup
TailorDict begin 576 694 0 0 0 0 0 0 BP 1 BE 1 BF
%%EndPageSetup
0 694 m 576 694 l 576 0 l 0 0 l h p 0 0 0 R -100 694 m
-99 694 l -98 693 l -98 692 l -99 692 l -100 693 l f -100 694 m
-99 694 l -98 693 l -98 692 l -99 692 l -100 693 l f /E0[]DE
/F0/E0(Helvetica)EF 12 0 0 12 54 415 M 110.4167 (S1)a 0 G N
77.5 418.5 m 77.5 409.6635 70.3365 402.5 61.5 402.5 c
52.6635 402.5 45.5 409.6635 45.5 418.5 c
45.5 427.3365 52.6635 434.5 61.5 434.5 c
70.3365 434.5 77.5 427.3365 77.5 418.5 c h r 61.5 479 m 61.5 434 l
r 61.5 403 m 61.5 359 l r 12 0 0 12 277 417 M -3.41667 (XPWRCLAMP)a
N 316.5 430.5 m 350 430.5 l 354.6944 430.5 358.5 426.6944 358.5 422 c
358.5 421 l 358.5 416.3056 354.6944 412.5 350 412.5 c
283 412.5 l 278.3056 412.5 274.5 416.3056 274.5 421 c
274.5 422 l 274.5 426.6944 278.3056 430.5 283 430.5 c
h r 12 0 0 12 97 357 M 27.08333 (V7)a N 120.5 360.5 m
120.5 351.6635 113.3365 344.5 104.5 344.5 c
95.6635 344.5 88.5 351.6635 88.5 360.5 c
88.5 369.3365 95.6635 376.5 104.5 376.5 c
113.3365 376.5 120.5 369.3365 120.5 360.5 c
h r 12 0 0 12 187 358 M 27.08333 (V6)a N 210.5 361.5 m
210.5 352.6635 203.3365 345.5 194.5 345.5 c
185.6635 345.5 178.5 352.6635 178.5 361.5 c
178.5 370.3365 185.6635 377.5 194.5 377.5 c
203.3365 377.5 210.5 370.3365 210.5 361.5 c
h r 315.5 482 m 315.5 429 l r 148 480.5 m 511 480.5 l r 315.5 413 m
315.5 361 l r 61 360.5 m 89 360.5 l r 120 359.5 m 179 359.5 l r
211 360.5 m 316 360.5 l r 12 0 0 12 344 357 M 27.08333 (V5)a N
367.5 360.5 m 367.5 351.6635 360.3365 344.5 351.5 344.5 c
342.6635 344.5 335.5 351.6635 335.5 360.5 c
335.5 369.3365 342.6635 376.5 351.5 376.5 c
360.3365 376.5 367.5 369.3365 367.5 360.5 c
h r 387 360.5 m 405 360.5 l r 409 368 m 410 368 l 410 367 l 405 360 l
404 360 l 404 361 l f 409 369 m 410 369 l 415 355 l 415 354 l
414 354 l 409 368 l f 418 369 m 419 369 l 419 368 l 414 354 l 413 354 l
413 355 l f 418 369 m 419 369 l 424 355 l 424 354 l 423 354 l 418 368 l
f 428 369 m 429 369 l 429 368 l 424 354 l 423 354 l 423 355 l f
438 363 m 439 363 l 439 362 l 434 355 l 433 355 l 433 356 l f 428 369 m
429 369 l 434 355 l 434 354 l 433 354 l 428 368 l f 438 362.5 m
456 362.5 l r 388 335.5 m 408 335.5 l r 408.5 335 m
408.5 338.5898 410.9625 341.5 414 341.5 c r 413 341.5 m
416.0375 341.5 418.5 338.5898 418.5 335 c r 418.5 335 m
418.5 338.5898 420.9625 341.5 424 341.5 c r 423 341.5 m
426.0375 341.5 428.5 338.5898 428.5 335 c r 428.5 335 m
428.5 338.5898 430.9625 341.5 434 341.5 c r 433 341.5 m
436.0375 341.5 438.5 338.5898 438.5 335 c r 438 335.5 m
458 335.5 l r 456 362.5 m 474 362.5 l r 478 370 m 479 370 l 479 369 l
474 362 l 473 362 l 473 363 l f 478 371 m 479 371 l 484 357 l 484 356 l
483 356 l 478 370 l f 487 371 m 488 371 l 488 370 l 483 356 l 482 356 l
482 357 l f 487 371 m 488 371 l 493 357 l 493 356 l 492 356 l 487 370 l
f 497 371 m 498 371 l 498 370 l 493 356 l 492 356 l 492 357 l f
507 365 m 508 365 l 508 364 l 503 357 l 502 357 l 502 358 l f 497 371 m
498 371 l 503 357 l 503 356 l 502 356 l 497 370 l f 507 364.5 m
525 364.5 l r 524.5 334 m 524.5 303 l r 513 303.5 m 536 303.5 l r
524.5 297 m 524.5 266 l r 513 296.5 m 536 296.5 l r 387.5 335 m
387.5 304 l r 376 304.5 m 399 304.5 l r 387.5 298 m 387.5 267 l r
376 297.5 m 399 297.5 l r 387.5 361 m 387.5 335 l r 457.5 363 m
457.5 335 l r 524.5 365 m 524.5 334 l r 524 364.5 m 540 364.5 l r
12 0 0 12 277 296 M 10.41667 (XGNDCLAMP)a N 316.5 309.5 m
350 309.5 l 354.6944 309.5 358.5 305.6944 358.5 301 c 358.5 300 l
358.5 295.3056 354.6944 291.5 350 291.5 c 283 291.5 l
278.3056 291.5 274.5 295.3056 274.5 300 c 274.5 301 l
274.5 305.6944 278.3056 309.5 283 309.5 c h r 315.5 361 m 315.5 308 l r
315.5 292 m 315.5 241 l r 238.5 457 m 238.5 439 l r 238 440 m 239 440 l
246 435 l 246 434 l 245 434 l 238 439 l f 246 435 m 247 435 l 247 434 l
233 429 l 232 429 l 232 430 l f 232 431 m 233 431 l 247 426 l 247 425 l
246 425 l 232 430 l f 246 426 m 247 426 l 247 425 l 233 420 l 232 420 l
232 421 l f 232 421 m 233 421 l 247 416 l 247 415 l 246 415 l 232 420 l
f 233 411 m 234 411 l 241 406 l 241 405 l 240 405 l 233 410 l f
246 416 m 247 416 l 247 415 l 233 410 l 232 410 l 232 411 l f
240.5 406 m 240.5 388 l r 238.5 480 m 238.5 455 l r 240.5 388 m
240.5 361 l r 240.5 337 m 240.5 319 l r 240 320 m 241 320 l 248 315 l
248 314 l 247 314 l 240 319 l f 248 315 m 249 315 l 249 314 l 235 309 l
234 309 l 234 310 l f 234 311 m 235 311 l 249 306 l 249 305 l 248 305 l
234 310 l f 248 306 m 249 306 l 249 305 l 235 300 l 234 300 l 234 301 l
f 234 301 m 235 301 l 249 296 l 249 295 l 248 295 l 234 300 l f
235 291 m 236 291 l 243 286 l 243 285 l 242 285 l 235 290 l f 248 296 m
249 296 l 249 295 l 235 290 l 234 290 l 234 291 l f 242.5 286 m
242.5 268 l r 240.5 360 m 240.5 335 l r 242.5 268 m 242.5 241 l r
148 240.5 m 315 240.5 l r 12 0 0 12 54 296 M 110.4167 (S2)a N
77.5 299.5 m 77.5 290.6635 70.3365 283.5 61.5 283.5 c
52.6635 283.5 45.5 290.6635 45.5 299.5 c
45.5 308.3365 52.6635 315.5 61.5 315.5 c
70.3365 315.5 77.5 308.3365 77.5 299.5 c h r 61.5 360 m 61.5 315 l r
61.5 284 m 61.5 240 l r 12 0 0 12 54 570 M 27.08333 (B3)a N 77.5 573.5 m
77.5 564.6635 70.3365 557.5 61.5 557.5 c
52.6635 557.5 45.5 564.6635 45.5 573.5 c
45.5 582.3365 52.6635 589.5 61.5 589.5 c
70.3365 589.5 77.5 582.3365 77.5 573.5 c h r 117.5 610 m 117.5 592 l r
117 593 m 118 593 l 125 588 l 125 587 l 124 587 l 117 592 l f 125 588 m
126 588 l 126 587 l 112 582 l 111 582 l 111 583 l f 111 584 m 112 584 l
126 579 l 126 578 l 125 578 l 111 583 l f 125 579 m 126 579 l 126 578 l
112 573 l 111 573 l 111 574 l f 111 574 m 112 574 l 126 569 l 126 568 l
125 568 l 111 573 l f 112 564 m 113 564 l 120 559 l 120 558 l 119 558 l
112 563 l f 125 569 m 126 569 l 126 568 l 112 563 l 111 563 l 111 564 l
f 119.5 559 m 119.5 541 l r 175.5 610 m 175.5 579 l r 164 579.5 m
187 579.5 l r 175.5 573 m 175.5 542 l r 164 572.5 m 187 572.5 l r
61.5 634 m 61.5 589 l r 61 633.5 m 176 633.5 l r 61.5 558 m 61.5 514 l r
61 513.5 m 177 513.5 l r 117.5 634 m 117.5 609 l r 175.5 634 m
175.5 609 l r 119.5 541 m 119.5 513 l r 175.5 543 m 175.5 513 l r
12 0 0 12 54 143 M 27.08333 (B4)a N 77.5 146.5 m
77.5 137.6635 70.3365 130.5 61.5 130.5 c
52.6635 130.5 45.5 137.6635 45.5 146.5 c
45.5 155.3365 52.6635 162.5 61.5 162.5 c
70.3365 162.5 77.5 155.3365 77.5 146.5 c h r 117.5 183 m 117.5 165 l r
117 166 m 118 166 l 125 161 l 125 160 l 124 160 l 117 165 l f 125 161 m
126 161 l 126 160 l 112 155 l 111 155 l 111 156 l f 111 157 m 112 157 l
126 152 l 126 151 l 125 151 l 111 156 l f 125 152 m 126 152 l 126 151 l
112 146 l 111 146 l 111 147 l f 111 147 m 112 147 l 126 142 l 126 141 l
125 141 l 111 146 l f 112 137 m 113 137 l 120 132 l 120 131 l 119 131 l
112 136 l f 125 142 m 126 142 l 126 141 l 112 136 l 111 136 l 111 137 l
f 119.5 132 m 119.5 114 l r 175.5 183 m 175.5 152 l r 164 152.5 m
187 152.5 l r 175.5 146 m 175.5 115 l r 164 145.5 m 187 145.5 l r
61.5 207 m 61.5 162 l r 61 206.5 m 176 206.5 l r 61.5 131 m 61.5 87 l r
61 86.5 m 177 86.5 l r 117.5 207 m 117.5 182 l r 175.5 207 m 175.5 182 l
r 119.5 114 m 119.5 86 l r 175.5 116 m 175.5 86 l r 61.5 241 m
61.5 205 l r 61.5 513 m 61.5 477 l r 315 240.5 m 540 240.5 l r
387.5 267 m 387.5 240 l r 524.5 268 m 524.5 241 l r 316 360.5 m
336 360.5 l r 367 360.5 m 387 360.5 l r 12 0 0 12 218 569 M
18.33333 (XPULLUP)a N 246.5 582.5 m 280 582.5 l
284.6944 582.5 288.5 578.6944 288.5 574 c 288.5 573 l
288.5 568.3056 284.6944 564.5 280 564.5 c 213 564.5 l
208.3056 564.5 204.5 568.3056 204.5 573 c 204.5 574 l
204.5 578.6944 208.3056 582.5 213 582.5 c h r 245.5 634 m 245.5 582 l
r 245.5 565 m 245.5 513 l r 12 0 0 12 212 143 M 10.41667 (XPULLDOWN)a
N 251.5 156.5 m 285 156.5 l
289.6944 156.5 293.5 152.6944 293.5 148 c 293.5 147 l
293.5 142.3056 289.6944 138.5 285 138.5 c 218 138.5 l
213.3056 138.5 209.5 142.3056 209.5 147 c 209.5 148 l
209.5 152.6944 213.3056 156.5 218 156.5 c h r 250.5 208 m 250.5 157 l
r 250.5 139 m 250.5 87 l r 175 86.5 m 510 86.5 l r 175 633.5 m
538 633.5 l r 12 0 0 12 142 416 M (G2)s N 165.5 419.5 m
165.5 410.6635 158.3365 403.5 149.5 403.5 c
140.6635 403.5 133.5 410.6635 133.5 419.5 c
133.5 428.3365 140.6635 435.5 149.5 435.5 c
158.3365 435.5 165.5 428.3365 165.5 419.5 c h r 149.5 480 m 149.5 435 l
r 149.5 404 m 149.5 360 l r 12 0 0 12 142 295 M (G1)s N 165.5 298.5 m
165.5 289.6635 158.3365 282.5 149.5 282.5 c
140.6635 282.5 133.5 289.6635 133.5 298.5 c
133.5 307.3365 140.6635 314.5 149.5 314.5 c
158.3365 314.5 165.5 307.3365 165.5 298.5 c h r 149.5 359 m 149.5 314 l
r 149.5 283 m 149.5 239 l r 248 512.5 m
248 511.1193 246.8807 510 245.5 510 c
244.1193 510 243 511.1193 243 512.5 c
243 513.8807 244.1193 515 245.5 515 c
246.8807 515 248 513.8807 248 512.5 c f 247.5 512.5 m
247.5 511.3954 246.6046 510.5 245.5 510.5 c
244.3954 510.5 243.5 511.3954 243.5 512.5 c
243.5 513.6046 244.3954 514.5 245.5 514.5 c
246.6046 514.5 247.5 513.6046 247.5 512.5 c h r 253 205.5 m
253 204.1193 251.8807 203 250.5 203 c
249.1193 203 248 204.1193 248 205.5 c
248 206.8807 249.1193 208 250.5 208 c
251.8807 208 253 206.8807 253 205.5 c f 252.5 205.5 m
252.5 204.3954 251.6046 203.5 250.5 203.5 c
249.3954 203.5 248.5 204.3954 248.5 205.5 c
248.5 206.6046 249.3954 207.5 250.5 207.5 c
251.6046 207.5 252.5 206.6046 252.5 205.5 c h r 12 0 0 12 180 133 M
55.5 (C2)a 121 Y 20.5 (0.01p)a 128 133 Z -14.08333 (RB4)a 123 120 Z
27.5 (100Meg)a N 541 364.5 m 541 363.1193 539.8807 362 538.5 362 c
537.1193 362 536 363.1193 536 364.5 c
536 365.8807 537.1193 367 538.5 367 c
539.8807 367 541 365.8807 541 364.5 c f 540.5 364.5 m
540.5 363.3954 539.6046 362.5 538.5 362.5 c
537.3954 362.5 536.5 363.3954 536.5 364.5 c
536.5 365.6046 537.3954 366.5 538.5 366.5 c
539.6046 366.5 540.5 365.6046 540.5 364.5 c h r 543 240.5 m
543 239.1193 541.8807 238 540.5 238 c
539.1193 238 538 239.1193 538 240.5 c
538 241.8807 539.1193 243 540.5 243 c
541.8807 243 543 241.8807 543 240.5 c f 542.5 240.5 m
542.5 239.3954 541.6046 238.5 540.5 238.5 c
539.3954 238.5 538.5 239.3954 538.5 240.5 c
538.5 241.6046 539.3954 242.5 540.5 242.5 c
541.6046 242.5 542.5 241.6046 542.5 240.5 c h r 460 362.5 m
460 361.1193 458.8807 360 457.5 360 c
456.1193 360 455 361.1193 455 362.5 c
455 363.8807 456.1193 365 457.5 365 c
458.8807 365 460 363.8807 460 362.5 c f 459.5 362.5 m
459.5 361.3954 458.6046 360.5 457.5 360.5 c
456.3954 360.5 455.5 361.3954 455.5 362.5 c
455.5 363.6046 456.3954 364.5 457.5 364.5 c
458.6046 364.5 459.5 363.6046 459.5 362.5 c h r 390 361.5 m
390 360.1193 388.8807 359 387.5 359 c
386.1193 359 385 360.1193 385 361.5 c
385 362.8807 386.1193 364 387.5 364 c
388.8807 364 390 362.8807 390 361.5 c f 389.5 361.5 m
389.5 360.3954 388.6046 359.5 387.5 359.5 c
386.3954 359.5 385.5 360.3954 385.5 361.5 c
385.5 362.6046 386.3954 363.5 387.5 363.5 c
388.6046 363.5 389.5 362.6046 389.5 361.5 c h r 318 361.5 m
318 360.1193 316.8807 359 315.5 359 c
314.1193 359 313 360.1193 313 361.5 c
313 362.8807 314.1193 364 315.5 364 c
316.8807 364 318 362.8807 318 361.5 c f 317.5 361.5 m
317.5 360.3954 316.6046 359.5 315.5 359.5 c
314.3954 359.5 313.5 360.3954 313.5 361.5 c
313.5 362.6046 314.3954 363.5 315.5 363.5 c
316.6046 363.5 317.5 362.6046 317.5 361.5 c h r 243 361.5 m
243 360.1193 241.8807 359 240.5 359 c
239.1193 359 238 360.1193 238 361.5 c
238 362.8807 239.1193 364 240.5 364 c
241.8807 364 243 362.8807 243 361.5 c f 242.5 361.5 m
242.5 360.3954 241.6046 359.5 240.5 359.5 c
239.3954 359.5 238.5 360.3954 238.5 361.5 c
238.5 362.6046 239.3954 363.5 240.5 363.5 c
241.6046 363.5 242.5 362.6046 242.5 361.5 c h r 152 359.5 m
152 358.1193 150.8807 357 149.5 357 c
148.1193 357 147 358.1193 147 359.5 c
147 360.8807 148.1193 362 149.5 362 c
150.8807 362 152 360.8807 152 359.5 c f 151.5 359.5 m
151.5 358.3954 150.6046 357.5 149.5 357.5 c
148.3954 357.5 147.5 358.3954 147.5 359.5 c
147.5 360.6046 148.3954 361.5 149.5 361.5 c
150.6046 361.5 151.5 360.6046 151.5 359.5 c h r 64 360.5 m
64 359.1193 62.8807 358 61.5 358 c
60.1193 358 59 359.1193 59 360.5 c
59 361.8807 60.1193 363 61.5 363 c
62.8807 363 64 361.8807 64 360.5 c f 63.5 360.5 m
63.5 359.3954 62.6046 358.5 61.5 358.5 c
60.3954 358.5 59.5 359.3954 59.5 360.5 c
59.5 361.6046 60.3954 362.5 61.5 362.5 c
62.6046 362.5 63.5 361.6046 63.5 360.5 c h r 64 513.5 m
64 512.1193 62.8807 511 61.5 511 c
60.1193 511 59 512.1193 59 513.5 c
59 514.8807 60.1193 516 61.5 516 c
62.8807 516 64 514.8807 64 513.5 c f 63.5 513.5 m
63.5 512.3954 62.6046 511.5 61.5 511.5 c
60.3954 511.5 59.5 512.3954 59.5 513.5 c
59.5 514.6046 60.3954 515.5 61.5 515.5 c
62.6046 515.5 63.5 514.6046 63.5 513.5 c h r 64 206.5 m
64 205.1193 62.8807 204 61.5 204 c
60.1193 204 59 205.1193 59 206.5 c
59 207.8807 60.1193 209 61.5 209 c
62.8807 209 64 207.8807 64 206.5 c f 63.5 206.5 m
63.5 205.3954 62.6046 204.5 61.5 204.5 c
60.3954 204.5 59.5 205.3954 59.5 206.5 c
59.5 207.6046 60.3954 208.5 61.5 208.5 c
62.6046 208.5 63.5 207.6046 63.5 206.5 c h r 509.5 241 m 509.5 88 l r
510.5 634 m 510.5 481 l r 541 633.5 m
541 632.1193 539.8807 631 538.5 631 c
537.1193 631 536 632.1193 536 633.5 c
536 634.8807 537.1193 636 538.5 636 c
539.8807 636 541 634.8807 541 633.5 c f 540.5 633.5 m
540.5 632.3954 539.6046 631.5 538.5 631.5 c
537.3954 631.5 536.5 632.3954 536.5 633.5 c
536.5 634.6046 537.3954 635.5 538.5 635.5 c
539.6046 635.5 540.5 634.6046 540.5 633.5 c h r 12 0 0 12 530 224 M
41.1667 (400)a 534 374 Z (4)s N 399 599.5 m 421 599.5 l r 399 574.5 m
421 574.5 l r 421 599.5 m 427.9035 599.5 433.5 593.9035 433.5 587 c r
433.5 587 m 433.5 580.0965 427.9035 574.5 421 574.5 c r 399.5 599 m
399.5 575 l r 398.5 535.5 m 398.5 534.3954 397.6046 533.5 396.5 533.5 c
395.3954 533.5 394.5 534.3954 394.5 535.5 c
394.5 536.6046 395.3954 537.5 396.5 537.5 c
397.6046 537.5 398.5 536.6046 398.5 535.5 c h r 399 556.5 m 421 556.5
l r 399 531.5 m 421 531.5 l r 421 556.5 m
427.9035 556.5 433.5 550.9035 433.5 544 c r 433.5 544 m
433.5 537.0965 427.9035 531.5 421 531.5 c r 399.5 556 m 399.5 532 l r
363 595.5 m 400 595.5 l r 387.5 596 m 387.5 551 l r 387 551.5 m
400 551.5 l r 364 535.5 m 394 535.5 l r 379.5 536 m 379.5 535 l r
378.5 579 m 378.5 535 l r 378 578.5 m 400 578.5 l r 433 587.5 m
452 587.5 l r 455 587.5 m 455 586.1193 453.8807 585 452.5 585 c
451.1193 585 450 586.1193 450 587.5 c
450 588.8807 451.1193 590 452.5 590 c
453.8807 590 455 588.8807 455 587.5 c f 454.5 587.5 m
454.5 586.3954 453.6046 585.5 452.5 585.5 c
451.3954 585.5 450.5 586.3954 450.5 587.5 c
450.5 588.6046 451.3954 589.5 452.5 589.5 c
453.6046 589.5 454.5 588.6046 454.5 587.5 c h r 434 543.5 m 453 543.5 l
r 456 543.5 m 456 542.1193 454.8807 541 453.5 541 c
452.1193 541 451 542.1193 451 543.5 c
451 544.8807 452.1193 546 453.5 546 c
454.8807 546 456 544.8807 456 543.5 c f 455.5 543.5 m
455.5 542.3954 454.6046 541.5 453.5 541.5 c
452.3954 541.5 451.5 542.3954 451.5 543.5 c
451.5 544.6046 452.3954 545.5 453.5 545.5 c
454.6046 545.5 455.5 544.6046 455.5 543.5 c h r 366 595.5 m
366 594.1193 364.8807 593 363.5 593 c
362.1193 593 361 594.1193 361 595.5 c
361 596.8807 362.1193 598 363.5 598 c
364.8807 598 366 596.8807 366 595.5 c f 365.5 595.5 m
365.5 594.3954 364.6046 593.5 363.5 593.5 c
362.3954 593.5 361.5 594.3954 361.5 595.5 c
361.5 596.6046 362.3954 597.5 363.5 597.5 c
364.6046 597.5 365.5 596.6046 365.5 595.5 c h r 366 535.5 m
366 534.1193 364.8807 533 363.5 533 c
362.1193 533 361 534.1193 361 535.5 c
361 536.8807 362.1193 538 363.5 538 c
364.8807 538 366 536.8807 366 535.5 c f 365.5 535.5 m
365.5 534.3954 364.6046 533.5 363.5 533.5 c
362.3954 533.5 361.5 534.3954 361.5 535.5 c
361.5 536.6046 362.3954 537.5 363.5 537.5 c
364.6046 537.5 365.5 536.6046 365.5 535.5 c h r 12 0 0 12 339 602 M
10.83333 (ENABLE)a 353 520 Z 41.1667 (100)a 581 Y 41.1667 (500)a
339 541 Z (INPUT)s 461 584 Z 41.1667 (820)a 463 539 Z 41.1667 (830)a
528 614 Z 41.1667 (300)a 128 555 Z -14.08333 (RB3)a 123 542 Z
27.5 (100Meg)a 180 555 Z 55.5 (C1)a 543 Y 20.5 (0.01p)a 65 542 Z
27.66667 (Switched)a 528 Y (Resistor)s N 48 581.5 m
39.4396 581.5 32.5 593.8122 32.5 609 c r 47 426.5 m
38.4396 426.5 31.5 438.8122 31.5 454 c r 48 307.5 m
39.4396 307.5 32.5 319.8122 32.5 335 c r 12 0 0 12 20 459 M
41.1667 (820)a 21 613 Z 41.1667 (830)a N 22 625.5 m 41 625.5 l r
21 471.5 m 40 471.5 l r 12 0 0 12 21 340 M 41.1667 (830)a N 22 352.5 m
41 352.5 l r 12 0 0 12 21 189 M 41.1667 (820)a N 22 201.5 m 41 201.5 l
r 48 156.5 m 39.4396 156.5 32.5 168.8122 32.5 184 c r
12 0 0 12 35 366 M 41.1667 (220)a 139 365 Z (8)s 244 X (6)s 384 371 Z
(5)s 453 372 Z (1)s 391 283 Z 7.16667 (CCOMP)a 478 282 Z
-7.08333 (COPKG)a 404 321 Z -7.25 (LOPKG)a 399 375 Z 6.91667 (ROSNB)a
472 X -27.91667 (ROPKG)a 33 510 Z 41.1667 (850)a 36 213 Z
41.1667 (840)a 65 114 Z 27.66667 (Switched)a 100 Y (Resistor)s
73 498 Z 18.08333 0 32 1.833333 0 (Logic 1 Ramp Gen)z 75 214 Z
18.08333 0 32 1.833333 0 (Logic 0 Ramp Gen)z 266 123 Z
6 (V=f\(8,840\))a 253 506 Z (3)s 259 202 Z (2)s 254 548 Z
6 (V=f\(850,8\))a 156 440 Z -4 (I=f\(8,3\))a 317 Y -4 (I=f\(2,8\))a
214 417 Z -27.83333 (R2)a 216 298 Z -27.83333 (R1)a 203 398 Z
39.3333 0 32 3.91667 0 (1 ohm)z 204 277 Z
39.3333 0 32 3.91667 0 (1 ohm)z N 184.5 527 m 184.5 497 l r
184 497.5 m 209 497.5 l r 186.5 499 m
186.5 509.7695 192.5442 518.5 200 518.5 c r 186.5 215 m 186.5 185 l r
186 185.5 m 211 185.5 l r 202 186.5 m
194.5442 186.5 188.5 195.2305 188.5 206 c r 12 0 0 12 202 603 M
68.6667 0 32 6.83333 0 (Logic 1)z 589 Y 16.91667 (Driver)a
260 178 Z 68.6667 0 32 6.83333 0 (Logic 0)z 164 Y 16.91667 (Driver)a
[ 3 3 ] 0 D 0.5 G N 241 215 m 167 279 l r 433 129 m 433 129 l r
237 507 m 161 457 l r 0 G 12 0 0 12 325 463 M (Input )s 449 Y
73.75 0 32 7.33333 0 (Diode )z 435 Y 27.91667 (Clamp)a 274 344 Z
(Input )s 330 Y 73.75 0 32 7.33333 0 (Diode )z 316 Y
27.91667 (Clamp)a 180 650 Z 14.16667 0 32 1.416667 0 
(Intusoft IBIS2SPICE I/O Driver Subcct)z EM EP end showpage
%%PageTrailer
%%Trailer
%%EOF
************* end Intusoft IBIS2SPice Subcct Schematic *****************

Article: 44055
Subject: IBIS to Spice Translation (part2)
From: nospam@needed.com (Paul)
Date: Tue, 11 Jun 2002 06:41:37 -0400
Links: << >>  << T >>  << A >>
This figure is to accompany the text description in my previous post.

It is a PostScript picture of the Intusoft subcircuit representation
of the IBIS driver. The picture should be viewable in GhostScript or 
distillable with Acrobat Distiller. Keep everything from
"%!PS-Adobe-3.0" to "%%EOF".

***************** Intusoft IBIS2SPice Subcct Schematic *****************
%!PS-Adobe-3.0
%%BeginResource: procset (Tailor_Mac_Gen) 2.0 7
/TailorDict 200 dict def TailorDict begin/bd{bind def}bind def/ld{load
def}bd/setoverprint where{pop}{/setoverprint{pop}bd}ifelse/setcmykcolor
where{pop}{/setcmykcolor{1 exch sub dup dup 6 -1 roll sub dup 0 lt{pop
0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup
0 lt{pop 0}if setrgbcolor}bd}ifelse/TailorGroupBegin{pop}bd
/TailorGroupEnd{}bd/TailorSetUniformStroke{pop}bd/TailorSetSpotColor
{pop pop}bd/setdefaults{0 setgray false setoverprint 1 setlinewidth 0 
setlinecap 0 setlinejoin 10 setmiterlimit[]0 setdash false 
TailorSetUniformStroke M0 setmatrix 1 0 0 1 0 0 M1 astore pop}bd/S0 0
def/M0 matrix def/M1 matrix def/BP {/S0 save def 0 ne{90 rotate 0 6 
index neg translate}if translate 0 eq{pop pop pop pop}{moveto 1 index
0 rlineto 0 exch rlineto neg 0 rlineto closepath clip newpath}ifelse M0
currentmatrix pop setdefaults}bd/EP {S0 restore}bd/BG{TailorGroupBegin}
bd/EG{TailorGroupEnd}bd/BM{gsave TailorGroupBegin}bd/EM{TailorGroupEnd
grestore setdefaults}bd/N{M0 setmatrix 1 0 0 1 0 0 M1 astore pop}bd/M
{M0 setmatrix M1 astore concat}bd/X{M0 setmatrix M1 exch 4 exch put M1
concat}bd/Y{M0 setmatrix M1 exch 5 exch put M1 concat}bd/Z{M0 setmatrix
M1 exch 5 exch put M1 exch 4 exch put M1 concat}bd/G{setgray}bd
/R{setrgbcolor}bd/K{setcmykcolor}bd/S{TailorSetSpotColor}bd/O
{0 ne setoverprint}bd/W/setlinewidth ld/C/setlinecap ld/J/setlinejoin
ld/L/setmiterlimit ld/D/setdash ld/U {0 ne TailorSetUniformStroke}bd
/m/moveto ld/l/lineto ld/c/curveto ld /h/closepath ld/r/stroke ld
/f/fill ld/g/eofill ld/p{clip newpath}bd/q{eoclip newpath}bd end
%%EndResource
%%BeginResource: procset (Tailor_Mac_Text) 2.0 7
TailorDict begin/TailorEncoding[StandardEncoding 0 39 getinterval aload
pop/quotesingle StandardEncoding 40 56 getinterval aload pop/grave
StandardEncoding 97 31 getinterval aload pop 128{/.notdef}repeat]def
/EncodingsDict 0 def/BE{/EncodingsDict exch dict def}bd/DE
{TailorEncoding 256 array copy dup 128 4 -1 roll putinterval 
EncodingsDict 3 1 roll put}bd/FontsDict 0 def/BF{/FontsDict exch dict
def}bd/EF{cvn findfont dup length dict begin{1 index/FID ne{def}{pop 
pop}ifelse}forall dup type/nametype eq{/Encoding exch EncodingsDict 
exch get def}{pop}ifelse dup currentdict end definefont dup setfont 
FontsDict 3 1 roll put}bd/F{FontsDict exch get setfont}bd/s{0.0 0.0 
moveto show}bd/a{0.0 0.0 moveto exch 1000.0 div exch 0.0 exch ashow}bd
/b{0.0 0.0 moveto 3 1 roll 1000.0 div 3 1 roll 1000.0 div 3 1 roll 
ashow}bd/v{0.0 0.0 moveto 3 2 roll 1000.0 div 0.0 4 2 roll widthshow}bd
/w{0.0 0.0 moveto 4 2 roll 1000.0 div 4 1 roll 1000.0 div 4 1 roll 
widthshow}bd/z{0.0 0.0 moveto 6 1 roll 1000.0 div 6 1 roll 1000.0 div 6
2 roll 1000.0 div 6 1 roll 1000.0 div 6 1 roll awidthshow}bd end
%%EndResource
%%BeginPageSetup
TailorDict begin 576 694 0 0 0 0 0 0 BP 1 BE 1 BF
%%EndPageSetup
0 694 m 576 694 l 576 0 l 0 0 l h p 0 0 0 R -100 694 m
-99 694 l -98 693 l -98 692 l -99 692 l -100 693 l f -100 694 m
-99 694 l -98 693 l -98 692 l -99 692 l -100 693 l f /E0[]DE
/F0/E0(Helvetica)EF 12 0 0 12 54 415 M 110.4167 (S1)a 0 G N
77.5 418.5 m 77.5 409.6635 70.3365 402.5 61.5 402.5 c
52.6635 402.5 45.5 409.6635 45.5 418.5 c
45.5 427.3365 52.6635 434.5 61.5 434.5 c
70.3365 434.5 77.5 427.3365 77.5 418.5 c h r 61.5 479 m 61.5 434 l
r 61.5 403 m 61.5 359 l r 12 0 0 12 277 417 M -3.41667 (XPWRCLAMP)a
N 316.5 430.5 m 350 430.5 l 354.6944 430.5 358.5 426.6944 358.5 422 c
358.5 421 l 358.5 416.3056 354.6944 412.5 350 412.5 c
283 412.5 l 278.3056 412.5 274.5 416.3056 274.5 421 c
274.5 422 l 274.5 426.6944 278.3056 430.5 283 430.5 c
h r 12 0 0 12 97 357 M 27.08333 (V7)a N 120.5 360.5 m
120.5 351.6635 113.3365 344.5 104.5 344.5 c
95.6635 344.5 88.5 351.6635 88.5 360.5 c
88.5 369.3365 95.6635 376.5 104.5 376.5 c
113.3365 376.5 120.5 369.3365 120.5 360.5 c
h r 12 0 0 12 187 358 M 27.08333 (V6)a N 210.5 361.5 m
210.5 352.6635 203.3365 345.5 194.5 345.5 c
185.6635 345.5 178.5 352.6635 178.5 361.5 c
178.5 370.3365 185.6635 377.5 194.5 377.5 c
203.3365 377.5 210.5 370.3365 210.5 361.5 c
h r 315.5 482 m 315.5 429 l r 148 480.5 m 511 480.5 l r 315.5 413 m
315.5 361 l r 61 360.5 m 89 360.5 l r 120 359.5 m 179 359.5 l r
211 360.5 m 316 360.5 l r 12 0 0 12 344 357 M 27.08333 (V5)a N
367.5 360.5 m 367.5 351.6635 360.3365 344.5 351.5 344.5 c
342.6635 344.5 335.5 351.6635 335.5 360.5 c
335.5 369.3365 342.6635 376.5 351.5 376.5 c
360.3365 376.5 367.5 369.3365 367.5 360.5 c
h r 387 360.5 m 405 360.5 l r 409 368 m 410 368 l 410 367 l 405 360 l
404 360 l 404 361 l f 409 369 m 410 369 l 415 355 l 415 354 l
414 354 l 409 368 l f 418 369 m 419 369 l 419 368 l 414 354 l 413 354 l
413 355 l f 418 369 m 419 369 l 424 355 l 424 354 l 423 354 l 418 368 l
f 428 369 m 429 369 l 429 368 l 424 354 l 423 354 l 423 355 l f
438 363 m 439 363 l 439 362 l 434 355 l 433 355 l 433 356 l f 428 369 m
429 369 l 434 355 l 434 354 l 433 354 l 428 368 l f 438 362.5 m
456 362.5 l r 388 335.5 m 408 335.5 l r 408.5 335 m
408.5 338.5898 410.9625 341.5 414 341.5 c r 413 341.5 m
416.0375 341.5 418.5 338.5898 418.5 335 c r 418.5 335 m
418.5 338.5898 420.9625 341.5 424 341.5 c r 423 341.5 m
426.0375 341.5 428.5 338.5898 428.5 335 c r 428.5 335 m
428.5 338.5898 430.9625 341.5 434 341.5 c r 433 341.5 m
436.0375 341.5 438.5 338.5898 438.5 335 c r 438 335.5 m
458 335.5 l r 456 362.5 m 474 362.5 l r 478 370 m 479 370 l 479 369 l
474 362 l 473 362 l 473 363 l f 478 371 m 479 371 l 484 357 l 484 356 l
483 356 l 478 370 l f 487 371 m 488 371 l 488 370 l 483 356 l 482 356 l
482 357 l f 487 371 m 488 371 l 493 357 l 493 356 l 492 356 l 487 370 l
f 497 371 m 498 371 l 498 370 l 493 356 l 492 356 l 492 357 l f
507 365 m 508 365 l 508 364 l 503 357 l 502 357 l 502 358 l f 497 371 m
498 371 l 503 357 l 503 356 l 502 356 l 497 370 l f 507 364.5 m
525 364.5 l r 524.5 334 m 524.5 303 l r 513 303.5 m 536 303.5 l r
524.5 297 m 524.5 266 l r 513 296.5 m 536 296.5 l r 387.5 335 m
387.5 304 l r 376 304.5 m 399 304.5 l r 387.5 298 m 387.5 267 l r
376 297.5 m 399 297.5 l r 387.5 361 m 387.5 335 l r 457.5 363 m
457.5 335 l r 524.5 365 m 524.5 334 l r 524 364.5 m 540 364.5 l r
12 0 0 12 277 296 M 10.41667 (XGNDCLAMP)a N 316.5 309.5 m
350 309.5 l 354.6944 309.5 358.5 305.6944 358.5 301 c 358.5 300 l
358.5 295.3056 354.6944 291.5 350 291.5 c 283 291.5 l
278.3056 291.5 274.5 295.3056 274.5 300 c 274.5 301 l
274.5 305.6944 278.3056 309.5 283 309.5 c h r 315.5 361 m 315.5 308 l r
315.5 292 m 315.5 241 l r 238.5 457 m 238.5 439 l r 238 440 m 239 440 l
246 435 l 246 434 l 245 434 l 238 439 l f 246 435 m 247 435 l 247 434 l
233 429 l 232 429 l 232 430 l f 232 431 m 233 431 l 247 426 l 247 425 l
246 425 l 232 430 l f 246 426 m 247 426 l 247 425 l 233 420 l 232 420 l
232 421 l f 232 421 m 233 421 l 247 416 l 247 415 l 246 415 l 232 420 l
f 233 411 m 234 411 l 241 406 l 241 405 l 240 405 l 233 410 l f
246 416 m 247 416 l 247 415 l 233 410 l 232 410 l 232 411 l f
240.5 406 m 240.5 388 l r 238.5 480 m 238.5 455 l r 240.5 388 m
240.5 361 l r 240.5 337 m 240.5 319 l r 240 320 m 241 320 l 248 315 l
248 314 l 247 314 l 240 319 l f 248 315 m 249 315 l 249 314 l 235 309 l
234 309 l 234 310 l f 234 311 m 235 311 l 249 306 l 249 305 l 248 305 l
234 310 l f 248 306 m 249 306 l 249 305 l 235 300 l 234 300 l 234 301 l
f 234 301 m 235 301 l 249 296 l 249 295 l 248 295 l 234 300 l f
235 291 m 236 291 l 243 286 l 243 285 l 242 285 l 235 290 l f 248 296 m
249 296 l 249 295 l 235 290 l 234 290 l 234 291 l f 242.5 286 m
242.5 268 l r 240.5 360 m 240.5 335 l r 242.5 268 m 242.5 241 l r
148 240.5 m 315 240.5 l r 12 0 0 12 54 296 M 110.4167 (S2)a N
77.5 299.5 m 77.5 290.6635 70.3365 283.5 61.5 283.5 c
52.6635 283.5 45.5 290.6635 45.5 299.5 c
45.5 308.3365 52.6635 315.5 61.5 315.5 c
70.3365 315.5 77.5 308.3365 77.5 299.5 c h r 61.5 360 m 61.5 315 l r
61.5 284 m 61.5 240 l r 12 0 0 12 54 570 M 27.08333 (B3)a N 77.5 573.5 m
77.5 564.6635 70.3365 557.5 61.5 557.5 c
52.6635 557.5 45.5 564.6635 45.5 573.5 c
45.5 582.3365 52.6635 589.5 61.5 589.5 c
70.3365 589.5 77.5 582.3365 77.5 573.5 c h r 117.5 610 m 117.5 592 l r
117 593 m 118 593 l 125 588 l 125 587 l 124 587 l 117 592 l f 125 588 m
126 588 l 126 587 l 112 582 l 111 582 l 111 583 l f 111 584 m 112 584 l
126 579 l 126 578 l 125 578 l 111 583 l f 125 579 m 126 579 l 126 578 l
112 573 l 111 573 l 111 574 l f 111 574 m 112 574 l 126 569 l 126 568 l
125 568 l 111 573 l f 112 564 m 113 564 l 120 559 l 120 558 l 119 558 l
112 563 l f 125 569 m 126 569 l 126 568 l 112 563 l 111 563 l 111 564 l
f 119.5 559 m 119.5 541 l r 175.5 610 m 175.5 579 l r 164 579.5 m
187 579.5 l r 175.5 573 m 175.5 542 l r 164 572.5 m 187 572.5 l r
61.5 634 m 61.5 589 l r 61 633.5 m 176 633.5 l r 61.5 558 m 61.5 514 l r
61 513.5 m 177 513.5 l r 117.5 634 m 117.5 609 l r 175.5 634 m
175.5 609 l r 119.5 541 m 119.5 513 l r 175.5 543 m 175.5 513 l r
12 0 0 12 54 143 M 27.08333 (B4)a N 77.5 146.5 m
77.5 137.6635 70.3365 130.5 61.5 130.5 c
52.6635 130.5 45.5 137.6635 45.5 146.5 c
45.5 155.3365 52.6635 162.5 61.5 162.5 c
70.3365 162.5 77.5 155.3365 77.5 146.5 c h r 117.5 183 m 117.5 165 l r
117 166 m 118 166 l 125 161 l 125 160 l 124 160 l 117 165 l f 125 161 m
126 161 l 126 160 l 112 155 l 111 155 l 111 156 l f 111 157 m 112 157 l
126 152 l 126 151 l 125 151 l 111 156 l f 125 152 m 126 152 l 126 151 l
112 146 l 111 146 l 111 147 l f 111 147 m 112 147 l 126 142 l 126 141 l
125 141 l 111 146 l f 112 137 m 113 137 l 120 132 l 120 131 l 119 131 l
112 136 l f 125 142 m 126 142 l 126 141 l 112 136 l 111 136 l 111 137 l
f 119.5 132 m 119.5 114 l r 175.5 183 m 175.5 152 l r 164 152.5 m
187 152.5 l r 175.5 146 m 175.5 115 l r 164 145.5 m 187 145.5 l r
61.5 207 m 61.5 162 l r 61 206.5 m 176 206.5 l r 61.5 131 m 61.5 87 l r
61 86.5 m 177 86.5 l r 117.5 207 m 117.5 182 l r 175.5 207 m 175.5 182 l
r 119.5 114 m 119.5 86 l r 175.5 116 m 175.5 86 l r 61.5 241 m
61.5 205 l r 61.5 513 m 61.5 477 l r 315 240.5 m 540 240.5 l r
387.5 267 m 387.5 240 l r 524.5 268 m 524.5 241 l r 316 360.5 m
336 360.5 l r 367 360.5 m 387 360.5 l r 12 0 0 12 218 569 M
18.33333 (XPULLUP)a N 246.5 582.5 m 280 582.5 l
284.6944 582.5 288.5 578.6944 288.5 574 c 288.5 573 l
288.5 568.3056 284.6944 564.5 280 564.5 c 213 564.5 l
208.3056 564.5 204.5 568.3056 204.5 573 c 204.5 574 l
204.5 578.6944 208.3056 582.5 213 582.5 c h r 245.5 634 m 245.5 582 l
r 245.5 565 m 245.5 513 l r 12 0 0 12 212 143 M 10.41667 (XPULLDOWN)a
N 251.5 156.5 m 285 156.5 l
289.6944 156.5 293.5 152.6944 293.5 148 c 293.5 147 l
293.5 142.3056 289.6944 138.5 285 138.5 c 218 138.5 l
213.3056 138.5 209.5 142.3056 209.5 147 c 209.5 148 l
209.5 152.6944 213.3056 156.5 218 156.5 c h r 250.5 208 m 250.5 157 l
r 250.5 139 m 250.5 87 l r 175 86.5 m 510 86.5 l r 175 633.5 m
538 633.5 l r 12 0 0 12 142 416 M (G2)s N 165.5 419.5 m
165.5 410.6635 158.3365 403.5 149.5 403.5 c
140.6635 403.5 133.5 410.6635 133.5 419.5 c
133.5 428.3365 140.6635 435.5 149.5 435.5 c
158.3365 435.5 165.5 428.3365 165.5 419.5 c h r 149.5 480 m 149.5 435 l
r 149.5 404 m 149.5 360 l r 12 0 0 12 142 295 M (G1)s N 165.5 298.5 m
165.5 289.6635 158.3365 282.5 149.5 282.5 c
140.6635 282.5 133.5 289.6635 133.5 298.5 c
133.5 307.3365 140.6635 314.5 149.5 314.5 c
158.3365 314.5 165.5 307.3365 165.5 298.5 c h r 149.5 359 m 149.5 314 l
r 149.5 283 m 149.5 239 l r 248 512.5 m
248 511.1193 246.8807 510 245.5 510 c
244.1193 510 243 511.1193 243 512.5 c
243 513.8807 244.1193 515 245.5 515 c
246.8807 515 248 513.8807 248 512.5 c f 247.5 512.5 m
247.5 511.3954 246.6046 510.5 245.5 510.5 c
244.3954 510.5 243.5 511.3954 243.5 512.5 c
243.5 513.6046 244.3954 514.5 245.5 514.5 c
246.6046 514.5 247.5 513.6046 247.5 512.5 c h r 253 205.5 m
253 204.1193 251.8807 203 250.5 203 c
249.1193 203 248 204.1193 248 205.5 c
248 206.8807 249.1193 208 250.5 208 c
251.8807 208 253 206.8807 253 205.5 c f 252.5 205.5 m
252.5 204.3954 251.6046 203.5 250.5 203.5 c
249.3954 203.5 248.5 204.3954 248.5 205.5 c
248.5 206.6046 249.3954 207.5 250.5 207.5 c
251.6046 207.5 252.5 206.6046 252.5 205.5 c h r 12 0 0 12 180 133 M
55.5 (C2)a 121 Y 20.5 (0.01p)a 128 133 Z -14.08333 (RB4)a 123 120 Z
27.5 (100Meg)a N 541 364.5 m 541 363.1193 539.8807 362 538.5 362 c
537.1193 362 536 363.1193 536 364.5 c
536 365.8807 537.1193 367 538.5 367 c
539.8807 367 541 365.8807 541 364.5 c f 540.5 364.5 m
540.5 363.3954 539.6046 362.5 538.5 362.5 c
537.3954 362.5 536.5 363.3954 536.5 364.5 c
536.5 365.6046 537.3954 366.5 538.5 366.5 c
539.6046 366.5 540.5 365.6046 540.5 364.5 c h r 543 240.5 m
543 239.1193 541.8807 238 540.5 238 c
539.1193 238 538 239.1193 538 240.5 c
538 241.8807 539.1193 243 540.5 243 c
541.8807 243 543 241.8807 543 240.5 c f 542.5 240.5 m
542.5 239.3954 541.6046 238.5 540.5 238.5 c
539.3954 238.5 538.5 239.3954 538.5 240.5 c
538.5 241.6046 539.3954 242.5 540.5 242.5 c
541.6046 242.5 542.5 241.6046 542.5 240.5 c h r 460 362.5 m
460 361.1193 458.8807 360 457.5 360 c
456.1193 360 455 361.1193 455 362.5 c
455 363.8807 456.1193 365 457.5 365 c
458.8807 365 460 363.8807 460 362.5 c f 459.5 362.5 m
459.5 361.3954 458.6046 360.5 457.5 360.5 c
456.3954 360.5 455.5 361.3954 455.5 362.5 c
455.5 363.6046 456.3954 364.5 457.5 364.5 c
458.6046 364.5 459.5 363.6046 459.5 362.5 c h r 390 361.5 m
390 360.1193 388.8807 359 387.5 359 c
386.1193 359 385 360.1193 385 361.5 c
385 362.8807 386.1193 364 387.5 364 c
388.8807 364 390 362.8807 390 361.5 c f 389.5 361.5 m
389.5 360.3954 388.6046 359.5 387.5 359.5 c
386.3954 359.5 385.5 360.3954 385.5 361.5 c
385.5 362.6046 386.3954 363.5 387.5 363.5 c
388.6046 363.5 389.5 362.6046 389.5 361.5 c h r 318 361.5 m
318 360.1193 316.8807 359 315.5 359 c
314.1193 359 313 360.1193 313 361.5 c
313 362.8807 314.1193 364 315.5 364 c
316.8807 364 318 362.8807 318 361.5 c f 317.5 361.5 m
317.5 360.3954 316.6046 359.5 315.5 359.5 c
314.3954 359.5 313.5 360.3954 313.5 361.5 c
313.5 362.6046 314.3954 363.5 315.5 363.5 c
316.6046 363.5 317.5 362.6046 317.5 361.5 c h r 243 361.5 m
243 360.1193 241.8807 359 240.5 359 c
239.1193 359 238 360.1193 238 361.5 c
238 362.8807 239.1193 364 240.5 364 c
241.8807 364 243 362.8807 243 361.5 c f 242.5 361.5 m
242.5 360.3954 241.6046 359.5 240.5 359.5 c
239.3954 359.5 238.5 360.3954 238.5 361.5 c
238.5 362.6046 239.3954 363.5 240.5 363.5 c
241.6046 363.5 242.5 362.6046 242.5 361.5 c h r 152 359.5 m
152 358.1193 150.8807 357 149.5 357 c
148.1193 357 147 358.1193 147 359.5 c
147 360.8807 148.1193 362 149.5 362 c
150.8807 362 152 360.8807 152 359.5 c f 151.5 359.5 m
151.5 358.3954 150.6046 357.5 149.5 357.5 c
148.3954 357.5 147.5 358.3954 147.5 359.5 c
147.5 360.6046 148.3954 361.5 149.5 361.5 c
150.6046 361.5 151.5 360.6046 151.5 359.5 c h r 64 360.5 m
64 359.1193 62.8807 358 61.5 358 c
60.1193 358 59 359.1193 59 360.5 c
59 361.8807 60.1193 363 61.5 363 c
62.8807 363 64 361.8807 64 360.5 c f 63.5 360.5 m
63.5 359.3954 62.6046 358.5 61.5 358.5 c
60.3954 358.5 59.5 359.3954 59.5 360.5 c
59.5 361.6046 60.3954 362.5 61.5 362.5 c
62.6046 362.5 63.5 361.6046 63.5 360.5 c h r 64 513.5 m
64 512.1193 62.8807 511 61.5 511 c
60.1193 511 59 512.1193 59 513.5 c
59 514.8807 60.1193 516 61.5 516 c
62.8807 516 64 514.8807 64 513.5 c f 63.5 513.5 m
63.5 512.3954 62.6046 511.5 61.5 511.5 c
60.3954 511.5 59.5 512.3954 59.5 513.5 c
59.5 514.6046 60.3954 515.5 61.5 515.5 c
62.6046 515.5 63.5 514.6046 63.5 513.5 c h r 64 206.5 m
64 205.1193 62.8807 204 61.5 204 c
60.1193 204 59 205.1193 59 206.5 c
59 207.8807 60.1193 209 61.5 209 c
62.8807 209 64 207.8807 64 206.5 c f 63.5 206.5 m
63.5 205.3954 62.6046 204.5 61.5 204.5 c
60.3954 204.5 59.5 205.3954 59.5 206.5 c
59.5 207.6046 60.3954 208.5 61.5 208.5 c
62.6046 208.5 63.5 207.6046 63.5 206.5 c h r 509.5 241 m 509.5 88 l r
510.5 634 m 510.5 481 l r 541 633.5 m
541 632.1193 539.8807 631 538.5 631 c
537.1193 631 536 632.1193 536 633.5 c
536 634.8807 537.1193 636 538.5 636 c
539.8807 636 541 634.8807 541 633.5 c f 540.5 633.5 m
540.5 632.3954 539.6046 631.5 538.5 631.5 c
537.3954 631.5 536.5 632.3954 536.5 633.5 c
536.5 634.6046 537.3954 635.5 538.5 635.5 c
539.6046 635.5 540.5 634.6046 540.5 633.5 c h r 12 0 0 12 530 224 M
41.1667 (400)a 534 374 Z (4)s N 399 599.5 m 421 599.5 l r 399 574.5 m
421 574.5 l r 421 599.5 m 427.9035 599.5 433.5 593.9035 433.5 587 c r
433.5 587 m 433.5 580.0965 427.9035 574.5 421 574.5 c r 399.5 599 m
399.5 575 l r 398.5 535.5 m 398.5 534.3954 397.6046 533.5 396.5 533.5 c
395.3954 533.5 394.5 534.3954 394.5 535.5 c
394.5 536.6046 395.3954 537.5 396.5 537.5 c
397.6046 537.5 398.5 536.6046 398.5 535.5 c h r 399 556.5 m 421 556.5
l r 399 531.5 m 421 531.5 l r 421 556.5 m
427.9035 556.5 433.5 550.9035 433.5 544 c r 433.5 544 m
433.5 537.0965 427.9035 531.5 421 531.5 c r 399.5 556 m 399.5 532 l r
363 595.5 m 400 595.5 l r 387.5 596 m 387.5 551 l r 387 551.5 m
400 551.5 l r 364 535.5 m 394 535.5 l r 379.5 536 m 379.5 535 l r
378.5 579 m 378.5 535 l r 378 578.5 m 400 578.5 l r 433 587.5 m
452 587.5 l r 455 587.5 m 455 586.1193 453.8807 585 452.5 585 c
451.1193 585 450 586.1193 450 587.5 c
450 588.8807 451.1193 590 452.5 590 c
453.8807 590 455 588.8807 455 587.5 c f 454.5 587.5 m
454.5 586.3954 453.6046 585.5 452.5 585.5 c
451.3954 585.5 450.5 586.3954 450.5 587.5 c
450.5 588.6046 451.3954 589.5 452.5 589.5 c
453.6046 589.5 454.5 588.6046 454.5 587.5 c h r 434 543.5 m 453 543.5 l
r 456 543.5 m 456 542.1193 454.8807 541 453.5 541 c
452.1193 541 451 542.1193 451 543.5 c
451 544.8807 452.1193 546 453.5 546 c
454.8807 546 456 544.8807 456 543.5 c f 455.5 543.5 m
455.5 542.3954 454.6046 541.5 453.5 541.5 c
452.3954 541.5 451.5 542.3954 451.5 543.5 c
451.5 544.6046 452.3954 545.5 453.5 545.5 c
454.6046 545.5 455.5 544.6046 455.5 543.5 c h r 366 595.5 m
366 594.1193 364.8807 593 363.5 593 c
362.1193 593 361 594.1193 361 595.5 c
361 596.8807 362.1193 598 363.5 598 c
364.8807 598 366 596.8807 366 595.5 c f 365.5 595.5 m
365.5 594.3954 364.6046 593.5 363.5 593.5 c
362.3954 593.5 361.5 594.3954 361.5 595.5 c
361.5 596.6046 362.3954 597.5 363.5 597.5 c
364.6046 597.5 365.5 596.6046 365.5 595.5 c h r 366 535.5 m
366 534.1193 364.8807 533 363.5 533 c
362.1193 533 361 534.1193 361 535.5 c
361 536.8807 362.1193 538 363.5 538 c
364.8807 538 366 536.8807 366 535.5 c f 365.5 535.5 m
365.5 534.3954 364.6046 533.5 363.5 533.5 c
362.3954 533.5 361.5 534.3954 361.5 535.5 c
361.5 536.6046 362.3954 537.5 363.5 537.5 c
364.6046 537.5 365.5 536.6046 365.5 535.5 c h r 12 0 0 12 339 602 M
10.83333 (ENABLE)a 353 520 Z 41.1667 (100)a 581 Y 41.1667 (500)a
339 541 Z (INPUT)s 461 584 Z 41.1667 (820)a 463 539 Z 41.1667 (830)a
528 614 Z 41.1667 (300)a 128 555 Z -14.08333 (RB3)a 123 542 Z
27.5 (100Meg)a 180 555 Z 55.5 (C1)a 543 Y 20.5 (0.01p)a 65 542 Z
27.66667 (Switched)a 528 Y (Resistor)s N 48 581.5 m
39.4396 581.5 32.5 593.8122 32.5 609 c r 47 426.5 m
38.4396 426.5 31.5 438.8122 31.5 454 c r 48 307.5 m
39.4396 307.5 32.5 319.8122 32.5 335 c r 12 0 0 12 20 459 M
41.1667 (820)a 21 613 Z 41.1667 (830)a N 22 625.5 m 41 625.5 l r
21 471.5 m 40 471.5 l r 12 0 0 12 21 340 M 41.1667 (830)a N 22 352.5 m
41 352.5 l r 12 0 0 12 21 189 M 41.1667 (820)a N 22 201.5 m 41 201.5 l
r 48 156.5 m 39.4396 156.5 32.5 168.8122 32.5 184 c r
12 0 0 12 35 366 M 41.1667 (220)a 139 365 Z (8)s 244 X (6)s 384 371 Z
(5)s 453 372 Z (1)s 391 283 Z 7.16667 (CCOMP)a 478 282 Z
-7.08333 (COPKG)a 404 321 Z -7.25 (LOPKG)a 399 375 Z 6.91667 (ROSNB)a
472 X -27.91667 (ROPKG)a 33 510 Z 41.1667 (850)a 36 213 Z
41.1667 (840)a 65 114 Z 27.66667 (Switched)a 100 Y (Resistor)s
73 498 Z 18.08333 0 32 1.833333 0 (Logic 1 Ramp Gen)z 75 214 Z
18.08333 0 32 1.833333 0 (Logic 0 Ramp Gen)z 266 123 Z
6 (V=f\(8,840\))a 253 506 Z (3)s 259 202 Z (2)s 254 548 Z
6 (V=f\(850,8\))a 156 440 Z -4 (I=f\(8,3\))a 317 Y -4 (I=f\(2,8\))a
214 417 Z -27.83333 (R2)a 216 298 Z -27.83333 (R1)a 203 398 Z
39.3333 0 32 3.91667 0 (1 ohm)z 204 277 Z
39.3333 0 32 3.91667 0 (1 ohm)z N 184.5 527 m 184.5 497 l r
184 497.5 m 209 497.5 l r 186.5 499 m
186.5 509.7695 192.5442 518.5 200 518.5 c r 186.5 215 m 186.5 185 l r
186 185.5 m 211 185.5 l r 202 186.5 m
194.5442 186.5 188.5 195.2305 188.5 206 c r 12 0 0 12 202 603 M
68.6667 0 32 6.83333 0 (Logic 1)z 589 Y 16.91667 (Driver)a
260 178 Z 68.6667 0 32 6.83333 0 (Logic 0)z 164 Y 16.91667 (Driver)a
[ 3 3 ] 0 D 0.5 G N 241 215 m 167 279 l r 433 129 m 433 129 l r
237 507 m 161 457 l r 0 G 12 0 0 12 325 463 M (Input )s 449 Y
73.75 0 32 7.33333 0 (Diode )z 435 Y 27.91667 (Clamp)a 274 344 Z
(Input )s 330 Y 73.75 0 32 7.33333 0 (Diode )z 316 Y
27.91667 (Clamp)a 180 650 Z 14.16667 0 32 1.416667 0 
(Intusoft IBIS2SPICE I/O Driver Subcct)z EM EP end showpage
%%PageTrailer
%%Trailer
%%EOF
************* end Intusoft IBIS2SPice Subcct Schematic *****************

Article: 44056
Subject: surely this is mad? (clock rate issues)
From: "Ken Mac" <aeu96186@yahoo.co.uk>
Date: Tue, 11 Jun 2002 11:45:38 +0100
Links: << >>  << T >>  << A >>

Hello folks,

I have a design that ISE 4.1.03i reports as having a maximum clock freq. of
103.082MHz after par.  This is achieved by setting the clock period as
follows in my UCF:

TIMESPEC "TS_CLK" = PERIOD "CLK" 10 ns HIGH 50 %;

i.e. I am looking for 100MHz.

Here is the mad thing:  if I set the clk period contstraint to 7.5 ns
(133MHz) instead of 10, the maximum frequency comes out as 95.274MHz !!!!!!

Why?  Surely if I ask for a higher clock rate that cannot be met by the
tools then at worst the tools should maintain my 103.082 MHz max freq and
just report all paths that are preventing the design reaching the higher
rate - thus allowing me to try and tweak these paths in some way to kcik
them into shape!

Or have I missed a trick somewhere?

Thanks for your time,

Ken



Article: 44057
Subject: Re: surely this is mad? (clock rate issues)
From: "Kevin Neilson" <kevin-neilson@removethistextattbi.com>
Date: Tue, 11 Jun 2002 10:59:14 GMT
Links: << >>  << T >>  << A >>
I think the router gives up if it notices that further iterations are not
closing in on the goal.  If it sees that it MIGHT make it, it will continue,
and if it is nowhere close, it will give up early.  This is partly
speculation.

Like, you would work harder to date the waitress across the street than you
would to date Heidi Klum, because you have no chance at all with Heidi, but
it's possible the waitress might say yes.

Usually it's bad to overconstrain.

"Ken Mac" <aeu96186@yahoo.co.uk> wrote in message
news:ae4k8u$p6e$1@dennis.cc.strath.ac.uk...
>
> Hello folks,
>
> I have a design that ISE 4.1.03i reports as having a maximum clock freq.
of
> 103.082MHz after par.  This is achieved by setting the clock period as
> follows in my UCF:
>
> TIMESPEC "TS_CLK" = PERIOD "CLK" 10 ns HIGH 50 %;
>
> i.e. I am looking for 100MHz.
>
> Here is the mad thing:  if I set the clk period contstraint to 7.5 ns
> (133MHz) instead of 10, the maximum frequency comes out as 95.274MHz
!!!!!!
>
> Why?  Surely if I ask for a higher clock rate that cannot be met by the
> tools then at worst the tools should maintain my 103.082 MHz max freq and
> just report all paths that are preventing the design reaching the higher
> rate - thus allowing me to try and tweak these paths in some way to kcik
> them into shape!
>
> Or have I missed a trick somewhere?
>
> Thanks for your time,
>
> Ken
>
>



Article: 44058
Subject: Re: programming xc3030 using atmel's ATDH2225 programmer cable
From: Ray Andraka <ray@andraka.com>
Date: Tue, 11 Jun 2002 11:51:58 GMT
Links: << >>  << T >>  << A >>
You can get a SpartanII XC2S50 for between $14 and $20 depending on the
package, and that gives you about 15x the gate capacity, plus RAM
capabilities, plus is supported by the current free tools.  You'll spend
way more than that $10 difference trying to find a programming solution
for the antique parts.  The cheapest package is, IIRC, the TQ144 package
which you can reasonably handle putting on the board manually.  There is
also a PQ208 package which is also more hobbyist friendly than the ball
grid arrays.  My guess is that you'll wind up spending more than the
$100 budget in the process of making a board that is suitable to
reliable operation of an FPGA.  If you are really bent on using the
3030, there are lots of the old xilinx eval boards around with those on
it that you could probably get for not much more than the $4 you are
spending for the part.  Again, the trouble comes with programming it.

Thijs wrote:

> >The 3030A is an antique, and is not supported with the current
> >tools.  The cost of the board and support for programming the part
> >is going to cost you much more than the part itself.  Very
> >seriously consider instead working with one of the current parts
> >such as the SpartanII.  There are a number of eval boards with
> >current parts available on the market for under $200 that are
> >compatible with the free development software available on the FPGA
> >vendor sites.
>
> thanks, but i could get this 3030 for about $4, it's just for
> a hobby project, so buying a board for $100 or more is way
> out of my budget.

--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930     Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com

 "They that give up essential liberty to obtain a little
  temporary safety deserve neither liberty nor safety."
                                          -Benjamin Franklin, 1759



Article: 44059
Subject: Re: surely this is mad? (clock rate issues)
From: Rick Filipkiewicz <rick@algor.co.uk>
Date: Tue, 11 Jun 2002 13:27:10 +0100
Links: << >>  << T >>  << A >>


Kevin Neilson wrote:

> I think the router gives up if it notices that further iterations are not
> closing in on the goal.  If it sees that it MIGHT make it, it will continue,
> and if it is nowhere close, it will give up early.  This is partly
> speculation.
>

This is correct [a change in behaviour between the 3.x and 4.x tools] and
there's a magic env variable you can set to tell PAR to not give up and continue
with the number it iterations you've defined with the -i flag. For Windows

set XIL_ROUTE_CONTINUE_ON_DESIGN_IMPOSSIBLE=1;

but generally, after the first routing 2-3 iterations, PAR doesn't make much
more progress beyond a few 100s of ps per failing route.

>
> Like, you would work harder to date the waitress across the street than you
> would to date Heidi Klum, because you have no chance at all with Heidi, but
> it's possible the waitress might say yes.
>
> Usually it's bad to overconstrain.
>

To continue the analogy - using huge amounts of effort if the futile chase for
Heidi Klum can cause the rest of your life to fall apart.


Article: 44060
Subject: How to implement synchronous reset on an FPGA
From: duvister@hotmail.com (Jerre)
Date: 11 Jun 2002 05:40:47 -0700
Links: << >>  << T >>  << A >>
Greetings,

I'm using a xi 4000 series and I'm trying to get the reset synchronous
e.g. by using the following process (D-flip flop)

process(clock)
begin
if(Clock'event and Clock = '1') then
  Reset_synchr <= Reset_asynchr;
end if;
end process;

When I try to implement it, foundation complains that it can't find a
general reset (other processes use the reset_synchr signal to reset).

But when I have to put some reset on my D -flip flop then my reset is
actually not synchronous anymore or is it?

Jerre

Article: 44061
Subject: Busses & permutations
From: Iwo Mergler <Iwo.mergler@soton.sc.philips.com>
Date: Tue, 11 Jun 2002 14:07:57 +0100
Links: << >>  << T >>  << A >>
Hi all,

I interface FPGAs/CPLDs quite frequently to various types
of memory. The wide busses regularly mess up the routing
resources when the device approaches 100% utilization. Things
are bad in CPLDs and worse in FPGAs.

Now, I know that I don't care about the bit order on the
memory busses, but the fitter software always does. One
option is to not constrain the pins, but that means PCB
redesign.

My wish is to be able to constrain a group of signals
(e.g. a bus) to a group of pins. That way, the fitter
has more freedom and I don't have to change the board.

Do any of the available tools support this? 

Kind regards,

Iwo

Article: 44062
Subject: Re: surely this is mad? (clock rate issues)
From: "Ken Mac" <aeu96186@yahoo.co.uk>
Date: Tue, 11 Jun 2002 14:13:31 +0100
Links: << >>  << T >>  << A >>

Some more weird results:

If I put 9.24 ns as my period in UCF, I get a min period of 9.128 ns after
par (109.553MHz).

If I then put in 9.128 ns in UCF I get a min period of 9.694 ns after par
(103.157MHz).

So - with a bit of black magic and stabbing in the dark I will find my max
clock rate!

Ken


"Kevin Neilson" <kevin-neilson@removethistextattbi.com> wrote in message
news:6KkN8.12115$6m5.1979@rwcrnsc51.ops.asp.att.net...
> I think the router gives up if it notices that further iterations are not
> closing in on the goal.  If it sees that it MIGHT make it, it will
continue,
> and if it is nowhere close, it will give up early.  This is partly
> speculation.
>
> Like, you would work harder to date the waitress across the street than
you
> would to date Heidi Klum, because you have no chance at all with Heidi,
but
> it's possible the waitress might say yes.
>
> Usually it's bad to overconstrain.
>
> "Ken Mac" <aeu96186@yahoo.co.uk> wrote in message
> news:ae4k8u$p6e$1@dennis.cc.strath.ac.uk...
> >
> > Hello folks,
> >
> > I have a design that ISE 4.1.03i reports as having a maximum clock freq.
> of
> > 103.082MHz after par.  This is achieved by setting the clock period as
> > follows in my UCF:
> >
> > TIMESPEC "TS_CLK" = PERIOD "CLK" 10 ns HIGH 50 %;
> >
> > i.e. I am looking for 100MHz.
> >
> > Here is the mad thing:  if I set the clk period contstraint to 7.5 ns
> > (133MHz) instead of 10, the maximum frequency comes out as 95.274MHz
> !!!!!!
> >
> > Why?  Surely if I ask for a higher clock rate that cannot be met by the
> > tools then at worst the tools should maintain my 103.082 MHz max freq
and
> > just report all paths that are preventing the design reaching the higher
> > rate - thus allowing me to try and tweak these paths in some way to kcik
> > them into shape!
> >
> > Or have I missed a trick somewhere?
> >
> > Thanks for your time,
> >
> > Ken
> >
> >
>
>



Article: 44063
Subject: 20,000 gates?
From: "Roger King" <roger@king.com>
Date: Tue, 11 Jun 2002 13:26:58 GMT
Links: << >>  << T >>  << A >>
Is 20,000 gates enough for creating a nice project? What are some projects
one can create by using 20,000 gates? I am trying to decide if 20,000 gates
fpga board would be sufficient for a hobbyist that wants to use it for about
2 years.

I have another question. How many megs of RAM will I be able to develop
using 20,000 gates fpga? I mean if I want to use the fpga as a ram.





Article: 44064
Subject: Re: Problems initialising an FPGA - SPARTAN II
From: "Damir Danijel Zagar" <dzagar@srce.hr>
Date: Tue, 11 Jun 2002 16:31:38 +0200
Links: << >>  << T >>  << A >>
Which Spartan part exactly?

Damir

"Benjamin Todd" <Benjamin.Todd@cern.ch> wrote in message
news:ae4ii0$9nt$1@sunnews.cern.ch...
> Hi all, firstly apologies for the double post; but i'm having a bit of
> difficulty:  I've already tried Xilinx Forum with this one and no luck
there
> either!
>
> I need some feedback on a problem:
>
> I have just moved from a -5 Spartan II to the faster -6... not a big
change,
> i know, but I have observed a strange effect in two test cards; the PCB is
> not to blame, it is something more sinister than that...
>
> I am using tried and tested circuit techniques, that work well in other
> designs, but for some reason i've managed to break two Spartan-II FPGA in
as
> many days:
>
> Firstly the symptoms: when I first power up the FPGA, a pin (number 41 in
> the TQ144 package) becomes connected to both GND and VCCO - causing a
short
> circuit.  physiclly this pin is +5 or 0V, admittedly this is higher than
> 3.3V (VCCO) but why should it cause the FPGA to break like this?
> What should I change on my PCB to stop this happenning again?
> Anyways I thought that all pins on the FPGA, not connected with the
> configuration were high-Z before configuration was completed?
> I also thought that Spartan II was 5 v compliant?
>
> Could this be to do with the 1.8A current spike I have read about on
various
> newsgroups?  I have a regulator that can deliver 1.0A per channel (i.e.
both
> on VCCO and VCCINT)
> would you think that is too low (although the junction temperature is
> definitely above freezing)?
>
> any suggestions more than welcome
> Many thanks for any feedback.
> --
> Benjamin Todd
> European Organisation for Particle Physics
> SL SPS/LHC -- Control -- Timing Division
> CERN, Geneva, Switzerland,  CH-1211
> Building 864 Room 1 - A24
>
>



Article: 44065
Subject: Re: synthesis query: Xilinx + Synplify
From: John_H <johnhandwork@mail.com>
Date: Tue, 11 Jun 2002 07:37:27 -0700
Links: << >>  << T >>  << A >>
I did something creative with a ( val[23:3]<(en?17:9) ) kind of
quantity.  Try a structure like:

assign out = { addr[  8] & mask[  8] 
             , addr[7:6] & mask[7:6]
             , addr[5:4] & mask[5:4]
             , addr[3:2] & mask[3:2]
             , addr[1:0] & mask[1:0]
             } < 5'h1;

I'm using the < in your example rather than the == because Synplify
*used* to not implement the equality.  Maybe it does now.  If I had my
synthesizer in front of me I'd try it for you.



Rick Filipkiewicz wrote:
> 
> Rick Filipkiewicz wrote:
> 
> > Is there any way of re-wrting the following simple counter code so that
> > Synplify will merge the or'ed incrementer into the 1st LUT of the adder
> > chain ? Or am I going to have to instantiate everything ?
> >
> > always @(posedge clk)
> >     if (reset)
> >         ra <= 0;
> >     else
> >         ra <= fra;
> >
> >     wire [5:0] fra = ra + ((count_en[0] | count_en[1]) ? 1 : 0);
> 
> In fact I think this is a small example of a bigger thing where Synplify
> fails to take advantage of the Xilinx architecture to synthesise fast [and
> predictable] wide logic functions using the carry chains. In the same
> struggle to grind down some timing paths I had to work on this function:
> 
> reg [8:0] addr, mask;
> ....
> 
> assign out = (addr & mask != 0);
> 
> It had been o.k. when the 2 vectors were only 8 bits but failed when
> extended to 9. Doing it 2 bits at a time and using the carry chain to
> propagate and voila ... *that* part of problem solved even unto 10 bits and
> probably 12. Only downside was having to instantiate the MUXCYs although
> Synplify 7.x & ModelSim 5.5+ can handle arrays of instances so it wasn't
> too bad.

Article: 44066
Subject: Re: Problems initialising an FPGA - SPARTAN II
From: "Benjamin Todd" <Benjamin.Todd@cern.ch>
Date: Tue, 11 Jun 2002 16:48:31 +0200
Links: << >>  << T >>  << A >>
Spartan II TQ144 -6 (Commercial)

"Damir Danijel Zagar" <dzagar@srce.hr> wrote in message
news:ae51kc$qck$1@sunce.iskon.hr...
> Which Spartan part exactly?
>
> Damir
>
> "Benjamin Todd" <Benjamin.Todd@cern.ch> wrote in message
> news:ae4ii0$9nt$1@sunnews.cern.ch...
> > Hi all, firstly apologies for the double post; but i'm having a bit of
> > difficulty:  I've already tried Xilinx Forum with this one and no luck
> there
> > either!
> >
> > I need some feedback on a problem:
> >
> > I have just moved from a -5 Spartan II to the faster -6... not a big
> change,
> > i know, but I have observed a strange effect in two test cards; the PCB
is
> > not to blame, it is something more sinister than that...
> >
> > I am using tried and tested circuit techniques, that work well in other
> > designs, but for some reason i've managed to break two Spartan-II FPGA
in
> as
> > many days:
> >
> > Firstly the symptoms: when I first power up the FPGA, a pin (number 41
in
> > the TQ144 package) becomes connected to both GND and VCCO - causing a
> short
> > circuit.  physiclly this pin is +5 or 0V, admittedly this is higher than
> > 3.3V (VCCO) but why should it cause the FPGA to break like this?
> > What should I change on my PCB to stop this happenning again?
> > Anyways I thought that all pins on the FPGA, not connected with the
> > configuration were high-Z before configuration was completed?
> > I also thought that Spartan II was 5 v compliant?
> >
> > Could this be to do with the 1.8A current spike I have read about on
> various
> > newsgroups?  I have a regulator that can deliver 1.0A per channel (i.e.
> both
> > on VCCO and VCCINT)
> > would you think that is too low (although the junction temperature is
> > definitely above freezing)?
> >
> > any suggestions more than welcome
> > Many thanks for any feedback.
> > --
> > Benjamin Todd
> > European Organisation for Particle Physics
> > SL SPS/LHC -- Control -- Timing Division
> > CERN, Geneva, Switzerland,  CH-1211
> > Building 864 Room 1 - A24
> >
> >
>
>



Article: 44067
Subject: Re: programming xc3030 using atmel's ATDH2225 programmer cable
From: newman5382@aol.com (newman)
Date: 11 Jun 2002 08:06:19 -0700
Links: << >>  << T >>  << A >>
t.t.withaar@student.etc.etc (Thijs) wrote in message news:<3d05a467.1112599@news.student.utwente.nl>...
> >The 3030A is an antique, and is not supported with the current
> >tools.  The cost of the board and support for programming the part
> >is going to cost you much more than the part itself.  Very
> >seriously consider instead working with one of the current parts
> >such as the SpartanII.  There are a number of eval boards with
> >current parts available on the market for under $200 that are
> >compatible with the free development software available on the FPGA
> >vendor sites.
> 
> thanks, but i could get this 3030 for about $4, it's just for
> a hobby project, so buying a board for $100 or more is way
> out of my budget.

I think that the tail is wagging the dog.  You are willing to commit a
lot of your time in order to utilize a $4 part with a dead end
process.

Newman

Article: 44068
Subject: Re: 20,000 gates?
From: John_H <johnhandwork@mail.com>
Date: Tue, 11 Jun 2002 16:20:42 GMT
Links: << >>  << T >>  << A >>
20k gates is awfully tiny for what's readily available these days.  You can get
evaluation boards at reasonable cost with a small 40k gates and advanced
features (including 72kbits RAM) or 300k gates and good features (including
64kbits RAM) using the Xilinx devices.  You can find links to demo boards in
this newsgroup - search groups.google.com for full history.  Keep in mind these
gate numbers (as with all demo boards) are "marketing gates" and don't
necessarily reflect reality.  The number of flops may be more interesting.  I'm
not familiar with demo boards with other manufacturers' devices, but they are
out there and they are affordable.

Different hobbyists have different scales of "fun" in their projects.  I'd
probably go with the Spartan-IIE 300 based eval board, myself.  Good speed,
decent cost, healthy functionality.  You might be able to do all you need with
the WebPack tool at no cost (?).

Happy hobbying!


Roger King wrote:

> Is 20,000 gates enough for creating a nice project? What are some projects
> one can create by using 20,000 gates? I am trying to decide if 20,000 gates
> fpga board would be sufficient for a hobbyist that wants to use it for about
> 2 years.
>
> I have another question. How many megs of RAM will I be able to develop
> using 20,000 gates fpga? I mean if I want to use the fpga as a ram.


Article: 44069
Subject: Re: Busses & permutations
From: John_H <johnhandwork@mail.com>
Date: Tue, 11 Jun 2002 16:22:50 GMT
Links: << >>  << T >>  << A >>
I recently discovered the Xilinx LOC constraint can apply to a group of
signals.  I ended up specifying all the pads in a single IOB group as my
LOC groups to help me keep track of which signals are on which rows.
The group capability was a nice discovery.


Iwo Mergler wrote:

> Hi all,
>
> I interface FPGAs/CPLDs quite frequently to various types
> of memory. The wide busses regularly mess up the routing
> resources when the device approaches 100% utilization. Things
> are bad in CPLDs and worse in FPGAs.
>
> Now, I know that I don't care about the bit order on the
> memory busses, but the fitter software always does. One
> option is to not constrain the pins, but that means PCB
> redesign.
>
> My wish is to be able to constrain a group of signals
> (e.g. a bus) to a group of pins. That way, the fitter
> has more freedom and I don't have to change the board.
>
> Do any of the available tools support this?
>
> Kind regards,
>
> Iwo


Article: 44070
Subject: Re: surely this is mad? (clock rate issues)
From: John_H <johnhandwork@mail.com>
Date: Tue, 11 Jun 2002 16:24:37 GMT
Links: << >>  << T >>  << A >>
Aren't modern tool results great?

Ken Mac wrote:

> Some more weird results:
>
> If I put 9.24 ns as my period in UCF, I get a min period of 9.128 ns after
> par (109.553MHz).
>
> If I then put in 9.128 ns in UCF I get a min period of 9.694 ns after par
> (103.157MHz).
>
> So - with a bit of black magic and stabbing in the dark I will find my max
> clock rate!
>
> Ken


Article: 44071
Subject: Re: 20,000 gates?
From: "Falk Brunner" <Falk.Brunner@gmx.de>
Date: Tue, 11 Jun 2002 18:31:08 +0200
Links: << >>  << T >>  << A >>
"Roger King" <roger@king.com> schrieb im Newsbeitrag
news:CUmN8.248826$ah_.140060@news01.bloor.is.net.cable.rogers.com...
> Is 20,000 gates enough for creating a nice project? What are some projects
> one can create by using 20,000 gates? I am trying to decide if 20,000
gates
> fpga board would be sufficient for a hobbyist that wants to use it for
about
> 2 years.

You can do a lot for funny things with 20k gates, but why using such a small
device?
You can get 200k gates for 99$, which is very cheap.

www.nuhorizons.com

Its a nice board.
To develop for such a device, 128 MB of RAM are good, but more is always
welcome.

--
MfG
Falk





Article: 44072
Subject: Re: 20,000 gates?
From: "Roger King" <roger@king.com>
Date: Tue, 11 Jun 2002 16:37:25 GMT
Links: << >>  << T >>  << A >>
What about the 50,000 gate Spartan2 board from xess?


"John_H" <johnhandwork@mail.com> wrote in message
news:3D06235A.F1E32B99@mail.com...
> 20k gates is awfully tiny for what's readily available these days.  You
can get
> evaluation boards at reasonable cost with a small 40k gates and advanced
> features (including 72kbits RAM) or 300k gates and good features
(including
> 64kbits RAM) using the Xilinx devices.  You can find links to demo boards
in
> this newsgroup - search groups.google.com for full history.  Keep in mind
these
> gate numbers (as with all demo boards) are "marketing gates" and don't
> necessarily reflect reality.  The number of flops may be more interesting.
I'm
> not familiar with demo boards with other manufacturers' devices, but they
are
> out there and they are affordable.
>
> Different hobbyists have different scales of "fun" in their projects.  I'd
> probably go with the Spartan-IIE 300 based eval board, myself.  Good
speed,
> decent cost, healthy functionality.  You might be able to do all you need
with
> the WebPack tool at no cost (?).
>
> Happy hobbying!
>
>
> Roger King wrote:
>
> > Is 20,000 gates enough for creating a nice project? What are some
projects
> > one can create by using 20,000 gates? I am trying to decide if 20,000
gates
> > fpga board would be sufficient for a hobbyist that wants to use it for
about
> > 2 years.
> >
> > I have another question. How many megs of RAM will I be able to develop
> > using 20,000 gates fpga? I mean if I want to use the fpga as a ram.
>



Article: 44073
Subject: Re: 20,000 gates?
From: John_H <johnhandwork@mail.com>
Date: Tue, 11 Jun 2002 16:42:41 GMT
Links: << >>  << T >>  << A >>
The Spartan2 is a great part.  The difference in cost between an XC2S50 and an
XC2S300E is a fraction of any demo board price.  I don't know any specific demo
boards but the xess board should be very capable for many projects.


Roger King wrote:

> What about the 50,000 gate Spartan2 board from xess?
>
> "John_H" <johnhandwork@mail.com> wrote in message
> news:3D06235A.F1E32B99@mail.com...
> > 20k gates is awfully tiny for what's readily available these days.  You
> can get
> > evaluation boards at reasonable cost with a small 40k gates and advanced
> > features (including 72kbits RAM) or 300k gates and good features
> (including
> > 64kbits RAM) using the Xilinx devices.  You can find links to demo boards
> in
> > this newsgroup - search groups.google.com for full history.  Keep in mind
> these
> > gate numbers (as with all demo boards) are "marketing gates" and don't
> > necessarily reflect reality.  The number of flops may be more interesting.
> I'm
> > not familiar with demo boards with other manufacturers' devices, but they
> are
> > out there and they are affordable.
> >
> > Different hobbyists have different scales of "fun" in their projects.  I'd
> > probably go with the Spartan-IIE 300 based eval board, myself.  Good
> speed,
> > decent cost, healthy functionality.  You might be able to do all you need
> with
> > the WebPack tool at no cost (?).
> >
> > Happy hobbying!
> >
> >
> > Roger King wrote:
> >
> > > Is 20,000 gates enough for creating a nice project? What are some
> projects
> > > one can create by using 20,000 gates? I am trying to decide if 20,000
> gates
> > > fpga board would be sufficient for a hobbyist that wants to use it for
> about
> > > 2 years.
> > >
> > > I have another question. How many megs of RAM will I be able to develop
> > > using 20,000 gates fpga? I mean if I want to use the fpga as a ram.
> >


Article: 44074
Subject: Asynchronous Perhiperal Mode
From: weirdo@bbs.frc.utn.edu.ar (Mauricio Lange)
Date: 11 Jun 2002 09:46:03 -0700
Links: << >>  << T >>  << A >>
Hello, this question may be stupid, I think
What happens with CCLK when in Asynchronous Pheriperal Mode (010)?
AFAIK, in the other modes CCLK counts until n, where n is the lenght
of the bitstream. So, in this mode, CCLK should be counting in
something as bursts?
To clarify, suppose that I send a byte of data, wait for the RDY/-BUSY
to go high, send another byte, etc. and between every byte my delay is
variable, suppose, 2us to 3 or 4us. CCLK should count at the internal
rate, stop until the FPGA accepts a new byte, count again, etc?
If that were not the case, what could happen if I wait too much
without sending data to the FPGA?
Note: I am using a XC4010XL FPGA

Thank you very much

Mauricio Lange



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search