Graham is VP of Marketing at Real Intent. He has over 20 years experience in the design automation industry. He has founded startups, brought Nassda to an IPO and previously was Sales and Marketing Director at Internet Business Systems, a web portal company. Graham has a Bachelor of Computer … More »
How SoC Design is Driving Constraints Management and Verification
June 16th, 2016 by Graham Bell
There were a number of announcements at DAC 2016 in Austin concerning SDC timing constraints verification and management. Real Intent announced the newest release of Meridian Constraints for sign-off of SoC designs. It features new and unique functional analysis, data-driven debug, and support for distributed design development.
In this blog, I want to cover the drivers for a new kind of Constraints verification tool.
Constraints Management today is clearly different from the pre-SOC and pre-IP eras. The design process is now truly distributed with much legacy and third-party IP in any new SOC design. This implies that the SDC creation process must go through the three steps of (a) aggregation from the component SDCs to an overall SoC-level SDC, (b) refinement of the SoC-level SDC, and (c) dis-aggregation of the SoC-level SDC into SDCs for the synthesis partitions. The key point here being that the synthesis-partition boundaries need not align with the logical boundaries of the component IPs.
In the pre-SOC and pre-IP era, SDC was created for the monolithic design just prior to synthesis followed by dis-aggregation (budgeting) for the synthesis partitions. It is a benefit that the component IP comes with the associated SDC, but it also means that the SDC management software must be able to digest the component SDCs and create a consistent monolithic SoC-level SDC, i.e. component SDC promotion to the SOC top-level along with SDC consistency checking becomes first-order requirements in an SDC management tool. This has been borne out in surveys we have done with designers, which reveal a 30% pain-point number for consistency checking.
SDC used to be needed first for synthesis followed by static timing analysis (STA), meaning that it was needed late in the design process. In the SoC era, sign-off activity occurs at the RTL level before synthesis partitions are decided. As an important example, RTL must be signed off for clock-domain crossing (CDC) checks before synthesis. Similarly, functional timing exceptions and Reset schemes must be signed-off in RTL before synthesis and STA. These sign-off items require a detailed clocking spec for the sign-off to be meaningful and robust. Not every single SDC detail required for synthesis and STA need to be present at this stage, but the SDC must be detailed enough for CDC sign-off to be reliable. In the SOC and IP-integration era, SDC is needed first for RTL sign-off followed by synthesis and then STA.
Missing and incorrect clock specs are important issues faced in the RTL sign-off process. Usually these gaps can be filled by an analysis of the design and providing the user with templates of SDC commands to be added to the existing constraints. This is borne out in our survey of designers in which the combination of constraints checking, constraints creation and exception verification stands out as a major overhead.
Depending on design methodology, it is true that many exceptions may be “timing intent”, i.e. static configuration registers, resets, etc. These are not the types of exceptions that can result in silicon failures. The 20-30% of structural failures cost 100% of the time and money for a re-spin, and it’s important to have a methodology that can validate them completely. This requires not only a structural analysis of hardware control structures for multi-cycle paths, but also a complementary formal methodology to find any corner cases. In addition, the ability to configure your exception validation via assertions is crucial to having a complete understanding of your design operation and assumptions before taping out.
If we look at sign-off from the perspective of CDC verification, some tool vendors suggest that the CDC setup process is all about getting clean SDC at RTL level. Getting clock information right is a first step in CDC methodology but it’s just the first step. For a CDC tool to be noise free and waiver free, it should be configurable so it can understand and adapt to various CDC design styles/methodologies used by different design teams across the industry. Also SDC itself is limited because its written for timing intent only, so SDC has no information about what resets signals are in the design.
Meridian Constraints from Real Intent meets the needs of design teams to create, manage, and verify all of their SDC timing constraints. It also ensures that constraints completely cover the design, correctly match the functional and timing goals, and are consistent between different blocks and levels in the design. Having correct and complete constraints and associated clock definitions ensures timing goals are met. Leveraging functional analysis capability with industry-leading formal analysis technology in Meridian Constraints gives users maximum confidence in the correctness of their exceptions, minimizing the risk of a re-spin due to bad exceptions that cause incorrect circuit operation.
This article was based on contributions by Pranav Ashar, CTO, Vikas Sachdeva, senior technical marketing manager, and Daryl Kowalski, senior manager of product engineering at Real Intent.