home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 3.img / NETFORMS.PLB / INTERGRA.CF < prev    next >
Encoding:
Text File  |  1991-10-14  |  4.3 KB  |  210 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 are not checked for length
  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 ASCII keyboard characters are legal
  18.  */
  19.  
  20. int sw_L;
  21.  
  22. int net_items;
  23. int len;
  24.  
  25. /*-----------------------*/
  26.  
  27. Initialize()
  28. {
  29.     WriteString(0, "Creating Netlist...");
  30.     WriteCrLf(0);
  31.  
  32.     AddSymbol("ModuleNameStr");
  33.     AddSymbol("PartNameStr");
  34.     AddSymbol("SignalNameStr");
  35.     SetNumberWidth(5);
  36.  
  37.     sw_L = SwitchIsSet("L");
  38. }
  39.  
  40. /*-----------------------*/
  41.  
  42. WriteHeader()
  43. {
  44.     WriteString(1, "%PART");
  45.     WriteCrLf(1);
  46.  
  47.     while (LoadInstance())
  48.     {
  49.         CopySymbol(ModuleName, ModuleNameStr);
  50.         len = SymbolLength(ModuleName);
  51.         if (len > 15)
  52.         {
  53.             WriteSymbol(1, ModuleName);
  54.             WriteString(1, "  ");
  55.         }
  56.         else
  57.         {
  58.             /* if the ModuleName is empty, then output the PartName */
  59.             if (len > 0)
  60.             {
  61.                 PadSpaces(ModuleNameStr, 16);
  62.                 WriteSymbol(1, ModuleNameStr);
  63.             }
  64.             else
  65.             {
  66.                 CopySymbol(PartName, PartNameStr);
  67.                 len = SymbolLength(PartName);
  68.                 if (len > 15)
  69.                 {
  70.                     WriteSymbol(1, PartName);
  71.                     WriteString(1, "  ");
  72.                 }
  73.                 else
  74.                 {
  75.                     PadSpaces(PartNameStr, 16);
  76.                     WriteSymbol(1, PartNameStr);
  77.                 }
  78.             }
  79.         }
  80.  
  81.         WriteSymbol(1, ReferenceString);
  82.         WriteCrLf(1);
  83.     }
  84.  
  85.     WriteString(1, "%NET");
  86.     WriteCrLf(1);
  87. }
  88.  
  89. /*-----------------------*/
  90.  
  91. HandleNodeName()
  92. {
  93.     int i;
  94.  
  95.     net_items = 0;
  96.     CopySymbol(SignalNameString, SignalNameStr);
  97.  
  98.     i = GetStandardSymbol(TypeCode);
  99.     if (i == 'L')
  100.     {
  101.         if (sw_L == 0)
  102.         {
  103.             SetNumberWidth(1);
  104.             MakeLocalSignal("/");
  105.             SetNumberWidth(5);
  106.             CopySymbol(LocalSignal, SignalNameStr);
  107.         }
  108.     }
  109.  
  110.     if (i == 'L')
  111.     {
  112.         len = SymbolLength(SignalNameStr);
  113.         if (len > 23)
  114.         {
  115.             WriteSymbol(1, SignalNameStr);
  116.             WriteString(1, " ");
  117.         }
  118.         else
  119.         {
  120.             PadSpaces(SignalNameStr, 23);
  121.             WriteSymbol(1, SignalNameStr);
  122.         }
  123.     }
  124.     if (i == 'P')
  125.     {
  126.         len = SymbolLength(SignalNameStr);
  127.         if (len > 23)
  128.         {
  129.             WriteSymbol(1, SignalNameStr);
  130.             WriteString(1, " ");
  131.         }
  132.         else
  133.         {
  134.             PadSpaces(SignalNameStr, 23);
  135.             WriteSymbol(1, SignalNameStr);
  136.         }
  137.     }
  138.     if (i == 'S')
  139.     {
  140.         len = SymbolLength(SignalNameStr);
  141.         if (len > 23)
  142.         {
  143.             WriteSymbol(1, SignalNameStr);
  144.             WriteString(1, " ");
  145.         }
  146.         else
  147.         {
  148.             PadSpaces(SignalNameStr, 23);
  149.             WriteSymbol(1, SignalNameStr);
  150.         }
  151.     }
  152.     if (i == 'N')
  153.     {
  154.         WriteString(1, "N");
  155.         WriteSymbol(1, NetNumber);
  156.         WriteString(1, "                 ");
  157.     }
  158.     if (i == 'U')
  159.     {
  160.         WriteString(1, "N");
  161.         WriteSymbol(1, NetNumber);
  162.         WriteString(1, "                 ");
  163.     }
  164. }
  165.  
  166. /*-----------------------*/
  167.  
  168. WriteNet()
  169. {
  170.     if (net_items == 4)
  171.     {
  172.         WriteCrLf(1);
  173.         WriteString(1, "*                      ");
  174.  
  175.         net_items = 0;
  176.     }
  177.     WriteString(1, " ");
  178.  
  179.     WriteSymbol(1, ReferenceString);
  180.     WriteString(1, "-");
  181.     WriteSymbol(1, PinNumberString);
  182.  
  183.     net_items = net_items + 1;
  184. }
  185.  
  186. /*-----------------------*/
  187.  
  188. WriteNetEnding()
  189. {
  190.     WriteCrLf(1);
  191. }
  192.  
  193. /*-----------------------*/
  194.  
  195. ProcessFieldStrings()
  196. {
  197. }
  198.  
  199. /*-----------------------*/
  200.  
  201. WriteNetListEnd()
  202. {
  203.     WriteString(1, "$");
  204.  
  205.     WriteString(0, "Done");
  206.     WriteCrLf(0);
  207. }
  208.  
  209.  
  210.