LINT, CDC and RDC

LINT, CDC and RDC:

Once we have RTL design, it's important to check for basic syntax correctness and other issues that although correct syntax-wise, but may be problematic. This check is called "LINT".

On top of these, 2 most important signals in any design are clock and reset. There are special checks to deal with clock and reset signals. Clocks become much more problematic, when their are multiple asynchronous clocks in design, and signals are transferred between clocks. There is a check specifically for signals crossing clocks known as CDC or clk domain crossing. Similarly, we have check for reset crossing domains, known as RDC or reset domain crossing. We'll look at all of these in detail.

There are various tools for these. Some popular ones are:

  • Spyglass: SPYGLASS was the most popular tool on market for doing CDC/RDC checks on RTL, even though Cadence/Synopsys had their own tools. In fact it was treated as RTL signoff tool for big designs involving multiple clock domains. It was designed by a company named "Atrenta", which was bought by Synopsys in 2015. Synopsys integrated Spyglass into it's VC (Verification Compiler) platform which is an umbrella of tools to verify design. VC involves tools which do static verification of design, without involving any vectors. These tools help identify structural issues with design. As such this platform is also collectively referred to as "VC Static" platform. You'll see the name "VC Static" when installing these VC tools. Spyglass was renamed as "VC Spyglass" once it was brought under VC umbrella. "VC Spyglass" has the 3 tools:
    • VC Spyglass Lint:
    • VC Spyglass CDC
    • VC Spyglass RDC:
  • Meridian: Meridian is another company, which does all these checks. Their RDC tool is considered the best.
  • Cadence: