Point-to-point module connection interface for integrated circuit generation

US11675959B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11675959-B2
Application numberUS-202117504030-A
CountryUS
Kind codeB2
Filing dateOct 18, 2021
Priority dateJun 5, 2019
Publication dateJun 13, 2023
Grant dateJun 13, 2023

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.

Systems and methods are disclosed for generation and testing of integrated circuit designs with point-to-point connections between modules. These may allow for the rapid design and testing (e.g. silicon testing) of processors and SoCs. For example, type parameterization may be used to generate point-to-point connections in a flexible manner. For example, a point-to-point connection between the source module and the sink module that includes one or more named wires specified by bundle type may be automatically generated based on using the bundle type as a type parameterization input. For example, these system and methods may be used to rapidly connect a custom processor design, including one or more IP cores, to a standard input/output shell for a SoC design to facilitate rapid silicon testing of the custom processor design.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: accessing an indication of a source module of an integrated circuit design; accessing an indication of a sink module of the integrated circuit design; accessing an indication of a bundle type, wherein the bundle type specifies one or more named wires; automatically generating, based on using the bundle type as a type parameterization input, a point-to-point connection between the source module and the sink module that includes the one or more named wires specified by the bundle type; and generating a register-transfer level data structure for the integrated circuit design including the source module, the sink module, and the point-to-point connection. 2. The method of claim 1 , wherein automatically generating the point-to-point connection between the source module and the sink module comprises: automatically generating input/output ports for modules between the source module and the sink module at multiple levels of a register-transfer level module hierarchy of the integrated circuit design. 3. The method of claim 1 , wherein automatically generating the point-to-point connection between the source module and the sink module comprises: using auto-punching to transcend multiple levels of a register-transfer level module hierarchy of the integrated circuit design when connecting the one or more named wires specified by the bundle type between the source module and the sink module. 4. The method of claim 1 , wherein automatically generating the point-to-point connection between the source module and the sink module comprises: invoking a Scala method that takes the bundle type as a type parameter. 5. The method of claim 1 , wherein the bundle type specifies respective widths of the one or more named wires and the point-to-point connection is automatically generated based on the respective widths of the one or more named wires. 6. The method of claim 1 , wherein the bundle type specifies respective directionalities of the one or more named wires and the point-to-point connection is automatically generated based on the respective directionalities of the one or more named wires. 7. The method of claim 1 , wherein the source module includes a processor core and the sink module is a component of an input/output shell for a system-on-a-chip design. 8. The method of claim 1 , comprising: generating a physical design data structure for an integrated circuit based on the register-transfer level data structure; invoking fabrication of the integrated circuit based on the physical design data structure; invoking tests of the fabricated integrated circuit to obtain a set of test results; and transmitting, storing, or displaying the set of test results. 9. The method of claim 1 , comprising: generating a physical design data structure for an integrated circuit based on the register-transfer level data structure; generating a software development kit for the integrated circuit based on the register-transfer level data structure; generating a test plan for the integrated circuit; invoking tests for the integrated circuit based on the test plan, the register-transfer level data structure, the software development kit, and the physical design data structure to obtain test results; and transmitting, storing, or displaying a design data structure based on the register-transfer level data structure, the software development kit, the physical design data structure, and the test results. 10. A system comprising: a network interface; a memory; and a processor, wherein the memory includes instructions executable by the processor to cause the system to: access an indication of a bundle type, wherein the bundle type specifies one or more named wires; automatically generate, based on using the bundle type as a type parameterization input, a point-to-point connection between a source module of an integrated circuit design and a sink module of the integrated circuit design that includes the one or more named wires specified by the bundle type; and generate a register-transfer level data structure for the integrated circuit design including the source module, the sink module, and the point-to-point connection. 11. The system of claim 10 , wherein the memory includes instructions executable by the processor to cause the system to: automatically generate input/output ports for modules between the source module and the sink module at multiple levels of a register-transfer level module hierarchy of the integrated circuit design. 12. The system of claim 10 , wherein the memory includes instructions executable by the processor to cause the system to: use auto-punching to transcend multiple levels of a register-transfer level module hierarchy of the integrated circuit design when connecting the one or more named wires specified by the bundle type between the source module and the sink module. 13. The system of claim 10 , wherein the memory includes instructions executable by the processor to cause the system to: invoke a Scala method that takes the bundle type as a type parameter. 14. The system of claim 10 , wherein the bundle type specifies respective widths of the one or more named wires and the point-to-point connection is automatically generated based on the respective widths of the one or more named wires. 15. The system of claim 10 , wherein the bundle type specifies respective directionalities of the one or more named wires and the point-to-point connection is automatically generated based on the respective directionalities of the one or more named wires. 16. The system of claim 10 , wherein the source module includes a processor core and the sink module is a component of an input/output shell for a system-on-a-chip design. 17. A non-transitory computer-readable storage medium that includes instructions that, when executed by a processor, facilitate performance of operations comprising: accessing an indication of a source module of an integrated circuit design; accessing an indication of a sink module of the integrated circuit design; accessing an indication of a bundle type, wherein the bundle type specifies one or more named wires; automatically generating, based on using the bundle type as a type parameterization input, a point-to-point connection between the source module and the sink module that includes the one or more named wires specified by the bundle type; and generating a register-transfer level data structure for the integrated circuit design including the source module, the sink module, and the point-to-point connection. 18. The non-transitory computer-readable storage medium of claim 17 , wherein automatically generating the point-to-point connection between the source module and the sink module comprises: automatically generating input/output ports for modules between the source module and the sink module at multiple levels of a register-transfer level module hierarchy of the integrated circuit design. 19. The non-transitory computer-readable storage medium of claim 17 , wherein the bundle type specifies respective widths of the one or more named wires and the point-to-point connection is automatically generated based on the respective widths of the one or more named wires. 20. The non-transitory computer-readable storage medium of claim 17 , wherein the bundle type specifies respective directionalities of the one or more named wires and the point-to-point connection is automatically generated based on the respective directionalities of the one

Assignees

Inventors

Classifications

  • with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation · CPC title

  • G06F30/32Primary

    Circuit design at the digital level (reconfigurable circuits G06F30/34) · CPC title

  • Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules · CPC title

  • Processors · CPC title

  • G06F30/398Primary

    Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · 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 US11675959B2 cover?
Systems and methods are disclosed for generation and testing of integrated circuit designs with point-to-point connections between modules. These may allow for the rapid design and testing (e.g. silicon testing) of processors and SoCs. For example, type parameterization may be used to generate point-to-point connections in a flexible manner. For example, a point-to-point connection between the …
Who is the assignee on this patent?
Sifive Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/32. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 13 2023 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).