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

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