Embedded processor supporting fixed-function kernels
AssigneeMicrochip Technology Incorporated
InventorsAaron Severance, Jonathan W. Greene, Joel Vandergriendt
Life of this patent
Estimating the term…
Abstract
A method and apparatus for embedding a microprocessor in a programmable logic device (PLD), where the microprocessor has a logic unit that can operate in two modes. A first mode is a general purpose mode running at least one general purpose process related to the PLD, and a second mode is a fixed function mode emulating a fixed function for use by logic configured into a fabric of the PLD (fabric). A memory unit is coupled to the logic unit and to the fabric, and the fabric is operable for transferring signals with the logic unit in relation to the fixed function.
Claims14
An apparatus comprising:
- a microprocessor embedded in a programmable logic device (PLD), the microprocessor including a logic unit having a vector processor block (VPB) that includes one or more of an arithmetic logic unit (ALU) or a floating point unit (FPU), the logic unit operable in two modes, which comprise:
- a general purpose mode running at least one general purpose process related to the PLD;
- and
- a fixed function mode emulating a fixed function for use by logic configured into a fabric of the PLD (fabric), emulated fixed function computed using data streamed in from the fabric, wherein the microprocessor is synchronized with the fabric;
- a memory unit coupled to the logic unit and to the fabric, wherein the fabric is operable for transferring signals with the logic unit in relation to the fixed function, and
- a cache disposed in or coupled to the ALU or FPU, the cache comprising a kernel stored therewith and operable in relation to the emulated fixed function, the kernel including code relating to an infinite loop program stored in the cache, the start of the infinite loop program triggered by the fabric.
An apparatus comprising:
- a microprocessor embedded in a programmable logic device (PLD), the microprocessor including a logic unit having a vector processor block (VPB) that includes one or more of an arithmetic logic unit (ALU) or a floating point unit (FPU), the logic unit operable in two modes, which comprise:
- a general purpose mode running at least one general purpose process related to the PLD;
- and
- a fixed function mode emulating a fixed function for use by logic configured into a fabric of the PLD (fabric);
- a memory unit coupled to the logic unit and to the fabric, wherein the logic is operable for transferring signals with the logic unit in relation to the fixed function,
- a cache disposed in or coupled to the ALU or FPU, the cache comprising a kernel stored therewith and operable in relation to the emulated fixed function, wherein the emulated fixed function is computed using a streamed in the fabric, wherein the VPB comprises:
- a data interconnect coupled to the cache and to the fabric, the data interconnect to transfer data signals between the fabric and the VPB;
- and
- a controller coupled to the data interconnect and to the memory unit.
A method comprising:
- upon a logic unit receiving a control signal from a fabric of a programmable logic device (PLD), emulating a fixed function for use by a logic configured into the fabric;
- upon an absence of the control signal from the fabric at an input of the logic unit, executing at least one general purpose process related to an operation of the PLD;
- and
- exchanging signals with a memory unit coupled to the logic unit and to the fabric, wherein the fabric is operable for transferring signals with the logic unit in relation to the fixed function,
- wherein the logic unit comprises a vector processor block (VPB) operable in relation to at least a first mode corresponding to the emulating, and a second mode corresponding to the executing,
- wherein the VPB comprises one or more of an arithmetic logic unit (ALU) or a floating point unit (FPU), and a cache disposed in or coupled to the ALU or FPU, the cache comprising a kernel stored therewith and operable in relation to the emulating, the kernel including code relating to an infinite loop program stored in the cache;
- computing the emulated fixed function using data streamed in from the fabric;
- triggering a start of the infinite loop program from the fabric;
- and
- synchronizing a microprocessor with the fabric.
An integrated circuit (IC) device, comprising:
- a semiconductor die;
- a conductive matrix disposed within the semiconductor die to communicatively couple a plurality of components of the IC device disposed within the die and one or more components external thereto;
- and
- a programmable logic device (PLD) disposed within the semiconductor die and comprising components coupled using the matrix, the PLD comprising a microprocessor and a memory unit, wherein:
- the microprocessor including a logic unit having a vector processor block (VPB) that includes an arithmetic logic unit (ALU) or a floating point unit (FPU), the logic unit operable in:
- a general purpose mode running at least one general purpose process related to the PLD;
- and
- a fixed function mode emulating a fixed function for use by logic configured into a fabric of the PLD (fabric);
- and
- wherein:
- the memory unit is coupled to the logic unit and to the fabric, wherein the fabric to transfer signals with the logic unit in relation to the fixed function,
- the VPB includes a cache disposed in or coupled to the ALU or FPU, the cache comprising a kernel stored therewith operable in relation to the emulated fixed function, wherein the emulated fixed function is computed using data streamed in from the fabric,
- the kernel comprises code relating to an infinite loop program stored in the cache,
- a start of the infinite loop program is triggered by the fabric, and
- the microprocessor is synchronized with the fabric.
Dependencies are inferred from the claim text.