Dynamically configurable and re-configurable data path

US9564902B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9564902-B2
Application numberUS-96814507-A
CountryUS
Kind codeB2
Filing dateDec 31, 2007
Priority dateApr 17, 2007
Publication dateFeb 7, 2017
Grant dateFeb 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.

An apparatus includes a configuration memory coupled to one or more structural arithmetic elements, the configuration memory to store values that cause the structural arithmetic elements to perform various functions. The apparatus also includes a system controller to dynamically load the configuration memory with values, and to prompt the structural arithmetic elements to perform functions according to the values stored by the configuration memory.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus, comprising: a universal digital block comprising: a programmable logic device, wherein the programmable logic device does not have a fixed functionality and can be customized with a plurality of digital operations; a datapath module comprising one or more structural arithmetic elements that form a dedicated datapath in the universal digital block; and a configuration memory coupled to the one or more structural arithmetic elements, the configuration memory configured to store values that cause the one or more structural arithmetic elements to execute structural changes and perform various functions, wherein the structural changes alter the flow of instructions in the datapath module; and a system controller configured to dynamically load the configuration memory with the values by writing the values to the configuration memory, and configured to prompt the at least one of the one or more structural arithmetic elements to execute structural changes and perform functions according to the values stored by the configuration memory. 2. The apparatus according to claim 1 including a read address decoder associated with the configuration memory, the read address decoder to receive input from the system controller or interconnect matrix inputs and determine one or more of the stored values to provide to the one or more structural arithmetic elements. 3. The apparatus according to claim 2 including a write address decoder associated with the configuration memory, the write address decoder to identify a location in the configuration memory to dynamically store values from the system controller. 4. The apparatus according to claim 3 including a write controller associated with the configuration memory, the write controller to enable the system controller to dynamically load values to the location in the configuration memory identified by the write address decoder. 5. The apparatus according to claim 1 wherein the stored values include a function field that identifies a type of arithmetic operation to be performed by the structural arithmetic elements. 6. The apparatus according to claim 5 wherein the stored values include an input field to specify input data for use with the arithmetic operation corresponding to the function field, and include an output field to specify where the structural arithmetic elements are to provide an output associated with a performed arithmetic operation. 7. The apparatus according to claim 6 wherein the stored values include a shift field to specify a shift data undergoing arithmetic operations. 8. The apparatus according to claim 7 wherein the stored values include an configuration field to identify one or more configurations of the structural arithmetic elements including at least one of a cyclical redundancy check configuration, a carry in configuration, a shift in configuration, or a compare configuration. 9. The apparatus according to claim 8 wherein the configuration field identifies the one or more configurations of the structural arithmetic elements from multiple predefined static settings. 10. A device comprising: a universal digital block comprising: a programmable logic device, wherein the programmable logic device does not have a fixed functionality and can be customized with a plurality of digital operations; a datapath module comprising at least one structural arithmetic element that forms a dedicated datapath in the universal digital block, wherein the datapath module is configured to execute structural changes and perform various arithmetic operations based, at least in part, on configuration data; and a configuration memory coupled to the at least one structural arithmetic element, the configuration memory configured to dynamically load configuration data that, when provided to the at least one structural arithmetic element, cause the at least one structural arithmetic element to execute structural changes and perform the arithmetic operations, wherein the configuration data is written to the configuration memory by a system controller. 11. The device according to claim 10 including the system controller to dynamically load the configuration memory with the configuration data by writing the configuration data to the configuration memory, and to prompt the at least one structural arithmetic element to perform the arithmetic operations according to the configuration data stored by the configuration memory. 12. The device according to claim 11 including a read address decoder associated with the configuration memory, the read address decoder to receive input from the system controller or interconnect matrix inputs and determine one or more of the stored values to provide to the at least one structural arithmetic element. 13. The device according to claim 12 including a write address decoder associated with the configuration memory, the write address decoder to identify a location in the configuration memory to dynamically store the configuration data from the system controller. 14. The device according to claim 13 including a write controller associated with the configuration memory, the write controller to enable the system controller to dynamically load the configuration data to the location in the configuration memory identified by the write address decoder. 15. The device according to claim 10 wherein the stored values include a function field that identifies a type of arithmetic operation to be performed by the at least one structural arithmetic element. 16. The device according to claim 15 wherein the stored values include an input field to specify input data for use with the arithmetic operation corresponding to the function field, and include an output field to specify where the at least one structural arithmetic element is to provide an output associated with a performed arithmetic operation. 17. A method, comprising: storing one or more user programmable instructions into a configuration memory of a universal digital block comprising a programmable logic device, wherein the programmable logic device does not have to a fixed functionality and can be customized with a plurality of digital operations, and a dedicated datapath module comprising one or more structural logic elements that form a dedicated datapath in the universal digital block, wherein the user programmable instructions are written to the configuration memory by a system controller; providing at least one of the user programmable instructions to the one or more structural logic elements, the structural logic elements configured to execute structural changes and perform a corresponding user programmed logic function for the datapath module according to the received user programmable instructions; and dynamically reprogramming the configuration memory with at least another user programmable instruction that, when provided to the structural logic elements, cause the structural logic elements to execute structural changes and perform corresponding user programmed logic functions for the datapath module according to the received user programmable instructions. 18. The method according to claim 17 includes identifying one or more of the stored user programmable instruction to provide to the structural logic elements according to an input received from a system controller. 19. The method according to claim 18 includes identifying a location in the configuration memory to load the user programmable instruction from the system controller during the dynamic reprogramming.

Assignees

Inventors

Classifications

  • H03K19/177Primary

    arranged in matrix form · 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 US9564902B2 cover?
An apparatus includes a configuration memory coupled to one or more structural arithmetic elements, the configuration memory to store values that cause the structural arithmetic elements to perform various functions. The apparatus also includes a system controller to dynamically load the configuration memory with values, and to prompt the structural arithmetic elements to perform functions acco…
Who is the assignee on this patent?
Synder Warren, Sullam Bert, Cypress Semiconductor Corp
What technology area does this patent fall under?
Primary CPC classification H03K19/177. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 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).