AR# 329: XACT 5.x Design Architect: calling up old design gives "cannot determine version" error
XACT 5.x Design Architect: calling up old design gives "cannot determine version" error
Keywords: DA, Design Architect, error, version
After install XACT 5.x and the corresponding DS344 (Mentor interface), you open a design containing components from the obsolete (pre-XACT 5.0) libraries into Design Architect. While performing Check Sheet, Design Architect errors similar to the following:
Error: Could not determine current version of ipad/part for instance I$480 Error: Could not determine current version of ipad/part for instance I$276 Error: Could not determine current version of opad/part for instance I$978
... and so on for each Xilinx component in the design.
This is likely caused by directory references in the design no longer point to the correct place where the obsolete libraries are stored. For example, if you had installed the obsolete libraries (DS344 v1.10) at the path /xact/ds344/v1.10, you would have initially set your $LCA environment variable to point to /xact/ds344/v1.10. The XC4000 library would be placed in /xact/ds344/v1.10/lib4k, so schematics using these libraries would then contain references to $LCA/lib4k. (With this situation, the obsolete libraries come up fine.)
Upon receiving DS344 v5.0, assume you installed it to /xact/ds344/v5.0. You would then change $LCA to point to the new software at /xact/ds344/v5.0. The library references in the design done with the obsolete libraries, however, would still point to $LCA/lib4k. The problem is that $LCA is now set to point to the new 5.0 software, which does not contain most of the obsolete lib4k libraries. Thus, when Design Architect checks the schematic containing the obsolete library parts, it can't verify them, because the don't exist in the new $LCA tree.
The DS344 v5.0 install does NOT install the old libraries! The only obsolete library that exists in the ds344 v5.0 install is the lib4k/hard_macro library. This library was updated in version 5.0 in order to support the translation of hard macros into relationally placed macros.
The solution is simply to copy the entire lib2k, lib3k, and lib4k directories from the old directory tree to the new one, after moving the lib4k/hard_macro directory in the old directory tree to a new location. In this example, we would do:
NOTE: If you do not first move the old hard macro library before copying the obsolete libraries into the new version 5 directory tree, you will overwrite the new hard macro library!
If you plan on leaving the old software tree on the network, you can alternatively create symbolic links in the new $LCA tree pointing to the directories in the old directory: lib2k, lib3k and all subdirectories of lib4k except for hard_macro.