Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/04/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.1.30.15. qed::fork_new_revision (::quartus::qed)

The following table displays information for the qed::fork_new_revision Tcl command:

Tcl Package and Version

Belongs to ::quartus::qed

Syntax qed::fork_new_revision [-h | -help] [-long_help] [-async] [-id <id> ] [-inherit_groups] -revision <revision> [-timeout <timeout> ] <object>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-async Flag indicating not to wait for any issued remote commands to complete. With this flag, the return value is a token that can be passed to qed::get_return_value. By default, the return value of the remote command is reproduced (including any errors)
-id <id> Identifier to associate with the new project object, must be unique
-inherit_groups Flag to pass the source project's 'groups' property to the new project object
-revision <revision> Name of the new revision to create
-timeout <timeout> Optional timeout for waiting for a return value in ms (default = 0 = no timeout)
<object> Identifier associated with the object, must be unique
Description
Creates a new revision within a connected project and initializes a new
project object that may be used to connect to that revision.

Revisions within a Quartus Prime Pro project may be used to isolate and
interact in parallel with multiple different versions of a design. These
differences may include settings or assignments, which includes referencing
different versions of source files to use during compilation.

The project object returned by this utility will not yet be connected to the
remote revision, and the database associated with the revision will not be
complete. Run "qed::launch_connection" and "qed::compile" to generate a
complete database for the new revision.

The "-revision" option must specify a unique and new name for a revision
to generate within the remote project. This command will return an error if
the revision cannot be created successfully. The new revision will be based on
the revision that the connected project is accessing, which means it inherits
all settings and assignments from that source revision and with no further changes
will produce identical compilation results as compared to that source revision.

The "-id" option controls the "id" property of the project object which is created
when this command completes. If unspecified, a unique ID will be generated and assigned
to the new project.

The "-inherit_groups" option will initialize the new project object's "groups" property
to be identical to the source project's value, which in turn modifies the associated
group object(s) to include it as well.
Example Usage
    qed::create_object -type group my_group
    qed::create_object -type project project_A -qpf_path /file/path/to/project.qpf -revision rev_A -groups my_group
    qed::launch_connection project_A -open_project
    qed::run project_A -cmd "set_global_assignment -name SEED 1"
    qed::fork_new_revision project_A -revision rev_B -id project_B -inherit_groups
    qed::launch_connection project_B -open_project
    qed::run project_B -cmd "set_global_assignment -name SEED 2"

    # Returns: {project_A 1 project_B 2}
    qed::run my_group -cmd "get_global_assignment -name SEED"
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful