AWRout Web Page Header

Installation and Licensing Notes

While AWRout is supplied with an installer, it may be useful to better understand what files are installed, where they are installed and how to customize the Cadence menu files in case you need to troubleshoot your installation.

Cadence Allegro Customization

Most problems that are encountered during installation are related to customizing the Cadence Allegro start up to

    a) load the AWROut menus

    b) load the "context" i.e. the AWR compiled SKILL module

Allegro installations (especially corporate ones) have generally been customized by the CAD administrators to support a number of users. The Allegro executables and support files are often placed on a network drive which is write protected from the users to prevent them from editing or otherwise changing the executables or start up files.

So there are two installation approaches: GLOBAL (which affects all users) and LOCAL (which affects only a single user). If you wish to install AWROut without changes to the global Allegro files then use the procedure below:

Local Allegro Install

Every Allegro user has a local directory defined as his "HOME." even if the Allegro executables are installed on a network drive. You should be able to determine the HOME directory by checking your environment variables and searching for the variable called HOME.

Under a user's HOME directory there should be a directory called pcbenv. This directory can contain all sorts of useful files. In particular we are interested in the initialization file called allegro.ilinit. This file exists in two locations: in the Cadence Allegro installation hierarchy (which we can't touch) and in the pcbenv directory.

   <CDSROOT>                             <HOME>                  <ACS_AWROUT_DIR>
   |                                        |                            |
   +- <bin>                                 +- <pcbenv>                  + - acs.key
   |                                               |                     + - acsawrout.form
   +- <data>                                allegro.ilinit               + - acsfiledlg.form
   |                                                                     + - acsprogress.form
   +- <doc>                                                              + -  awrout.cxt
   |                                                                     + -
   +- <tools>                                                            + -
   |                                                                     + - 3DiBool.exe
   +- <share>                                                            .
           |                                                             .
           +- <cdssetup> 
           +- <library>
           +- <pcb>
     <etc> ----+---- <text>
      |                |
      +- <skill>       +- <cuimenus>
            |                  | 

When Allegro starts up, it reads any directives found in the allegro.ilinit located in the installation hierarchy and acts on them; it then reads a user's local copy of allegro.ilinit and acts on any instructions or commands it finds there.

For a local install of AWROut we are only going to modify files on the user's machine and do not touch anything in CDSROOT.

Modifying the Local allegro.ilinit

To load AWROut whenever Allegro starts up we will add the following line to allegro.ilinit. (If allegro.ilinit does not exist in your pcbenv directory, create it and this will then be the only line in the file:

       (load "<AWROUT_INSTALL_DIR>/")

This causes the SKILL file to run.

This set of SKILL commands does two things:

    a) it loads the AWROut.cxt context file.

    ACS_AWROUT_DIR = "C:/wcad/AWROut"
    (loadContext "C:/wcad/AWROut/AWROUT.cxt")

    b) it calls another SKILL command file,, that dynamically loads the menus.

    (load "C:/wcad/AWROut/")

Note that only Allegro 16.2 and later have the required SKILL commands that allow us to load the menus dynamically at startup.

Since we are doing everything in the user's local HOME directory and on his local machine, When AWROut is installed this way, it does not affect any other Allegro user on the network.

Global Install

For a global install we are able to modify the files under the CDSROOT hierarchy. There are two files to be modified: The startup file, allegro.ilinit and the menu file,

Modifying the Startup File

Add the following lines to the APD start up file which is located in:


If no such file exists in that directory (or the SKILL directory does not exist) then create them.

    ACS_AWROUT_DIR = "<directory where AWROUT execs are installed>"
    (loadContext "<apd_install_dir>/AWROUT.cxt")

Clearly this file has to be customized to point to wherever you chose to install the AWROut executables. They are probably going to be on a network drive if you are making this accessible to everyone on the network.

Modifying the Menu File:

Menu Files for Allegro (and all variants) are located in the directory:


Add the following lines before the END statement:

MENUITEM "AWROut...","skill (AcsAwrOut)"
MENUITEM "&About AWROut..","skill (AcsAwrOutAbout)"
MENUITEM "&Revision History..","skill (AcsAwrOutRev)"

Note: some variations of Allegro such as the signal integrity versions may use an alternate menu file such as You may need to modify those files also as you did for


First, the lack of license does not affect the ability to install AWROut. So if you are not seeing your menus or you get an error when Allegro starts up, it is not due to a license problem.

Artwork's translators require a flexlm license server. You have three choices if you are running flexlm:

  1. piggyback on the Cadence Flexlm Server

  2. piggyback on the AWR Flexlm Server

  3. install a flexlm server just for Artwork's AWRout

Piggyback on a Cadence Flexlm Server

