home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 13 / 13.iso / p / p078 / 3.img / NETFORMS.PLB / TANGO.CF < prev    next >
Encoding:
Text File  |  1991-10-14  |  5.6 KB  |  249 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 can be up to 16 characters in length
  10.  *      - Module Names can be up to 16 characters in length
  11.  *      - Reference Strings can be up to 16 characters in length
  12.  *      - Node Names can be up to 16 characters in 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.  *      - Note that the Reference and ModuleName must be uppercase only
  18.  *      - All ASCII keyboard characters are legal except { '()[],- ' }
  19.  */
  20.  
  21. int sw_L;
  22.  
  23. int len;
  24.  
  25. /*-----------------------*/
  26.  
  27. Initialize()
  28. {
  29.     WriteString(0, "Creating Netlist...");
  30.     WriteCrLf(0);
  31.  
  32.     AddSymbol("Error");
  33.     SetSymbol(Error, "E");
  34.  
  35.     AddSymbol("ReferenceStr");
  36.     AddSymbol("ModuleNameStr");
  37.     AddSymbol("PartNameStr");
  38.     AddSymbol("SignalNameStr");
  39.  
  40.     SetCharSet("+_/\\{}<>.`~!@#$%^&*=?0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
  41.     SetNumberWidth(5);
  42.  
  43.     AddSymbol("Str");
  44.  
  45.     CopySymbol(TitleString, Str);
  46.     PadSpaces(Str, 46);
  47.     WriteSymbol(1, Str);
  48.     WriteString(1, "Revised: ");
  49.     WriteSymbol(1, DateString);
  50.     WriteCrLf(1);
  51.     CopySymbol(DocumentNumber, Str);
  52.     PadSpaces(Str, 46);
  53.     WriteSymbol(1, Str);
  54.     WriteString(1, "Revision: ");
  55.     WriteSymbol(1, Revision);
  56.     WriteCrLf(1);
  57.     WriteSymbol(1, Organization);
  58.     WriteCrLf(1);
  59.     WriteSymbol(1, AddressLine1);
  60.     WriteCrLf(1);
  61.     WriteSymbol(1, AddressLine2);
  62.     WriteCrLf(1);
  63.     WriteSymbol(1, AddressLine3);
  64.     WriteCrLf(1);
  65.     WriteSymbol(1, AddressLine4);
  66.     WriteCrLf(1);
  67.     WriteCrLf(1);
  68.  
  69.     sw_L = SwitchIsSet("L");
  70. }
  71.  
  72. /*-----------------------*/
  73.  
  74. WriteHeader()
  75. {
  76.     while (LoadInstance())
  77.     {
  78.         WriteString(1, "[");
  79.         WriteCrLf(1);
  80.  
  81.         CopySymbol(ReferenceString, ReferenceStr);
  82.         len = SymbolLength(ReferenceString);
  83.         if (len > 16)
  84.         {
  85.             WriteString(0, "ERROR: Name is too long '");
  86.             WriteSymbol(0, ReferenceString);
  87.             WriteString(0, "', truncated to ");
  88.             WriteSymbol(0, ReferenceStr);
  89.             WriteCrLf(0);
  90.  
  91.             SetSymbol(ExitType, "E");
  92.             PadSpaces(ReferenceStr, 16);
  93.         }
  94.         WriteSymbol(1, ReferenceStr);
  95.         WriteCrLf(1);
  96.  
  97.         len = SymbolLength(ModuleName);
  98.         if (len > 0)
  99.         {
  100.             CopySymbol(ModuleName, ModuleNameStr);
  101.         }
  102.         else
  103.         {
  104.             /* No ModuleName, use the PartName */
  105.             CopySymbol(PartName, ModuleNameStr);
  106.         }
  107.  
  108.         len = SymbolLength(ModuleNameStr);
  109.         if (len > 16)
  110.         {
  111.             WriteString(0, "ERROR: Name is too long '");
  112.             WriteSymbol(0, ModuleNameStr);
  113.             WriteString(0, "', truncated to ");
  114.             PadSpaces(ModuleNameStr, 16);
  115.             WriteSymbol(0, ModuleNameStr);
  116.             WriteCrLf(0);
  117.  
  118.             SetSymbol(ExitType, "E");
  119.         }
  120.         WriteSymbol(1, ModuleNameStr);
  121.         WriteCrLf(1);
  122.  
  123.         CopySymbol(PartName, PartNameStr);
  124.         len = SymbolLength(PartName);
  125.         if (len > 16)
  126.         {
  127.             WriteString(0, "ERROR: Name is too long '");
  128.             WriteSymbol(0, PartName);
  129.             WriteString(0, "', truncated to ");
  130.             WriteSymbol(0, PartNameStr);
  131.             WriteCrLf(0);
  132.  
  133.             SetSymbol(ExitType, "E");
  134.             PadSpaces(PartNameStr, 16);
  135.         }
  136.         WriteSymbol(1, PartNameStr);
  137.         WriteCrLf(1);
  138.  
  139.         WriteCrLf(1);
  140.         WriteCrLf(1);
  141.         WriteCrLf(1);
  142.         WriteString(1, "]");
  143.         WriteCrLf(1);
  144.     }
  145. }
  146.  
  147. /*-----------------------*/
  148.  
  149. HandleNodeName()
  150. {
  151.     int i;
  152.  
  153.     WriteString(1, "(");
  154.     WriteCrLf(1);
  155.  
  156.     CopySymbol(SignalNameString, SignalNameStr);
  157.  
  158.     i = GetStandardSymbol(TypeCode);
  159.     if (i == 'L')
  160.     {
  161.         if (sw_L == 0)
  162.         {
  163.             SetNumberWidth(1);
  164.             MakeLocalSignal("-");
  165.             SetNumberWidth(5);
  166.             CopySymbol(LocalSignal, SignalNameStr);
  167.         }
  168.     }
  169.  
  170.     len = SymbolLength(SignalNameStr);
  171.     if (len > 16)
  172.     {
  173.         WriteString(0, "WARNING: Name is too long '");
  174.         WriteSymbol(0, SignalNameStr);
  175.         WriteString(0, "', changed to N");
  176.         WriteSymbol(0, NetNumber);
  177.         WriteCrLf(0);
  178.  
  179.         i = CompareSymbol(ExitType, Error);
  180.         if (i != 0) { SetSymbol(ExitType, "W"); }
  181.  
  182.         i = 'N';
  183.     }
  184.  
  185.     if (i == 'L')
  186.     {
  187.         WriteSymbol(1, SignalNameStr);
  188.     }
  189.     if (i == 'P')
  190.     {
  191.         WriteSymbol(1, SignalNameStr);
  192.     }
  193.     if (i == 'S')
  194.     {
  195.         WriteSymbol(1, SignalNameStr);
  196.     }
  197.     if (i == 'N')
  198.     {
  199.         WriteString(1, "N");
  200.         WriteSymbol(1, NetNumber);
  201.     }
  202.     if (i == 'U')
  203.     {
  204.         WriteString(1, "N");
  205.         WriteSymbol(1, NetNumber);
  206.     }
  207.     WriteCrLf(1);
  208. }
  209.  
  210. /*-----------------------*/
  211.  
  212. WriteNet()
  213. {
  214.     CopySymbol(ReferenceString, ReferenceStr);
  215.     len = SymbolLength(ReferenceString);
  216.     if (len > 16)
  217.     {
  218.         PadSpaces(ReferenceStr, 16);
  219.     }
  220.     WriteSymbol(1, ReferenceStr);
  221.     WriteString(1, ",");
  222.     WriteSymbol(1, PinNumberString);
  223.     WriteCrLf(1);
  224. }
  225.  
  226. /*-----------------------*/
  227.  
  228. WriteNetEnding()
  229. {
  230.     WriteString(1, ")");
  231.     WriteCrLf(1);
  232. }
  233.  
  234. /*-----------------------*/
  235.  
  236. ProcessFieldStrings()
  237. {
  238. }
  239.  
  240. /*-----------------------*/
  241.  
  242. WriteNetListEnd()
  243. {
  244.     WriteString(0, "Done");
  245.     WriteCrLf(0);
  246. }
  247.  
  248.  
  249.