HOME    COMMUNITY    BLOGS & FORUMS    Future of Design
Future of Design
  • About

    My goal is to discuss advances in design methodology, particularly in the areas of low power design and raising the level of abstraction in design above the RTL level.

    - Mike Keating

Complexity of Design

Posted by mike keating on April 23rd, 2009

Designs today are complicated. Very complicated. From video codecs to PCI Express to set top boxes, we are dealing with extremely complex protocols and algorithms. The design and verification – especially the verification – of these systems are growing so complex that we have to question whether RTL is the right abstraction for this work.

I am currently working on an extensive write-up -someday to become a book – about this challenge. The first part focuses on how to measure complexity in design, and how to minimize it, within the constraints of the current synthesizable subset. The second part will focus on attempts to raise abstraction above the RTL level, and the successes and failures of attempts to do so.

Over then next few weeks, I will be posting parts of this write-up, one chapter at a time. The working title is: The Art of Good Design: Managing complexity in Billion Gate Chips. I welcome your comments and criticisms!

Chapter 1: Introduction (contains the requisite nod to Moore’s law and some basic concepts. The real action starts with chapter 2, to be posted in about 10 days.

Share and Enjoy:
  • del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon

2 Responses to “Complexity of Design”

  1. John Watters says:

    I am looking forward to this. Raising the level of abstraction is a great way to manage complexity. I think the biggest barrier to that is legacy design. I have a few thoughts on that, having seen some attempts at automation as well as manual re-writes. I hope Mike has solved it :)
    - John

  2. A very interesting thesis. I completely agree that simplicity is key to improve digital design. Indeed very little has changed in RTL design the last 10 years (shouldn’t it be 20 years?).

    In the subsection on verification you refer to lessons learned in software engineering. You should refer to software practices in the other subsections too. In my opinion there is a lot we can learn from modern software design because they deal with very similar problems (loose coupling, level of abstraction, simplicity, … )

    I really look forward to the refactoring chapter since that is my pet topic.


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>