System design flow with runtime customizable circuits

US10691856B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10691856-B1
Application numberUS-201815943519-A
CountryUS
Kind codeB1
Filing dateApr 2, 2018
Priority dateApr 2, 2018
Publication dateJun 23, 2020
Grant dateJun 23, 2020

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 computer-implemented design flow can include, within a circuit design for an integrated circuit, determining a portion of the circuit design that is a candidate for implementation as a runtime customizable circuit and determining implementation options for the runtime customizable circuit. The design flow can also include generating, using computer hardware, a description of the circuit design using the runtime customizable circuit to implement the portion of the circuit design and generating, using the computer hardware, program code for an embedded processor coupled to an implementation of the runtime customizable circuit within the integrated circuit. The program code is usable by the embedded processor to parameterize the runtime customizable circuit to create a specific instance of the runtime customizable circuit.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: within a circuit design for an integrated circuit, detecting, using computer hardware, a circuit structure of the circuit design that is a candidate for implementation as a runtime customizable circuit; determining, using the computer hardware, implementation options for the runtime customizable circuit; generating, using the computer hardware, a hardware description of the circuit design by replacing the circuit structure within the circuit design with the runtime customizable circuit; and generating, using the computer hardware, program code for an embedded processor coupled to an implementation of the runtime customizable circuit within programmable circuitry of the integrated circuit created by loading a configuration bitstream in the integrated circuit, wherein the program code is usable by the embedded processor to parameterize the implementation of the runtime customizable circuit to implement a particular version of the circuit structure; and wherein the implementation of the runtime customizable circuit is reprogrammable to implement a different version of the circuit structure by loading different parameterization data from the embedded processor. 2. The method of claim 1 , wherein the program code includes a driver that, when executed by the embedded processor, configures the embedded processor to communicate with the implementation of the runtime customizable circuit. 3. The method of claim 1 , wherein the program code, when executed by the embedded processor, causes the embedded processor to generate parameterization data from a specification, wherein the parameterization data parameterizes the implementation of the runtime customizable circuit. 4. The method of claim 1 , wherein the generating the program code comprises: generating parameterization data for the implementation of the runtime customizable circuit. 5. The method of claim 4 , further comprising: generating a compiled binary that is executable by the implementation of the runtime customizable circuit. 6. The method of claim 1 , wherein the generating the program code comprises: generating additional program code executable by the embedded processor to generate further program code executable by the implementation of the runtime customizable circuit. 7. The method of claim 1 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining input signals to the runtime customizable circuit; and determining output signals from the runtime customizable circuit. 8. The method of claim 1 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include trace circuitry coupled to the implementation of the runtime customizable circuit. 9. The method of claim 1 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include switch circuitry coupled to the implementation of the runtime customizable circuit. 10. The method of claim 1 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include a clock controller coupled to the implementation of the runtime customizable circuit. 11. A system, comprising: a first processor configured to initiate operations including: within a circuit design for an integrated circuit, detecting a circuit structure of the circuit design that is a candidate for implementation as a runtime customizable circuit; determining implementation options for the runtime customizable circuit; generating a hardware description of the circuit design by replacing the circuit structure with the circuit design with the runtime customizable circuit; and generating program code for a second processor embedded in the integrated circuit and coupled to an implementation of the runtime customizable circuit within programmable circuitry of the integrated circuit created by loading a configuration bitstream in the integrated circuit, wherein the program code is usable by the second processor to parameterize the implementation of the runtime customizable circuit to implement a particular version of the circuit structure; and wherein the implementation of the runtime customizable circuit is reprogrammable to implement a different version of the circuit structure by loading different parameterization data from the embedded processor. 12. The system of claim 11 , wherein the program code includes a driver that, when executed by the second processor, configures the second processor to communicate with the implementation of the runtime customizable circuit. 13. The system of claim 11 , wherein the program code, when executed by the second processor, causes the second processor to generate parameterization data from a specification, wherein the parameterization data parameterizes the implementation of the runtime customizable circuit. 14. The system of claim 11 , wherein the generating the program code comprises: generating parameterization data for the implementation of the runtime customizable circuit. 15. The system of claim 14 , wherein the first processor is configured to initiate operations further including: generating a compiled binary that is executable by the implementation of the runtime customizable circuit. 16. The system of claim 11 , wherein the generating the program code comprises: generating additional program code executable by the second processor to generate further program code executable by the implementation of the runtime customizable circuit. 17. The system of claim 11 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining input signals to the runtime customizable circuit; and determining output signals from the runtime customizable circuit. 18. The system of claim 11 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include trace circuitry coupled to the implementation of the runtime customizable circuit. 19. The system of claim 11 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include switch circuitry coupled to the implementation of the runtime customizable circuit. 20. The system of claim 11 , wherein the determining the implementation options for the runtime customizable circuit comprises: determining whether to include a clock controller coupled to the implementation of the runtime customizable circuit.

Assignees

Inventors

Classifications

  • G06F30/38Primary

    Circuit design at the mixed level of analogue and digital signals · CPC title

  • Logical level · CPC title

  • G06F30/34Primary

    for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD] · CPC title

  • 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

  • Routing (G06F30/396 takes precedence) · 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 US10691856B1 cover?
A computer-implemented design flow can include, within a circuit design for an integrated circuit, determining a portion of the circuit design that is a candidate for implementation as a runtime customizable circuit and determining implementation options for the runtime customizable circuit. The design flow can also include generating, using computer hardware, a description of the circuit desig…
Who is the assignee on this patent?
Xilinx Inc
What technology area does this patent fall under?
Primary CPC classification G06F30/38. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 23 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).