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 4.0

Syntax create_base_clock [-h | -help] [-long_help] [-comment <comment> ] [-disable] [-duty_cycle <integer> ] [-entity <entity> ] -fmax <fmax> [-no_target] [-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
-fmax <fmax> Clock frequency
-no_target Option to not assign clock to node
-target <name> Clock node name
-virtual Option to specify the clock as a virtual clock
<clock_name> Clock name
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.