Matrix operations in an integrated circuit device
First Claim
1. Matrix operations circuitry for performing a vector operation on an input matrix having a first number of columns, said vector operation including operations combining one row of said matrix and each row of said matrix, said matrix operations circuitry comprising:
- a first set of a second number of column memories, said second number being smaller than said first number, whereby at least one row of said input matrix is stored in multiple rows of said column memories;
a vector operations circuit that performs said operations combining a selected row of said matrix and each row of said matrix;
a first set of first input registers equal in number to said second number, for inputting each said row to said vector operations circuit from said column memories;
a first set of second input registers equal in number to said second number, for inputting said one row to said vector operations circuit;
a first circular latch for storing said one row; and
selection circuitry for circulating values from said selected row between said first set of second input registers and said first circular latch.
1 Assignment
0 Petitions
Accused Products
Abstract
Circuitry can be provided in a fixed logic device, or can be configured into a programmable integrated circuit device such as a programmable logic device (PLD) to perform vector-based matrix operations for matrices of arbitrary size, up to a predetermined maximum size. The circuitry may be used where input row vectors of a matrix are to be combined—e.g., by multiplication—with the same initial vector, which may be one of the rows. Column memories may be provided to hold the input matrix data, so that each row may be read by simultaneously accessing the same index in each column memory. In accordance with the invention, the number of column memories may be less than the actual number of columns so that multiple physical “row access” operations are used to access each logical row. A “circular latch” may be provided to hold the initial vector.
-
Citations
21 Claims
-
1. Matrix operations circuitry for performing a vector operation on an input matrix having a first number of columns, said vector operation including operations combining one row of said matrix and each row of said matrix, said matrix operations circuitry comprising:
-
a first set of a second number of column memories, said second number being smaller than said first number, whereby at least one row of said input matrix is stored in multiple rows of said column memories; a vector operations circuit that performs said operations combining a selected row of said matrix and each row of said matrix; a first set of first input registers equal in number to said second number, for inputting each said row to said vector operations circuit from said column memories; a first set of second input registers equal in number to said second number, for inputting said one row to said vector operations circuit; a first circular latch for storing said one row; and selection circuitry for circulating values from said selected row between said first set of second input registers and said first circular latch. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of configuring a programmable integrated circuit device as matrix operations circuitry for performing a vector operation on an input matrix having a first number of columns, said vector operation including operations combining one row of said matrix and each row of said matrix, said method comprising:
-
configuring logic of said programmable integrated circuit device as a first set of a second number of column memories, said second number being smaller than said first number, whereby at least one row of said input matrix is stored in multiple rows of said column memories; configuring logic of said programmable integrated circuit device as a vector operations circuit that performs said operations combining a selected row of said matrix and each row of said matrix; configuring logic of said programmable integrated circuit device as a first set of first input registers equal in number to said second number, for inputting each said row to said vector operations circuit from said column memories; configuring logic of said programmable integrated circuit device as a first set of second input registers equal in number to said second number, for inputting said one row to said vector operations circuit; configuring logic of said programmable integrated circuit device as a first circular latch for storing said one row; and configuring logic of said programmable integrated circuit device as selection circuitry for circulating values from said selected row between said first set of second input registers and said first circular latch. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A machine-readable data memory medium encoded with machine-executable instructions for configuring a programmable integrated circuit device as matrix operations circuitry for performing a vector operation on an input matrix having a first number of columns, said vector operation including operations combining one row of said matrix and each row of said matrix, said instructions comprising:
-
instructions to configure logic of said programmable integrated circuit device as a first set of a second number of column memories, said second number being smaller than said first number, whereby at least one row of said input matrix is stored in multiple rows of said column memories; instructions to configure logic of said programmable integrated circuit device as a vector operations circuit that performs said operations combining a selected row of said matrix and each row of said matrix; instructions to configure logic of said programmable integrated circuit device as a first set of first input registers equal in number to said second number, for inputting each said row to said vector operations circuit from said column memories; instructions to configure logic of said programmable integrated circuit device as a first set of second input registers equal in number to said second number, for inputting said one row to said vector operations circuit; instructions to configure logic of said programmable integrated circuit device as a first circular latch for storing said one row; and instructions to configure logic of said programmable integrated circuit device as selection circuitry for circulating values from said selected row between said first set of second input registers and said first circular latch. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification