Data processing: structural design – modeling – simulation – and em – Simulating electronic device or electrical system
Reexamination Certificate
1999-08-25
2003-03-18
Broda, Samuel (Department: 2763)
Data processing: structural design, modeling, simulation, and em
Simulating electronic device or electrical system
C703S021000, C703S025000, C714S042000, C714S719000, C714S736000
Reexamination Certificate
active
06535841
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to a method for testing a controller using random pattern generation techniques. More particularly, the present invention relates to a method for testing an integrated drive electronics (IDE) controller model by use of a computer simulation environment.
BACKGROUND OF THE INVENTION
An IDE controller is a device which controls the flow of data traffic between the main memory of a computer system and one or more peripheral devices, coupled to the computer system via the IDE controller. One such peripheral device, for example, is an IDE disk drive. When employed in a personal computer system, an IDE controller must be proven to operate with many different types of IDE devices, such as hard disk drives, CD ROMs, etc. A typical IDE controller has many programmed modes of operation which must be tested to effectively verify that the IDE controller functions for its intended purpose. Therefore, it is necessary to test combinations of many parameters in order to ensure compatibility with all such disk drives. Also, variations in speed and features are numerous in modern IDE disk drive models making the design of an IDE controller that properly functions with these operational variations even more difficult. An apparatus for testing IDE controllers, commonly known as a “test bench,” may test, for example, combinations of the following parameters: 1. Drive Transfer Mode (single-word DMA, multi-word DMA, synchronous DMA, programmed IO); 2. Drive Under Test (master or slave drive); 3. Timing Parameters (command pulse width, relaxation time, set-up time, pause time); 4. Transfer size (16 or 32 bit-wide transfers, number of sections); 5. Prefetch or Read Ahead Mode (enabled, disabled); and 6. Bus Mastering constraints (PRD, memory starting address, transfer byte count, single/multi-PRD transfers).
Previous methods of testing IDE controller designs required an on-line human operator to choose a particular combination of test constraints for each individual test case. After a particular combination of constraints was tested, the operator would then formulate another combination of test constraints and run that test, and so on. This “human centered” approach to IDE controller testing is cumbersome and often results in inadequate testing of an IDE controller due to human error or a lack of human resources. Therefore, a more efficient and comprehensive method of testing IDE controller models is needed.
SUMMARY OF THE INVENTION
The present invention addresses the above and other needs by providing a method of testing IDE controller models, which are simulated in a computer system, in a comprehensive fashion with minimal human resources. Through software, a “test bench” is set up which includes simulations of an IDE controller model (HDL description or gate level rendition), a bus functional model (BFM) used to generate input/output traffic over a host interface, and models of IDE compatible devices. This test bench is then compiled into a logic simulation environment and operated.
In one embodiment of the invention, a method of testing an IDE controller includes: providing an IDE controller model having a primary and a secondary channel and a host interface; transmitting data patterns to a primary and a secondary device model; receiving the data patterns from the primary and secondary device models; arbitrating the transfer of the data patterns to and from the primary and secondary device models; and determining whether the data patterns returned from the primary and secondary device models match expected values.
In another embodiment, the method described above further includes the acts of: generating random test constraints, programming the IDE controller with the random test constraints, and randomly generating the data patterns. One method of implementing the acts of generating the random test constaints and data patterns includes the acts of: generating a random binary number having a specified number of bits, wherein the random test constraints and the random data patterns are each represented by at least one bit of the random binary number.
In a further embodiment, a method of testing an IDE controller includes the acts of: providing an IDE controller model having primary and secondary channels and a host interface; testing the primary channel by transmitting a first set of test data across the primary channel; testing the secondary channel by transmitting a second set of test data across the secondary channel, wherein the secondary channel is tested concurrently with the primary channel; and arbitrating access to the host interface between the primary and secondary channels. As used herein, the term “concurrently” refers to the condition in which two or more steps, processes or procedures are occurring at the same time. The two or more steps, processes or procedures may occur dependently or independently of one another.
The embodiments of the invention disclosed herein overcome the above-referenced long-standing problems in the IDE controller industry by providing a method which automatically and comprehensively tests IDE controller models which are simulated in a computer simulation environment. By generating random test constraints in accordance with specified criteria, the invention significantly reduces the amount of time a human operator needs to spend in testing each IDE controller model. Additionally, the concurrent testing of two or more channels of the IDE controller model further reduces the testing time of an IDE controller model when compared to testing each channel of the IDE controller model separately.
REFERENCES:
patent: 5133060 (1992-07-01), Weber et al.
patent: 5274773 (1993-12-01), Squires et al.
patent: 5291585 (1994-03-01), Sato et al.
patent: 5295247 (1994-03-01), Chang et al.
patent: 5363121 (1994-11-01), Freund
patent: 5412666 (1995-05-01), Squires et al.
patent: 5423029 (1995-06-01), Schieve
patent: 5434722 (1995-07-01), Bizjak et al.
patent: 5440697 (1995-08-01), Boegel et al.
patent: 5446877 (1995-08-01), Liu et al.
patent: 5457694 (1995-10-01), Smith
patent: 5497490 (1996-03-01), Harada et al.
patent: 5511227 (1996-04-01), Jones
patent: 5519882 (1996-05-01), Asano et al.
patent: 5530848 (1996-06-01), Gilbert
patent: 5530960 (1996-06-01), Parks et al.
patent: 5535419 (1996-07-01), O'Brien
patent: 5574855 (1996-11-01), Rosich et al.
patent: 5581715 (1996-12-01), Verinsky et al.
patent: 5590336 (1996-12-01), Parry
patent: 5613162 (1997-03-01), Kabenjian
patent: 5619513 (1997-04-01), Schaffer et al.
patent: 5644705 (1997-07-01), Stanley
patent: 5649233 (1997-07-01), Chen
patent: 5664162 (1997-09-01), Dye
patent: 5668815 (1997-09-01), Gittinger et al.
patent: 5675731 (1997-10-01), Fuller
patent: 5675762 (1997-10-01), Bodin et al.
patent: 5678064 (1997-10-01), Kulik et al.
patent: 5758106 (1998-05-01), Fenwick et al.
patent: 5771398 (1998-06-01), Park
patent: 5805921 (1998-09-01), Kikinis et al.
patent: 5832418 (1998-11-01), Meyer
patent: 5937173 (1999-08-01), Olarig
patent: 5937182 (1999-08-01), Allingham
patent: 5951667 (1999-09-01), Abramson
patent: 6076180 (2000-06-01), Meyer
patent: 6292764 (2001-09-01), Avery et al.
patent: WO 9202879 (1992-02-01), None
patent: WO 9726604 (1997-07-01), None
Broda Samuel
Micro)n Technology, Inc.
Thangavelu Kandasamy
LandOfFree
Method for testing a controller with random constraints does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method for testing a controller with random constraints, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for testing a controller with random constraints will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3056904