System and method for programming a hardware device

Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output command process

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S029000

Reexamination Certificate

active

06295562

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
The present invention relates generally to programming firmware, and particularly to an improved device and method for programming hardware circuitry.
2. Background and Objects of the Invention
Conventional firmware architecture includes a programmable hardware device and a device driver corresponding thereto. The conventional programmable hardware device may include at least one function block and circuitry for programming and/or controlling the function block. A function block comprises circuitry which performs a certain (and oftentimes standard) function. For example, a function block may comprise a first-in, first-out memory (FIFO), a direct memory access (DMA) controller, a transmitter or a receiver. A number of function blocks may be combined to form higher-level devices such as a universal asynchronous receiver-transmitter (UART) or a high-level data link control (HDLC) device. The programmable hardware device typically includes suitable input-output (I/O) bussing for controlling the operation thereof.
The device driver for conventional firmware architecture contains code which is based upon the specific hardware device with which the device driver is associated. The hardware dependent code presents firmware developers with a daunting task in programming a hardware device to perform in a specific application.
First, the hardware developer must be thoroughly familiar with the hardware device and its operation in order to control it properly. Because conventional programmable hardware devices may be quite complex, a considerable period of time is typically required before the firmware developer is sufficiently familiar with the device.
Additionally, in order to program and/or control a conventional programmable hardware device to perform a single operation, the hardware device typically must be programmed to execute a number of individual sub-operations or steps. These sub-operational steps typically must be performed in an exact sequence in order for the hardware device to function properly. As a result, the programming of a programmable hardware device is often a tedious and time consuming process.
Another shortcoming in programming conventional programmable hardware devices is that of portability. The hardware specific code for one hardware device cannot be utilized in operating a different hardware device. Consequently, the above-described learning and programming processes must be repeated whenever the programmable hardware device is changed. Accordingly, there is a need for a device for simplifying the programming of programmable hardware devices.
It is an object of the present invention to provide a programmable hardware device having a simplified command set.
Another object of the present invention is to provide such a device which substantially shortens the programming cycle therefor.
It is another object of the present invention to provide a programmable hardware device which is configurable to accept both conventional and simplified methods for programming the hardware device.
SUMMARY OF THE INVENTION
The present invention overcomes the shortcomings in existing programmable hardware devices and satisfies a significant need for a user-friendly programmable hardware device for use in virtually any system.
According to a preferred embodiment of the present invention, there is provided a programmable hardware device including one or more function blocks, input/output (I/O) bussing for accessing the hardware device, a bank registers for facilitating the operation of the function blocks, and control logic for loading the register bank. Instead of accepting a sequential series of sub-operational commands which, when combined, cause the hardware device to carry out a single operation, the hardware device preferably accepts a single command for carrying out the operation. The control logic preferably includes at least one state machine which accepts a single command for performing a single operation and sequentially loads the register bank with the individual sub-operational commands corresponding thereto so that the function blocks perform the necessary sub-operations for suitably executing the single operation. By submitting operation-level commands to the hardware device instead of sub-operational commands thereto, programming code becomes highly simplified and portable. The amount of time necessary to program the hardware device is substantially reduced.


REFERENCES:
patent: 4354232 (1982-10-01), Ryan
patent: 4811388 (1989-03-01), Westerhof et al.
patent: 6049842 (2000-04-01), Garrett et al.
patent: 6131146 (2000-10-01), Aono
patent: 6141739 (2000-10-01), Provence et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

System and method for programming a hardware device does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for programming a hardware device, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for programming a hardware device will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2463068

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.