IP Library Granted Patent US 7,062,520
Granted Patent B2
US 7,062,520 · App. 09/883,976 · Granted Jun 13, 2006

Multi-scale programmable array

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,062,520
App. No.
09/883,976
Granted
Jun 13, 2006
Kind
B2
Abstract

A novel architecture for a multi-scale programmable logic array (MSA) to be used in the design of complex digital systems allows digital logic to be programmed using both small-scale blocks (also called gate level blocks) as well as medium scale blocks (also called Register Transfer Level or RTL blocks). The MSA concept is based on a bit sliceable Arithmetic Logic Unit (ALU). Each bit-slice may be programmed to perform a basic Boolean logic operation or may be programmed to contribute to higher-level functions that are further programmed by an ALU controller circuit. The ALU controller level in this new approach also allows the primitive logic operations computed at the bit-slice level to be combined to perform complex random logic operations. The data shifting capability of this new programmable logic architecture reduces the complexity of the programmable routing needed to implement shift operations including multiplier arrays. The new array also allows logic variables under program control to dynamically modify the micro-program of each ALU. This technique is called configuration overlay and simplifies the programming of complex arithmetic and random logic functions.

Claims (27)

1. A programmable logic device, comprising:

a plurality of function cells, each of the function cells configured to provide a result logic value in response to one or more input logic values and a static or dynamic function vector, each of the function cells having an arithmetic logic circuit that in a first mode is operable to provide the result logic value as a first arithmetic combination of the input logic values and in a second mode is operable to provide the result logic value as a second arithmetic combination of the input logic values, the first arithmetic combination and the second arithmetic combination determined by the function vector, the first mode and the second mode selected by a global function select signal coupled to at least two of the plurality of function cells.

2. A programmable logic device according to claim 1 , wherein the first and second modes are defined by a received arithmetic mode enable signal, the arithmetic logic circuit being operable to determine the defined mode from the received arithmetic mode enable signal.

3. A programmable logic device according to claim 1 , wherein the arithmetic logic circuit further provides a carry output in response to the input logic values, the function vector, the global function select signal, and a carry input.

4. A programmable logic device according to claim 1 , wherein the first arithmetic combination is one of an add, a subtract, an increment, and a decrement operation.

5. A programmable logic device according to claim 1 , wherein the second arithmetic combination is one of an add, a subtract, an increment, and a decrement operation.

6. A programmable logic device according to claim 1 , wherein each of the plurality of function cells is operable to receive the function vector from a configuration memory.

7. A programmable logic device according to claim 1 , wherein each of the plurality of function cells is operable to receive the function vector from dynamic configuration signals.

8. A method for operating a programmable logic device, the method comprising:

receiving one or more input values into a first function cell, the first function cell included in a plurality of function cells;

receiving a first function vector and a second function vector from a configuration memory into each of the plurality of function cells;

selecting the first function vector or the second function vector based on a global function select signal coupled to the plurality of function cells; and

performing a combination on the input logic values in an arithmetic logic circuit included in the first function cell based on the selected function vector.

9. The method of claim 8 , wherein the first function cell comprises a bit-slice of an arithmetic logic unit.

10. The method of claim 8 , further comprising receiving an arithmetic mode enable signal into each of the plurality of function cells, wherein the combination comprises an arithmetic combination or a logical combination based on the selected function vector and the arithmetic mode enable signal.

11. The method of claim 8 , wherein performing a combination on the input logic values comprises generating a carry output.

12. The method of claim 8 , wherein the combination is one of an add, a subtract, an increment, and a decrement operation.

13. The method of claim 8 , wherein selecting the first function vector or the second function vector further comprises:

receiving a dynamic function vector;

receiving a function enable signal; and

enabling the global function select signal based on the function enable signal.

14. A programmable logic device, comprising:

a plurality of function cells configured to receive a first function vector and a second function vector from a configuration memory, receive one or more input values, and receive a global function select signal, each of the plurality of function cells including:

arithmetic logic circuitry configured to perform an arithmetic combination on the input logic values depending on a selected function vector; and

selection circuitry configured to determine the selected function vector from a dynamic function vector, the first function vector and the second function vector based on the global function select signal and a function enable signal, and communicate the selected function vector to the arithmetic logic circuitry.

15. The method of claim 14 , wherein the arithmetic logic circuitry is further configured to generate a carry output.

16. The method of claim 14 , wherein the arithmetic combination is one of an add, a subtract, an increment, and a decrement operation.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2015
From: EXAR CORPORATION
To: XILINX, INC.
Reel/Frame 036416/0211 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2015
From: STIFEL FINANCIAL CORP.
To: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
Reel/Frame 035168/0384 →
SECURITY INTEREST Recorded May 29, 2014
From: EXAR CORPORATION; CADEKA MICROCIRCUITS, LLC
To: STIFEL FINANCIAL CORP.
Reel/Frame 033062/0123 →
ACQUISITION Recorded Feb 20, 2014
From: STRETCH, INC.
To: EXAR CORPORATION
Reel/Frame 032288/0790 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 15, 2014
From: MMV CAPITAL PARTNERS INC., AS ASSIGNEE OF MMV FINANCE INC.
To: STRETCH, INC.
Reel/Frame 032037/0551 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 15, 2014
From: SILICON VALLEY BANK
To: STRETCH, INC.
Reel/Frame 032037/0527 →
SECURITY AGREEMENT Recorded Jan 8, 2013
From: STRETCH, INC.
To: MMV FINANCE INC.
Reel/Frame 029591/0364 →
SECURITY AGREEMENT Recorded Nov 29, 2010
From: STRETCH, INC.
To: SILICON VALLEY BANK
Reel/Frame 025413/0831 →