home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 3.img / NETFORMS.PLB / MULTIWIR.CF < prev    next >
Encoding:
Text File  |  1991-10-14  |  3.5 KB  |  177 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 plus the Pin Number are limited to 32 characters
  12.  *      - Node Names are limited to 16 characters
  13.  *      - Node Numbers are limited to 5 digits (plus the leading 'N')
  14.  *
  15.  *  Characters:
  16.  *      - All ASCII keyboard characters are legal
  17.  */
  18.  
  19. int sw_L;
  20.  
  21. int type_code;
  22. int len;
  23.  
  24. /*-----------------------*/
  25.  
  26. Initialize()
  27. {
  28.     WriteString(0, "Creating Netlist...");
  29.     WriteCrLf(0);
  30.  
  31.     AddSymbol("Error");
  32.     SetSymbol(Error, "E");
  33.  
  34.     AddSymbol("SignalNameStr");
  35.     AddSymbol("ReferenceStr");
  36.     SetNumberWidth(5);
  37.  
  38.     sw_L = SwitchIsSet("L");
  39. }
  40.  
  41. /*-----------------------*/
  42.  
  43. WriteHeader()
  44. {
  45. }
  46.  
  47. /*-----------------------*/
  48.  
  49. HandleNodeName()
  50. {
  51.     int len;
  52.  
  53.     CopySymbol(SignalNameString, SignalNameStr);
  54.  
  55.     type_code = GetStandardSymbol(TypeCode);
  56.     if (type_code == 'L')
  57.     {
  58.         if (sw_L == 0)
  59.         {
  60.             SetNumberWidth(1);
  61.             MakeLocalSignal("-");
  62.             SetNumberWidth(5);
  63.             CopySymbol(LocalSignal, SignalNameStr);
  64.         }
  65.     }
  66.  
  67.     len = SymbolLength(SignalNameStr);
  68.     if (len > 16)
  69.     {
  70.         WriteString(0, "WARNING: Name is too long '");
  71.         WriteSymbol(0, SignalNameStr);
  72.         WriteString(0, "', changed to N");
  73.         WriteSymbol(0, NetNumber);
  74.         WriteCrLf(0);
  75.  
  76.         type_code = CompareSymbol(ExitType, Error);
  77.         if (type_code != 0) { SetSymbol(ExitType, "W"); }
  78.  
  79.         type_code = 'N';
  80.     }
  81.     else
  82.     {
  83.         PadSpaces(SignalNameStr, 16);
  84.     }
  85. }
  86.  
  87. /*-----------------------*/
  88.  
  89. WriteNet()
  90. {
  91.     int pin_num_len;
  92.     int ref_len;
  93.     int i;
  94.  
  95.     if (type_code == 'L')
  96.     {
  97.         WriteSymbol(1, SignalNameStr);
  98.     }
  99.     if (type_code == 'P')
  100.     {
  101.         WriteSymbol(1, SignalNameStr);
  102.     }
  103.     if (type_code == 'S')
  104.     {
  105.         WriteSymbol(1, SignalNameStr);
  106.     }
  107.     if (type_code == 'N')
  108.     {
  109.         WriteString(1, "N");
  110.         WriteSymbol(1, NetNumber);
  111.         WriteString(1, "          ");
  112.     }
  113.     if (type_code == 'U')
  114.     {
  115.         WriteString(1, "N");
  116.         WriteSymbol(1, NetNumber);
  117.         WriteString(1, "          ");
  118.     }
  119.     WriteString(1, "  ");
  120.  
  121.     /* the number of chars in the pin number */
  122.     pin_num_len = SymbolLength(PinNumberString);
  123.     /* the number of chars in the reference string */
  124.     ref_len = SymbolLength(ReferenceString);
  125.  
  126.     if (pin_num_len + ref_len > 31)
  127.     {
  128.         /* the two strings won't fit with one space between them */
  129.         WriteString(0, "ERROR: Reference plus Pin Number is too long '");
  130.         WriteSymbol(0, ReferenceString);
  131.         WriteString(0, "' and '");
  132.         WriteSymbol(0, PinNumberString);
  133.         WriteString(0, "'");
  134.         WriteCrLf(0);
  135.  
  136.         SetSymbol(ExitType, "E");
  137.     }
  138.     else
  139.     {
  140.         WriteSymbol(1, ReferenceString);
  141.  
  142.         i = 32 - pin_num_len - ref_len;
  143.         while (i > 0)
  144.         {
  145.             WriteString(1, " ");
  146.             i = i - 1;
  147.         }
  148.         WriteSymbol(1, PinNumberString);
  149.     }
  150.  
  151.     WriteCrLf(1);
  152. }
  153.  
  154. /*-----------------------*/
  155.  
  156. WriteNetEnding()
  157. {
  158. }
  159.  
  160. /*-----------------------*/
  161.  
  162. ProcessFieldStrings()
  163. {
  164. }
  165.  
  166. /*-----------------------*/
  167.  
  168. WriteNetListEnd()
  169. {
  170.     WriteString(1, "-1");
  171.  
  172.     WriteString(0, "Done");
  173.     WriteCrLf(0);
  174. }
  175.  
  176.  
  177.