Hi all

Changes have eventually been made to the block allowing revision
control information to be embedded in your design.

The old revision_control block in Misc has been replaced with the
rcs block. This allows revision information about the application
and libraries to be embedded in the final .bof file. This revision
information can come from git, svn or can be a timestamp.

svn, git, timestamp options implemented and tested for Linux.
svn, timestamp implemented but untested for Windows, git NOT implemented.

Three software registers are created;
    rcs_user - a user specified value allowing application specific info to
        be specified by a user from a mask variable
    rcs_app - revision info for the application (timestamp, git, svn)
    rcs_lib - revision info for the CASPER libraries (current time,
        git, svn)

The format for rcs_app and rcs_lib is as follows;
    bit 31 -> 0 if the register contains info from a revision system, 1
        if it contains a timestamp.

If the register contains a timestamp;
bits 30 to 0 -> time in seconds since 01-01-1970. For an application
this is the last modified time or the compile time if the design was
not saved to file. For libraries this is the compile time.

If the register contains information from a revision control system;
    bit 30 -> revision system type, 0 -> git, 1 -> svn
    bit 29 -> reserved
    bit 28 -> dirty bit. 0 -> all changes in revision control, 1 -> changes
        not in revision control system
    bits 27 to 0 -> revision number. For svn this is the revision. For
        git this is the first 7 values in the commit hash with the first in
        the most significant nibble (bits 27 to 24) etc

On failure to determine revision information from the source specified,
timestamps are used.

This change is available from the kat branch of the libraries in git.

Regards
Andrew

Reply via email to