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