• 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. COND expressions in SDF files

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 90
  • Views 16284
  • 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

COND expressions in SDF files

archive
archive over 18 years ago

Hello,

When a timing arch of a cell has COND expressions, what delay value of these conditional
expression is used for setup and hold analysis?
Considering the example below, what delay value would be used by, e.g., CTE to report delay of this cell considering timing arch C -> Q?

#####
(CELL
(CELLTYPE "ON21LX1")
(INSTANCE gbl_slave_test/g310)
(DELAY
(ABSOLUTE
(IOPATH C Q (0.076::0.076) (0.047::0.047))
(COND ((A==1'b1)&&(B==1'b1)) (IOPATH C Q (0.076::0.076) (0.047::0.047)))
(COND ((A==1'b1)&&(B==1'b0)) (IOPATH C Q (0.078::0.078) (0.057::0.057)))
(COND ((A==1'b0)&&(B==1'b1)) (IOPATH C Q (0.079::0.079) (0.076::0.076)))
(IOPATH B Q (0.106::0.106) (0.092::0.092))
(IOPATH A Q (0.082::0.082) (0.076::0.076))
)
)
)
#####

Can anyone help me?

Regards,
Cristiano.


Originally posted in cdnusers.org by clsantos
  • Cancel
  • archive
    archive over 18 years ago

    the worst case number will be used (in this case 0.079 for rise & 0.079 for fall) unless you have a set_case_analysis statment in the sdc file to set the state of pin A or B.

    li siang


    Originally posted in cdnusers.org by lisiang
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Thanks again lisiang.

    Will timing analyzer use worst case delays for setup analysis and best case for hold analysis?

    What is the purpose of the delay values in the right side of "IOPATH C Q"?

    What delay value will be used in case of ((A==1'b0)&&(B==1'b0))?

    Cristiano.


    Originally posted in cdnusers.org by clsantos
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    Sorry i was wrong about the 0.079. If logic state of A OR B is unknown. STA uses the IOPATH number, 0.076 for max path and 0.047 for min path.   If A=1 && B=1 (set_case_analysis) then max path check will use 0.076 and min path check will use 0.047.  Typicallu max path is for setup check and min path is for hold check.


    Originally posted in cdnusers.org by lisiang
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 18 years ago

    One clarification dsantos,

    Most tools will use ALL arcs, and take the max delay of them(min for hold checking). If, however, one of the inputs of the gate was a constant(hard-wired or case analysis), then arcs whose "COND" function resolved to 0 are disabled. Also, if the constants on the gate inputs narrow the choice of COND expressions down to a single one, then the default "COND-less" arc is disabled. Hope this helps.

    regards,
    gh-


    Originally posted in cdnusers.org by grasshopper
    • Cancel
    • Vote Up 0 Vote Down
    • 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