The Basic Steps are:

  1. Identify the machine running the flexlm server for Cadence (save hostid and hostname)

  2. Identify the OS (Windows, Linux or Solaris)

  3. Find the directory where the server was installed (e.g. /opt/flexlm)

  4. Download the correct version of the Artwork daemon

  5. copy the artwork daemon to that directory

  6. edit the license file to include the AWROut license strings

  7. Force the license manager to reread the license file


Here is an example taken from our own installation here at Artwork.

    Cadence Flexlm License Server
    OS = Solaris
    hostname = blade1500
    hostid = 83d99d68

    Flexlm Install Dir


    License File


    License File Contents

    SERVER blade1500 83d99d68 port=1704
    DAEMON cdslmd /home/cad/cadence_flex/cdslmd.09052007
    FEATURE Allegro_PCB_Router_610 cdslmd 16.2 10-feb-2010 12 \
    vendor_info=12-feb-2009 ISSUED=12-feb-2009 \
    SN=2009-02-12T11:35:45:608 SIGN2="1CE8 EA04 3A54 CDC7 6F3F \
    D85E F443 1339 CC4E 75F1 9F05 3B2A 6CD7 AF38 DEBB 0DDC 1E42 \
    F0C 5DD6 7DCC 33B6 23F0 F04A 4A4A 8308 3757 D735 8ABB F8A0 \
    5121" V7.1_LK=6D3A729C3ED53895A3D7

    License Codes (from Artwork)

    Assuming you have sent Artwork an email requesting license codes for AWROut and provided us the correct hostid i.e. 83d99d68 we will email you back with codes that are formatted as seen below. You clearly don't need the SERVER line since it is already in place in the existing license file. You will need to customize the VENDOR line. (Note - the VENDOR line used to be the DAEMON line and I believe the two terms are interchangeable)

    SERVER enter_server_name 83d99d68
    VENDOR artwork enter_path_to_daemon
    # AWROUT(req 3DiBool)
    FEATURE ACS46IO artwork 1.0 01-nov-2013 1 SIGN="002B 0D26 6B40 894A \
    FAE2 B97E 1502 4C00 82A6 B2E9 6EA6 E120 C4D2 46F0 3EDA"
    # 3DiBool
    FEATURE ACS456O artwork 1.0 01-nov-2013 1 SIGN="001B 2D80 7584 EADF \
    63B3 2539 6170 3F00 B836 8576 E788 133D 8D74 ACCE A266"

    Daemon Download

    Download the artwork daemon from the link below..

    unzip the daemon and copy it to the directory /home/cad/cadence_flex

    Edit License File

    At the end of the Cadence Features add the following codes for AWROut:

    VENDOR artwork /home/cad/cadence/flex/artwork
    # AWROUT(req 3DiBool)
    FEATURE ACS46IO artwork 1.0 01-nov-2013 1 SIGN="002B 0D26 6B40 894A \
    FAE2 B97E 1502 4C00 82A6 B2E9 6EA6 E120 C4D2 46F0 3EDA"
    # 3DiBool
    FEATURE ACS456O artwork 1.0 01-nov-2013 1 SIGN="001B 2D80 7584 EADF \
    63B3 2539 6170 3F00 B836 8576 E788 133D 8D74 ACCE A266"

    Reread the License File

    use lmutil as follows:

    $ ./lmutil -lmreread -c cdslicense.dat -artwork

    that's it. The flexlm log file should show that there is one license available for feature ACS46IO and one for ACS456O. If not, you did something wrong.

Client Side Licensing Requirements

On a client machine that is to run AWRout (or any of the other Artwork applications) there are two requirements:

The ACS.KEY file must contain the string:



An environment variable LM_LICENSE_FILE must point to the license server and port it is listening on. Following the example above: 1704@blade1500 would point to port 1704 on a machine called blade1500 running the license server.

Windows Systems Files

The following library files need to be installed in the System32 directory:

msflxgrd.ocx (must register using regsvr32.exe)

Installation Files

These files can be installed wherever one decides to put them. The directory where they are installed shall be referred to as <acs_awrout_dir>

3Di.dll                        boolean control
3DiBool.exe                    boolean engine
array.dll                      -
awrout.cxt                     awrout context file (SKILL for Allegro/APD)
acsawrout.form                 SKILL form file
acsfiledlg.form                SKILL form file
acsprogress.form               SKILL form file
apd3drev.txt                   revision text file
boolDll.dll                    boolean library
path.dll                       path to boundary conversion library
dllkey.dll                     license library
acs.key                        license file
fhostchk.dll                   licensing dll
fix_eol.exe                    fix cr/lf eol
Key.exe                        licensing executable
lhostchk.dll                   licensing dll

Windows Registry

The following key should be defined:


With these values:

InstallDir - directory where apd3d files have been installed
Version - version
ReleaseDate - release date

The version and release date can be extracted from the release.txt file.

  Download Price Revision History Installation Notes 3Di Format

417 Ingalls St., Santa Cruz, CA 95060    Tel (831) 426-6163     Fax 426-2824    email: