• 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. How to report list of flops whose clock port is driven by...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 91
  • Views 18821
  • 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

How to report list of flops whose clock port is driven by test clock in test mode

diablo
diablo over 14 years ago

 Hi all,

  I have functional and test analysis views. The Test clock is muxed with functional clock whose selector is TEST_EN net.

  In my functional SDC, I have "set_case_analysis 0 TEST_EN" and in test SDC, I have "set_case_analysis 1 TEST_EN". I want to verify  whether in test analysis view, the Test clock is seen by all the flops. 

  How to report the list of flops whose clock port is driven by test clock in test analysis view.

 Thanks for your time.

  

 

  • Cancel
Parents
  • BobD
    BobD over 14 years ago

    I altered my testcase such that no clock gets to the pin in the b view and I see what you're seeing:

    encounter 17> get_property -view a [get_pins i1/CK] clocks
    clka
    0x24
    encounter 18> get_property -view b [get_pins i1/CK] clocks

    0x26

    A modification to the script could catch the cases where the clock pin doesn't receive a clock:

    foreach_in_collection register [all_registers] {
      foreach_in_collection pin [filter_collection [get_pins [get_property $register hierarchical_name]/*] {is_clock == true}] {
        set clocks [get_property -view b $pin clocks]
        if {[sizeof_collection $clocks > 0]} {
          set clk [get_property -view b $clocks clk]
          if {$clk == "clkb"} {
            Puts "Pin: [get_property $pin hierarchical_name] in view \"b\" is driven by \"clkb\""
          }
        } else {
          Puts "Pin: [get_property $pin hierarchical_name] in view \"b\" is not driven by a clock"
        }
      }
    }

    Pin: i1/CK in view "b" is not driven by a clock
    Pin: i2/CK in view "b" is not driven by a clock

    Not sure that's going to pinpoint why the pins aren't receiving a clock.  You might want to check the report_case_analysis command for some insight into what's going on relateive to those constraints.

    -Bob

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • BobD
    BobD over 14 years ago

    I altered my testcase such that no clock gets to the pin in the b view and I see what you're seeing:

    encounter 17> get_property -view a [get_pins i1/CK] clocks
    clka
    0x24
    encounter 18> get_property -view b [get_pins i1/CK] clocks

    0x26

    A modification to the script could catch the cases where the clock pin doesn't receive a clock:

    foreach_in_collection register [all_registers] {
      foreach_in_collection pin [filter_collection [get_pins [get_property $register hierarchical_name]/*] {is_clock == true}] {
        set clocks [get_property -view b $pin clocks]
        if {[sizeof_collection $clocks > 0]} {
          set clk [get_property -view b $clocks clk]
          if {$clk == "clkb"} {
            Puts "Pin: [get_property $pin hierarchical_name] in view \"b\" is driven by \"clkb\""
          }
        } else {
          Puts "Pin: [get_property $pin hierarchical_name] in view \"b\" is not driven by a clock"
        }
      }
    }

    Pin: i1/CK in view "b" is not driven by a clock
    Pin: i2/CK in view "b" is not driven by a clock

    Not sure that's going to pinpoint why the pins aren't receiving a clock.  You might want to check the report_case_analysis command for some insight into what's going on relateive to those constraints.

    -Bob

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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