after i ran CTS, i got setup violations with negative slack of 5ns. after CTSopt step, i got setup violations with negative slack of 2ns. can anyone suggest how to clear these setup violations in CTSopt?
Are there setup violation during STA in frontend netlist?
If yes, you must rewrite RTL (reassembly critical pathes).
If no, you should probably reduce clock skew or use another wire load model during STA on frontend netlist.
if real violation it should go back to frontend stage for coding/synthesis modification i think.
if just a very simple setup violation after analysis, you could do some trial. replace some cell with different loading/driving type which can decrease the delay of data path. or add delay cell to clock path of target register if you can borrow some timing margin from the next register on logic path.