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 1.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 | |||
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. |