...
Name | Type | Description |
group1 | string | Mandatory. Specifies how to get a group of clocks. A valid clock should be a clock created by command createClock. A valid argument can be: |
group2 | string | Mandatory. Same as the argument "group1" |
option | string | Mandatory. A valid option can be 'asynchronous' or 'exclusive': Asynchronous clocks are those that are completely unrelated. Exclusive clocks are not actively used in the design at the same time. For asynchronous clocks, paths between clock domains are reported without raising violations. For exclusive clocks, paths between clock domains are reported and so no violation is reported neither. By default, clocks are considered synchronous, paths between clock domains are reported and violations can be raised. |
Examples:
Code Block | ||
---|---|---|
| ||
project = createProject() project.load('routed.nym') project.createClock(name ='clk1', period = 2.7, target= 'getRegister(UUT1\|Gen_seq[2].seq_i\|temp_reg[13])') project.createClock(name = 'clk2', period = 5, rising = 0, falling = 2, target= 'getClockNet(CLOCK[2])') project.setClockGroup(group1 = 'getClock(clk1)', group2 = 'getClock(clk2)', option = 'exclusive') |
...
Code Block |
---|
Timing_analysis = p.createAnalyzer() Timing_analysis.ReportPathreportPath(source = 'getPin(i_cpt_0|s_cpt_out_reg[1].CK)', target ='getPin(i_cpt_1|s_cpt_out_reg[2].I)') Timing_analysis.ReportPathreportPath(source = 'getPin(i_cpt_0|s_cpt_out_reg[1].CK)', target ='getPin(i_cpt_1|s_cpt_out_reg[2].I)', conditions='worstcase', maximumSlack=10, searchPathLimit=1000, persistent=True)) |
...