IP Lines (Branches)

Helix IPLM can track multiple lines of development for each IP. Each IP Line has a series of independent, sequential releases. The relationship between IP Lines is tracked when a new line is created with IP copy. This page describes how to create and manage IP Lines. IP Lines are used to track IP variants, and to track new drops of external IPs. When IPVs are copied to new lines or entirely new IPs the IPV source of the copy is retained in the newly copied object. This provides traceability of the copy history of any series of IPs.

Line name restrictions

Forbidden characters Reason for restriction
' / ' UNIX filename separator
'\', '?', or '*'
UNIX Special Characters
No Whitespace Command parsing
'@', '#', '.' (dot), or colon ':'
Helix IPLM Special Characters

Permission details for IP Lines

Note:  Permission granularity is at the Line level. All IPVs on a Line get the same permissions.

Permission Allows Implied permissions
View (v)

List the Line and all the IPVs on the Line and their contents

View Line permissions

Library Read (r)

IP Read (r)

Read (r)

List the Line and all the IPVs on the Line and their contents

View Line permissions

Load a release of the IP (an IPV) into a workspace (either standalone or as part of another IP's hierarchy)

Use a release of the IP (an IPV) as a resource in another IP

Perform an IP copy with one of the IPVs on the Line as the source

Perform an IP merge with one of the IPVs on the Line as a source

Library Read (r)

IP Read (r)

Write (w)

Create new releases (IPVs) on the Line

Delete existing latest release IPVs on the Line.

Note:  IPV delete capability with write permission is reserved for admin users by default, and it is a feature that can be enabled. See pi-admin global configuration for more details.

Library Read (r)

IP Read (r)

Line Read (r)

Owner (o)

Edit Line permissions

Delete existing latest release IPVs on the Line

Note:  IPV delete capability with owner permission is reserved for admin users by default, and it is a feature that can be enabled. See pi-admin global configuration for more details.

Library Read (r)

IP Read (r)

Line Read (r)

Creating a Line in IPLM Web

Select Create line on the IPV page. The Create line window opens. Enter the new Line name, the Repo Path, and the Version Message.  

The Repo Path can be automatically copied from the Source IP using the '(Copy Repo Path from IPv)' link if desired. Note that the Repo Path must be modified for the new Line once copied.

Once configured, select Create line.

Viewing the Line source

The IP Line info tab shows the source of the Line.

The Line Graph tab shows the sources of each line in a given IP.

Creating and managing IP Lines using CLI

Lines are created from other Lines on a given IP via the pi ip copy command on the CLI, or by creating a new line on IPLM Web. When an IP is created it is always created with the TRUNK line by default. If for example the IP Line 'LIB.IP@.TRUNK' already exists and we want to create an additional IP Line to use for an external IP Revision called 'REV2' and we decide the @3 version of LIB.IP@.TRUNK (LIB.IP@3.TRUNK) has the metadata we wish to use, we would do the following from the CLI:

pi ip copy Command
pi ip copy --repo-path //mdx_test/LIB/IP/REV2 LIB.IP@3.TRUNK LIB.IP@.REV2 -m 'New REV2 Line'
Successfully created new Line 'LIB.IP@0.REV2'

See Copying IPs for more information on the pi ip copy command. 

If entering a pi ip list -v command on the new line:

> pi ip list -v LIB.IP@.REV2
IP Version LIB.IP@0.REV2:
    Description               - Helix IPLM External IP
    DM type                   - Perforce (P4)
    Host                      -
    Repo Path                 - //mdx_test/LIB/IP/REV2
    Resources                 - LIB.PDK@GOLD.TRUNK [@5]
                                LIB.LICENSE@LATEST.TRUNK [@1]
 
    Current Aliases           - HEAD LATEST
    Historic Aliases          -
    Version Message           - new REV2 line
...
 
  Project Properties:
    *                         - --path blocks/$IP
 
  Branching Information:
    Source                    - LIB.IP@3.TRUNK
 
  IP Properties:
    target_power              - 0.5 mW (*)
    target_size               - 35.0 sq-mm
 
  IP Version Properties:
    coverage                  - 22.0 % (*)
    power                     - 1.0 mW (*)
    regr                      - 100 /2000 (*)
    size                      - 1.0 sq-mm (*)
 
  Permissions on IP:
    Owner                     - g:mygroup
    Write Permissions         - g:mygroup
    Read Permissions          - g:mygroup
 
  Permissions on Line REV2:
    Owner                     - g:mygroup
    Write Permissions         - g:mygroup
    Read Permissions          - g:mygroup
 
  Hooks:
    No Hooks defined.
 
Found 1 matching object(s).

The resources, properties, and permissions, of the default @TRUNK Line were copied over to our new REV2 line. In addition, Helix IPLM tracks the source of our branch (LIB.IP@3.TRUNK).