Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/2021
Public

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

Document Table of Contents

3.1.24.2. create_base_clock (::quartus::project)

The following table displays information for the create_base_clock Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax create_base_clock [-h | -help] [-long_help] [-comment <comment> ] [-disable] [-duty_cycle <integer> ] [-entity <entity> ] [-fall] -fmax <fmax> [-no_target] [-rise] [-tag <data> ] [-target <name> ] [-virtual] <clock_name>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-comment <comment> Comment
-disable Option to disable assignment
-duty_cycle <integer> Duty cycle
-entity <entity> Entity to which to add clock assignment
-fall Option applies to falling edge
-fmax <fmax> Clock frequency
-no_target Option to not assign clock to node
-rise Option applies to rising edge
-tag <data> Option to tag data to this assignment
-target <name> Clock node name
-virtual Option to specify the clock as a virtual clock
<clock_name> Clock name
Description

Creates the base clock. The base clock is an absolute clock. The "-fmax" option can take the format: <floating point time value><time unit> For example, if the fmax is 10.55ns, "10.55" is the <floating point time value> and "ns" is the <time unit>. The following table displays possible time units: Time Unit Description --------- -------------- s second(s) ms millisecond(s) us microsecond(s) ns nanosecond(s) ps picosecond(s) fs femtosecond(s) Hz hertz KHz kilohertz MHz megahertz GHz gigahertz If you specify the "-virtual" option, the base clock is not assigned to any node in the timing netlist. You cannot specify the "-virtual" option and the "-target" option at the same time. For entity-specific assignments, use the "-entity" option to force the assignment to specified entity. If you do not specify the "-entity" option, the value for the FOCUS_ENTITY_NAME assignment is used. If the FOCUS_ENTITY_NAME value is not found, the revision name is used. Assignments created or modified by using this Tcl command are not saved to the Quartus Prime Settings File (.qsf) unless you explicitly call one of the following two Tcl commands: 1) export_assignments 2) project_close (unless "-dont_export_assignments" is specified) These two Tcl commands reside in the ::quartus::project Tcl package. You must save assignment changes before you run Quartus Prime command-line executables. Note, however, that the Tcl commands "execute_flow" and "execute_module" (part of the ::quartus::flow Tcl package) automatically call "export_assignments" before they run command-line executables.

Example Usage
# Specify a clock named "clk50" with
# a 50ns period
# The command specifies a CLOCK section
# in the active project with the 50ns
# specification, and adds a
# "clk50 : CLOCK_SETTING=clk50" assignment
# to the current entity
create_base_clock -fmax 50ns clk50

# Specify the same clk50 to a pin with
# a different name (myclkpin)
create_base_clock -fmax 50ns -target myclkpin clk50

# Specify the entity name to which the clock
# is added, using the -entity option
# This is needed if the top-level entity name 
# is other than that of the project
# The following command generates a "top_level" entity.
create_base_clock -fmax 50ns -entity top_level clk50
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_OK 0 WARNING: The option -<string> was ignored because it is no longer supported. No action is required.
TCL_ERROR 1 ERROR: Can't find active revision name. Make sure there is an open, active revision name.
TCL_ERROR 1 ERROR: Entity does not exist or uses illegal name characters: <string>. Specify a legal entity name.
TCL_ERROR 1 ERROR: Can't run Tcl command while a process is in progress: <string>. To run the command, stop the compilation or simulation; or wait for the compilation or simulation to complete.
TCL_ERROR 1 ERROR: Options are mutually exclusive: <string> and <string>. Specify only one of the two options.
TCL_ERROR 1 ERROR: You must open a project before you can use this command.