Working with Cadence Libraries
Cadence users who are new to IP lifecycle management tools or are migrating to Perforce IPLM from a different system will be accustomed to an existing workspace structure and way of work.
It may be possible to replicate the existing workspace structure using Perforce IPLM, but it's worth taking the time to plan for future requirements, and that could mean re-structuring your data to be IP-centric.
For example:
- if you have two Cadence libraries which will always be used together, it may make sense to create a single IP to contain them both
- Conversely, if you have a very large Cadence library it may make sense to split it by function into multiple IPs.
- If you have traditionally stored non-Cadence data inside the Cadence library, you might consider pulling it out into separate locations in the IP
Relationship Between IPs and Cadence Libraries
An IP may contain any number of Cadence libraries but the most common case is for an IP to contain a single Cadence library.
Where there is a one-to-one mapping between Cadence libraries and IPs, the obvious approach is to designate the Cadence library directory as the IP top-level directory, but this is not recommended for a number of reasons:
- Not possible to store non-Cadence data in the IP
- Even if this isn't required today, it may become necessary in the future.
- Can't add new Cadence libraries to the IP
- Very difficult to split the Cadence library if it becomes too big
- The default directory name for an IP is '.', but a cadence library directory name cannot contain '.', so it's necessary to define a mapping for each resource IP in the parent project properties.
- More difficult to create a new IP/Cadence library
IP Directory Structure
If possible, use a common directory structure for all IPs; this facilitates re-use and makes it easier to configure the workspace.
A typical IP directory structure might consist of several directories at the top-level:
cds - contains Cadence libraries
docs - contains documentation
misc - contains anything that doesn't belong somewhere else
rtl - contains verilog/VHDL files
test - contains test benches
Identifying Cadence Libraries in the Workspace
Perforce IPLM will look for Cadence libraries in the workspace based on the rules in the configuration file and will automatically generate the cds.lib file. See Workspace configuration.
Create Managed Library
Existing IP
To create a library in an existing IP, use New->Library in Cadence and specify the desired location in the IP sub-directory. The new library will be added to the DM system automatically.
New IP
To create a cadence library in a new IP, it is necessary to first create the IP, add it to the project resources then update the workspace so that there is a valid location for the new library.
Once the new IP exists in the workspace, use New->Library as above.
In the case where the IP top-level directory is the Cadence library (not advised - see above), additional steps are required to define the directory name mapping in Pi and to replace the empty top-level directory with the new Cadence library.
Delete Managed Library
Use the regular Cadence interface to delete a managed library.
Delete a library from an IP
If an IP contains multiple Cadence libraries or contains other data that is to be retained, no further action is necessary
Delete an IP
To remove an IP from the workspace, remove that IP from the resources of parent IP using 'pi ip edit' and then update the workspace.
To remove the IP from Perforce IPLM, use 'pi ip delete'.