home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 3.img / NETFORMS.PLB / CBDS.CF < prev    next >
Encoding:
Text File  |  1991-10-14  |  3.7 KB  |  185 lines

  1. /*
  2.     /L Do not append sheet number to labels
  3.  */
  4.  
  5. /*  VERSION="1.10   14-OCT-91"
  6.  *      - Added Version message
  7.  *
  8.  *  Capacities:
  9.  *      - Part Names are not checked for length
  10.  *      - Module Names are not checked for length
  11.  *      - Reference Strings are not checked for length
  12.  *      - Node Names can contain up to 20 characters (see legal characters below)
  13.  *      - Node Numbers are limited to 5 digits (plus the leading 'N')
  14.  *      - Pin Numbers are not checked for length
  15.  *
  16.  *  Characters:
  17.  *      - All characters are legal for Part Names, Module Names, and Reference Strings
  18.  *      - Legal characters for Node Names are {'/-', '0..9', 'a..z', 'A..Z' }
  19.  */
  20.  
  21. int sw_L;
  22.  
  23. int net_items;
  24. int len;
  25.  
  26. /*-----------------------*/
  27.  
  28. Initialize()
  29. {
  30.     WriteString(0, "Creating Netlist...");
  31.     WriteCrLf(0);
  32.  
  33.     AddSymbol("SignalNameStr");
  34.     SetCharSet("/-0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
  35.     SetNumberWidth(5);
  36.  
  37.     sw_L = SwitchIsSet("L");
  38. }
  39.  
  40. /*-----------------------*/
  41.  
  42. WriteHeader()
  43. {
  44.     WriteString(1, ".SEARCH P,C");
  45.     WriteCrLf(1);
  46.  
  47.     while (LoadInstance())
  48.     {
  49.         WriteString(1, ".DD  ");
  50.         WriteSymbol(1, ReferenceString);
  51.         WriteString(1, " ");
  52.  
  53.         len = SymbolLength(ModuleName);
  54.         if (len > 0)
  55.         {
  56.             WriteSymbol(1, ModuleName);
  57.         }
  58.         else
  59.         {
  60.             /* if the ModuleName is empty, then output the PartName */
  61.             WriteSymbol(1, PartName);
  62.         }
  63.         WriteCrLf(1);
  64.     }
  65. }
  66.  
  67. /*-----------------------*/
  68.  
  69. HandleNodeName()
  70. {
  71.     int i;
  72.     int legal;
  73.  
  74.     net_items = 0;
  75.     i = GetStandardSymbol(TypeCode);
  76.  
  77.     WriteString(1, ".S,");
  78.  
  79.     CopySymbol(SignalNameString, SignalNameStr);
  80.     legal = SymbolInCharSet(SignalNameStr);
  81.     if (legal != 1)
  82.     {
  83.         WriteString(0, "WARNING: Name contains illegal characters '");
  84.         WriteSymbol(0, SignalNameStr);
  85.         WriteString(0, "', changed to N");
  86.         WriteSymbol(0, NetNumber);
  87.         WriteCrLf(0);
  88.  
  89.         SetSymbol(ExitType, "W");
  90.         i = 'N';
  91.     }
  92.  
  93.     if (i == 'L')
  94.     {
  95.         if (sw_L == 0)
  96.         {
  97.             SetNumberWidth(1);
  98.             MakeLocalSignal("-");
  99.             SetNumberWidth(5);
  100.             CopySymbol(LocalSignal, SignalNameStr);
  101.         }
  102.     }
  103.  
  104.     len = SymbolLength(SignalNameStr);
  105.     if (len > 20)
  106.     {
  107.         WriteString(0, "WARNING: Name is too long '");
  108.         WriteSymbol(0, SignalNameStr);
  109.         WriteString(0, "', changed to N");
  110.         WriteSymbol(0, NetNumber);
  111.         WriteCrLf(0);
  112.  
  113.         SetSymbol(ExitType, "W");
  114.         i = 'N';
  115.     }
  116.  
  117.     if (i == 'L')
  118.     {
  119.         WriteSymbol(1, SignalNameStr);
  120.     }
  121.     if (i == 'P')
  122.     {
  123.         WriteSymbol(1, SignalNameStr);
  124.     }
  125.     if (i == 'S')
  126.     {
  127.         WriteSymbol(1, SignalNameStr);
  128.     }
  129.     if (i == 'N')
  130.     {
  131.         WriteString(1, "N");
  132.         WriteSymbol(1, NetNumber);
  133.     }
  134.     if (i == 'U')
  135.     {
  136.         WriteString(1, "N");
  137.         WriteSymbol(1, NetNumber);
  138.     }
  139. }
  140.  
  141. /*-----------------------*/
  142.  
  143. WriteNet()
  144. {
  145.     if (net_items == 8)
  146.     {
  147.         WriteString(1, "!");
  148.         WriteCrLf(1);
  149.         WriteString(1, "       ");
  150.  
  151.         net_items = 0;
  152.     }
  153.     else
  154.     {
  155.         WriteString(1, ",");
  156.     }
  157.  
  158.     WriteSymbol(1, ReferenceString);
  159.     WriteString(1, ",");
  160.     WriteSymbol(1, PinNumberString);
  161.  
  162.     net_items = net_items + 1;
  163. }
  164.  
  165. /*-----------------------*/
  166.  
  167. WriteNetEnding()
  168. {
  169.     WriteCrLf(1);
  170. }
  171.  
  172. /*-----------------------*/
  173.  
  174. ProcessFieldStrings()
  175. {
  176. }
  177.  
  178. /*-----------------------*/
  179.  
  180. WriteNetListEnd()
  181. {
  182.     WriteString(0, "Done");
  183.     WriteCrLf(0);
  184. }
  185.