Home > Community > Blogs > Logic Design > expect the unexpected using msv beyond msv
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more convenient.

Register | Membership benefits
Get email delivery of the Logic Design blog (individual posts).


* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

Expect the Unexpected - Using MSV Beyond MSV

Comments(0)Filed under: Logic Design, RTL compiler, MSV, playstation3, Nvidia, AMDI was just reading Rich Owen's post, "What I am Thankful for - The Geek Version", and I cannot agree more on the creative and sometimes utterly crazy uses of technology that users find. More often than one would guess we ran into users who are trying some truly unexpected uses of technology. Recently I was reading about hackers using a PlayStation3 as a massive decryption engine and unfortunately breaking 128-bit encryption faster than any of the PlayStation3 designers ever hoped. AMD and Nvidia mentioned opening up their APIs to all users. Who knows what neat and unexpected uses for your next gaming box will come from that?

Wondering where this is going? Well, I wanted to briefly share some unexpected uses I have recently seen for the top-down multi-supply-voltage (MSV) technology in RTL Compiler. As you may already know, RTL Compiler has supported true top-down MSV technology since sometime around 2005. This technology is quite neat and allows users to synthesize a design to multiple libraries concurrently. In other words, block A can be synthesized to a 0.9v library, while block B is synthesized to a 1.1v library all in the same run. In a bottom-up approach, the user would have to gauge the impact of level-shifters and related interface logic and synthesize separately only to re-iterate again and hope to eventually converge. Not only that, but some of the blocks have no shot at incremental optimization at the top level since only one library can be targeted. One of the cornerstones of this technology is the concept of library domains. A library domain is a set of libraries associated with a particular instance/s in the design. While originally intended for MSV, library domains have enabled users to find 'unexpected' applications.

One designer has used library domains to address pin-density issues. After identifying the cells with pin-density issues, a library domain was created with the full library set and an additional one was created using only pin-density friendly cells. Upon identifying the blocks with pin-density challenges, the designer resynthesized the whole design applying the pin-density friendly domains to the challenging blocks. The results: quite incredible; the density issues were gone and there was not penalty paid on the blocks that did not have such issues. Not the use that the RTL Compiler developers intended but certainly a use they must be happy about.

Another designer used the technology to enforce different reset constraints for different blocks. A domain was created with no asynchronous reset flops such that blocks that did not allow such functionality would be guaranteed not to provide it. Once again, not what the technology was intended for but yet another useful application.

Designs with difficult power / performance trade-offs have used this technology. Tagging high-performance blocks with a particular domain and limiting the use of high-performance cells to lower activity blocks allows for improving the power profile of the design.

It just never ceases to amaze me the clever use of the available technology that users make. Do you have any neat uses of technology you want to share? Have you used library domains? Have you used them outside of the scope of MSV? I am always interested to hear what unexpected uses of the technology other users are making


Happy holidays,



Leave a Comment

E-mail (will not be published)
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.