- Nature of a checker?
    = namespace: not in global module namespace
    = property-like
        = want same answers for properties & checkers- self-determined type?
    = Inlining?
        = No, vendor consistency hard

- binding checkers
    = checker in package or compilation unit scope is fine
    = other cases?  (nested contexts)- forbid
    = targeting sequential scope? - forbid  

- Checker instantiation in presence of new concurrent assert semantics / proc scopes
    = fork/join?  - forbidden for assertions, so checkers too
    = static and automatic variables
   = static assignments & procedures are free-running
   = automatics & assertion are 'armed' by procedural code
    = multiple instantiations:  each instantiation is a static type based on point of instantiation
    = outside proc code:  "lifts" assertions outside & treat as normal
        = automatic is equivalent to static
        = shared auto variables & multiclocked asserts?  - force coupling, user can sync if non-dflt point needed
    = initial in checkers?

- checkvars (determinstic)-- maybe don't need
    = Needed to enable seq/prop to interact with checker state?  No.
    = Continuous assignments?  If in checker, put in observed region?
   = Disallow, just use 'let'
    = checkvar edges- should work OK if NBAs harmonized.  Just use NBAs and treat vars in checkers as normal.
    = initialization issue?- should be OK.
    = check vars in action blocks?  No change from normal variables.

- Nondeterminstic free vars 
    = Designate with 'rand'?  -or new keyword
    = When do they get new vals?
   - require event at user-level to cause re-randomization (tool imp)
    = How are they assigned? -- assumptions? Which considered?
   - need to specify something doable (no non-boolean predicates)
    = stability issues - adding assertiion shouldn't affect (state explicitly)
   - affected by bind?
    = Merge with random variable concept?-- not exactly
      - use randomization constraints?

- always_check/initial_check?  - construct changing behavior of event
    = Solved by 'edge', don't need anymore

- covergroups in checkers
    == static code in checkers?  -- like covergroup in class
    = always an embedded covergroup when in checker? -one inst per cg per check inst

-- ErikSeligman - 20 May 2008

Topic revision: r1 - 2008-05-20 - 15:52:12 - ErikSeligman
 
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback