System and method of providing a memory hierarchy
First Claim
Patent Images
1. A computer-implemented method of implementing a user integrated circuit (IC) design in a physical IC that has a memory comprising a single physical port, said method comprising:
- mapping memory accesses in the user design to the memory by using a plurality of logical ports for the memory that has a particular port hierarchy with at least a first logical port that has a higher priority in the particular port hierarchy than a second logical port with a lower priority, wherein the plurality of logical ports for the memory are emulated in a user design clock cycle by accessing the single physical port of the memory a plurality of times in the user design clock cycle; and
resolving conflicts resulting from mapping a first memory access and a second memory access in the user design to a particular user design clock cycle by assigning the first memory access to the higher-priority first logical port of the memory while assigning the second memory access to the lower-priority second logical port of the memory, said assignments of the first and second memory accesses setting the first memory access to occur prior to the second memory access, wherein said mapping and resolving are performed by a design automation tool implemented on a computer.
3 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method of providing configurable ICs to a user. The method provides the configurable IC and a set of behavioral descriptions to the user. The behavioral descriptions specify the effects of accesses to a memory by a set of memory ports given a set of parameters chosen by the user.
-
Citations
18 Claims
-
1. A computer-implemented method of implementing a user integrated circuit (IC) design in a physical IC that has a memory comprising a single physical port, said method comprising:
-
mapping memory accesses in the user design to the memory by using a plurality of logical ports for the memory that has a particular port hierarchy with at least a first logical port that has a higher priority in the particular port hierarchy than a second logical port with a lower priority, wherein the plurality of logical ports for the memory are emulated in a user design clock cycle by accessing the single physical port of the memory a plurality of times in the user design clock cycle; and resolving conflicts resulting from mapping a first memory access and a second memory access in the user design to a particular user design clock cycle by assigning the first memory access to the higher-priority first logical port of the memory while assigning the second memory access to the lower-priority second logical port of the memory, said assignments of the first and second memory accesses setting the first memory access to occur prior to the second memory access, wherein said mapping and resolving are performed by a design automation tool implemented on a computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of implementing a user integrated circuit (IC) design in an IC that has a memory comprising a plurality of physical ports, said method comprising:
-
mapping memory accesses in the user design to the memory by using a plurality of logical ports for the memory that has a particular port hierarchy with at least a first logical port that has a higher priority in the particular port hierarchy than a second logical port with a lower priority, wherein said plurality of logical ports for the memory are M logical ports that are emulated in a user design clock cycle by accessing N physical ports of the memory a plurality of times in the user design clock cycle, wherein M and N are integers greater than one and wherein M>
N, wherein at least one of the N physical ports is accessed more than once in the user design clock cycle in order to emulate accesses by two or more of the M logical ports; andresolving conflicts resulting from mapping a first memory access and a second memory access in the user design to a particular user design clock cycle by assigning the first memory access to the higher-priority first logical port of the memory while assigning the second memory access to the lower-priority second logical port of the memory, said assignments of the first and second memory accesses setting the first memory access to occur prior to the second memory access, wherein said mapping and resolving are implemented on a computer. - View Dependent Claims (9)
-
-
10. A computer-implemented method of accessing memory in an integrated circuit (IC), said method comprising:
-
mapping memory accesses in a user design to a memory in the IC by using a plurality of ports for the memory, the plurality of ports having a particular port hierarchy with at least a first port that has a higher priority in the port hierarchy than a second port with a lower priority, wherein the plurality of ports for the memory are a plurality of logical ports that are emulated in a user design clock cycle by accessing a single physical port of the memory a plurality of times in the user design clock cycle; and resolving conflicts resulting from mapping a first memory access in the user design to a particular user design clock cycle and a second memory access in the user design to the particular user design clock cycle by assigning the first memory access to the higher-priority first port of the memory while assigning the second memory access to the lower-priority second port of the memory, said assignments of the first and second memory accesses setting the first memory access to occur prior to the second memory access, wherein said mapping and resolving are implemented on a computer. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-implemented method of accessing memory in an integrated circuit (IC), said method comprising:
-
mapping memory accesses in a user design to a memory in the IC by using a plurality of ports for the memory that have a particular port hierarchy with at least a first port that has a higher priority in the port hierarchy than a second port with a lower priority, wherein said plurality of ports for the memory are M logical ports that are emulated in a user design clock cycle by accessing N physical ports of the memory a plurality of times in the user design clock cycle, wherein M and N are integers greater than one and wherein M>
N, wherein accesses to two or more of the M logical ports are emulated by two or more accesses to one of the N physical ports in the user design clock cycle; andresolving conflicts from mapping a first memory access in the user design to a particular user design clock cycle and a second memory access in the user design to the particular user design clock cycle by assigning the first memory access to the higher-priority first port of the memory while assigning the second memory access to the lower-priority second port of the memory, said assignments of the first and second memory accesses setting the first memory access to occur prior to the second memory access, wherein said mapping and resolving are implemented on a computer. - View Dependent Claims (17, 18)
-
Specification