a) Your design may have paths that TimeQuest is analyzing but that you have explicitly designed to behave asynchronously. An example might be an error signal coming out of one domain(and held high) and asynchronously sampled in another domain(and double-registered to remove metastability). Another example might be a signal that is static, i.e. it comes up as a 1 or a 0, but never changes after that.
Note that you write a design and need to know how it should be timed. The .sdc just tells TimeQuest how it should be designed. It doesn't work the other way though, i.e. if you add a set_false_path to something that doesn't make it so that the circuit behaves asynchronously. (It's a terrible mistake when a user adds a false path to something that really needs to be made synchronous. The system will break in hardware, the probelm is usually not simulatable, and it takes serious low-level debug to find the issue.)
b) There are about 50 things to do, if not more. First off, right-click and do Report Timing. That will break out the failing paths in detail. Some things to look at:
- Are the clocks synchronous to each other? (It may be a false path if they are not)
- Is the setup relatiosnhip correct?
- Is the clock skew small? (If it's not, you may have a clock skew problem rather than a long data path delay issue)
Once those are checked, it now comes to analyzing the datapath, in that it is too long to meet timing. It's hard to comment without seeing more.