home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lsi / cad / 1327 < prev    next >
Encoding:
Text File  |  1993-01-22  |  3.8 KB  |  78 lines

  1. Newsgroups: comp.lsi.cad
  2. Path: sparky!uunet!psgrain!percy!nosun!klic!keithl
  3. From: keithl@klic.rain.com (Keith Lofstrom)
  4. Subject: Re: Fault Simulation of differential logic
  5. Message-ID: <1993Jan22.070659.5381@klic.rain.com>
  6. Organization: Keith Lofstrom Integrated Circuits
  7. References: <1993Jan19.155846.11093@bmw.mayo.edu>
  8. Date: Fri, 22 Jan 1993 07:06:59 GMT
  9. Lines: 67
  10.  
  11. In article <1993Jan19.155846.11093@bmw.mayo.edu> buchs@mayo.edu (Kevin Buchs) writes:
  12. > We are trying to get an idea of how effective our test vectors are
  13. > for a differential (CML) logic design.  In considering this, however,
  14. > it seems like differential logic is inherently untestable.  You have
  15. > two signals and unless they are of opposite logic levels, the outputs
  16. > are undefined.  Thus, a stuck-at fault on one would yield a unknown
  17. > output and only a possible detect.  Since separate drive transistors
  18. > are used for each signal, it is a lot less likely that both signals
  19. > in the differential pair are faulty.  Can anyone shed any further
  20. > light on this topic or show me my faults?
  21. >
  22. > Kevin Buchs  (buchs@mayo.edu)
  23.  
  24. First off, differential logic is poorly represented by the currently
  25. available simulators.   The key concept is that:
  26.  
  27. *** for differential logic, two wires represent one logic signal !!! ***
  28.  
  29. That is, your logic signal is the difference between the two values.  Indeed,
  30. all logic is differential - however, we usually are sloppy and assign one
  31. of the logic inputs to a supply or a bias generator or - ghod help us -
  32. a process parameter like VT or VBE.   Ewww.
  33.  
  34. Thus, what you need is an as-yet-unavailable preprocessor that goes through
  35. your netlist and changes the pair of wires into one logic signal, while
  36. checking loading ratios and so forth to make sure that the logic approximation
  37. is a good one.  There are cases where it isn't - for example a differential
  38. emitter follower off an ECL gate can generate some pretty crappy signals
  39. if the current source pulldowns are too weak:
  40.  
  41.   +++++++++++++    *****************************************
  42.                +++*+++++
  43.                  *      +++++++++
  44.                 *                +++++++++
  45.                *                          ++++++++
  46.   *************                                   ++++++++++
  47.  
  48. ... but this is the sort of thing a preprocessor should be able to find.
  49. As a fault, it would look like excessive delay, which is why differential
  50. logic must always be tested at speed  (meaning you have to design in some
  51. circuitry to help your pathetically slow tester).  Performance is costly.
  52.  
  53. For multilevel current steering logic, this same preprocessor should help 
  54. determine whether each line is biased to the proper level, the levels are
  55. stacked properly, and the bias generators are adequate.   Since you can
  56. swap inputs, the preprocessor must be able to incorporate zero-delay
  57. input inversions - or select between a unit delay buffer and a unit
  58. delay inverter at each input, if your logic simulator is too lame to
  59. selectively invert inputs to gates and cells.
  60.  
  61. Is there a graduate student out there looking for a thesis topic?
  62.  
  63. Okay, so what you get to do is to predesign your naming conventions,
  64. and build a crufty little preprocessor in AWK or PERL that uses and
  65. checks them.  With that, you can boil your netlist down to logic.  As
  66. logic, all the normal rules of fault modelling apply.  The only thing
  67. missing is the "input driven so high that the transistor saturates and
  68. squirts the tail current out the base" fault, but this is usually 
  69. adequately modeled by an output-stuck-at-one for the following output.
  70.  
  71. Good luck.  ECL/CML design isn't for wimps!
  72.  
  73. Keith
  74. -- 
  75. Keith Lofstrom         keithl@klic.rain.com       Voice (503)-520-1993
  76. KLIC --- Keith Lofstrom Integrated Circuits --- "Your Ideas in Silicon"
  77. Design Contracting in Bipolar and CMOS - Analog, Digital, and Power ICs
  78.