...
Setting a case value on a net results in disabling timing analysis through the emitter pin and all the receiver pins of the net. It means that timing paths through those pins are not considered. The constant value is propagated through the network as long as a controlling value for the traversed logic is at the constant value.
Example:
...
In the example above, two clocks (clk[0] and clk[1]) are connected to the inputs of the multiplexer, but only clk[1] is propagated through the output after setting the constant value on the selection signal (sel).
...
Name | Type | Description |
target | string | Mandatory. The argument that specifies how to get a clock related point. A valid argument can be: |
name | string | Optional. User clock name of the created clock, default name is target_str |
period | float | Mandatory. Period for the clock waveform. Must be positive, default value is period/2 |
rising | float | Mandatory if falling is defined. Otherwise, it is optional. Rising edge for the clock waveform. The range is defined as [0, period[ The default value is 0. |
falling | float | Optional. Falling edge for the clock waveform. The range is defined as ]rising, rising + period]. The default value is period/2. |
Examples:
...
In the example above, to define a 100MHz clock for net “Clk”, the following three commands are equivalent :
...
Note |
---|
Frequency-based and edge-based relationships are mutually exclusive. |
Examples:
...
In the example above, the master clock "Clk" was created as 100MHz and the generated clock "clk1" is divided by 2 from the master clock. However note that the "clk_reg" is driven by the falling edge of master clock, the relation between the master clock and the generated clock is shown in the diagram below:
...
Code Block | ||
---|---|---|
| ||
project = createProject() project.load('routed.nym') project.createClock(source = 'getPort(Clk)', name = 'Clk', period = 10) project.createGeneratedClock(source = 'getRegisterClock(clk_reg)', target = 'getRegisterClock(reg2)', name = 'clk1', divideBy = 2) or project.createGeneratedClock(source = 'getClock(Clk)', target = getRegisterClock(reg2)', name = 'clk1', edges = [2, 4, 6]) |
...
The diagram of the above command would be:
...
Clock Relationship
setClockGroup(group1 = ‘group1', group2= ‘group2’, option = 'option’)
...