System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture
First Claim
Patent Images
1. A method of presenting digital memory to a user design of an integrated circuit (IC) comprising configurable circuits, the method comprising:
- reading a multi-bit word from a digital memory of the IC;
passing said multi-bit word through a barrel shifter in order to create a plurality of shifted multi-bit memory words at output circuits of the barrel shifter;
at a subset of the output circuits of the barrel shifter, selecting a narrower word that is a subset of the bits of a particular shifted multi-bit word from the plurality of shifted multi-bit words, said narrower word having fewer bits than the particular shifted multi-bit word; and
passing the narrower word from the subset of the output circuits without passing the other bits of the particular shifted multi-bit word.
3 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method of presenting virtual memory as narrower and deeper than a physical memory. The method receives a memory address location including a set of real memory address bits and a set of virtual memory position bits. The method retrieves an original memory word from a physical memory using the real memory address bits. The method shifts the original memory word by an amount determined by the virtual memory position bits by using a barrel shifter, creating a shifted memory word. The method reads a part of the shifted memory word.
180 Citations
22 Claims
-
1. A method of presenting digital memory to a user design of an integrated circuit (IC) comprising configurable circuits, the method comprising:
-
reading a multi-bit word from a digital memory of the IC; passing said multi-bit word through a barrel shifter in order to create a plurality of shifted multi-bit memory words at output circuits of the barrel shifter; at a subset of the output circuits of the barrel shifter, selecting a narrower word that is a subset of the bits of a particular shifted multi-bit word from the plurality of shifted multi-bit words, said narrower word having fewer bits than the particular shifted multi-bit word; and passing the narrower word from the subset of the output circuits without passing the other bits of the particular shifted multi-bit word. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of accessing a wide and shallow physical memory in an integrated circuit (IC) as a narrow and deep logical memory, wherein the logical memory has more words than the physical memory by a particular factor, the method comprising:
-
receiving a memory address that identifies a location in the logical memory, said memory address comprising a set of real memory address bits and a set of logical memory position bits; retrieving an original memory word from a physical memory using said set of real memory address bits; shifting said original memory word by an amount determined by said logical memory position bits by using a barrel shifter in order to create a shifted memory word; and reading a part of said shifted memory word, wherein the part has a number of bits determined by the number of bits in the shifted memory word divided by the particular factor. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An integrated circuit (IC) comprising:
-
a) a digital memory; b) a first set of circuits for supplying a first set of memory address bits to the digital memory, wherein said first set of memory address bits identifies a location of a data word in the digital memory; c) a barrel shifter for shifting a copy of said data word, said barrel shifter comprising a plurality of outputs; d) a second set of circuits for determining a number of bits to shift said copy of the data word to generate a shifted multi-bit word, wherein the number of bits to shift is based on a second set of memory address bits, wherein the second set of memory address bits determines which of a plurality of subsets of the shifted multi-bit word is received at a particular group of circuits and determines which other subsets of the shifted multi-bit word are not received from the barrel shifter; and e) the particular group of circuits, wherein the particular group of circuits is for receiving narrow data words with fewer bits than the shifted multi-bit word, each narrow data word comprising at least two bits, wherein the narrow data words are subsets of the data word and the data word comprises a larger number of bits than each of the narrow data words. - View Dependent Claims (19)
-
-
20. An integrated circuit (IC) comprising:
-
a) a physical memory for storing data words of a first width, said physical memory accessible through a memory address that comprises (i) a first identifier of a particular memory location that contains a particular data word of the first width in the physical memory and (ii) a second identifier of a memory location of a data word of a second width within said particular data word of a first width, wherein the second width is narrower than the first width; and b) a barrel shifter for (i) shifting said particular data word of the first width by an amount determined by the second identifier in order to create a shifted multi-bit word of the first width, (ii) presenting, as a data word of the second width, the bits of the shifted multi-bit word that represent the received memory address to a group of circuits, wherein the group of circuits is for receiving any one of a plurality of data words of the second width, based on a size of the shift, and (iii) discarding the bits of the shifted multi-bit word that do not represent a received memory address location. - View Dependent Claims (21, 22)
-
Specification