• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Digital Implementation
  3. Cadence Encounter detects but does not fix the setup time...

Stats

  • Locked Locked
  • Replies 0
  • Subscribers 92
  • Views 13780
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cadence Encounter detects but does not fix the setup time violations when a multi-cycle path with 0 number of cycles is defined

jinghuayang
jinghuayang over 10 years ago

Hi all,
I am experiencing a small problem where Encounter detects setup violation but doesn't attempt to fix it. Following is the brief description of my problem reproduced on a very simple circuit.
 
Inline image 1
For the simple circuit in above figure, following SDC constraints were applied. (dff are normal edge-triggered D-flipflops)

############### SDC file start
create_clock -name "clock1" -add -period 1.5 -waveform {0.0 0.75} [get_ports clk]
set_multicycle_path -from {dff1} -to {dff3} -setup 0
set_multicycle_path -from {dff2} -to {dff3} -setup 0
set_dont_touch [get_cells buf1]
############### SDC file end

Notice that for the "dff1 to dff3" path, setup check must be done on the first (rising) edge of their respective clocks. As such, encounter should advance the clock driving dff3 to meet setup violation at dff3. 
However Encounter doesn't advance/skew the endpoint dff3 at all leading to a negative slack at the D input of dff3. 
The "skewClock" command prints following warning.
"Analyzing useful skew ...
skewClock did not found any end points to delay or to advance."

The optimization commands used are as follows --
########################### Excerpt from encounter script
optDesign -preCTS
setCTSMode -opt true -optAddBuffer true
clockDesign
setOptMode -setupTargetSlack 0.05
setOptMode -usefulSkew true
setUsefulSkewMode -maxSkew true -ecoRoute true -noBoundary true -allNegEndPoints true

optDesign -postCTS

routeDesign
optDesign -postRoute
###########################

If there is any way we can get encounter to fix setup violation at dff3, it will be great
 
Additional points to note. The circuit has plenty of area to add buffers and extra routing. There are no hold violations that restricts encounter from adding a buffer (hold slack is +1700ps whereas setup slack is -343ps)
The encounter version information:
@(#)CDS: Encounter v13.18-s012_1 (64bit) 02/20/2014 17:22 (Linux 2.6)
@(#)CDS: NanoRoute v13.17-s002 NR131126-2202/13_10-UB (database version 2.30, 190.4.1) {superthreading v1.19}
@(#)CDS: CeltIC v13.18-s009_1 (64bit) 02/18/2014 08:01:17 (Linux 2.6.18-194.el5)
@(#)CDS: AAE 13.18-s001 (64bit) 02/20/2014 (Linux 2.6.18-194.el5)
@(#)CDS: CTE 13.18-s006_1 (64bit) Feb 20 2014 10:26:27 (Linux 2.6.18-194.el5)
@(#)CDS: CPE v13.18-s007
@(#)CDS: IQRC/TQRC 12.1.1-s225 (64bit) Wed Jun 12 20:28:41 PDT 2013 (Linux 2.6.18-194.el5)
********************************************************************************************
Please let me know if you need any additional files to diagnose the issue.
Thanking in advance...
  • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information