IP Library Granted Patent US 7,703,107
Granted Patent B2
US 7,703,107 · App. 09/828,381 · Granted Apr 20, 2010

Virtual machine interface for hardware reconfigurable and software programmable processors

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,703,107
App. No.
09/828,381
Granted
Apr 20, 2010
Kind
B2
Abstract

The present invention provides a virtual machine interface (VMI) and an application programming interface (API) usable in conjunction with a reconfigurable wireless network communication apparatus. The reconfigurable wireless network communication apparatus comprises a plurality of hardware kernels. The apparatus can be reconfigured to support different or modified communication protocols over time. The VMI comprises a library of software objects. By configuring VMI software objects, a programmer selects the communication protocol used by the reconfigurable wireless network communication apparatus. The API of the present invention provides higher level management of the communication protocol used by a reconfigurable wireless network communication apparatus. The API comprises a library of high level software objects that further abstract hardware details of the apparatus.

Claims (37)

1. A computer system comprising:

at least one processor;

a computer readable storage medium;

an object-oriented virtual machine interface for a reconfigurable wireless network communication apparatus;

said reconfigurable wireless network communication apparatus comprising:

a plurality of hardware kernels;

said object-oriented virtual machine interface comprising a plurality of software objects including a first subset of said software objects, each software object in said first subset of said software objects associated with a different hardware kernel in said plurality of hardware kernels so that a change to a software object in said first subset of said software objects results in a change in said hardware kernel associated with said software object;

said plurality of software objects comprising a searcher object, a code generation unit object, a finger object, a matched filter object, a combiner object, an uplink object and a downlink object; and

said plurality of hardware kernels comprising a searcher kernel, a code generation unit kernel, a finger kernel, a matched filter kernel, a combiner kernel, an uplink kernel and a downlink kernel; wherein:

said searcher object is associated with said searcher kernel;

said code generation unit object is associated with said code generation unit kernel;

said finger object is associated with said finger kernel;

said matched filter object is associated with said matched filter kernel;

said combiner object is associated with said combiner kernel;

said uplink object is associated with said uplink kernel; and

said downlink object is associated with said downlink kernel.

2. An object-oriented reconfigurable system including at least one processor and comprising an object-oriented virtual machine interface, a virtual machine, and a reconfigurable apparatus,

said reconfigurable apparatus coupled to said virtual machine and comprising a plurality of hardware kernels;

said object-oriented virtual machine interface coupled to said virtual machine and comprising a plurality of software objects including a first subset of said software objects, each software object in said first subset of said software objects associated with a different hardware kernel in said plurality of hardware kernels such that a change to a software object in said first subset of said software objects results in a change in said hardware kernel associated with said software object;

said plurality of software objects in said first subset of said software objects comprising a searcher object, a code generation unit object, a finger object, a matched filter object, a combiner object, an uplink object and a downlink object; and

said plurality of hardware kernels comprising a searcher kernel, a code generation unit kernel, a finger kernel, a matched filter kernel, a combiner kernel, an uplink kernel and a downlink kernel; wherein:

said searcher object is associated with said searcher kernel;

said code generation unit object is associated with said code generation unit kernel;

said finger object is associated with said finger kernel;

said matched filter object is associated with said matched filter kernel;

said combiner object is associated with said combiner kernel;

said uplink object is associated with said uplink kernel; and

said downlink object is associated with said downlink kernel.

3. An object-oriented reconfigurable system including at least one processor and comprising an object-oriented virtual machine interface, a virtual machine and a reconfigurable apparatus,

said reconfigurable apparatus coupled to said virtual machine and comprising a plurality of hardware kernels; and

said object-oriented virtual machine interface coupled to said virtual machine and comprising a plurality of software objects including a first subset of said software objects, each software object in said first subset of said software objects associated with a different hardware kernel in said plurality of hardware kernels such that a change to a software object in said first subset of said software objects results in a change in said hardware kernel associated with said software object, wherein said plurality of hardware kernels comprise a searcher kernel, a code generation unit kernel, a finger kernel, an uplink kernel and a downlink kernel.

4. A computer program product for a reconfigurable apparatus comprising a plurality of kernels and an interconnect structure for interconnecting said plurality of kernels, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:

instructions for instantiating a plurality of software objects, each software object in said plurality of software objects corresponding to a different kernel in said plurality of kernels such that a change to said software object results in a change in a state of said corresponding different kernel;

instructions for assigning an attribute value to a first software object in said plurality of objects according to a communication protocol; and

issuing machine-readable instructions to configure the kernel associated with said first software object in accordance with said attribute value,

wherein said plurality of software objects comprise a searcher object, a code generation unit object, a finger object, an uplink object, and a downlink object, and

wherein said plurality of kernels comprise a searcher kernel, a code generation unit kernel, a finger kernel, an uplink kernel and a downlink kernel respectively corresponding to said searcher object, said code generation unit object, said finger object, said uplink object and said downlink object, respectively.