WP_Term Object
(
    [term_id] => 35
    [name] => Perforce
    [slug] => perforce
    [term_group] => 0
    [term_taxonomy_id] => 35
    [taxonomy] => category
    [description] => 
    [parent] => 157
    [count] => 96
    [filter] => raw
    [cat_ID] => 35
    [category_count] => 96
    [category_description] => 
    [cat_name] => Perforce
    [category_nicename] => perforce
    [category_parent] => 157
)
            
image ad semiwiki helix iplm ip centric design 800x100 (3)
WP_Term Object
(
    [term_id] => 35
    [name] => Perforce
    [slug] => perforce
    [term_group] => 0
    [term_taxonomy_id] => 35
    [taxonomy] => category
    [description] => 
    [parent] => 157
    [count] => 96
    [filter] => raw
    [cat_ID] => 35
    [category_count] => 96
    [category_description] => 
    [cat_name] => Perforce
    [category_nicename] => perforce
    [category_parent] => 157
)

The Earth is Not Flat; Neither is IP

The Earth is Not Flat; Neither is IP
by Paul McLellan on 03-29-2015 at 7:00 pm

 Chip design is largely about assembling pre-designed IP, either developed in other groups in the same company, or brought in from a 3rd party, or occasionally developed within the SoC design group itself. But that makes it sound like it is a bunch of blocks linked together with some interconnect, but of course another important aspect of real-world SoCs is the hierarchy. The SoC world is not flat just like the real world.

For example, an SoC might instantiate two Ethernet ports but each port actually consists of an Ethernet PHY and an Ethernet MAC. And the MAC might consist of bus interfaces, transmitter control, receiver control and more. Or an SOC might contain several USB ports but each on consists of a USB PHY and a USB controller.


There are several advantages of hierarchical IPs:

[LIST=1]

  • Abstraction: It is quite easy to integrate fully capable functional blocks in your design rather than a laundry list of individual IPs. This is much quicker and more intuitive
  • Compatibility: Does version 10 of the USB controller really work with version 7 of the PHY? Should I use the latest version of both these blocks and hope for the best? These kinds of questions can be eliminated by simply choosing the USB subsystems, where proven configurations with versions that work with each other
  • Dependency management: Bringing in a subsystem automatically brings in all the dependencies that are needed. There is no need for cumbersome dependency discovery, since the subsystem will bring in all the needed dependencies
  • Discovery: By looking at the hierarchies in which a particular IP of interest is used can help with easier discovery of the various components available to the team. For example, if the USB PHY is used in a hierarchy that contains other I/O interface blocks, it is very useful to be able to discover the context in which this block is frequently used. This can aid the design process immensely

    Methodics’s IP management suite ProjectIC has been built from the ground up to handle hierarchical IP subsystems. Each “IP” can either be a genuine standalone design object or a complete hierarchy.
     ProjectIC has many features that support hierarchical IPs:

    • Every IP can have a list of resources—other IPs that are in the system. These resources can also have resources of their own, and so on. Building a hierarchical IP in ProjectIC is as simple as including another IP as a resource. The tool automatically figures out any other resources that are implied by including this IP
    • Building a workspace with a hierarchical IP is handled seamlessly. All the resources that are part of the hierarchy are automatically instantiated in the workspace
    • Resource locations inside a workspace can be controlled with fine granularity
    • The tool automatically checks for circular dependency between resources, resource conflicts etc
    • Container IPs can be used to create hierarchy levels and compatible bundles
    • Each resource in a hierarchy can be independently moved from one version to another. This can be done in multiple different ways—from the command line, from the GUI etc—allowing for maximum flexibility in interacting with resources
    • Several other features like hierarchical releases, property inheritance, IP hierarchy traversal, tree views etc are also fully supported

     On a different topic, earlier this month the Methodics Industry Survey results were pulled together. The big picture results:More than 90% of respondents said IP is reused within their design projects and yet 31.7% are still managing IP manually through the use of spreadsheets, and another 39.7% are managing IP through home-grown solutions. Additionally, 28.3% of respondents said they have no IP defect-tracking solution in place.

    This sort of result reminds me of the story of two Victorian-era shoe-salesmen being sent to Africa. The first replies “no business here, nobody wears shoes.” The second salesman replies “huge opportunity, nobody wears shoes.”

    Only 30% of respondents use a 3rd party IP management solution. If you are not one of them, Methodics has some shoes for you.

    Full survey results are here

    Share this post via:

  • Comments

    There are no comments yet.

    You must register or log in to view/post comments.