Automating system on a chip customized design integration, specification, and verification through a single, integrated service

US9589089B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9589089-B2
Application numberUS-201615237911-A
CountryUS
Kind codeB2
Filing dateAug 16, 2016
Priority dateJun 11, 2015
Publication dateMar 7, 2017
Grant dateMar 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A user specified high level design selects a plurality of IP cores for placement in a customized system on a chip. A single integrated service automatically performs each of a design integration phase, specification phase, and verification phase for the user specified high level design to generate an integration file specifying stitching between a plurality of pins of each of the plurality of IP cores, a specification file specifying one or more characteristics of the customized system on a chip based on the user specified high level design, and a verification testbench for verification of the user specified high level design.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: a computer system receiving, by a single integrated service, a user specified high level design selecting a plurality of IP cores for placement in a customized system on chip; the computer system automatically performing, by the single integrated service, each of a design integration phase, specification phase, and verification phase for the user specified high level design to generate an integration file specifying stitching between a plurality of pins of each of the plurality of IP cores, a specification file specifying one or more characteristics of the customized system on a chip based on the user specified high level design, and a verification testbench for verification of the plurality of IP cores selected in the user specified high level design; the computer system generating the specification file by accessing a core wrappers database identifying specifications of one or more gates, one or more registers, and one or more I/O interfaces for each of the plurality of IP cores; the computer system calculating a combinational gates count by summing the one or more gates for each of the plurality of IP cores; the computer system calculating a registers count by summing the one or more registers for each of the plurality of IP cores; the computer system calculating an I/O count by summing the one or more I/O interfaces for each of the plurality of IP cores; the computer system determining each of a frequency factor, a voltage factor, and a switch factor based on the combinational gates count, the registers count, the I/O count, and at least one power limit for the customized system on chip; the computer system computing, based on the frequency factor, voltage factor, and switch factor, an estimated dynamic power for the customized system on chip and an estimated leakage power for the customized system on chip, a total power estimated from a sum of the estimated dynamic power and the estimated leakage power; and the computer system outputting a power spreadsheet specifying each of the frequency factor, the voltage factor, the switch factor, the estimated dynamic power, the estimated leakage power, and the total power as the one or more characteristics of the customized system on chip for the specification file. 2. The method according to claim 1 , further comprising: the computer system integrating the integration file, the specification file, and the verification testbench into a bundled result database in a selected format. 3. The method according to claim 1 , further comprising: the computer system performing the specification phase by computing, for each of the plurality of cores, a total typical bandwidth and a total peak bandwidth, based on a selection of bandwidth characteristics specified for the plurality of IP cores in a core wrappers database accessible to the single integrated service; the computer system, responsive to detecting the total typical bandwidth is greater than a typical maximum bandwidth for a bus of the customized system on chip, for a particular core of the plurality of cores, flagging the particular core for typical usage limits; the computer system, responsive to detecting the total peak bandwidth is greater than a peak maximum bandwidth for a bus of the customized system on chip, for the particular core of the plurality of cores, flagging the particular core for peak usage limits; the computer system updating a bandwidth usage report with the typical usage limits and the peak usage limits; and the computer system outputting the bandwidth usage report for specifying one or more bandwidth limits as the one or more characteristics of the customized system on chip for the specification file. 4. The method according to claim 1 , further comprising: the computer system performing the integration phase by identifying, for each of the plurality of IP cores, a separate IP core component and at least one separate port; the computer system creating, for each separate IP core component, a separate real IP core component in a register transfer level design; the computer system identifying, for each at least one separate port, the plurality of pins each connected to the at least one separate port; the computer system mapping each pin of the plurality of pins into a separate real pin of a plurality of real pins within one of the separate real IP core component in the register transfer level design; the computer system identifying a selection of at least two real pins from among the plurality of design pins with a same property based on a separate property setting for each of the plurality of pins specified in in a core wrappers database accessible to the single integrated service; the computer system selecting a separate connection of a plurality of connections between the selection of the at least one real pins with the same property to connect the plurality of IP cores; the computer system mapping each separate connection into the register transfer level design; and the computer system generating the integration file with the register transfer level design specifying the stitching between the plurality of pins of each of the plurality of IP cores. 5. The method according to claim 1 , further comprising: the computer system automatically performing, by the single integrated service, a package design phase for the user specified high level design to generate a package design; the computer system automatically performing the package design phase by accessing a plurality of physical characteristics of the plurality of IP cores from a core wrappers database accessible to the single integrated service; the computer system determining, for each of the plurality of IP cores, a separate IP block physical size based on the plurality of physical characteristics; the computer system computing a die size required for the separate IP block physical size for each of the plurality of IP cores; the computer system developing a floor plan for placing the plurality of IP cores in a preexisting package interface selected for the die size, the floor plan configured for each separate IP block physical size; the computer system computing a package size based on the die size and each separate IP block physical size; the computer system computing a module cost based on a cost of the die size and a cost of the package size; and the computer system outputting the package design comprising the floor plan, the die size, the package size, and the module cost. 6. The method according claim 1 , comprising: the computer system performing the verification phase by selecting one or more testcases specified for each of the plurality of IP cores from among a plurality of testcases specified by IP core identifier in a library of testcases accessible to the single integrated service; the computer system instantiating one or more external verification modules from the selected one or more testcases for testing one or more interfaces of the plurality of IP cores; the computer system customizing clock and reset generation settings for the selected one or more testcases to provide a needed stimulus for testing the customized system on chip; the computer system constructing executable code to run one or more hardware description language tests from among the selected one or more testcases using one or more object oriented constructs that interface with bus functional models to generate a stimulus of the design; and the computer system outputting the verification testbench comprising the one or more external verification modules, the customized clock and reset generation settings, and the executable code for verification of the plurality of IP cores. 7. A computer system comprising one or more processors, one or more c

Assignees

Inventors

Classifications

  • Intellectual property [IP] blocks or IP cores · CPC title

  • Floor-planning or layout, e.g. partitioning or placement · CPC title

  • G06F30/327Primary

    Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist · CPC title

  • Design verification, e.g. functional simulation or model checking · CPC title

  • using formal methods, e.g. equivalence checking or property checking · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9589089B2 cover?
A user specified high level design selects a plurality of IP cores for placement in a customized system on a chip. A single integrated service automatically performs each of a design integration phase, specification phase, and verification phase for the user specified high level design to generate an integration file specifying stitching between a plurality of pins of each of the plurality of I…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/327. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).